diff --git a/vue3/src/locales/ar.json b/vue3/src/locales/ar.json
index 6953efe48..02d42f981 100644
--- a/vue3/src/locales/ar.json
+++ b/vue3/src/locales/ar.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"Access_Token": "",
"Actions": "",
"Activity": "",
@@ -19,6 +21,7 @@
"Advanced": "",
"AllRecipes": "",
"App": "",
+ "AppImportSubtitle": "",
"Are_You_Sure": "",
"Auto_Planner": "",
"Automate": "",
@@ -29,6 +32,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "",
+ "BookmarkletImportSubtitle": "",
"Books": "",
"Calories": "",
"Cancel": "",
@@ -361,6 +365,7 @@
"Unrated": "",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "",
"Use_Plural_Food_Always": "",
"Use_Plural_Food_Simple": "",
diff --git a/vue3/src/locales/bg.json b/vue3/src/locales/bg.json
index 0bea8b20f..d74598704 100644
--- a/vue3/src/locales/bg.json
+++ b/vue3/src/locales/bg.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"Access_Token": "",
"Actions": "",
"Activity": "",
@@ -19,6 +21,7 @@
"Advanced": "Разширено",
"AllRecipes": "",
"App": "Приложение",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Сигурен ли си?",
"Auto_Planner": "Автоматичен плановик",
"Automate": "Автоматизация",
@@ -29,6 +32,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Книжен пазар",
+ "BookmarkletImportSubtitle": "",
"Books": "Книги",
"Calories": "Калории",
"Cancel": "Откажи",
@@ -354,6 +358,7 @@
"Unrated": "Без оценка",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Импортиране на URL адрес",
"Use_Plural_Food_Always": "",
"Use_Plural_Food_Simple": "",
diff --git a/vue3/src/locales/ca.json b/vue3/src/locales/ca.json
index 55f617d8b..9ede82811 100644
--- a/vue3/src/locales/ca.json
+++ b/vue3/src/locales/ca.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "",
"Access_Token": "",
"Account": "",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Quantitat",
"App": "",
+ "AppImportSubtitle": "",
"Are_You_Sure": "",
"Auto_Planner": "",
"Auto_Sort": "Ordeneu automàticament",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "",
+ "BookmarkletImportSubtitle": "",
"Books": "",
"Calculator": "",
"Calories": "",
@@ -452,6 +456,7 @@
"Update_Existing_Data": "",
"Updated": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importeu des d'url",
"Use_Fractions": "",
"Use_Fractions_Help": "",
diff --git a/vue3/src/locales/cs.json b/vue3/src/locales/cs.json
index ac935a241..22f763984 100644
--- a/vue3/src/locales/cs.json
+++ b/vue3/src/locales/cs.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Účet",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Množství",
"App": "Aplikace",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Jste si jistí?",
"Auto_Planner": "Automatický plánovač",
"Auto_Sort": "Automatické řazení",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Skript v záložce",
+ "BookmarkletImportSubtitle": "",
"Books": "Kuchařky",
"Calculator": "Kalkulačka",
"Calories": "Kalorie",
@@ -445,6 +449,7 @@
"Up": "",
"Update_Existing_Data": "Aktualizovat existující data",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Import pomocí URL odkazu",
"Use_Fractions": "Použít zlomky",
"Use_Fractions_Help": "Automaticky převézt desetinná čísla na zlomky při prohlížení repetu.",
diff --git a/vue3/src/locales/da.json b/vue3/src/locales/da.json
index 29da783db..2d4c054fb 100644
--- a/vue3/src/locales/da.json
+++ b/vue3/src/locales/da.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Bruger",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Mængde",
"App": "App",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Er du sikker?",
"Auto_Planner": "Autoplanlægger",
"Auto_Sort": "Sortér automatisk",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Bogmærke",
+ "BookmarkletImportSubtitle": "",
"Books": "Bøger",
"Calories": "Kalorier",
"Cancel": "Annuller",
@@ -423,6 +427,7 @@
"Up": "",
"Update_Existing_Data": "Opdaterer eksisterende data",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importer fra link",
"Use_Fractions": "Benyt brøker",
"Use_Fractions_Help": "Konverter automatisk decimaler til brøker når du viser en opskrift.",
diff --git a/vue3/src/locales/de.json b/vue3/src/locales/de.json
index fc45a8de6..f44719a8a 100644
--- a/vue3/src/locales/de.json
+++ b/vue3/src/locales/de.json
@@ -1,4 +1,6 @@
{
+ "AI": "AI",
+ "AIImportSubtitle": "Verwende AI um Fotos von Rezepten zu importieren.",
"API": "API",
"Access_Token": "Zugriffstoken",
"Account": "Konto",
@@ -25,6 +27,7 @@
"AllRecipes": "Alle Rezepte",
"Amount": "Menge",
"App": "App",
+ "AppImportSubtitle": "Importiere deine bestehende Rezeptdatenbank.",
"Are_You_Sure": "Bist du sicher?",
"Auto_Planner": "Smart Planen",
"Auto_Sort": "Automatisch sortieren",
@@ -38,6 +41,7 @@
"BaseUnitHelp": "Optionale Standardeinheit zur automatischen Umrechnung",
"Book": "Buch",
"Bookmarklet": "Lesezeichen",
+ "BookmarkletImportSubtitle": "Verwende ein Bookmarklet um von nicht öffentlichen Seiten zu importieren.",
"Books": "Kochbücher",
"Calculator": "Rechner",
"Calories": "Kalorien",
@@ -456,6 +460,7 @@
"Update_Existing_Data": "Vorhandene Daten aktualisieren",
"Updated": "Aktualisiert",
"UpgradeNow": "Jetzt Upgraden",
+ "UrlImportSubtitle": "Importiere Rezepte von tausenden unterstützten Seiten.",
"Url_Import": "URL Import",
"Use_Fractions": "Bruchschreibweise verwenden",
"Use_Fractions_Help": "Nachkommastellen automatisch in Bruchschreibweise konvertieren, wenn ein Rezept angeschaut wird.",
diff --git a/vue3/src/locales/el.json b/vue3/src/locales/el.json
index 0c1009a31..ee277f691 100644
--- a/vue3/src/locales/el.json
+++ b/vue3/src/locales/el.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Λογαριασμός",
@@ -22,6 +24,7 @@
"AllRecipes": "",
"Amount": "Ποσότητα",
"App": "Εφαρμογή",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Είστε σίγουροι;",
"Auto_Planner": "Αυτόματος προγραμματιστής",
"Auto_Sort": "Αυτόματη ταξινόμηση",
@@ -35,6 +38,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Bookmarklet",
+ "BookmarkletImportSubtitle": "",
"Books": "Βιβλία",
"Calories": "Θερμίδες",
"Cancel": "Ακύρωση",
@@ -412,6 +416,7 @@
"Up": "",
"Update_Existing_Data": "Ενημέρωση υπαρχόντων δεδομένων",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Εισαγωγή Url",
"Use_Fractions": "Χρήση κλασμάτων",
"Use_Fractions_Help": "Αυτόματη μετατροπή δεκαδικών σε κλάσματα κατά την προβολή μιας συνταγής.",
diff --git a/vue3/src/locales/en.json b/vue3/src/locales/en.json
index 482ce25e7..a48526f53 100644
--- a/vue3/src/locales/en.json
+++ b/vue3/src/locales/en.json
@@ -1,4 +1,6 @@
{
+ "AI": "AI",
+ "AIImportSubtitle": "Use AI to import images of recipes.",
"API": "API",
"Access_Token": "Access Token",
"Account": "Account",
@@ -23,6 +25,7 @@
"AllRecipes": "All Recipes",
"Amount": "Amount",
"App": "App",
+ "AppImportSubtitle": "Import your existing recipe database.",
"Are_You_Sure": "Are you sure?",
"Auto_Planner": "Auto-Planner",
"Auto_Sort": "Auto Sort",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "Standard unit for automatic unit conversion",
"Book": "Book",
"Bookmarklet": "Bookmarklet",
+ "BookmarkletImportSubtitle": "Use a bookmarklet to import from non public pages.",
"Books": "Books",
"Calculator": "Calculator",
"Calories": "Calories",
@@ -454,6 +458,7 @@
"Update_Existing_Data": "Update Existing Data",
"Updated": "Updated",
"UpgradeNow": "Upgrade now",
+ "UrlImportSubtitle": "Import recipes from thousands of suppported pages.",
"Url_Import": "Url Import",
"Use_Fractions": "Use Fractions",
"Use_Fractions_Help": "Automatically convert decimals to fractions when viewing a recipe.",
diff --git a/vue3/src/locales/es.json b/vue3/src/locales/es.json
index 98314b780..202b71f9f 100644
--- a/vue3/src/locales/es.json
+++ b/vue3/src/locales/es.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Cuenta",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Cantidad",
"App": "Aplicación",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Esta seguro?",
"Auto_Planner": "Planificador Automático",
"Auto_Sort": "Ordenar Automáticamente",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Marcadores",
+ "BookmarkletImportSubtitle": "",
"Books": "Libros",
"Calculator": "Calculadora",
"Calories": "Calorias",
@@ -451,6 +455,7 @@
"Update_Existing_Data": "Actualizar Datos Existentes",
"Updated": "Actualizada",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importar desde url",
"Use_Fractions": "Use fracciones",
"Use_Fractions_Help": "Convertir automáticamente los decimales en fracciones al ver una receta.",
diff --git a/vue3/src/locales/fi.json b/vue3/src/locales/fi.json
index d95a3512a..d22927e78 100644
--- a/vue3/src/locales/fi.json
+++ b/vue3/src/locales/fi.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"Access_Token": "",
"Actions": "",
"Activity": "",
@@ -13,6 +15,7 @@
"Admin": "",
"Advanced Search Settings": "Tarkennetun Haun Asetukset",
"AllRecipes": "",
+ "AppImportSubtitle": "",
"Auto_Planner": "Automaattinen Suunnittelija",
"Automate": "Automatisoi",
"Automation": "Automaatio",
@@ -21,6 +24,7 @@
"BaseUnit": "",
"BaseUnitHelp": "",
"Book": "",
+ "BookmarkletImportSubtitle": "",
"Books": "Kirjat",
"Calories": "Kalorit",
"Cancel": "Peruuta",
@@ -275,6 +279,7 @@
"Unrated": "Luokittelematon",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "URL Tuonti",
"Use_Plural_Food_Always": "",
"Use_Plural_Food_Simple": "",
diff --git a/vue3/src/locales/fr.json b/vue3/src/locales/fr.json
index 305482130..185e8ae2b 100644
--- a/vue3/src/locales/fr.json
+++ b/vue3/src/locales/fr.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Compte",
@@ -24,6 +26,7 @@
"AllRecipes": "",
"Amount": "Quantité",
"App": "Appli",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Etes-vous sûr ?",
"Auto_Planner": "Planning Auto",
"Auto_Sort": "Tri automatique",
@@ -37,6 +40,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Signet",
+ "BookmarkletImportSubtitle": "",
"Books": "Livres",
"Calculator": "Calculatrice",
"Calories": "Calories",
@@ -451,6 +455,7 @@
"Update_Existing_Data": "Mettre à jour les données existantes",
"Updated": "Mis à jour",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importation de l’url",
"Use_Fractions": "Utiliser les fractions",
"Use_Fractions_Help": "Convertir les décimales en fractions automatiquement lors de la visualisation d’une recette.",
diff --git a/vue3/src/locales/he.json b/vue3/src/locales/he.json
index f1425f178..b5f4e2905 100644
--- a/vue3/src/locales/he.json
+++ b/vue3/src/locales/he.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "חשבון",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "כמות",
"App": "אפליקציה",
+ "AppImportSubtitle": "",
"Are_You_Sure": "בטוח?",
"Auto_Planner": "מתכנן אוטומטי",
"Auto_Sort": "סידור אוטומטי",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "סימניה",
+ "BookmarkletImportSubtitle": "",
"Books": "ספרים",
"Calculator": "מחשבון",
"Calories": "קלוריות",
@@ -453,6 +457,7 @@
"Update_Existing_Data": "עדכון מידע קיים",
"Updated": "עודכן",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "ייבוא מכתובת",
"Use_Fractions": "השתמש בשברים",
"Use_Fractions_Help": "המר אוטומטית מדצמילי לשברים כאשר צופים במתכון.",
diff --git a/vue3/src/locales/hu.json b/vue3/src/locales/hu.json
index c29669434..b1ecf1664 100644
--- a/vue3/src/locales/hu.json
+++ b/vue3/src/locales/hu.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Fiók",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Összeg",
"App": "Applikáció",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Biztos benne?",
"Auto_Planner": "Automatikus tervező",
"Auto_Sort": "Automatikus rendezés",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Könyvjelző",
+ "BookmarkletImportSubtitle": "",
"Books": "Könyvek",
"Calories": "Kalóriák",
"Cancel": "Mégsem",
@@ -414,6 +418,7 @@
"Up": "",
"Update_Existing_Data": "Meglévő adatok frissítése",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "URL import",
"Use_Fractions": "Tört használata",
"Use_Fractions_Help": "A receptek megtekintésekor a tizedesjegyeket automatikusan törtekre konvertálja.",
diff --git a/vue3/src/locales/hy.json b/vue3/src/locales/hy.json
index ab6700990..442235a57 100644
--- a/vue3/src/locales/hy.json
+++ b/vue3/src/locales/hy.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"Access_Token": "",
"Actions": "",
"Activity": "",
@@ -12,12 +14,14 @@
"Admin": "",
"Advanced Search Settings": "Ընդլայնված փնտրման կարգավորումներ",
"AllRecipes": "",
+ "AppImportSubtitle": "",
"Automate": "Ավտոմատացնել",
"Available": "",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Book": "",
+ "BookmarkletImportSubtitle": "",
"Books": "",
"Calories": "",
"Cancel": "",
@@ -205,6 +209,7 @@
"UnitConversion": "",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "URL ներմուծում",
"Use_Plural_Food_Always": "",
"Use_Plural_Food_Simple": "",
diff --git a/vue3/src/locales/id.json b/vue3/src/locales/id.json
index 301872ca7..eb765ff2b 100644
--- a/vue3/src/locales/id.json
+++ b/vue3/src/locales/id.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "",
"Access_Token": "",
"Account": "",
@@ -21,6 +23,7 @@
"Advanced": "",
"AllRecipes": "",
"App": "",
+ "AppImportSubtitle": "",
"Are_You_Sure": "",
"Auto_Planner": "",
"Automate": "",
@@ -31,6 +34,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "",
+ "BookmarkletImportSubtitle": "",
"Books": "Buku",
"Calories": "Kalori",
"Cancel": "Batal",
@@ -386,6 +390,7 @@
"Unrated": "",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Impor Url",
"Use_Fractions": "",
"Use_Fractions_Help": "",
diff --git a/vue3/src/locales/is.json b/vue3/src/locales/is.json
index 01fd888fb..260a7d0e2 100644
--- a/vue3/src/locales/is.json
+++ b/vue3/src/locales/is.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "",
"Access_Token": "",
"Account": "",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "",
"App": "",
+ "AppImportSubtitle": "",
"Are_You_Sure": "",
"Auto_Planner": "",
"Auto_Sort": "",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "",
+ "BookmarkletImportSubtitle": "",
"Books": "",
"Calculator": "",
"Calories": "",
@@ -451,6 +455,7 @@
"Update_Existing_Data": "",
"Updated": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "",
"Use_Fractions": "",
"Use_Fractions_Help": "",
diff --git a/vue3/src/locales/it.json b/vue3/src/locales/it.json
index 21c0ff873..6df66135a 100644
--- a/vue3/src/locales/it.json
+++ b/vue3/src/locales/it.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Account",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Quantità",
"App": "Applicazione",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Sei sicuro?",
"Auto_Planner": "Pianificazione automatica",
"Auto_Sort": "Ordinamento Automatico",
@@ -35,6 +38,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Segnalibro",
+ "BookmarkletImportSubtitle": "",
"Books": "Libri",
"Calories": "Calorie",
"Cancel": "Annulla",
@@ -397,6 +401,7 @@
"Unrated": "Senza valutazione",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importa da URL",
"Use_Fractions": "Usa frazioni",
"Use_Fractions_Help": "Converti automaticamente i decimali in frazioni quando apri una ricetta.",
diff --git a/vue3/src/locales/lt.json b/vue3/src/locales/lt.json
index e92e46fa6..b2d2b1b86 100644
--- a/vue3/src/locales/lt.json
+++ b/vue3/src/locales/lt.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "",
"Access_Token": "",
"Account": "",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Suma",
"App": "",
+ "AppImportSubtitle": "",
"Are_You_Sure": "",
"Auto_Planner": "",
"Auto_Sort": "",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "",
+ "BookmarkletImportSubtitle": "",
"Books": "",
"Calories": "",
"Cancel": "",
@@ -421,6 +425,7 @@
"Up": "",
"Update_Existing_Data": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "URL importavimas",
"Use_Fractions": "",
"Use_Fractions_Help": "",
diff --git a/vue3/src/locales/nb_NO.json b/vue3/src/locales/nb_NO.json
index 4182c603d..d072140a8 100644
--- a/vue3/src/locales/nb_NO.json
+++ b/vue3/src/locales/nb_NO.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Mengde",
"App": "App",
+ "AppImportSubtitle": "",
"Are_You_Sure": "",
"Auto_Planner": "",
"Auto_Sort": "Sorter Automatisk",
@@ -35,6 +38,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "",
+ "BookmarkletImportSubtitle": "",
"Books": "Bøker",
"Calories": "Kalorier",
"Cancel": "Avbryt",
@@ -410,6 +414,7 @@
"Up": "",
"Update_Existing_Data": "Oppdater eksisterende data",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importer lenke",
"Use_Fractions": "Bruk deler",
"Use_Fractions_Help": "Automatisk konverter desimaler til deler når du ser på en oppskrift.",
diff --git a/vue3/src/locales/nl.json b/vue3/src/locales/nl.json
index 16d5ed138..674da6403 100644
--- a/vue3/src/locales/nl.json
+++ b/vue3/src/locales/nl.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Account",
@@ -24,6 +26,7 @@
"AllRecipes": "",
"Amount": "Hoeveelheid",
"App": "App",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Weet je het zeker?",
"Auto_Planner": "Autoplanner",
"Auto_Sort": "Automatisch sorteren",
@@ -37,6 +40,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Bladwijzer",
+ "BookmarkletImportSubtitle": "",
"Books": "Boeken",
"Calories": "Calorieën",
"Cancel": "Annuleer",
@@ -414,6 +418,7 @@
"Up": "",
"Update_Existing_Data": "Bestaande gegevens bijwerken",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importeer URL",
"Use_Fractions": "Gebruik Kommagetallen",
"Use_Fractions_Help": "Zet decimalen automatisch om naar breuken tijdens het bekijken van een recept.",
diff --git a/vue3/src/locales/pl.json b/vue3/src/locales/pl.json
index a20a6f620..085926823 100644
--- a/vue3/src/locales/pl.json
+++ b/vue3/src/locales/pl.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Konto",
@@ -24,6 +26,7 @@
"AllRecipes": "",
"Amount": "Ilość",
"App": "Aplikacja",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Jesteś pewny?",
"Auto_Planner": "Plan automatyczny",
"Auto_Sort": "Auto sortowanie",
@@ -37,6 +40,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Skryptozakładka",
+ "BookmarkletImportSubtitle": "",
"Books": "Książki",
"Calculator": "Kalkulator",
"Calories": "Kalorie",
@@ -454,6 +458,7 @@
"Update_Existing_Data": "Zaktualizuj istniejące dane",
"Updated": "Zaktualizowano",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importowanie URL",
"Use_Fractions": "Użyj ułamków",
"Use_Fractions_Help": "Automatycznie konwertuj ułamki dziesiętne na ułamki zwykłe podczas przeglądania przepisów.",
diff --git a/vue3/src/locales/pt.json b/vue3/src/locales/pt.json
index b1f9a8ec3..f982c7de7 100644
--- a/vue3/src/locales/pt.json
+++ b/vue3/src/locales/pt.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"Access_Token": "",
"Actions": "",
"Activity": "",
@@ -19,6 +21,7 @@
"Advanced": "Avançado",
"AllRecipes": "",
"Amount": "Quantidade",
+ "AppImportSubtitle": "",
"Auto_Planner": "",
"Auto_Sort": "Classificação automática",
"Auto_Sort_Help": "Mover todos os ingredientes para o passo mais indicado.",
@@ -29,6 +32,7 @@
"BaseUnit": "",
"BaseUnitHelp": "",
"Book": "",
+ "BookmarkletImportSubtitle": "",
"Books": "Livros",
"Calories": "Calorias",
"Cancel": "Cancelar",
@@ -348,6 +352,7 @@
"Unrated": "Sem classificação",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importação de URL",
"Use_Fractions": "Usar frações",
"Use_Fractions_Help": "Converter automaticamente casas decimais para frações enquanto se visualiza uma receita.",
diff --git a/vue3/src/locales/pt_BR.json b/vue3/src/locales/pt_BR.json
index 4fda1e0f1..0a66debe2 100644
--- a/vue3/src/locales/pt_BR.json
+++ b/vue3/src/locales/pt_BR.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Conta",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Quantidade",
"App": "Aplicação",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Você tem certeza?",
"Auto_Planner": "Planejamento Automático",
"Auto_Sort": "Classificação automática",
@@ -35,6 +38,7 @@
"BaseUnit": "",
"BaseUnitHelp": "",
"Book": "",
+ "BookmarkletImportSubtitle": "",
"Books": "Livros",
"Calculator": "Calculadora",
"Calories": "Calorias",
@@ -430,6 +434,7 @@
"Up": "",
"Update_Existing_Data": "Atualizar Dados Existentes",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importar de URL",
"Use_Fractions": "Usar Frações",
"Use_Fractions_Help": "Automaticamente converter decimais para frações quando visualizando uma receita.",
diff --git a/vue3/src/locales/ro.json b/vue3/src/locales/ro.json
index 71ecd879e..e45101ac7 100644
--- a/vue3/src/locales/ro.json
+++ b/vue3/src/locales/ro.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Cont",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Cantitate",
"App": "Aplicație",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Sunteți sigur?",
"Auto_Planner": "Planificator automat",
"Auto_Sort": "Sortare automatizată",
@@ -35,6 +38,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Marcaj",
+ "BookmarkletImportSubtitle": "",
"Books": "Cărți",
"Calories": "Calorii",
"Cancel": "Anulează",
@@ -401,6 +405,7 @@
"Unrated": "Neevaluat",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Importă URL",
"Use_Fractions": "Folosire fracțiuni",
"Use_Fractions_Help": "Convertiți automat zecimalele în fracții atunci când vizualizați o rețetă.",
diff --git a/vue3/src/locales/ru.json b/vue3/src/locales/ru.json
index cf1325f96..6b0f81b55 100644
--- a/vue3/src/locales/ru.json
+++ b/vue3/src/locales/ru.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"Access_Token": "",
"Actions": "",
"Activity": "",
@@ -19,6 +21,7 @@
"Advanced": "Расширенный",
"Advanced Search Settings": "",
"AllRecipes": "",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Вы уверены?",
"Auto_Planner": "Автопланировщик",
"Automate": "Автоматизировать",
@@ -28,6 +31,7 @@
"BaseUnit": "",
"BaseUnitHelp": "",
"Book": "",
+ "BookmarkletImportSubtitle": "",
"Books": "Книги",
"Calories": "Каллории",
"Cancel": "Отменить",
@@ -329,6 +333,7 @@
"Unrated": "Без рейтинга",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Импорт гиперссылки",
"User": "Пользователь",
"View": "Просмотр",
diff --git a/vue3/src/locales/sl.json b/vue3/src/locales/sl.json
index 089b6bb44..f18c312ee 100644
--- a/vue3/src/locales/sl.json
+++ b/vue3/src/locales/sl.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"Access_Token": "",
"Actions": "",
"Activity": "",
@@ -17,6 +19,7 @@
"Advanced Search Settings": "",
"AllRecipes": "",
"Amount": "Količina",
+ "AppImportSubtitle": "",
"Auto_Planner": "Avto-planer",
"Auto_Sort": "Samodejno Razvrščanje",
"Auto_Sort_Help": "Vse sestavine prestavi v najprimernejši korak.",
@@ -27,6 +30,7 @@
"BaseUnit": "",
"BaseUnitHelp": "",
"Book": "",
+ "BookmarkletImportSubtitle": "",
"Books": "Knjige",
"Calories": "Kalorije",
"Cancel": "Prekini",
@@ -320,6 +324,7 @@
"Up": "",
"Update_Existing_Data": "Posodobitev Obstoječih Podatkov",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "URL uvoz",
"Use_Metric": "Uporaba Metričnih Enot",
"Use_Plural_Food_Always": "",
diff --git a/vue3/src/locales/sv.json b/vue3/src/locales/sv.json
index f6272efc2..764be05e8 100644
--- a/vue3/src/locales/sv.json
+++ b/vue3/src/locales/sv.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Konto",
@@ -24,6 +26,7 @@
"AllRecipes": "",
"Amount": "Mängd",
"App": "App",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Är du säker?",
"Auto_Planner": "Autoplanera",
"Auto_Sort": "Automatisk Sortering",
@@ -37,6 +40,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Bokmärke",
+ "BookmarkletImportSubtitle": "",
"Books": "Böcker",
"Calculator": "Räknare",
"Calories": "Kalorier",
@@ -454,6 +458,7 @@
"Update_Existing_Data": "Uppdatera existerande data",
"Updated": "Uppdaterad",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Länk import",
"Use_Fractions": "Använd bråk",
"Use_Fractions_Help": "Konvertera automatiskt decimaler till bråktal när du visar ett recept.",
diff --git a/vue3/src/locales/tr.json b/vue3/src/locales/tr.json
index cb8e52038..6f3b3bf7c 100644
--- a/vue3/src/locales/tr.json
+++ b/vue3/src/locales/tr.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "Hesap",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "Miktar",
"App": "Uygulama",
+ "AppImportSubtitle": "",
"Are_You_Sure": "Emin misin?",
"Auto_Planner": "Otomatik Planlayıcı",
"Auto_Sort": "Otomatik Sırala",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "Yer İmi",
+ "BookmarkletImportSubtitle": "",
"Books": "Kitaplar",
"Calculator": "Hesap Makinesi",
"Calories": "Kaloriler",
@@ -453,6 +457,7 @@
"Update_Existing_Data": "Mevcut Verileri Güncelleyin",
"Updated": "Güncellendi",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Url İçeri Aktar",
"Use_Fractions": "Kesirleri Kullan",
"Use_Fractions_Help": "Bir tarifi görüntülerken ondalık sayıları otomatik olarak kesirlere dönüştürün.",
diff --git a/vue3/src/locales/uk.json b/vue3/src/locales/uk.json
index 226758514..465a82038 100644
--- a/vue3/src/locales/uk.json
+++ b/vue3/src/locales/uk.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"Access_Token": "",
"Actions": "",
"Activity": "",
@@ -20,6 +22,7 @@
"AllRecipes": "",
"Amount": "Кількість",
"App": "",
+ "AppImportSubtitle": "",
"Are_You_Sure": "",
"Auto_Planner": "",
"Auto_Sort": "Автоматичне сортування",
@@ -32,6 +35,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "",
+ "BookmarkletImportSubtitle": "",
"Books": "Книжки",
"Calories": "Калорії",
"Cancel": "Відмінити",
@@ -370,6 +374,7 @@
"Unrated": "Без рейтингу",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "Імпорт за посиланням",
"Use_Fractions": "Використовувати дроби",
"Use_Fractions_Help": "Автоматично конвертувати десятки в дроби, коли дивитесь рецепт.",
diff --git a/vue3/src/locales/zh_Hans.json b/vue3/src/locales/zh_Hans.json
index 41d4f84d4..b2d13d48e 100644
--- a/vue3/src/locales/zh_Hans.json
+++ b/vue3/src/locales/zh_Hans.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"API": "API",
"Access_Token": "",
"Account": "账户",
@@ -23,6 +25,7 @@
"AllRecipes": "",
"Amount": "数量",
"App": "应用",
+ "AppImportSubtitle": "",
"Are_You_Sure": "你确定吗?",
"Auto_Planner": "自动计划",
"Auto_Sort": "自动分类",
@@ -36,6 +39,7 @@
"BaseUnitHelp": "",
"Book": "",
"Bookmarklet": "书签",
+ "BookmarkletImportSubtitle": "",
"Books": "书籍",
"Calories": "卡路里",
"Cancel": "取消",
@@ -444,6 +448,7 @@
"Up": "",
"Update_Existing_Data": "更新现有数据",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "导入网址",
"Use_Fractions": "使用分数",
"Use_Fractions_Help": "查看食谱时自动将小数转换为分数。",
diff --git a/vue3/src/locales/zh_Hant.json b/vue3/src/locales/zh_Hant.json
index 3ff1604fb..bc3e7d6ac 100644
--- a/vue3/src/locales/zh_Hant.json
+++ b/vue3/src/locales/zh_Hant.json
@@ -1,4 +1,6 @@
{
+ "AI": "",
+ "AIImportSubtitle": "",
"Access_Token": "",
"Actions": "",
"Activity": "",
@@ -10,11 +12,13 @@
"Add_to_Shopping": "加入購物清單",
"Admin": "",
"AllRecipes": "",
+ "AppImportSubtitle": "",
"Available": "",
"AvailableCategories": "",
"BaseUnit": "",
"BaseUnitHelp": "",
"Book": "",
+ "BookmarkletImportSubtitle": "",
"Books": "",
"Calories": "",
"Cancel": "",
@@ -175,6 +179,7 @@
"UnitConversion": "",
"Up": "",
"UpgradeNow": "",
+ "UrlImportSubtitle": "",
"Url_Import": "",
"Use_Plural_Food_Always": "",
"Use_Plural_Food_Simple": "",
diff --git a/vue3/src/pages/RecipeImportPage.vue b/vue3/src/pages/RecipeImportPage.vue
index b888c2472..91a326654 100644
--- a/vue3/src/pages/RecipeImportPage.vue
+++ b/vue3/src/pages/RecipeImportPage.vue
@@ -3,51 +3,125 @@
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
- AI Import
-
-
-
-
-
-
- {{ $t('Duplicate') }}
- {{ $t('DuplicateFoundInfo') }}
-
- {{ r.name }}
- (#{{ r.id }})
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('Next') }}
+
+
-
+
+
+
+
+
+
+
+
+ {{ $t('Back') }}
+
+
+ {{ $t('Load') }}
+ {{ $t('Load') }}
+
+
+
+
+
+ {{ $t('Duplicate') }}
+ {{ $t('DuplicateFoundInfo') }}
+
+ {{ r.name }}
+ (#{{ r.id }})
+
+
+
+
+
+ {{ $t('Back') }}
+
+
+ {{ $t('Next') }}
+
+
+
+
+
{{ $t('Selected') }}
@@ -62,8 +136,17 @@
+
+
+ {{ $t('Back') }}
+ {{ $t('Back') }}
+
+
+ {{ $t('Next') }}
+
+
-
+
@@ -95,9 +178,16 @@
-
+
+
+ {{ $t('Back') }}
+
+
+ {{ $t('Next') }}
+
+
-
+
@@ -120,7 +210,7 @@
-
+
@@ -168,9 +258,16 @@
-
+
+
+ {{ $t('Back') }}
+
+
+ {{ $t('Next') }}
+
+
-
+
{{ importResponse.recipe.name }}
@@ -186,23 +283,31 @@
+
+
+ {{ $t('Back') }}
+
+
+ {{ $t('Import') }}
+
+
-
-
- Zurück
-
-
-
- {{ $t('Import') }}
-
-
- {{ stepper == '1' ? $t('Edit') : $t('Next') }}
-
- {{ $t('Import') }}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -234,7 +339,8 @@ const {mobile} = useDisplay()
const router = useRouter()
const {updateRecipeImage, convertImageToRecipe, fileApiLoading} = useFileApi()
-const stepper = ref("1")
+const importType = ref<'url' | 'ai' | 'app' | 'bookmarklet' | 'source'>("url")
+const stepper = ref("type")
const dialog = ref(false)
const loading = ref(false)
const importUrl = ref("")
@@ -249,11 +355,11 @@ const editingIngredient = ref({} as SourceImportIngredient)
onMounted(() => {
// handle manifest share intend passing url to import page
- if (params.url && typeof params.url === "string") {
+ if (params.url && typeof params.url === "string") {
importUrl.value = params.url
loadRecipeFromUrl()
}
- if (params.text && typeof params.text === "string") {
+ if (params.text && typeof params.text === "string") {
importUrl.value = params.text
loadRecipeFromUrl()
}
@@ -267,6 +373,12 @@ function loadRecipeFromUrl() {
loading.value = true
api.apiRecipeFromSourceCreate({recipeFromSource: {url: importUrl.value}}).then(r => {
importResponse.value = r
+
+ if (importResponse.value.duplicates && importResponse.value.duplicates.length > 0) {
+ stepper.value = 'duplicates'
+ } else {
+ stepper.value = 'image_chooser'
+ }
}).catch(err => {
useMessageStore().addError(ErrorMessageType.FETCH_ERROR, err)
}).finally(() => {
@@ -276,8 +388,13 @@ function loadRecipeFromUrl() {
function uploadAndConvertImage() {
if (image.value != null) {
+ loading.value = true
convertImageToRecipe(image.value).then(r => {
+ loading.value = false
importResponse.value = r
+ stepper.value = 'image_chooser'
+ }).catch(err => {
+ useMessageStore().addError(ErrorMessageType.FETCH_ERROR, err)
})
}
}
diff --git a/vue3/src/vuetify.ts b/vue3/src/vuetify.ts
index 114616073..f9d733a02 100644
--- a/vue3/src/vuetify.ts
+++ b/vue3/src/vuetify.ts
@@ -83,7 +83,8 @@ export default createVuetify({
recipes: 'fa-solid fa-book',
books: 'fa-solid fa-book-bookmark',
menu: 'fa-solid fa-ellipsis-vertical',
- import: 'fa-solid fa-globe'
+ import: 'fa-solid fa-globe',
+ ai: 'fa-solid fa-wand-magic-sparkles'
},
sets: {
fa,