i18n(app-svep) + i18n-vakt: hela mobil-UI:t översatt + CI-vakt mot regress
- Svepte 51 hårdkodade strängar -> t() över konto, sök/bläddra, sparade recept, kök, planera, skanna, byt måltid, inköp, minne, cooking, api-fel (+ locLabel/ kategorier via nycklar). 47 nya nycklar, översatta till alla 12 språk. - NY: apps/mobile/scripts/i18n-check.mjs (i18n:check) – fäller bygget om ett språk saknar en nyckel, en använd nyckel saknas, eller det finns hårdkodad UI-text. Wire:ad i CI (.github/workflows/ci.yml) efter typecheck. => 'lägg till språk' blir: kör vakten, den listar exakt vad som fattas. Aldrig mer leta för hand. - Prettier-fixade 5 filer från tidigare leveranser så format:check blir grön. - submit-recipe fri-text-payload + firebase dev-stubs markerade // i18n-ignore. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -51,6 +51,53 @@
|
||||
"common.add": "Tilføj",
|
||||
"common.back": "Tilbage",
|
||||
"common.cancel": "Annuller",
|
||||
"common.remove": "Fjern",
|
||||
"common.all": "Alle",
|
||||
"auth.tagline": "Mindre spild, mindre stress, mere tilbage i pungen",
|
||||
"auth.passwordMin8": "Adgangskoden skal være mindst 8 tegn.",
|
||||
"auth.passwordMismatch": "Adgangskoderne er ikke ens.",
|
||||
"auth.repeatPassword": "Gentag adgangskode",
|
||||
"plan.swapDish": "Skift ret",
|
||||
"scan.maxTitle": "Færdig",
|
||||
"scan.maxBody": "Maks. {max} billeder i denne scanning – analyserer.",
|
||||
"scan.photoTaken": "Billede {count} taget",
|
||||
"scan.multiAngleHint": "Tag gerne flere vinkler af samme sted – appen viser hver vare én gang. Hvert billede tæller som en scanning.",
|
||||
"scan.takeAnother": "Tag en mere",
|
||||
"scan.analyzeCount": "Analysér ({count})",
|
||||
"scan.tips.merge": "Køl/frys/spisekammer: tag flere billeder i samme scanning – appen slår dubletter sammen.",
|
||||
"cooking.timerHint": "Omtrentlig tid for trinnet – brug din telefons egen timer.",
|
||||
"kitchen.deleteConfirm": "Fjern valgte varer fra {label}?",
|
||||
"kitchen.scopeSearch": "søgningen",
|
||||
"kitchen.scopeAll": "hele lageret",
|
||||
"kitchen.scopeSelection": "markeringen",
|
||||
"kitchen.searchPlaceholder": "Søg vare…",
|
||||
"kitchen.clearList": "Tøm listen",
|
||||
"kitchen.empty": "Ingen varer at vise. Scan eller tilføj varer.",
|
||||
"kitchen.pastBefore": "bedst før",
|
||||
"memory.trainingNote": "Personlig hukommelse bruges aldrig som træningsdata uden separat samtykke.",
|
||||
"recipe.source": "Kilde: {name}",
|
||||
"recipes.sub.bread": "Brød",
|
||||
"recipes.sub.bun": "Boller",
|
||||
"recipes.sub.pie": "Tærte",
|
||||
"recipes.sub.cake": "Lagkager & kager",
|
||||
"recipes.sub.cookie": "Småkager",
|
||||
"recipes.searchPlaceholder": "Søg opskrift…",
|
||||
"recipes.emptyCategory": "Ingen opskrifter i denne kategori endnu – de dukker op, når kataloget vokser.",
|
||||
"savedRecipes.searchPlaceholder": "Søg blandt dine gemte opskrifter",
|
||||
"savedRecipes.empty": "Du har ingen gemte opskrifter endnu. Tryk på ☆ Gem på en opskrift, så havner den her.",
|
||||
"savedRecipes.emptySearch": "Ingen gemte opskrifter matcher din søgning.",
|
||||
"shopping.removeConfirm": "Fjern varen fra listen?",
|
||||
"swap.addTitle": "Tilføj måltid",
|
||||
"swap.swapTitle": "Skift måltid",
|
||||
"swap.chooseFor": "Vælg en ret til {meal} – eller søg efter en hvilken som helst ret.",
|
||||
"swap.chooseOther": "Vælg en anden ret til {meal} – eller søg efter en hvilken som helst ret.",
|
||||
"swap.mealLunch": "frokosten",
|
||||
"swap.mealBreakfast": "morgenmaden",
|
||||
"swap.mealDinner": "aftensmaden",
|
||||
"swap.searchPlaceholder": "Søg blandt alle opskrifter …",
|
||||
"swap.showingResults": "Viser resultater for ”{query}”.",
|
||||
"swap.clearHint": "Ryd søgefeltet og søg på tomt for at se forslag igen.",
|
||||
"errors.uploadTimeout": "Uploadet tog for lang tid – tjek netværket og prøv igen.",
|
||||
"common.done": "Færdig",
|
||||
"common.error": "Noget gik galt. Prøv igen.",
|
||||
"common.estimate": "Estimat",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Hinzufügen",
|
||||
"common.back": "Zurück",
|
||||
"common.cancel": "Abbrechen",
|
||||
"common.remove": "Entfernen",
|
||||
"common.all": "Alle",
|
||||
"auth.tagline": "Weniger Verschwendung, weniger Stress, mehr im Geldbeutel",
|
||||
"auth.passwordMin8": "Das Passwort muss mindestens 8 Zeichen lang sein.",
|
||||
"auth.passwordMismatch": "Die Passwörter stimmen nicht überein.",
|
||||
"auth.repeatPassword": "Passwort wiederholen",
|
||||
"plan.swapDish": "Gericht tauschen",
|
||||
"scan.maxTitle": "Fertig",
|
||||
"scan.maxBody": "Max. {max} Bilder für diesen Scan – wird analysiert.",
|
||||
"scan.photoTaken": "Bild {count} aufgenommen",
|
||||
"scan.multiAngleHint": "Fotografiere die gleiche Stelle ruhig aus mehreren Winkeln – die App listet jede Ware nur einmal. Jedes Bild zählt als ein Scan.",
|
||||
"scan.takeAnother": "Noch eins aufnehmen",
|
||||
"scan.analyzeCount": "Analysieren ({count})",
|
||||
"scan.tips.merge": "Kühlschrank/Gefrierfach/Vorrat: Nimm mehrere Bilder im selben Scan auf – die App führt Duplikate zusammen.",
|
||||
"cooking.timerHint": "Ungefähre Zeit für den Schritt – nutze den Timer deines Handys.",
|
||||
"kitchen.deleteConfirm": "Ausgewählte Waren aus {label} entfernen?",
|
||||
"kitchen.scopeSearch": "der Suche",
|
||||
"kitchen.scopeAll": "dem gesamten Bestand",
|
||||
"kitchen.scopeSelection": "der Auswahl",
|
||||
"kitchen.searchPlaceholder": "Ware suchen…",
|
||||
"kitchen.clearList": "Liste leeren",
|
||||
"kitchen.empty": "Keine Waren vorhanden. Scanne oder füge Waren hinzu.",
|
||||
"kitchen.pastBefore": "mindestens haltbar bis",
|
||||
"memory.trainingNote": "Persönliche Erinnerungen werden niemals ohne gesonderte Einwilligung als Trainingsdaten verwendet.",
|
||||
"recipe.source": "Quelle: {name}",
|
||||
"recipes.sub.bread": "Brot",
|
||||
"recipes.sub.bun": "Brötchen",
|
||||
"recipes.sub.pie": "Tarte",
|
||||
"recipes.sub.cake": "Torten & Kuchen",
|
||||
"recipes.sub.cookie": "Kekse",
|
||||
"recipes.searchPlaceholder": "Rezepte suchen…",
|
||||
"recipes.emptyCategory": "Noch keine Rezepte in dieser Kategorie – sie erscheinen, sobald der Katalog wächst.",
|
||||
"savedRecipes.searchPlaceholder": "In deinen gespeicherten Rezepten suchen",
|
||||
"savedRecipes.empty": "Du hast noch keine gespeicherten Rezepte. Tippe bei einem Rezept auf ☆ Speichern, dann landet es hier.",
|
||||
"savedRecipes.emptySearch": "Keine gespeicherten Rezepte passen zu deiner Suche.",
|
||||
"shopping.removeConfirm": "Ware von der Liste entfernen?",
|
||||
"swap.addTitle": "Mahlzeit hinzufügen",
|
||||
"swap.swapTitle": "Mahlzeit austauschen",
|
||||
"swap.chooseFor": "Wähle ein Gericht für {meal} – oder suche nach einem beliebigen Gericht.",
|
||||
"swap.chooseOther": "Wähle ein anderes Gericht für {meal} – oder suche nach einem beliebigen Gericht.",
|
||||
"swap.mealLunch": "das Mittagessen",
|
||||
"swap.mealBreakfast": "das Frühstück",
|
||||
"swap.mealDinner": "das Abendessen",
|
||||
"swap.searchPlaceholder": "In allen Rezepten suchen …",
|
||||
"swap.showingResults": "Treffer für ”{query}” werden angezeigt.",
|
||||
"swap.clearHint": "Leere das Suchfeld und suche mit leerer Eingabe, um wieder Vorschläge zu sehen.",
|
||||
"errors.uploadTimeout": "Der Upload hat zu lange gedauert – prüfe dein Netzwerk und versuche es erneut.",
|
||||
"common.done": "Fertig",
|
||||
"common.error": "Etwas ist schiefgelaufen. Bitte erneut versuchen.",
|
||||
"common.estimate": "Schätzung",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Add",
|
||||
"common.back": "Back",
|
||||
"common.cancel": "Cancel",
|
||||
"common.remove": "Remove",
|
||||
"common.all": "All",
|
||||
"auth.tagline": "Less waste, less stress, more left in your wallet",
|
||||
"auth.passwordMin8": "Password must be at least 8 characters.",
|
||||
"auth.passwordMismatch": "Passwords don't match.",
|
||||
"auth.repeatPassword": "Repeat password",
|
||||
"plan.swapDish": "Swap dish",
|
||||
"scan.maxTitle": "Done",
|
||||
"scan.maxBody": "Max {max} photos this scan – analyzing.",
|
||||
"scan.photoTaken": "Photo {count} taken",
|
||||
"scan.multiAngleHint": "Feel free to take more angles of the same spot – the app lists each item once. Each photo counts as one scan.",
|
||||
"scan.takeAnother": "Take another",
|
||||
"scan.analyzeCount": "Analyze ({count})",
|
||||
"scan.tips.merge": "Fridge/freezer/pantry: take several photos in the same scan – the app merges duplicates.",
|
||||
"cooking.timerHint": "Approximate time for the step – use your phone's own timer.",
|
||||
"kitchen.deleteConfirm": "Remove selected items from {label}?",
|
||||
"kitchen.scopeSearch": "the search",
|
||||
"kitchen.scopeAll": "the whole inventory",
|
||||
"kitchen.scopeSelection": "the selection",
|
||||
"kitchen.searchPlaceholder": "Search item…",
|
||||
"kitchen.clearList": "Clear list",
|
||||
"kitchen.empty": "No items to show. Scan or add items.",
|
||||
"kitchen.pastBefore": "best before",
|
||||
"memory.trainingNote": "Personal memory is never used as training data without separate consent.",
|
||||
"recipe.source": "Source: {name}",
|
||||
"recipes.sub.bread": "Bread",
|
||||
"recipes.sub.bun": "Buns",
|
||||
"recipes.sub.pie": "Pie",
|
||||
"recipes.sub.cake": "Cakes & bakes",
|
||||
"recipes.sub.cookie": "Cookies",
|
||||
"recipes.searchPlaceholder": "Search recipes…",
|
||||
"recipes.emptyCategory": "No recipes in this category yet – they'll appear as the catalog grows.",
|
||||
"savedRecipes.searchPlaceholder": "Search your saved recipes",
|
||||
"savedRecipes.empty": "You don't have any saved recipes yet. Tap ☆ Save on a recipe and it'll show up here.",
|
||||
"savedRecipes.emptySearch": "No saved recipes match your search.",
|
||||
"shopping.removeConfirm": "Remove the item from the list?",
|
||||
"swap.addTitle": "Add meal",
|
||||
"swap.swapTitle": "Swap meal",
|
||||
"swap.chooseFor": "Choose a dish for {meal} – or search for any dish.",
|
||||
"swap.chooseOther": "Choose a different dish for {meal} – or search for any dish.",
|
||||
"swap.mealLunch": "lunch",
|
||||
"swap.mealBreakfast": "breakfast",
|
||||
"swap.mealDinner": "dinner",
|
||||
"swap.searchPlaceholder": "Search all recipes …",
|
||||
"swap.showingResults": "Showing results for ”{query}”.",
|
||||
"swap.clearHint": "Clear the search box and search with it empty to see suggestions again.",
|
||||
"errors.uploadTimeout": "The upload took too long – check your network and try again.",
|
||||
"common.done": "Done",
|
||||
"common.error": "Something went wrong. Please try again.",
|
||||
"common.estimate": "Estimate",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Añadir",
|
||||
"common.back": "Atrás",
|
||||
"common.cancel": "Cancelar",
|
||||
"common.remove": "Eliminar",
|
||||
"common.all": "Todos",
|
||||
"auth.tagline": "Menos desperdicio, menos estrés, más dinero en el bolsillo",
|
||||
"auth.passwordMin8": "La contraseña debe tener al menos 8 caracteres.",
|
||||
"auth.passwordMismatch": "Las contraseñas no coinciden.",
|
||||
"auth.repeatPassword": "Repite la contraseña",
|
||||
"plan.swapDish": "Cambiar plato",
|
||||
"scan.maxTitle": "Listo",
|
||||
"scan.maxBody": "Máximo {max} fotos en este escaneo: analizando.",
|
||||
"scan.photoTaken": "Foto {count} hecha",
|
||||
"scan.multiAngleHint": "Haz varias fotos del mismo sitio desde distintos ángulos: la app lista cada producto una sola vez. Cada foto cuenta como un escaneo.",
|
||||
"scan.takeAnother": "Hacer otra",
|
||||
"scan.analyzeCount": "Analizar ({count})",
|
||||
"scan.tips.merge": "Nevera/congelador/despensa: haz varias fotos en el mismo escaneo y la app combina los duplicados.",
|
||||
"cooking.timerHint": "Tiempo aproximado del paso: usa el temporizador de tu teléfono.",
|
||||
"kitchen.deleteConfirm": "¿Eliminar los productos seleccionados de {label}?",
|
||||
"kitchen.scopeSearch": "la búsqueda",
|
||||
"kitchen.scopeAll": "todo el inventario",
|
||||
"kitchen.scopeSelection": "la selección",
|
||||
"kitchen.searchPlaceholder": "Buscar producto…",
|
||||
"kitchen.clearList": "Vaciar la lista",
|
||||
"kitchen.empty": "No hay productos que mostrar. Escanea o añade algunos.",
|
||||
"kitchen.pastBefore": "consumir antes de",
|
||||
"memory.trainingNote": "La memoria personal nunca se usa como datos de entrenamiento sin un consentimiento por separado.",
|
||||
"recipe.source": "Fuente: {name}",
|
||||
"recipes.sub.bread": "Pan",
|
||||
"recipes.sub.bun": "Bollos",
|
||||
"recipes.sub.pie": "Pasteles",
|
||||
"recipes.sub.cake": "Tartas y bizcochos",
|
||||
"recipes.sub.cookie": "Galletas",
|
||||
"recipes.searchPlaceholder": "Buscar recetas…",
|
||||
"recipes.emptyCategory": "Aún no hay recetas en esta categoría: aparecerán a medida que crezca el catálogo.",
|
||||
"savedRecipes.searchPlaceholder": "Busca en tus recetas guardadas",
|
||||
"savedRecipes.empty": "Aún no tienes recetas guardadas. Toca ☆ Guardar en una receta y aparecerá aquí.",
|
||||
"savedRecipes.emptySearch": "Ninguna receta guardada coincide con tu búsqueda.",
|
||||
"shopping.removeConfirm": "¿Eliminar el producto de la lista?",
|
||||
"swap.addTitle": "Añadir comida",
|
||||
"swap.swapTitle": "Cambiar la comida",
|
||||
"swap.chooseFor": "Elige un plato para {meal} o busca el que quieras.",
|
||||
"swap.chooseOther": "Elige otro plato para {meal} o busca el que quieras.",
|
||||
"swap.mealLunch": "la comida",
|
||||
"swap.mealBreakfast": "el desayuno",
|
||||
"swap.mealDinner": "la cena",
|
||||
"swap.searchPlaceholder": "Busca en todas las recetas…",
|
||||
"swap.showingResults": "Mostrando resultados de ”{query}”.",
|
||||
"swap.clearHint": "Vacía el cuadro de búsqueda y busca sin texto para volver a ver las sugerencias.",
|
||||
"errors.uploadTimeout": "La subida ha tardado demasiado: comprueba la red e inténtalo de nuevo.",
|
||||
"common.done": "Listo",
|
||||
"common.error": "Algo salió mal. Inténtalo de nuevo.",
|
||||
"common.estimate": "Estimación",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Lisää",
|
||||
"common.back": "Takaisin",
|
||||
"common.cancel": "Peruuta",
|
||||
"common.remove": "Poista",
|
||||
"common.all": "Kaikki",
|
||||
"auth.tagline": "Vähemmän hävikkiä, vähemmän stressiä, enemmän jää lompakkoon",
|
||||
"auth.passwordMin8": "Salasanan on oltava vähintään 8 merkkiä.",
|
||||
"auth.passwordMismatch": "Salasanat eivät täsmää.",
|
||||
"auth.repeatPassword": "Toista salasana",
|
||||
"plan.swapDish": "Vaihda ruoka",
|
||||
"scan.maxTitle": "Valmis",
|
||||
"scan.maxBody": "Enintään {max} kuvaa tässä skannauksessa – analysoidaan.",
|
||||
"scan.photoTaken": "Kuva {count} otettu",
|
||||
"scan.multiAngleHint": "Ota mielellään useampia kuvakulmia samasta paikasta – sovellus listaa jokaisen tuotteen kerran. Jokainen kuva lasketaan skannaukseksi.",
|
||||
"scan.takeAnother": "Ota vielä yksi",
|
||||
"scan.analyzeCount": "Analysoi ({count})",
|
||||
"scan.tips.merge": "Jääkaappi/pakastin/ruokakomero: ota useita kuvia samassa skannauksessa – sovellus yhdistää kaksoiskappaleet.",
|
||||
"cooking.timerHint": "Vaiheen arvioitu aika – käytä puhelimesi omaa ajastinta.",
|
||||
"kitchen.deleteConfirm": "Poistetaanko valitut tuotteet {label}?",
|
||||
"kitchen.scopeSearch": "hausta",
|
||||
"kitchen.scopeAll": "koko varastosta",
|
||||
"kitchen.scopeSelection": "valinnasta",
|
||||
"kitchen.searchPlaceholder": "Hae tuotetta…",
|
||||
"kitchen.clearList": "Tyhjennä lista",
|
||||
"kitchen.empty": "Ei näytettäviä tuotteita. Skannaa tai lisää tuotteita.",
|
||||
"kitchen.pastBefore": "parasta ennen",
|
||||
"memory.trainingNote": "Henkilökohtaista muistia ei koskaan käytetä harjoitusdatana ilman erillistä suostumusta.",
|
||||
"recipe.source": "Lähde: {name}",
|
||||
"recipes.sub.bread": "Leipä",
|
||||
"recipes.sub.bun": "Pullat",
|
||||
"recipes.sub.pie": "Piirakka",
|
||||
"recipes.sub.cake": "Kakut & leivokset",
|
||||
"recipes.sub.cookie": "Pikkuleivät",
|
||||
"recipes.searchPlaceholder": "Hae reseptejä…",
|
||||
"recipes.emptyCategory": "Tässä kategoriassa ei ole vielä reseptejä – niitä ilmestyy, kun valikoima kasvaa.",
|
||||
"savedRecipes.searchPlaceholder": "Hae tallennetuista resepteistäsi",
|
||||
"savedRecipes.empty": "Sinulla ei ole vielä tallennettuja reseptejä. Paina ☆ Tallenna reseptin kohdalla, niin se ilmestyy tänne.",
|
||||
"savedRecipes.emptySearch": "Yksikään tallennettu resepti ei vastaa hakuasi.",
|
||||
"shopping.removeConfirm": "Poistetaanko tuote listalta?",
|
||||
"swap.addTitle": "Lisää ateria",
|
||||
"swap.swapTitle": "Vaihda ateria",
|
||||
"swap.chooseFor": "Valitse ruoka {meal} – tai hae mitä tahansa ruokaa.",
|
||||
"swap.chooseOther": "Valitse toinen ruoka {meal} – tai hae mitä tahansa ruokaa.",
|
||||
"swap.mealLunch": "lounaalle",
|
||||
"swap.mealBreakfast": "aamiaiselle",
|
||||
"swap.mealDinner": "päivälliselle",
|
||||
"swap.searchPlaceholder": "Hae kaikista resepteistä …",
|
||||
"swap.showingResults": "Näytetään osumat haulle ”{query}”.",
|
||||
"swap.clearHint": "Tyhjennä hakukenttä ja hae tyhjällä nähdäksesi ehdotukset uudelleen.",
|
||||
"errors.uploadTimeout": "Lataus kesti liian kauan – tarkista verkkoyhteys ja yritä uudelleen.",
|
||||
"common.done": "Valmis",
|
||||
"common.error": "Jokin meni pieleen. Yritä uudelleen.",
|
||||
"common.estimate": "Arvio",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Ajouter",
|
||||
"common.back": "Retour",
|
||||
"common.cancel": "Annuler",
|
||||
"common.remove": "Supprimer",
|
||||
"common.all": "Tous",
|
||||
"auth.tagline": "Moins de gaspillage, moins de stress, plus d'argent dans votre portefeuille",
|
||||
"auth.passwordMin8": "Le mot de passe doit contenir au moins 8 caractères.",
|
||||
"auth.passwordMismatch": "Les mots de passe ne correspondent pas.",
|
||||
"auth.repeatPassword": "Confirmer le mot de passe",
|
||||
"plan.swapDish": "Changer de plat",
|
||||
"scan.maxTitle": "Terminé",
|
||||
"scan.maxBody": "Max {max} photos pour ce scan – analyse en cours.",
|
||||
"scan.photoTaken": "Photo {count} prise",
|
||||
"scan.multiAngleHint": "N'hésitez pas à prendre plusieurs angles du même emplacement – l'application liste chaque article une seule fois. Chaque photo compte comme un scan.",
|
||||
"scan.takeAnother": "En prendre une autre",
|
||||
"scan.analyzeCount": "Analyser ({count})",
|
||||
"scan.tips.merge": "Réfrigérateur/congélateur/garde-manger : prenez plusieurs photos dans le même scan – l'application fusionne les doublons.",
|
||||
"cooking.timerHint": "Durée approximative de l'étape – utilisez le minuteur de votre téléphone.",
|
||||
"kitchen.deleteConfirm": "Supprimer les articles sélectionnés de {label} ?",
|
||||
"kitchen.scopeSearch": "la recherche",
|
||||
"kitchen.scopeAll": "tout le stock",
|
||||
"kitchen.scopeSelection": "la sélection",
|
||||
"kitchen.searchPlaceholder": "Rechercher un article…",
|
||||
"kitchen.clearList": "Vider la liste",
|
||||
"kitchen.empty": "Aucun article à afficher. Scannez ou ajoutez des articles.",
|
||||
"kitchen.pastBefore": "à consommer avant",
|
||||
"memory.trainingNote": "La mémoire personnelle n'est jamais utilisée comme données d'entraînement sans consentement distinct.",
|
||||
"recipe.source": "Source : {name}",
|
||||
"recipes.sub.bread": "Pain",
|
||||
"recipes.sub.bun": "Brioches",
|
||||
"recipes.sub.pie": "Tartes",
|
||||
"recipes.sub.cake": "Gâteaux",
|
||||
"recipes.sub.cookie": "Biscuits",
|
||||
"recipes.searchPlaceholder": "Rechercher une recette…",
|
||||
"recipes.emptyCategory": "Aucune recette dans cette catégorie pour l'instant – elles apparaîtront à mesure que le catalogue s'agrandit.",
|
||||
"savedRecipes.searchPlaceholder": "Rechercher parmi vos recettes enregistrées",
|
||||
"savedRecipes.empty": "Vous n'avez pas encore de recettes enregistrées. Appuyez sur ☆ Enregistrer sur une recette pour la retrouver ici.",
|
||||
"savedRecipes.emptySearch": "Aucune recette enregistrée ne correspond à votre recherche.",
|
||||
"shopping.removeConfirm": "Supprimer l'article de la liste ?",
|
||||
"swap.addTitle": "Ajouter un repas",
|
||||
"swap.swapTitle": "Remplacer le repas",
|
||||
"swap.chooseFor": "Choisissez un plat pour {meal} – ou recherchez n'importe quel plat.",
|
||||
"swap.chooseOther": "Choisissez un autre plat pour {meal} – ou recherchez n'importe quel plat.",
|
||||
"swap.mealLunch": "le déjeuner",
|
||||
"swap.mealBreakfast": "le petit-déjeuner",
|
||||
"swap.mealDinner": "le dîner",
|
||||
"swap.searchPlaceholder": "Rechercher parmi toutes les recettes …",
|
||||
"swap.showingResults": "Affichage des résultats pour ”{query}”.",
|
||||
"swap.clearHint": "Videz le champ de recherche et lancez une recherche vide pour revoir les suggestions.",
|
||||
"errors.uploadTimeout": "L'envoi a pris trop de temps – vérifiez votre réseau et réessayez.",
|
||||
"common.done": "Terminé",
|
||||
"common.error": "Un problème est survenu. Réessayez.",
|
||||
"common.estimate": "Estimation",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Aggiungi",
|
||||
"common.back": "Indietro",
|
||||
"common.cancel": "Annulla",
|
||||
"common.remove": "Rimuovi",
|
||||
"common.all": "Tutti",
|
||||
"auth.tagline": "Meno sprechi, meno stress, più soldi in tasca",
|
||||
"auth.passwordMin8": "La password deve contenere almeno 8 caratteri.",
|
||||
"auth.passwordMismatch": "Le password non corrispondono.",
|
||||
"auth.repeatPassword": "Ripeti la password",
|
||||
"plan.swapDish": "Cambia piatto",
|
||||
"scan.maxTitle": "Fatto",
|
||||
"scan.maxBody": "Massimo {max} foto per questa scansione – analisi in corso.",
|
||||
"scan.photoTaken": "Foto {count} scattata",
|
||||
"scan.multiAngleHint": "Scatta pure più angolazioni dello stesso posto – l’app elenca ogni prodotto una sola volta. Ogni foto conta come una scansione.",
|
||||
"scan.takeAnother": "Scatta un’altra",
|
||||
"scan.analyzeCount": "Analizza ({count})",
|
||||
"scan.tips.merge": "Frigo/freezer/dispensa: scatta più foto nella stessa scansione – l’app unisce i duplicati.",
|
||||
"cooking.timerHint": "Tempo indicativo per il passaggio – usa il timer del tuo telefono.",
|
||||
"kitchen.deleteConfirm": "Rimuovere i prodotti selezionati da {label}?",
|
||||
"kitchen.scopeSearch": "la ricerca",
|
||||
"kitchen.scopeAll": "tutto l’inventario",
|
||||
"kitchen.scopeSelection": "la selezione",
|
||||
"kitchen.searchPlaceholder": "Cerca prodotto…",
|
||||
"kitchen.clearList": "Svuota la lista",
|
||||
"kitchen.empty": "Nessun prodotto da mostrare. Scansiona o aggiungi prodotti.",
|
||||
"kitchen.pastBefore": "da consumarsi preferibilmente entro",
|
||||
"memory.trainingNote": "La memoria personale non viene mai usata come dati di addestramento senza un consenso separato.",
|
||||
"recipe.source": "Fonte: {name}",
|
||||
"recipes.sub.bread": "Pane",
|
||||
"recipes.sub.bun": "Panini dolci",
|
||||
"recipes.sub.pie": "Crostate",
|
||||
"recipes.sub.cake": "Torte e dolci",
|
||||
"recipes.sub.cookie": "Biscotti",
|
||||
"recipes.searchPlaceholder": "Cerca ricette…",
|
||||
"recipes.emptyCategory": "Ancora nessuna ricetta in questa categoria – appariranno man mano che il catalogo cresce.",
|
||||
"savedRecipes.searchPlaceholder": "Cerca tra le tue ricette salvate",
|
||||
"savedRecipes.empty": "Non hai ancora ricette salvate. Tocca ☆ Salva su una ricetta e comparirà qui.",
|
||||
"savedRecipes.emptySearch": "Nessuna ricetta salvata corrisponde alla tua ricerca.",
|
||||
"shopping.removeConfirm": "Rimuovere il prodotto dalla lista?",
|
||||
"swap.addTitle": "Aggiungi pasto",
|
||||
"swap.swapTitle": "Sostituisci il pasto",
|
||||
"swap.chooseFor": "Scegli un piatto per {meal} – oppure cerca un piatto qualsiasi.",
|
||||
"swap.chooseOther": "Scegli un altro piatto per {meal} – oppure cerca un piatto qualsiasi.",
|
||||
"swap.mealLunch": "il pranzo",
|
||||
"swap.mealBreakfast": "la colazione",
|
||||
"swap.mealDinner": "la cena",
|
||||
"swap.searchPlaceholder": "Cerca tra tutte le ricette …",
|
||||
"swap.showingResults": "Risultati per ”{query}”.",
|
||||
"swap.clearHint": "Svuota la casella di ricerca e lasciala vuota per rivedere i suggerimenti.",
|
||||
"errors.uploadTimeout": "Il caricamento ha impiegato troppo tempo – controlla la rete e riprova.",
|
||||
"common.done": "Fatto",
|
||||
"common.error": "Qualcosa è andato storto. Riprova.",
|
||||
"common.estimate": "Stima",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Legg til",
|
||||
"common.back": "Tilbake",
|
||||
"common.cancel": "Avbryt",
|
||||
"common.remove": "Fjern",
|
||||
"common.all": "Alle",
|
||||
"auth.tagline": "Mindre svinn, mindre stress, mer igjen i lommeboka",
|
||||
"auth.passwordMin8": "Passordet må være minst 8 tegn.",
|
||||
"auth.passwordMismatch": "Passordene er ikke like.",
|
||||
"auth.repeatPassword": "Gjenta passord",
|
||||
"plan.swapDish": "Bytt rett",
|
||||
"scan.maxTitle": "Ferdig",
|
||||
"scan.maxBody": "Maks {max} bilder denne skanningen – analyserer.",
|
||||
"scan.photoTaken": "Bilde {count} tatt",
|
||||
"scan.multiAngleHint": "Ta gjerne flere vinkler av samme sted – appen lister hver vare én gang. Hvert bilde teller som en skanning.",
|
||||
"scan.takeAnother": "Ta en til",
|
||||
"scan.analyzeCount": "Analyser ({count})",
|
||||
"scan.tips.merge": "Kjøl/frys/spiskammer: ta flere bilder i samme skanning – appen slår sammen duplikater.",
|
||||
"cooking.timerHint": "Omtrentlig tid for steget – bruk telefonens egen tidtaker.",
|
||||
"kitchen.deleteConfirm": "Fjerne valgte varer fra {label}?",
|
||||
"kitchen.scopeSearch": "søket",
|
||||
"kitchen.scopeAll": "hele lageret",
|
||||
"kitchen.scopeSelection": "utvalget",
|
||||
"kitchen.searchPlaceholder": "Søk vare…",
|
||||
"kitchen.clearList": "Tøm listen",
|
||||
"kitchen.empty": "Ingen varer å vise. Skann eller legg til varer.",
|
||||
"kitchen.pastBefore": "best før",
|
||||
"memory.trainingNote": "Personlig minne brukes aldri som treningsdata uten separat samtykke.",
|
||||
"recipe.source": "Kilde: {name}",
|
||||
"recipes.sub.bread": "Brød",
|
||||
"recipes.sub.bun": "Boller",
|
||||
"recipes.sub.pie": "Pai",
|
||||
"recipes.sub.cake": "Bløtkaker & kaker",
|
||||
"recipes.sub.cookie": "Småkaker",
|
||||
"recipes.searchPlaceholder": "Søk oppskrift…",
|
||||
"recipes.emptyCategory": "Ingen oppskrifter i denne kategorien ennå – de dukker opp når katalogen vokser.",
|
||||
"savedRecipes.searchPlaceholder": "Søk blant dine lagrede oppskrifter",
|
||||
"savedRecipes.empty": "Du har ingen lagrede oppskrifter ennå. Trykk på ☆ Lagre på en oppskrift, så havner den her.",
|
||||
"savedRecipes.emptySearch": "Ingen lagrede oppskrifter matcher søket ditt.",
|
||||
"shopping.removeConfirm": "Fjerne varen fra listen?",
|
||||
"swap.addTitle": "Legg til måltid",
|
||||
"swap.swapTitle": "Bytt ut måltidet",
|
||||
"swap.chooseFor": "Velg en rett for {meal} – eller søk etter hvilken som helst rett.",
|
||||
"swap.chooseOther": "Velg en annen rett for {meal} – eller søk etter hvilken som helst rett.",
|
||||
"swap.mealLunch": "lunsjen",
|
||||
"swap.mealBreakfast": "frokosten",
|
||||
"swap.mealDinner": "middagen",
|
||||
"swap.searchPlaceholder": "Søk blant alle oppskrifter …",
|
||||
"swap.showingResults": "Viser treff for ”{query}”.",
|
||||
"swap.clearHint": "Tøm søkefeltet og søk med tomt felt for å se forslag igjen.",
|
||||
"errors.uploadTimeout": "Opplastingen tok for lang tid – sjekk nettverket og prøv igjen.",
|
||||
"common.done": "Ferdig",
|
||||
"common.error": "Noe gikk galt. Prøv igjen.",
|
||||
"common.estimate": "Estimat",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Toevoegen",
|
||||
"common.back": "Terug",
|
||||
"common.cancel": "Annuleren",
|
||||
"common.remove": "Verwijderen",
|
||||
"common.all": "Alle",
|
||||
"auth.tagline": "Minder verspilling, minder stress, meer over in je portemonnee",
|
||||
"auth.passwordMin8": "Het wachtwoord moet minstens 8 tekens bevatten.",
|
||||
"auth.passwordMismatch": "De wachtwoorden komen niet overeen.",
|
||||
"auth.repeatPassword": "Herhaal wachtwoord",
|
||||
"plan.swapDish": "Gerecht wisselen",
|
||||
"scan.maxTitle": "Klaar",
|
||||
"scan.maxBody": "Max {max} foto's deze scan – analyseren.",
|
||||
"scan.photoTaken": "Foto {count} gemaakt",
|
||||
"scan.multiAngleHint": "Maak gerust foto's vanuit meer hoeken van dezelfde plek – de app vermeldt elk product één keer. Elke foto telt als een scan.",
|
||||
"scan.takeAnother": "Nog een maken",
|
||||
"scan.analyzeCount": "Analyseren ({count})",
|
||||
"scan.tips.merge": "Koelkast/vriezer/voorraadkast: maak meerdere foto's in dezelfde scan – de app voegt dubbele items samen.",
|
||||
"cooking.timerHint": "Geschatte tijd voor de stap – gebruik de eigen timer van je telefoon.",
|
||||
"kitchen.deleteConfirm": "Geselecteerde producten uit {label} verwijderen?",
|
||||
"kitchen.scopeSearch": "de zoekopdracht",
|
||||
"kitchen.scopeAll": "de hele voorraad",
|
||||
"kitchen.scopeSelection": "de selectie",
|
||||
"kitchen.searchPlaceholder": "Zoek product…",
|
||||
"kitchen.clearList": "Lijst legen",
|
||||
"kitchen.empty": "Geen producten om weer te geven. Scan of voeg producten toe.",
|
||||
"kitchen.pastBefore": "houdbaar tot",
|
||||
"memory.trainingNote": "Persoonlijk geheugen wordt zonder aparte toestemming nooit als trainingsdata gebruikt.",
|
||||
"recipe.source": "Bron: {name}",
|
||||
"recipes.sub.bread": "Brood",
|
||||
"recipes.sub.bun": "Broodjes",
|
||||
"recipes.sub.pie": "Taart",
|
||||
"recipes.sub.cake": "Taarten & cake",
|
||||
"recipes.sub.cookie": "Koekjes",
|
||||
"recipes.searchPlaceholder": "Zoek recept…",
|
||||
"recipes.emptyCategory": "Nog geen recepten in deze categorie – ze verschijnen naarmate de catalogus groeit.",
|
||||
"savedRecipes.searchPlaceholder": "Zoek in je opgeslagen recepten",
|
||||
"savedRecipes.empty": "Je hebt nog geen opgeslagen recepten. Tik op ☆ Opslaan bij een recept en het komt hier terecht.",
|
||||
"savedRecipes.emptySearch": "Geen opgeslagen recepten gevonden voor je zoekopdracht.",
|
||||
"shopping.removeConfirm": "Product van de lijst verwijderen?",
|
||||
"swap.addTitle": "Maaltijd toevoegen",
|
||||
"swap.swapTitle": "Maaltijd vervangen",
|
||||
"swap.chooseFor": "Kies een gerecht voor {meal} – of zoek naar een willekeurig gerecht.",
|
||||
"swap.chooseOther": "Kies een ander gerecht voor {meal} – of zoek naar een willekeurig gerecht.",
|
||||
"swap.mealLunch": "de lunch",
|
||||
"swap.mealBreakfast": "het ontbijt",
|
||||
"swap.mealDinner": "het avondeten",
|
||||
"swap.searchPlaceholder": "Zoek in alle recepten …",
|
||||
"swap.showingResults": "Resultaten voor ”{query}” worden getoond.",
|
||||
"swap.clearHint": "Maak het zoekveld leeg en zoek zonder tekst om weer suggesties te zien.",
|
||||
"errors.uploadTimeout": "Het uploaden duurde te lang – controleer je netwerk en probeer het opnieuw.",
|
||||
"common.done": "Klaar",
|
||||
"common.error": "Er ging iets mis. Probeer opnieuw.",
|
||||
"common.estimate": "Schatting",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Dodaj",
|
||||
"common.back": "Wstecz",
|
||||
"common.cancel": "Anuluj",
|
||||
"common.remove": "Usuń",
|
||||
"common.all": "Wszystkie",
|
||||
"auth.tagline": "Mniej marnowania, mniej stresu, więcej w portfelu",
|
||||
"auth.passwordMin8": "Hasło musi mieć co najmniej 8 znaków.",
|
||||
"auth.passwordMismatch": "Hasła nie są zgodne.",
|
||||
"auth.repeatPassword": "Powtórz hasło",
|
||||
"plan.swapDish": "Zmień danie",
|
||||
"scan.maxTitle": "Gotowe",
|
||||
"scan.maxBody": "Maks. {max} zdjęć w tym skanowaniu – analizuję.",
|
||||
"scan.photoTaken": "Zrobiono zdjęcie {count}",
|
||||
"scan.multiAngleHint": "Zrób więcej ujęć tego samego miejsca – aplikacja wymieni każdy produkt tylko raz. Każde zdjęcie liczy się jako skanowanie.",
|
||||
"scan.takeAnother": "Zrób kolejne",
|
||||
"scan.analyzeCount": "Analizuj ({count})",
|
||||
"scan.tips.merge": "Lodówka/zamrażarka/spiżarnia: zrób kilka zdjęć w jednym skanowaniu – aplikacja połączy duplikaty.",
|
||||
"cooking.timerHint": "Przybliżony czas etapu – użyj minutnika w telefonie.",
|
||||
"kitchen.deleteConfirm": "Usunąć wybrane produkty z {label}?",
|
||||
"kitchen.scopeSearch": "wyszukiwania",
|
||||
"kitchen.scopeAll": "całego zapasu",
|
||||
"kitchen.scopeSelection": "zaznaczenia",
|
||||
"kitchen.searchPlaceholder": "Szukaj produktu…",
|
||||
"kitchen.clearList": "Wyczyść listę",
|
||||
"kitchen.empty": "Brak produktów do wyświetlenia. Zeskanuj lub dodaj produkty.",
|
||||
"kitchen.pastBefore": "najlepiej spożyć przed",
|
||||
"memory.trainingNote": "Pamięć osobista nigdy nie jest wykorzystywana jako dane treningowe bez osobnej zgody.",
|
||||
"recipe.source": "Źródło: {name}",
|
||||
"recipes.sub.bread": "Chleb",
|
||||
"recipes.sub.bun": "Bułki",
|
||||
"recipes.sub.pie": "Tarta",
|
||||
"recipes.sub.cake": "Torty i ciasta",
|
||||
"recipes.sub.cookie": "Ciasteczka",
|
||||
"recipes.searchPlaceholder": "Szukaj przepisu…",
|
||||
"recipes.emptyCategory": "Na razie brak przepisów w tej kategorii – pojawią się, gdy katalog się powiększy.",
|
||||
"savedRecipes.searchPlaceholder": "Szukaj wśród zapisanych przepisów",
|
||||
"savedRecipes.empty": "Nie masz jeszcze zapisanych przepisów. Naciśnij ☆ Zapisz przy przepisie, a pojawi się tutaj.",
|
||||
"savedRecipes.emptySearch": "Żaden zapisany przepis nie pasuje do wyszukiwania.",
|
||||
"shopping.removeConfirm": "Usunąć produkt z listy?",
|
||||
"swap.addTitle": "Dodaj posiłek",
|
||||
"swap.swapTitle": "Zmień posiłek",
|
||||
"swap.chooseFor": "Wybierz danie na {meal} – lub wyszukaj dowolne danie.",
|
||||
"swap.chooseOther": "Wybierz inne danie na {meal} – lub wyszukaj dowolne danie.",
|
||||
"swap.mealLunch": "obiad",
|
||||
"swap.mealBreakfast": "śniadanie",
|
||||
"swap.mealDinner": "kolację",
|
||||
"swap.searchPlaceholder": "Szukaj wśród wszystkich przepisów …",
|
||||
"swap.showingResults": "Pokazuję wyniki dla ”{query}”.",
|
||||
"swap.clearHint": "Wyczyść pole wyszukiwania i wyszukaj pustą frazę, aby znów zobaczyć propozycje.",
|
||||
"errors.uploadTimeout": "Przesyłanie trwało zbyt długo – sprawdź połączenie sieciowe i spróbuj ponownie.",
|
||||
"common.done": "Gotowe",
|
||||
"common.error": "Coś poszło nie tak. Spróbuj ponownie.",
|
||||
"common.estimate": "Szacunek",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Adicionar",
|
||||
"common.back": "Voltar",
|
||||
"common.cancel": "Cancelar",
|
||||
"common.remove": "Remover",
|
||||
"common.all": "Todos",
|
||||
"auth.tagline": "Menos desperdício, menos stress, mais dinheiro na carteira",
|
||||
"auth.passwordMin8": "A palavra-passe tem de ter pelo menos 8 caracteres.",
|
||||
"auth.passwordMismatch": "As palavras-passe não coincidem.",
|
||||
"auth.repeatPassword": "Repetir palavra-passe",
|
||||
"plan.swapDish": "Trocar prato",
|
||||
"scan.maxTitle": "Concluído",
|
||||
"scan.maxBody": "Máximo de {max} fotos nesta digitalização – a analisar.",
|
||||
"scan.photoTaken": "Foto {count} tirada",
|
||||
"scan.multiAngleHint": "Podes tirar mais ângulos do mesmo sítio – a app lista cada artigo uma vez. Cada foto conta como uma digitalização.",
|
||||
"scan.takeAnother": "Tirar mais uma",
|
||||
"scan.analyzeCount": "Analisar ({count})",
|
||||
"scan.tips.merge": "Frigorífico/congelador/despensa: tira várias fotos na mesma digitalização – a app junta os duplicados.",
|
||||
"cooking.timerHint": "Tempo aproximado para o passo – usa o temporizador do teu telemóvel.",
|
||||
"kitchen.deleteConfirm": "Remover os artigos selecionados de {label}?",
|
||||
"kitchen.scopeSearch": "a pesquisa",
|
||||
"kitchen.scopeAll": "todo o inventário",
|
||||
"kitchen.scopeSelection": "a seleção",
|
||||
"kitchen.searchPlaceholder": "Pesquisar artigo…",
|
||||
"kitchen.clearList": "Esvaziar lista",
|
||||
"kitchen.empty": "Não há artigos para mostrar. Digitaliza ou adiciona artigos.",
|
||||
"kitchen.pastBefore": "validade",
|
||||
"memory.trainingNote": "A memória pessoal nunca é usada como dados de treino sem consentimento em separado.",
|
||||
"recipe.source": "Fonte: {name}",
|
||||
"recipes.sub.bread": "Pão",
|
||||
"recipes.sub.bun": "Pãezinhos",
|
||||
"recipes.sub.pie": "Tarte",
|
||||
"recipes.sub.cake": "Bolos e tortas",
|
||||
"recipes.sub.cookie": "Bolachas",
|
||||
"recipes.searchPlaceholder": "Pesquisar receitas…",
|
||||
"recipes.emptyCategory": "Ainda não há receitas nesta categoria – aparecem à medida que o catálogo cresce.",
|
||||
"savedRecipes.searchPlaceholder": "Pesquisar nas tuas receitas guardadas",
|
||||
"savedRecipes.empty": "Ainda não tens receitas guardadas. Toca em ☆ Guardar numa receita e aparece aqui.",
|
||||
"savedRecipes.emptySearch": "Nenhuma receita guardada corresponde à tua pesquisa.",
|
||||
"shopping.removeConfirm": "Remover o artigo da lista?",
|
||||
"swap.addTitle": "Adicionar refeição",
|
||||
"swap.swapTitle": "Trocar refeição",
|
||||
"swap.chooseFor": "Escolhe um prato para {meal} – ou pesquisa qualquer prato.",
|
||||
"swap.chooseOther": "Escolhe outro prato para {meal} – ou pesquisa qualquer prato.",
|
||||
"swap.mealLunch": "o almoço",
|
||||
"swap.mealBreakfast": "o pequeno-almoço",
|
||||
"swap.mealDinner": "o jantar",
|
||||
"swap.searchPlaceholder": "Pesquisar em todas as receitas …",
|
||||
"swap.showingResults": "A mostrar resultados para ”{query}”.",
|
||||
"swap.clearHint": "Limpa a caixa de pesquisa e pesquisa sem texto para voltares a ver as sugestões.",
|
||||
"errors.uploadTimeout": "O carregamento demorou demasiado tempo – verifica a ligação e tenta novamente.",
|
||||
"common.done": "Concluído",
|
||||
"common.error": "Algo correu mal. Tente novamente.",
|
||||
"common.estimate": "Estimativa",
|
||||
|
||||
@@ -51,6 +51,53 @@
|
||||
"common.add": "Lägg till",
|
||||
"common.back": "Tillbaka",
|
||||
"common.cancel": "Avbryt",
|
||||
"common.remove": "Ta bort",
|
||||
"common.all": "Alla",
|
||||
"auth.tagline": "Mindre svinn, mindre stress, mer kvar i plånboken",
|
||||
"auth.passwordMin8": "Lösenordet måste vara minst 8 tecken.",
|
||||
"auth.passwordMismatch": "Lösenorden matchar inte.",
|
||||
"auth.repeatPassword": "Upprepa lösenord",
|
||||
"plan.swapDish": "Byt rätt",
|
||||
"scan.maxTitle": "Klart",
|
||||
"scan.maxBody": "Max {max} bilder den här skanningen – analyserar.",
|
||||
"scan.photoTaken": "Bild {count} tagen",
|
||||
"scan.multiAngleHint": "Ta gärna fler vinklar av samma plats – appen listar varje vara en gång. Varje bild räknas som en skanning.",
|
||||
"scan.takeAnother": "Ta en till",
|
||||
"scan.analyzeCount": "Analysera ({count})",
|
||||
"scan.tips.merge": "Kyl/frys/skafferi: ta flera bilder i samma skanning – appen slår ihop dubbletter.",
|
||||
"cooking.timerHint": "Ungefärlig tid för steget – använd din telefons egen timer.",
|
||||
"kitchen.deleteConfirm": "Ta bort valda varor ur {label}?",
|
||||
"kitchen.scopeSearch": "sökningen",
|
||||
"kitchen.scopeAll": "hela lagret",
|
||||
"kitchen.scopeSelection": "markeringen",
|
||||
"kitchen.searchPlaceholder": "Sök vara…",
|
||||
"kitchen.clearList": "Töm listan",
|
||||
"kitchen.empty": "Inga varor att visa. Skanna eller lägg till varor.",
|
||||
"kitchen.pastBefore": "bäst före",
|
||||
"memory.trainingNote": "Personligt minne används aldrig som träningsdata utan separat samtycke.",
|
||||
"recipe.source": "Källa: {name}",
|
||||
"recipes.sub.bread": "Bröd",
|
||||
"recipes.sub.bun": "Bullar",
|
||||
"recipes.sub.pie": "Paj",
|
||||
"recipes.sub.cake": "Tårtor & kakor",
|
||||
"recipes.sub.cookie": "Småkakor",
|
||||
"recipes.searchPlaceholder": "Sök recept…",
|
||||
"recipes.emptyCategory": "Inga recept i den här kategorin än – de dyker upp när katalogen växer.",
|
||||
"savedRecipes.searchPlaceholder": "Sök bland dina sparade recept",
|
||||
"savedRecipes.empty": "Du har inga sparade recept än. Tryck på ☆ Spara på ett recept så hamnar det här.",
|
||||
"savedRecipes.emptySearch": "Inga sparade recept matchar din sökning.",
|
||||
"shopping.removeConfirm": "Ta bort varan från listan?",
|
||||
"swap.addTitle": "Lägg till måltid",
|
||||
"swap.swapTitle": "Byt ut måltiden",
|
||||
"swap.chooseFor": "Välj en rätt för {meal} – eller sök efter vilken rätt som helst.",
|
||||
"swap.chooseOther": "Välj en annan rätt för {meal} – eller sök efter vilken rätt som helst.",
|
||||
"swap.mealLunch": "lunchen",
|
||||
"swap.mealBreakfast": "frukosten",
|
||||
"swap.mealDinner": "middagen",
|
||||
"swap.searchPlaceholder": "Sök bland alla recept …",
|
||||
"swap.showingResults": "Visar träffar för ”{query}”.",
|
||||
"swap.clearHint": "Rensa sökrutan och sök på tomt för att se förslag igen.",
|
||||
"errors.uploadTimeout": "Uppladdningen tog för lång tid – kontrollera nätverket och försök igen.",
|
||||
"common.done": "Klar",
|
||||
"common.error": "Något gick fel. Försök igen.",
|
||||
"common.estimate": "Uppskattning",
|
||||
|
||||
Reference in New Issue
Block a user