diff --git a/Nextcloud Cookbook iOS Client/Localizable.xcstrings b/Nextcloud Cookbook iOS Client/Localizable.xcstrings index ca15f21..c7fc786 100644 --- a/Nextcloud Cookbook iOS Client/Localizable.xcstrings +++ b/Nextcloud Cookbook iOS Client/Localizable.xcstrings @@ -1,5656 +1,6008 @@ { - "sourceLanguage" : "en", - "strings" : { - "" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "sourceLanguage": "en", + "strings": { + "": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "es": { + "stringUnit": { + "state": "translated", + "value": "" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "fr": { + "stringUnit": { + "state": "translated", + "value": "" } } } }, - "-" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "-" + "-": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "-" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "-" + "es": { + "stringUnit": { + "state": "translated", + "value": "-" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "-" + "fr": { + "stringUnit": { + "state": "translated", + "value": "-" } } } }, - ":" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : ":" + ":": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": ":" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : ":" + "es": { + "stringUnit": { + "state": "translated", + "value": ":" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : ":" + "fr": { + "stringUnit": { + "state": "translated", + "value": ":" } } } }, - "(%lld)" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "(%lld)" + "(%lld)": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "(%lld)" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "(%lld)" + "es": { + "stringUnit": { + "state": "translated", + "value": "(%lld)" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "(%lld)" + "fr": { + "stringUnit": { + "state": "translated", + "value": "(%lld)" } } } }, - "%.2f" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%.2f" + "%.2f": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%.2f" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%.2f" + "es": { + "stringUnit": { + "state": "translated", + "value": "%.2f" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "fr": { + "stringUnit": { + "state": "translated", + "value": "" } } } }, - "%@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%@" + "%@": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%@" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%@" + "es": { + "stringUnit": { + "state": "translated", + "value": "%@" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%@" + "fr": { + "stringUnit": { + "state": "translated", + "value": "%@" } } } }, - "%@: %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@: %2$@" + "%@: %@": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%1$@: %2$@" } }, - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$@: %2$@" + "en": { + "stringUnit": { + "state": "new", + "value": "%1$@: %2$@" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@: %2$@" + "es": { + "stringUnit": { + "state": "translated", + "value": "%1$@: %2$@" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@: %2$@" + "fr": { + "stringUnit": { + "state": "translated", + "value": "%1$@: %2$@" } } } }, - "%lld" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld" + "%lld": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%lld" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld" + "es": { + "stringUnit": { + "state": "translated", + "value": "%lld" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld" + "fr": { + "stringUnit": { + "state": "translated", + "value": "%lld" } } } }, - "%lld h" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld h" + "%lld h": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%lld h" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld h" + "es": { + "stringUnit": { + "state": "translated", + "value": "%lld h" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld h" + "fr": { + "stringUnit": { + "state": "translated", + "value": "%lld h" } } } }, - "%lld h %lld min" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$lld h %2$lld min" + "%lld h %lld min": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%1$lld h %2$lld min" } }, - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$lld h %2$lld min" + "en": { + "stringUnit": { + "state": "new", + "value": "%1$lld h %2$lld min" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$lld h %2$lld min" + "es": { + "stringUnit": { + "state": "translated", + "value": "%1$lld h %2$lld min" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$lld h %2$lld min" + "fr": { + "stringUnit": { + "state": "translated", + "value": "%1$lld h %2$lld min" } } } }, - "%lld h, %lld min" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$lld h, %2$lld min" + "%lld h, %lld min": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%1$lld h, %2$lld min" } }, - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$lld h, %2$lld min" + "en": { + "stringUnit": { + "state": "new", + "value": "%1$lld h, %2$lld min" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$lld h, %2$lld min" + "es": { + "stringUnit": { + "state": "translated", + "value": "%1$lld h, %2$lld min" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$lld h, %2$lld min" + "fr": { + "stringUnit": { + "state": "translated", + "value": "%1$lld h, %2$lld min" } } } }, - "%lld min" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld min" + "%lld min": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%lld min" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld min" + "es": { + "stringUnit": { + "state": "translated", + "value": "%lld min" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld min" + "fr": { + "stringUnit": { + "state": "translated", + "value": "%lld min" } } } }, - "%lld recipes" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld Rezepte" + "%lld recipes": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%lld Rezepte" } } } }, - "%lld Serving(s)" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld Portion(en)" + "%lld Serving(s)": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%lld Portion(en)" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld Porción(es)" + "es": { + "stringUnit": { + "state": "translated", + "value": "%lld Porción(es)" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld Portion(s)" + "fr": { + "stringUnit": { + "state": "translated", + "value": "%lld Portion(s)" } } } }, - "%lld." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld." + "%lld.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "%lld." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld." + "es": { + "stringUnit": { + "state": "translated", + "value": "%lld." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%lld" + "fr": { + "stringUnit": { + "state": "translated", + "value": "%lld" } } } }, - "•" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "•" + "•": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "•" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "•" + "es": { + "stringUnit": { + "state": "translated", + "value": "•" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "•" + "fr": { + "stringUnit": { + "state": "translated", + "value": "•" } } } }, - "00" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "00" + "00": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "00" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "00" + "es": { + "stringUnit": { + "state": "translated", + "value": "00" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "00" + "fr": { + "stringUnit": { + "state": "translated", + "value": "00" } } } }, - "A recipe with that name already exists." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ein Rezept mit diesem Namen existiert bereits." + "A recipe with that name already exists.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Ein Rezept mit diesem Namen existiert bereits." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ya existe una receta con ese nombre." + "es": { + "stringUnit": { + "state": "translated", + "value": "Ya existe una receta con ese nombre." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Une recette portant ce nom existe déjà." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Une recette portant ce nom existe déjà." } } } }, - "A simple-to-use PDF builder for Swift. Used for generating recipe PDF documents." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ein einfach zu verwendender PDF-Ersteller für Swift. Wird zum Erzeugen von Rezept-PDF-Dokumenten verwendet." + "A simple-to-use PDF builder for Swift. Used for generating recipe PDF documents.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Ein einfach zu verwendender PDF-Ersteller für Swift. Wird zum Erzeugen von Rezept-PDF-Dokumenten verwendet." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "es": { + "stringUnit": { + "state": "translated", + "value": "" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "fr": { + "stringUnit": { + "state": "translated", + "value": "" } } } }, - "About" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Über uns" + "About": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Über uns" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Acerca de" + "es": { + "stringUnit": { + "state": "translated", + "value": "Acerca de" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "À propos" + "fr": { + "stringUnit": { + "state": "translated", + "value": "À propos" } } } }, - "Acknowledgements" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Verwendete Bibliotheken" + "Acknowledgements": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Verwendete Bibliotheken" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Reconocimientos" + "es": { + "stringUnit": { + "state": "translated", + "value": "Reconocimientos" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Remerciements" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Remerciements" } } } }, - "Action delayed" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aktion verzögert" + "Action delayed": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Aktion verzögert" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Acción retrasada" + "es": { + "stringUnit": { + "state": "translated", + "value": "Acción retrasada" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Action retardée" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Action retardée" } } } }, - "Add" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hinzufügen" + "Add": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Hinzufügen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Agregar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Agregar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ajouter" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ajouter" } } } }, - "Add All to Grocery List" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Alle zur Einkaufsliste hinzufügen" + "Add All to Grocery List": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Alle zur Einkaufsliste hinzufügen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Añadir todo a la lista de compras" + "es": { + "stringUnit": { + "state": "translated", + "value": "Añadir todo a la lista de compras" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tout ajouter à la liste de courses" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Tout ajouter à la liste de courses" } } } }, - "Add cooking steps for fellow chefs to follow." : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hier ist Platz für eine Rezeptanleitung." + "Add cooking steps for fellow chefs to follow.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Hier ist Platz für eine Rezeptanleitung." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Todavía no hay pasos de cocina." + "es": { + "stringUnit": { + "state": "translated", + "value": "Todavía no hay pasos de cocina." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Il n'y a pas encore d'étapes de cuisson." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Il n'y a pas encore d'étapes de cuisson." } } } }, - "Add groceries to this list by either using the button next to an ingredient list in a recipe, or by swiping right on individual ingredients of a recipe." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Für das Hinzufügen aller Zutaten eines Rezepts kann der „Einkaufsliste“-Button neben der Zutatenliste eines Rezepts benutzt werden. Sollen nur einzelne Zutaten hinzugefügt werden, kann die gewünschte Zutat in der Liste des Rezepts nach rechts gewischt werden." + "Add groceries to this list by either using the button next to an ingredient list in a recipe, or by swiping right on individual ingredients of a recipe.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Für das Hinzufügen aller Zutaten eines Rezepts kann der „Einkaufsliste“-Button neben der Zutatenliste eines Rezepts benutzt werden. Sollen nur einzelne Zutaten hinzugefügt werden, kann die gewünschte Zutat in der Liste des Rezepts nach rechts gewischt werden." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Agrega comestibles a esta lista usando el botón junto a una lista de ingredientes en una receta, o deslizando hacia la derecha en ingredientes individuales de una receta." + "es": { + "stringUnit": { + "state": "translated", + "value": "Agrega comestibles a esta lista usando el botón junto a una lista de ingredientes en una receta, o deslizando hacia la derecha en ingredientes individuales de una receta." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ajoutez des articles à cette liste soit en utilisant le bouton à côté d'une liste d'ingrédients dans une recette, soit en balayant vers la droite sur des ingrédients individuels d'une recette." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ajoutez des articles à cette liste soit en utilisant le bouton à côté d'une liste d'ingrédients dans une recette, soit en balayant vers la droite sur des ingrédients individuels d'une recette." } } } }, - "Add Ingredient" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zutat hinzufügen" + "Add Ingredient": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zutat hinzufügen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Añadir ingrediente" + "es": { + "stringUnit": { + "state": "translated", + "value": "Añadir ingrediente" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ajouter un ingrédient" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ajouter un ingrédient" } } } }, - "Add new recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Neues Rezept" + "Add new recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Neues Rezept" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nueva Receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Nueva Receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ajouter une nouvelle recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ajouter une nouvelle recette" } } } }, - "Add Step" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Schritt hinzufügen" + "Add Step": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Schritt hinzufügen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Añadir paso" + "es": { + "stringUnit": { + "state": "translated", + "value": "Añadir paso" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ajouter une étape" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ajouter une étape" } } } }, - "Add Tool" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Werkzeug hinzufügen" + "Add Tool": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Werkzeug hinzufügen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Añadir utensilio" + "es": { + "stringUnit": { + "state": "translated", + "value": "Añadir utensilio" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ajouter un ustensile" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ajouter un ustensile" } } } }, - "All Recipes" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Alle Rezepte" + "All Recipes": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Alle Rezepte" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Todas las recetas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Todas las recetas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Toutes les recettes" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Toutes les recettes" } } } }, - "Alphabetical" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Alphabetisch" + "Alphabetical": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Alphabetisch" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Alfabético" + "es": { + "stringUnit": { + "state": "translated", + "value": "Alfabético" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Alphabétique" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Alphabétique" } } } }, - "An HTML parsing and web scraping library for Swift. Used for importing schema.org recipes from websites." : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Eine HTML-Parsing- und Web-Scraping-Bibliothek für Swift. Wird zum Importieren von schema.org-Rezepten von Webseiten verwendet." + "An HTML parsing and web scraping library for Swift. Used for importing schema.org recipes from websites.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Eine HTML-Parsing- und Web-Scraping-Bibliothek für Swift. Wird zum Importieren von schema.org-Rezepten von Webseiten verwendet." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "es": { + "stringUnit": { + "state": "translated", + "value": "" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "fr": { + "stringUnit": { + "state": "translated", + "value": "" } } } }, - "An unknown error occured." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ein unbekannter Fehler ist aufgetreten." + "An unknown error occured.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Ein unbekannter Fehler ist aufgetreten." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ocurrió un error desconocido." + "es": { + "stringUnit": { + "state": "translated", + "value": "Ocurrió un error desconocido." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Une erreur inconnue s'est produite." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Une erreur inconnue s'est produite." } } } }, - "An unknown server error occured." : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ein unbekannter Server-Fehler ist aufgetreten." + "An unknown server error occured.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Ein unbekannter Server-Fehler ist aufgetreten." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ocurrió un error desconocido del servidor." + "es": { + "stringUnit": { + "state": "translated", + "value": "Ocurrió un error desconocido del servidor." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Une erreur inconnue du serveur s'est produite." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Une erreur inconnue du serveur s'est produite." } } } }, - "App Token Login" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "App Token Login" + "App Token Login": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "App Token Login" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "App Token Login" + "es": { + "stringUnit": { + "state": "translated", + "value": "App Token Login" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "App Token Login" + "fr": { + "stringUnit": { + "state": "translated", + "value": "App Token Login" } } } }, - "Appearance" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erscheinungsbild" + "Appearance": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Erscheinungsbild" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apariencia" + "es": { + "stringUnit": { + "state": "translated", + "value": "Apariencia" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apparence" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Apparence" } } } }, - "Apple Reminders" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apple Erinnerungen" + "Apple Reminders": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Apple Erinnerungen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recordatorios de Apple" + "es": { + "stringUnit": { + "state": "translated", + "value": "Recordatorios de Apple" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rappels Apple" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Rappels Apple" } } } }, - "Bad URL" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Link fehlerhaft" + "Bad URL": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Link fehlerhaft" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL incorrecta" + "es": { + "stringUnit": { + "state": "translated", + "value": "URL incorrecta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL incorrect" + "fr": { + "stringUnit": { + "state": "translated", + "value": "URL incorrect" } } } }, - "Calories" : { - "comment" : "Calories", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kalorien" + "Calories": { + "comment": "Calories", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kalorien" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Calorías" + "es": { + "stringUnit": { + "state": "translated", + "value": "Calorías" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Calories" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Calories" } } } }, - "Cancel" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Abbrechen" + "Cancel": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Abbrechen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cancelar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Cancelar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Annuler" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Annuler" } } } }, - "Carbohydrate content" : { - "comment" : "Carbohydrate content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kohlenhydratgehalt" + "Carbohydrate content": { + "comment": "Carbohydrate content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kohlenhydratgehalt" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carbohidratos" + "es": { + "stringUnit": { + "state": "translated", + "value": "Carbohidratos" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Glucides" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Glucides" } } } }, - "Categories" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kategorien" + "Categories": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kategorien" } } } }, - "Category" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kategorie" + "Category": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kategorie" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Categoría" + "es": { + "stringUnit": { + "state": "translated", + "value": "Categoría" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Catégorie" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Catégorie" } } } }, - "Category name" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kategoriename" + "Category name": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kategoriename" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nombre de categoría" + "es": { + "stringUnit": { + "state": "translated", + "value": "Nombre de categoría" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nom de catégorie" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nom de catégorie" } } } }, - "Category: %@" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kategorie: %@" + "Category: %@": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kategorie: %@" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Categoría: %@" + "es": { + "stringUnit": { + "state": "translated", + "value": "Categoría: %@" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Catégorie: %@" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Catégorie: %@" } } } }, - "Cholesterol content" : { - "comment" : "Cholesterol content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cholesteringehalt" + "Cholesterol content": { + "comment": "Cholesterol content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Cholesteringehalt" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Colesterol" + "es": { + "stringUnit": { + "state": "translated", + "value": "Colesterol" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cholestérol" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Cholestérol" } } } }, - "Choose" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Auswählen" + "Choose": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Auswählen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Elija" + "es": { + "stringUnit": { + "state": "translated", + "value": "Elija" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Choisissez" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Choisissez" } } } }, - "Choose whether the app follows the system appearance or always uses light or dark mode." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wähle, ob die App dem Erscheinungsbild des Systems folgt oder immer den hellen oder dunklen Modus verwendet." + "Choose whether the app follows the system appearance or always uses light or dark mode.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Wähle, ob die App dem Erscheinungsbild des Systems folgt oder immer den hellen oder dunklen Modus verwendet." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Elige si la app sigue la apariencia del sistema o siempre usa el modo claro u oscuro." + "es": { + "stringUnit": { + "state": "translated", + "value": "Elige si la app sigue la apariencia del sistema o siempre usa el modo claro u oscuro." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Choisissez si l'app suit l'apparence du système ou utilise toujours le mode clair ou sombre." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Choisissez si l'app suit l'apparence du système ou utilise toujours le mode clair ou sombre." } } } }, - "Clear" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Löschen" + "Clear": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Löschen" } } } }, - "Comma (e.g. 1,42)" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Komma (z.B. 1,42)" + "Comma (e.g. 1,42)": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Komma (z.B. 1,42)" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Coma (por ejemplo, 1,42)" + "es": { + "stringUnit": { + "state": "translated", + "value": "Coma (por ejemplo, 1,42)" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Virgule (par exemple, 1,42)" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Virgule (par exemple, 1,42)" } } } }, - "Configure what is stored on your device." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Legt fest, was lokal auf diesem Gerät gespeichert werden soll." + "Configure what is stored on your device.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Legt fest, was lokal auf diesem Gerät gespeichert werden soll." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configure lo que se almacena en su dispositivo." + "es": { + "stringUnit": { + "state": "translated", + "value": "Configure lo que se almacena en su dispositivo." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurez ce qui est stocké sur votre appareil." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Configurez ce qui est stocké sur votre appareil." } } } }, - "Configure which sections in your recipes are expanded by default." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Legt fest, welche Rezept-Abschnitte standardmäßig gezeigt werden." + "Configure which sections in your recipes are expanded by default.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Legt fest, welche Rezept-Abschnitte standardmäßig gezeigt werden." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configure qué secciones de sus recetas se expanden por defecto." + "es": { + "stringUnit": { + "state": "translated", + "value": "Configure qué secciones de sus recetas se expanden por defecto." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configurez les sections de vos recettes qui sont déployées par défaut." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Configurez les sections de vos recettes qui sont déployées par défaut." } } } }, - "Connected to server." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Verbindung mit dem Server hergestellt." + "Connected to server.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Verbindung mit dem Server hergestellt." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Conexión al servidor establecida." + "es": { + "stringUnit": { + "state": "translated", + "value": "Conexión al servidor establecida." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Connecté au serveur." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Connecté au serveur." } } } }, - "Connection error" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Verbindungsfehler" + "Connection error": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Verbindungsfehler" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Error de conexión" + "es": { + "stringUnit": { + "state": "translated", + "value": "Error de conexión" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erreur de connexion" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Erreur de connexion" } } } }, - "Cookbook Client" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cookbook Client" + "Cookbook Client": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Cookbook Client" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cookbook Client" + "es": { + "stringUnit": { + "state": "translated", + "value": "Cookbook Client" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cookbook Client" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Cookbook Client" } } } }, - "Cookbooks" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kochbücher" + "Cookbooks": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kochbücher" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Libros de cocina" + "es": { + "stringUnit": { + "state": "translated", + "value": "Libros de cocina" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Livres de cuisine" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Livres de cuisine" } } } }, - "Cooking" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kochen" + "Cooking": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kochen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cocción" + "es": { + "stringUnit": { + "state": "translated", + "value": "Cocción" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Temps de cuisson" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Temps de cuisson" } } } }, - "Cooking time" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kochen:" + "Cooking time": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kochen:" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Duración de cocción:" + "es": { + "stringUnit": { + "state": "translated", + "value": "Duración de cocción:" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Temps de cuisson:" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Temps de cuisson:" } } } }, - "Copy Link" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Link kopieren" + "Copy Link": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Link kopieren" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Copiar enlace" + "es": { + "stringUnit": { + "state": "translated", + "value": "Copiar enlace" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Copier le lien" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Copier le lien" } } } }, - "Could not establish a connection to the server. The action will be retried upon reconnection." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Es konnte keine Verbindung zum Server hergestellt werden. Die Aktion wird bei erneuter Verbindung wiederholt." + "Could not establish a connection to the server. The action will be retried upon reconnection.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Es konnte keine Verbindung zum Server hergestellt werden. Die Aktion wird bei erneuter Verbindung wiederholt." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No se pudo establecer una conexión con el servidor. La acción se reintentará al reconectar." + "es": { + "stringUnit": { + "state": "translated", + "value": "No se pudo establecer una conexión con el servidor. La acción se reintentará al reconectar." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Impossible d'établir une connexion avec le serveur. L'action sera réessayée lors de la reconnexion." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Impossible d'établir une connexion avec le serveur. L'action sera réessayée lors de la reconnexion." } } } }, - "Create New Recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Neues Rezept erstellen" + "Create New Recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Neues Rezept erstellen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Crear nueva receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Crear nueva receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Créer une nouvelle recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Créer une nouvelle recette" } } } }, - "Created: %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erstellt: %@" + "Created: %@": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Erstellt: %@" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Creado: %@" + "es": { + "stringUnit": { + "state": "translated", + "value": "Creado: %@" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Créé : %@" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Créé : %@" } } } }, - "Dark" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dunkel" + "Dark": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Dunkel" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Oscuro" + "es": { + "stringUnit": { + "state": "translated", + "value": "Oscuro" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sombre" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Sombre" } } } }, - "Decimal number format" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dezimalzahlenformat" + "Decimal number format": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Dezimalzahlenformat" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Formato de número decimal" + "es": { + "stringUnit": { + "state": "translated", + "value": "Formato de número decimal" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Format de nombre décimal" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Format de nombre décimal" } } } }, - "Default Order" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Standardreihenfolge" + "Default Order": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Standardreihenfolge" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Orden predeterminado" + "es": { + "stringUnit": { + "state": "translated", + "value": "Orden predeterminado" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ordre par défaut" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ordre par défaut" } } } }, - "Delete" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Löschen" + "Delete": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Löschen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Borrar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Borrar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Supprimer" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Supprimer" } } } }, - "Delete local data" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lokale Daten löschen" + "Delete local data": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Lokale Daten löschen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Eliminar datos locales" + "es": { + "stringUnit": { + "state": "translated", + "value": "Eliminar datos locales" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Supprimer les données locales" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Supprimer les données locales" } } } }, - "Delete recipe" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept löschen" + "Delete recipe": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept löschen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Eliminar receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Eliminar receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Supprimer la recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Supprimer la recette" } } } }, - "Delete Recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept löschen" + "Delete Recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept löschen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Eliminar receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Eliminar receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Supprimer la recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Supprimer la recette" } } } }, - "Delete recipe?" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Löschen bestätigen." + "Delete recipe?": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Löschen bestätigen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "¿Eliminar receta?" + "es": { + "stringUnit": { + "state": "translated", + "value": "¿Eliminar receta?" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Supprimer la recette?" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Supprimer la recette?" } } } }, - "Deleting local data will not affect the recipe data stored on your server." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Das Löschen lokaler Daten hat keine Auswirkungen auf die Rezeptdaten, die auf dem Server gespeichert sind." + "Deleting local data will not affect the recipe data stored on your server.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Das Löschen lokaler Daten hat keine Auswirkungen auf die Rezeptdaten, die auf dem Server gespeichert sind." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Eliminar datos locales no afectará los datos de las recetas almacenados en su servidor." + "es": { + "stringUnit": { + "state": "translated", + "value": "Eliminar datos locales no afectará los datos de las recetas almacenados en su servidor." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "La suppression des données locales n'affectera pas les données des recettes stockées sur votre serveur." + "fr": { + "stringUnit": { + "state": "translated", + "value": "La suppression des données locales n'affectera pas les données des recettes stockées sur votre serveur." } } } }, - "Deletion successful." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Das Rezept wurde erfolgreich gelöscht." + "Deletion successful.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Das Rezept wurde erfolgreich gelöscht." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "La receta se ha eliminado con éxito." + "es": { + "stringUnit": { + "state": "translated", + "value": "La receta se ha eliminado con éxito." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "La recette a été supprimée avec succès." + "fr": { + "stringUnit": { + "state": "translated", + "value": "La recette a été supprimée avec succès." } } } }, - "Description" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Beschreibung" + "Description": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Beschreibung" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Descripción." + "es": { + "stringUnit": { + "state": "translated", + "value": "Descripción." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Description" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Description" } } } }, - "Details" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Details" + "Details": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Details" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Detalles" + "es": { + "stringUnit": { + "state": "translated", + "value": "Detalles" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Détails" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Détails" } } } }, - "Done" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fertig" + "Done": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Fertig" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hecho" + "es": { + "stringUnit": { + "state": "translated", + "value": "Hecho" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Terminer" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Terminer" } } } }, - "Downloaded" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Heruntergeladen" + "Downloaded": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Heruntergeladen" } } } }, - "Downloads" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Downloads" + "Downloads": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Downloads" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Descargas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Descargas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Téléchargements" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Téléchargements" } } } }, - "Duplicate Recipe" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Duplikat" + "Duplicate Recipe": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Duplikat" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Receta duplicada" + "es": { + "stringUnit": { + "state": "translated", + "value": "Receta duplicada" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recette en double" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Recette en double" } } } }, - "Duplicate recipe." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Duplikat." + "Duplicate recipe.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Duplikat." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Receta duplicada." + "es": { + "stringUnit": { + "state": "translated", + "value": "Receta duplicada." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recette en double." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Recette en double." } } } }, - "Duration" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dauer" + "Duration": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Dauer" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Duración" + "es": { + "stringUnit": { + "state": "translated", + "value": "Duración" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Durée" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Durée" } } } }, - "e.g.: example.com" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "z.B. beispiel.com" + "e.g.: example.com": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "z.B. beispiel.com" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "por ejemplo, example.com" + "es": { + "stringUnit": { + "state": "translated", + "value": "por ejemplo, example.com" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "par exemple example.com" + "fr": { + "stringUnit": { + "state": "translated", + "value": "par exemple example.com" } } } }, - "Edit" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bearbeiten" + "Edit": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bearbeiten" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Editar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Editar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Éditer" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Éditer" } } } }, - "Edit Order" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Reihenfolge bearbeiten" + "Edit Order": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Reihenfolge bearbeiten" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Editar orden" + "es": { + "stringUnit": { + "state": "translated", + "value": "Editar orden" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Modifier l'ordre" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Modifier l'ordre" } } } }, - "Edit Recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept bearbeiten" + "Edit Recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept bearbeiten" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Editar receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Editar receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Modifier la recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Modifier la recette" } } } }, - "Enter a recipe name or keyword to get started." : { - "comment" : "A description under the magnifying glass icon in the \"Search for recipes\" view, encouraging the user to start searching.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gib einen Rezeptnamen oder ein Stichwort ein, um loszulegen." + "Enter a recipe name or keyword to get started.": { + "comment": "A description under the magnifying glass icon in the \"Search for recipes\" view, encouraging the user to start searching.", + "isCommentAutoGenerated": true, + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Gib einen Rezeptnamen oder ein Stichwort ein, um loszulegen." } } } }, - "Error" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fehler" + "Error": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Fehler" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Error" + "es": { + "stringUnit": { + "state": "translated", + "value": "Error" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erreur" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Erreur" } } } }, - "Error." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fehler." + "Error.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Fehler." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Error." + "es": { + "stringUnit": { + "state": "translated", + "value": "Error." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erreur." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Erreur." } } } }, - "Expand information section" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Weitere Informationen zeigen" + "Expand information section": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Weitere Informationen zeigen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Expandir sección de información" + "es": { + "stringUnit": { + "state": "translated", + "value": "Expandir sección de información" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Développer la section d'informations" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Développer la section d'informations" } } } }, - "Expand keyword section" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Schlagwörter zeigen" + "Expand keyword section": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Schlagwörter zeigen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Expandir sección de palabras clave" + "es": { + "stringUnit": { + "state": "translated", + "value": "Expandir sección de palabras clave" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Développer la section des mots-clés" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Développer la section des mots-clés" } } } }, - "Expand nutrition section" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nährwerte zeigen" + "Expand nutrition section": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Nährwerte zeigen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Expandir sección de nutrición" + "es": { + "stringUnit": { + "state": "translated", + "value": "Expandir sección de nutrición" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Développer la section nutrition" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Développer la section nutrition" } } } }, - "Fat content" : { - "comment" : "Fat content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fett" + "Fat content": { + "comment": "Fat content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Fett" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Grasas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Grasas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lipides" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Lipides" } } } }, - "Fiber content" : { - "comment" : "Fiber content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ballaststoffgehalt" + "Fiber content": { + "comment": "Fiber content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Ballaststoffgehalt" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fibra dietética" + "es": { + "stringUnit": { + "state": "translated", + "value": "Fibra dietética" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fibres alimentaires" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Fibres alimentaires" } } } }, - "Fraction" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bruch" + "Fraction": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bruch" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fracción" + "es": { + "stringUnit": { + "state": "translated", + "value": "Fracción" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fraction" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Fraction" } } } }, - "General" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Allgemein" + "General": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Allgemein" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "General" + "es": { + "stringUnit": { + "state": "translated", + "value": "General" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Général" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Général" } } } }, - "Get support" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kontakt-Seite öffnen" + "Get support": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kontakt-Seite öffnen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Obtener soporte" + "es": { + "stringUnit": { + "state": "translated", + "value": "Obtener soporte" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Obtenir de l'aide" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Obtenir de l'aide" } } } }, - "Grant Reminders Access" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zugriff auf Erinnerungen erlauben" + "Grant Reminders Access": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zugriff auf Erinnerungen erlauben" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Permitir acceso a Recordatorios" + "es": { + "stringUnit": { + "state": "translated", + "value": "Permitir acceso a Recordatorios" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Autoriser l'accès aux Rappels" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Autoriser l'accès aux Rappels" } } } }, - "Grocery items are stored locally on this device." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Einkaufsartikel werden lokal auf diesem Gerät gespeichert." + "Grocery items are stored locally on this device.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Einkaufsartikel werden lokal auf diesem Gerät gespeichert." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Los artículos de la lista se almacenan localmente en este dispositivo." + "es": { + "stringUnit": { + "state": "translated", + "value": "Los artículos de la lista se almacenan localmente en este dispositivo." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Les articles sont stockés localement sur cet appareil." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Les articles sont stockés localement sur cet appareil." } } } }, - "Grocery items will be saved to Apple Reminders. The Grocery List tab will be hidden since you can manage items directly in the Reminders app." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Einkaufsartikel werden in Apple Erinnerungen gespeichert. Der Einkaufslisten-Tab wird ausgeblendet, da du die Artikel direkt in der Erinnerungen-App verwalten kannst." + "Grocery items will be saved to Apple Reminders. The Grocery List tab will be hidden since you can manage items directly in the Reminders app.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Einkaufsartikel werden in Apple Erinnerungen gespeichert. Der Einkaufslisten-Tab wird ausgeblendet, da du die Artikel direkt in der Erinnerungen-App verwalten kannst." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Los artículos de la lista se guardarán en Recordatorios de Apple. La pestaña de lista de compras se ocultará, ya que puedes gestionar los artículos directamente en la app Recordatorios." + "es": { + "stringUnit": { + "state": "translated", + "value": "Los artículos de la lista se guardarán en Recordatorios de Apple. La pestaña de lista de compras se ocultará, ya que puedes gestionar los artículos directamente en la app Recordatorios." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Les articles seront enregistrés dans Rappels Apple. L'onglet Liste de courses sera masqué car vous pouvez gérer les articles directement dans l'app Rappels." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Les articles seront enregistrés dans Rappels Apple. L'onglet Liste de courses sera masqué car vous pouvez gérer les articles directement dans l'app Rappels." } } } }, - "Grocery List" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Einkaufsliste" + "Grocery List": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Einkaufsliste" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lista de la compra" + "es": { + "stringUnit": { + "state": "translated", + "value": "Lista de la compra" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Liste de courses" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Liste de courses" } } } }, - "Grocery list state is synced via your Nextcloud server by storing it alongside recipe data." : { - + "Grocery list state is synced via your Nextcloud server by storing it alongside recipe data.": {}, + "Grocery list storage": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Einkaufsliste Speicherort" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Almacenamiento de la lista de compras" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Stockage de la liste de courses" + } + } + } }, - "Grocery list storage" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Einkaufsliste Speicherort" + "Hours": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Stunden" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Almacenamiento de la lista de compras" + "es": { + "stringUnit": { + "state": "translated", + "value": "Horas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Stockage de la liste de courses" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Heures" } } } }, - "Hours" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Stunden" + "If 'Same as Device' is selected and your device language is not supported yet, this option will default to english.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Wenn \"Systemsprache\" ausgewählt ist und die Systemsprache noch nicht unterstützt wird, wird standardmäßig Englisch verwendet." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Horas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Si se selecciona 'Idioma del sistema' y el idioma de su dispositivo no es compatible aún, esta opción se establecerá por defecto en inglés." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Heures" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Si vous sélectionnez 'Langue du système' et que la langue de votre appareil n'est pas encore prise en charge, cette option sera définie par défaut sur l'anglais." } } } }, - "If 'Same as Device' is selected and your device language is not supported yet, this option will default to english." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wenn \"Systemsprache\" ausgewählt ist und die Systemsprache noch nicht unterstützt wird, wird standardmäßig Englisch verwendet." + "If the login button does not open your browser, use the 'Copy Link' button and paste the link in your browser manually.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Falls der Anmelde-Button deinen Browser nicht öffnet, verwende den 'Link kopieren'-Button und füge den Link manuell in deinen Browser ein." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si se selecciona 'Idioma del sistema' y el idioma de su dispositivo no es compatible aún, esta opción se establecerá por defecto en inglés." + "es": { + "stringUnit": { + "state": "translated", + "value": "Si el botón de inicio de sesión no abre tu navegador, usa el botón 'Copiar enlace' y pega el enlace en tu navegador manualmente." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si vous sélectionnez 'Langue du système' et que la langue de votre appareil n'est pas encore prise en charge, cette option sera définie par défaut sur l'anglais." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Si le bouton de connexion n'ouvre pas votre navigateur, utilisez le bouton 'Copier le lien' et collez le lien dans votre navigateur manuellement." } } } }, - "If the login button does not open your browser, use the 'Copy Link' button and paste the link in your browser manually." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Falls sich der Browser beim Klicken auf den Anmeldebutton nicht öffnet, klicke einfach auf den Button „Link kopieren“. Anschließend kann der kopierte Link manuell in den Browser eingefügt werden." + "If you are interested in contributing to this project or simply wish to review its source code, we encourage you to visit the GitHub repository for this application.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Wir freuen uns über jedes Interesse und laden Nutzer ein, das GitHub-Repository dieser Anwendung zu besuchen, um einen Beitrag zu diesem Projekt zu leisten oder einfach nur einen Blick in den Quellcode zu werfen. " } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si el botón de inicio de sesión no abre tu navegador, usa el botón 'Copiar enlace' y pega el enlace manualmente en tu navegador." + "es": { + "stringUnit": { + "state": "translated", + "value": "Si estás interesado en contribuir a este proyecto o simplemente deseas revisar su código fuente, te animamos a visitar el repositorio de GitHub de esta aplicación." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si le bouton de connexion n'ouvre pas votre navigateur, utilisez le bouton 'Copier le lien' et collez le lien manuellement dans votre navigateur." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Si vous souhaitez contribuer à ce projet ou simplement souhaitez consulter son code source, nous vous encourageons à visiter le référentiel GitHub de cette application." } } } }, - "If you are interested in contributing to this project or simply wish to review its source code, we encourage you to visit the GitHub repository for this application." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Wir freuen uns über jedes Interesse und laden Nutzer ein, das GitHub-Repository dieser Anwendung zu besuchen, um einen Beitrag zu diesem Projekt zu leisten oder einfach nur einen Blick in den Quellcode zu werfen. " + "If you have any inquiries, feedback, or require assistance, please refer to the support page for contact information.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bei Fragen, Feedback oder benötigter Unterstützung finden sich alle Kontaktinformationen unter diesem Link." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si estás interesado en contribuir a este proyecto o simplemente deseas revisar su código fuente, te animamos a visitar el repositorio de GitHub de esta aplicación." + "es": { + "stringUnit": { + "state": "translated", + "value": "Si tienes alguna pregunta, comentarios o necesitas asistencia, por favor consulta la página de soporte para obtener información de contacto." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si vous souhaitez contribuer à ce projet ou simplement souhaitez consulter son code source, nous vous encourageons à visiter le référentiel GitHub de cette application." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Si vous avez des questions, des commentaires ou avez besoin d'aide, veuillez consulter la page d'assistance pour obtenir les informations de contact." } } } }, - "If you have any inquiries, feedback, or require assistance, please refer to the support page for contact information." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bei Fragen, Feedback oder benötigter Unterstützung finden sich alle Kontaktinformationen unter diesem Link." + "Import": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Importieren" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si tienes alguna pregunta, comentarios o necesitas asistencia, por favor consulta la página de soporte para obtener información de contacto." + "es": { + "stringUnit": { + "state": "translated", + "value": "Importar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si vous avez des questions, des commentaires ou avez besoin d'aide, veuillez consulter la page d'assistance pour obtenir les informations de contact." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Importer" } } } }, - "Import" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Importieren" + "Import Failed": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Import fehlgeschlagen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Importar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Error de importación" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Importer" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Échec de l'importation" } } } }, - "Import Failed" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Import fehlgeschlagen" + "Import from URL": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Von URL importieren" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Error de importación" + "es": { + "stringUnit": { + "state": "translated", + "value": "Importar desde URL" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Échec de l'importation" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Importer depuis une URL" } } } }, - "Import from URL" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Von URL importieren" + "Import Recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept importieren" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Importar desde URL" + "es": { + "stringUnit": { + "state": "translated", + "value": "Importar Receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Importer depuis une URL" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Importer une recette" } } } }, - "Import Recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept importieren" + "In-App": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "In der App" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Importar Receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "En la app" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Importer une recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Dans l'app" } } } }, - "In-App" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "In der App" + "Ingredient": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zutat" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "En la app" + "es": { + "stringUnit": { + "state": "translated", + "value": "Ingrediente" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dans l'app" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ingrédient" } } } }, - "Ingredient" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zutat" + "Ingredients": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zutaten" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ingrediente" + "es": { + "stringUnit": { + "state": "translated", + "value": "Ingredientes" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ingrédient" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ingrédients" } } } }, - "Ingredients" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zutaten" + "Ingredients for %lld servings": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zutaten für %lld Portionen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ingredientes" + "es": { + "stringUnit": { + "state": "translated", + "value": "Ingredientes para %lld porciones." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ingrédients" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ingrédients pour %lld portions" } } } }, - "Ingredients for %lld servings" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zutaten für %lld Portionen" + "Ingredients per serving": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zutaten pro Portion" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ingredientes para %lld porciones." + "es": { + "stringUnit": { + "state": "translated", + "value": "Ingredientes por porción" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ingrédients pour %lld portions" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ingrédients par portion" } } } }, - "Ingredients per serving" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zutaten pro Portion" + "Instruction": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Anleitung" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ingredientes por porción" + "es": { + "stringUnit": { + "state": "translated", + "value": "Instrucción" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ingrédients par portion" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Instruction" } } } }, - "Instruction" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Anleitung" + "Instructions": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Anleitung" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Instrucción" + "es": { + "stringUnit": { + "state": "translated", + "value": "Instrucciones" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Instruction" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Instructions" } } } }, - "Instructions" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Anleitung" + "Keep screen awake when viewing recipes": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Automatische Bildschirmsperre beim Ansehen von Rezepten deaktivieren" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Instrucciones" + "es": { + "stringUnit": { + "state": "translated", + "value": "Mantener la pantalla encendida al ver recetas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Instructions" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Garder l'écran allumé lors de la consultation des recettes" } } } }, - "Keep screen awake when viewing recipes" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Automatische Bildschirmsperre beim Ansehen von Rezepten deaktivieren" + "Keywords": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Schlagwörter" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mantener la pantalla encendida al ver recetas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Palabras clave" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Garder l'écran allumé lors de la consultation des recettes" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Mots-clés" } } } }, - "Keywords" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Schlagwörter" + "Language": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Sprache" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Palabras clave" + "es": { + "stringUnit": { + "state": "translated", + "value": "Idioma" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mots-clés" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Langue" } } } }, - "Language" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sprache" + "Last modified: %@": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zuletzt geändert: %@" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Idioma" + "es": { + "stringUnit": { + "state": "translated", + "value": "Última modificación: %@" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Langue" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Dernière modification : %@" } } } }, - "Last modified: %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zuletzt geändert: %@" + "Last updated: %@": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Letztes update: %@" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Última modificación: %@" + "es": { + "stringUnit": { + "state": "translated", + "value": "Última actualización: %@" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dernière modification : %@" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Dernière mise à jour : %@" } } } }, - "Last updated: %@" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Letztes update: %@" + "Last Week": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Letzte Woche" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Última actualización: %@" + "es": { + "stringUnit": { + "state": "translated", + "value": "Semana Pasada" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dernière mise à jour : %@" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Semaine Dernière" } } } }, - "Last Week" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Letzte Woche" + "Light": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Hell" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Semana Pasada" + "es": { + "stringUnit": { + "state": "translated", + "value": "Claro" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Semaine Dernière" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Clair" } } } }, - "Light" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hell" + "List your tools here. 🍴": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Küchenutensilien können hier notiert werden. 🍴" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Claro" + "es": { + "stringUnit": { + "state": "translated", + "value": "Enumera tus utensilios de cocina aquí. 🍴" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Clair" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Listez vos ustensiles de cuisine ici. 🍴" } } } }, - "List your tools here. 🍴" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Küchenutensilien können hier notiert werden. 🍴" + "Log out": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Abmelden" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Enumera tus utensilios de cocina aquí. 🍴" + "es": { + "stringUnit": { + "state": "translated", + "value": "Cerrar sesión" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Listez vos ustensiles de cuisine ici. 🍴" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Déconnexion" } } } }, - "Log out" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Abmelden" + "Login": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Anmelden" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cerrar sesión" + "es": { + "stringUnit": { + "state": "translated", + "value": "Iniciar sesión" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Déconnexion" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Connexion" } } } }, - "Login" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Anmelden" + "Login failed.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Login fehlgeschlagen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Iniciar sesión" + "es": { + "stringUnit": { + "state": "translated", + "value": "Inicio de sesión fallido" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Connexion" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Échec de la connexion." } } } }, - "Login failed." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Login fehlgeschlagen." + "Login Method": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Login-Methode" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inicio de sesión fallido" + "es": { + "stringUnit": { + "state": "translated", + "value": "Método de inicio de sesión" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Échec de la connexion." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Méthode de connexion" } } } }, - "Login Method" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Login-Methode" + "Make sure to enter the server address in the form 'example.com', or \n':'\n when a non-standard port is used.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Stelle sicher, dass die Serveradresse im Format 'beispiel.com' eingegeben wurde oder als ':', falls ein nicht standardmäßiger Port genutzt wird." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Método de inicio de sesión" + "es": { + "stringUnit": { + "state": "translated", + "value": "Asegúrate de introducir la dirección del servidor en la forma 'example.com', o ':' cuando se utiliza un puerto no estándar." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Méthode de connexion" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Assurez-vous de saisir l'adresse du serveur sous la forme 'example.com', ou ':' lorsqu'un port non standard est utilisé." } } } }, - "Make sure to enter the server address in the form 'example.com', or \n':'\n when a non-standard port is used." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Stelle sicher, dass die Serveradresse im Format 'beispiel.com' eingegeben wurde oder als ':', falls ein nicht standardmäßiger Port genutzt wird." + "Make sure to enter the server address in the form 'example.com', or ':' when a non-standard port is used.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Stelle sicher, dass du die Serveradresse im Format 'beispiel.com' oder ':' eingibst, wenn ein nicht-standardmäßiger Port verwendet wird." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Asegúrate de introducir la dirección del servidor en la forma 'example.com', o ':' cuando se utiliza un puerto no estándar." + "es": { + "stringUnit": { + "state": "translated", + "value": "Asegúrate de introducir la dirección del servidor en la forma 'ejemplo.com', o ':' cuando se utilice un puerto no estándar." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Assurez-vous de saisir l'adresse du serveur sous la forme 'example.com', ou ':' lorsqu'un port non standard est utilisé." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Assurez-vous d'entrer l'adresse du serveur sous la forme 'exemple.com', ou ':' lorsqu'un port non standard est utilisé." } } } }, - "Manual" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Manuell" + "Manual": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Manuell" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Manual" + "es": { + "stringUnit": { + "state": "translated", + "value": "Manual" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Manuel" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Manuel" } } } }, - "Marked ingredients could not be adjusted!" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Markierte Zutaten können nicht angepasst werden." + "Marked ingredients could not be adjusted!": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Markierte Zutaten können nicht angepasst werden." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "¡Los ingredientes marcados no pudieron ser ajustados!" + "es": { + "stringUnit": { + "state": "translated", + "value": "¡Los ingredientes marcados no pudieron ser ajustados!" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Les ingrédients marqués n'ont pas pu être ajustés!" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Les ingrédients marqués n'ont pas pu être ajustés!" } } } }, - "Meal Plan" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Essensplan" + "Meal Plan": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Essensplan" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Plan de Comidas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Plan de Comidas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Plan de Repas" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Plan de Repas" } } } }, - "Minutes" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Minuten" + "Minutes": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Minuten" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Minutos" + "es": { + "stringUnit": { + "state": "translated", + "value": "Minutos" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Minutes" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Minutes" } } } }, - "Missing Name" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fehlender Name" + "Missing Name": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Fehlender Name" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nombre faltante" + "es": { + "stringUnit": { + "state": "translated", + "value": "Nombre faltante" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nom manquant" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nom manquant" } } } }, - "Missing recipe name." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fehlender Rezeptname." + "Missing recipe name.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Fehlender Rezeptname." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Falta el nombre de la receta." + "es": { + "stringUnit": { + "state": "translated", + "value": "Falta el nombre de la receta." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nom de la recette manquant." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nom de la recette manquant." } } } }, - "Missing Request Body" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Missing Request Body" + "Missing Request Body": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Missing Request Body" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Missing Request Body" + "es": { + "stringUnit": { + "state": "translated", + "value": "Missing Request Body" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Missing Request Body" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Missing Request Body" } } } }, - "Mixed fraction" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gemischter Bruch" + "Mixed fraction": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Gemischter Bruch" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fracción mixta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Fracción mixta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Fraction mixte" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Fraction mixte" } } } }, - "More information" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Weitere Informationen" + "More information": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Weitere Informationen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Más información" + "es": { + "stringUnit": { + "state": "translated", + "value": "Más información" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Plus d'informations" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Plus d'informations" } } } }, - "Network error." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Netzwerkfehler" + "Network error.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Netzwerkfehler" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Error de red." + "es": { + "stringUnit": { + "state": "translated", + "value": "Error de red." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erreur réseau." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Erreur réseau." } } } }, - "New Category" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Neue Kategorie" + "New Category": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Neue Kategorie" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nueva categoría" + "es": { + "stringUnit": { + "state": "translated", + "value": "Nueva categoría" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nouvelle catégorie" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nouvelle catégorie" } } } }, - "New Category…" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Neue Kategorie …" + "New Category…": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Neue Kategorie …" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nueva categoría…" + "es": { + "stringUnit": { + "state": "translated", + "value": "Nueva categoría…" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nouvelle catégorie…" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nouvelle catégorie…" } } } }, - "New recipe" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Neues Rezept" + "New recipe": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Neues Rezept" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nueva receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Nueva receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nouvelle recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nouvelle recette" } } } }, - "New Recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Neues Rezept" + "New Recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Neues Rezept" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nueva receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Nueva receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nouvelle recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nouvelle recette" } } } }, - "Next Week" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nächste Woche" + "Next Week": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Nächste Woche" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Próxima Semana" + "es": { + "stringUnit": { + "state": "translated", + "value": "Próxima Semana" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Semaine Prochaine" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Semaine Prochaine" } } } }, - "Nextcloud Login" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nextcloud Login" + "Nextcloud Login": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Nextcloud Login" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nextcloud Login" + "es": { + "stringUnit": { + "state": "translated", + "value": "Nextcloud Login" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nextcloud Login" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nextcloud Login" } } } }, - "No cookbooks found" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Keine Kategorien gefunden" + "No cookbooks found": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Keine Kategorien gefunden" } } } }, - "No keywords." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Keine Schlagwörter." + "No keywords.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Keine Schlagwörter." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sin palabras clave." + "es": { + "stringUnit": { + "state": "translated", + "value": "Sin palabras clave." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aucun mot-clé." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Aucun mot-clé." } } } }, - "No nutritional information." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Keine Nährwertangaben." + "No nutritional information.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Keine Nährwertangaben." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sin información nutricional." + "es": { + "stringUnit": { + "state": "translated", + "value": "Sin información nutricional." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aucune information nutritionnelle." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Aucune information nutritionnelle." } } } }, - "No recipes found" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Keine Rezepte gefunden" + "No recipes found": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Keine Rezepte gefunden" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No se encontraron recetas" + "es": { + "stringUnit": { + "state": "translated", + "value": "No se encontraron recetas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aucune recette trouvée" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Aucune recette trouvée" + } + } + } + }, + "No recipes in this cookbook": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Keine Rezepte in dieser Kategorie" } } } }, - "No recipes in this cookbook" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Keine Rezepte in dieser Kategorie" + "No results found": { + "comment": "A message indicating that no recipes were found for the current search query.", + "isCommentAutoGenerated": true, + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Keine Ergebnisse gefunden" } } } }, - "No results found" : { - "comment" : "A message indicating that no recipes were found for the current search query.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Keine Ergebnisse gefunden" + "None": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Keines" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Ninguno" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Aucun" } } } }, - "None" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Keines" + "Number": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Dezimalzahl" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ninguno" + "es": { + "stringUnit": { + "state": "translated", + "value": "Número" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aucun" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nombre" } } } }, - "Number" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dezimalzahl" + "Nutrition": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Nährwerte" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Número" + "es": { + "stringUnit": { + "state": "translated", + "value": "Información nutricional" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nombre" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nutrition" } } } }, - "Nutrition" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nährwerte" + "Nutrition (%@)": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Nährwerte (%@)" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Información nutricional" + "es": { + "stringUnit": { + "state": "translated", + "value": "Información nutricional (%@)" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nutrition" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nutrition (%@)" } } } }, - "Nutrition (%@)" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nährwerte (%@)" + "Nutrition Information": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Nährwertinformationen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Información nutricional (%@)" + "es": { + "stringUnit": { + "state": "translated", + "value": "Información nutricional" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nutrition (%@)" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Informations nutritionnelles" } } } }, - "Nutrition Information" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nährwertinformationen" + "Offline recipes": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezepte herunterladen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Información nutricional" + "es": { + "stringUnit": { + "state": "translated", + "value": "Recetas sin conexión" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Informations nutritionnelles" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Recettes hors ligne" } } } }, - "Offline recipes" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezepte herunterladen" + "Ok": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Ok" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recetas sin conexión" + "es": { + "stringUnit": { + "state": "translated", + "value": "Ok" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recettes hors ligne" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ok" + } + } + } + }, + "OK": { + "comment": "The text for an OK button.", + "isCommentAutoGenerated": true + }, + "On server": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Auf dem Server" } } } }, - "Ok" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ok" + "Open Settings": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Einstellungen öffnen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ok" + "es": { + "stringUnit": { + "state": "translated", + "value": "Abrir Ajustes" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ok" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ouvrir les Réglages" } } } }, - "OK" : { - "comment" : "The text for an OK button.", - "isCommentAutoGenerated" : true + "Other": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Sonstige" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Otro" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Autre" + } + } + } }, - "On server" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Auf dem Server" + "Parsing error": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Decodierung fehlgeschlagen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Error de análisis" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Erreur d'analyse" + } + } + } + }, + "Paste the url of a recipe you would like to import in the above, and we will try to fill in the fields for you. This feature does not work with every website. If your favourite website is not supported, feel free to reach out for help. You can find the contact details in the app settings.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Den Link zum Importieren eines Rezepts hier einfügen. Dies funktioniert nicht mit allen Webseiten. Sollte eine Seite nicht unterstützt werden, kontaktiere uns gerne um uns darauf aufmerksam zu machen. Jedes Feedback hilft dabei, den Service zu verbessern." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Pega la URL de una receta que te gustaría importar arriba, y trataremos de completar los campos por ti. Esta función no funciona con todos los sitios web. Si tu sitio favorito no es compatible, no dudes en pedir ayuda. Puedes encontrar los detalles de contacto en la configuración de la aplicación." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Collez l'URL d'une recette que vous souhaitez importer ci-dessus, et nous tenterons de remplir les champs pour vous. Cette fonctionnalité ne fonctionne pas avec tous les sites web. Si votre site préféré n'est pas pris en charge, n'hésitez pas à nous contacter pour obtenir de l'aide. Vous pouvez trouver les coordonnées dans les paramètres de l'application." + } + } + } + }, + "Paste the URL of a recipe you would like to import.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Füge die URL eines Rezepts ein, das du importieren möchtest." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Pega la URL de una receta que deseas importar." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Collez l'URL d'une recette que vous souhaitez importer." + } + } + } + }, + "PDF Document": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "PDF Dokument" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Documento PDF" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Document PDF" + } + } + } + }, + "Plan recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept einplanen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Planificar receta" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Planifier la recette" } } } }, - "Open Settings" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Einstellungen öffnen" + "Please check the entered URL.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bitte überprüfe den eingegebenen Link." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Abrir Ajustes" + "es": { + "stringUnit": { + "state": "translated", + "value": "Por favor, verifica la URL ingresada." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ouvrir les Réglages" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Veuillez vérifier l'URL saisie." } } } }, - "Other" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sonstige" + "Please check your credentials and internet connection.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bitte die Anmeldedaten und die Internetverbindung überprüfen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Otro" + "es": { + "stringUnit": { + "state": "translated", + "value": "Por favor, comprueba tus credenciales de inicio de sesión y la conexión a Internet." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Autre" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Veuillez vérifier vos identifiants et votre connexion Internet." } } } }, - "Parsing error" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Decodierung fehlgeschlagen" + "Please enter a recipe name.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bitte einen Rezeptnamen eintragen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Error de análisis" + "es": { + "stringUnit": { + "state": "translated", + "value": "Por favor, ingrese un nombre de receta." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erreur d'analyse" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Veuillez entrer un nom de recette." } } } }, - "Paste the url of a recipe you would like to import in the above, and we will try to fill in the fields for you. This feature does not work with every website. If your favourite website is not supported, feel free to reach out for help. You can find the contact details in the app settings." : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Den Link zum Importieren eines Rezepts hier einfügen. Dies funktioniert nicht mit allen Webseiten. Sollte eine Seite nicht unterstützt werden, kontaktiere uns gerne um uns darauf aufmerksam zu machen. Jedes Feedback hilft dabei, den Service zu verbessern." + "Point (e.g. 1.42)": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Punkt (z.B. 1.42)" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pega la URL de una receta que te gustaría importar arriba, y trataremos de completar los campos por ti. Esta función no funciona con todos los sitios web. Si tu sitio favorito no es compatible, no dudes en pedir ayuda. Puedes encontrar los detalles de contacto en la configuración de la aplicación." + "es": { + "stringUnit": { + "state": "translated", + "value": "Punto (por ejemplo, 1.42)" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Collez l'URL d'une recette que vous souhaitez importer ci-dessus, et nous tenterons de remplir les champs pour vous. Cette fonctionnalité ne fonctionne pas avec tous les sites web. Si votre site préféré n'est pas pris en charge, n'hésitez pas à nous contacter pour obtenir de l'aide. Vous pouvez trouver les coordonnées dans les paramètres de l'application." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Point (par exemple, 1.42)" } } } }, - "Paste the URL of a recipe you would like to import." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Füge die URL eines Rezepts ein, das du importieren möchtest." + "Preparation": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Vorbereitung" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pega la URL de una receta que deseas importar." + "es": { + "stringUnit": { + "state": "translated", + "value": "Preparación" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Collez l'URL d'une recette que vous souhaitez importer." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Préparation" } } } }, - "PDF Document" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "PDF Dokument" + "Preparation duration:": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Vorbereitung:" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Documento PDF" + "es": { + "stringUnit": { + "state": "translated", + "value": "Duración de preparación:" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Document PDF" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Durée de préparation:" } } } }, - "Plan recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept einplanen" + "Protein content": { + "comment": "Protein content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Proteingehalt" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Planificar receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Proteínas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Planifier la recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Protéines" } } } }, - "Please check the entered URL." : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bitte überprüfe den eingegebenen Link." + "Pull to refresh or check your server connection.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zum Aktualisieren nach unten ziehen oder Serververbindung prüfen." + } + } + } + }, + "Recent searches": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Letzte Suchen" + } + } + } + }, + "Recently Added": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zuletzt hinzugefügt" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Por favor, verifica la URL ingresada." + "es": { + "stringUnit": { + "state": "translated", + "value": "Añadidos recientemente" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Veuillez vérifier l'URL saisie." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Récemment ajoutés" } } } }, - "Please check your credentials and internet connection." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bitte die Anmeldedaten und die Internetverbindung überprüfen." + "Recently Used": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zuletzt verwendet" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Por favor, comprueba tus credenciales de inicio de sesión y la conexión a Internet." + "es": { + "stringUnit": { + "state": "translated", + "value": "Usados recientemente" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Veuillez vérifier vos identifiants et votre connexion Internet." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Récemment utilisés" } } } }, - "Please enter a recipe name." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bitte einen Rezeptnamen eintragen." + "Recently Viewed": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zuletzt angesehen" + } + } + } + }, + "Recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Por favor, ingrese un nombre de receta." + "es": { + "stringUnit": { + "state": "translated", + "value": "Receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Veuillez entrer un nom de recette." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Recette" } } } }, - "Point (e.g. 1.42)" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Punkt (z.B. 1.42)" + "Recipe Name": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept-Titel" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Punto (por ejemplo, 1.42)" + "es": { + "stringUnit": { + "state": "translated", + "value": "Título de la receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Point (par exemple, 1.42)" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Titre de la recette" } } } }, - "Preparation" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vorbereitung" + "Recipe upload successful.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Das Rezept wurde erfolgreich hochgeladen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Preparación" + "es": { + "stringUnit": { + "state": "translated", + "value": "La receta se ha subido con éxito." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Préparation" + "fr": { + "stringUnit": { + "state": "translated", + "value": "La recette a été téléchargée avec succès." } } } }, - "Preparation duration:" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vorbereitung:" + "Recipe URL": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept-URL" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Duración de preparación:" + "es": { + "stringUnit": { + "state": "translated", + "value": "URL de la receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Durée de préparation:" + "fr": { + "stringUnit": { + "state": "translated", + "value": "URL de la recette" } } } }, - "Protein content" : { - "comment" : "Protein content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Proteingehalt" + "Recipes": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezepte" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Proteínas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Recetas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Protéines" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Recettes" } } } }, - "Pull to refresh or check your server connection." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zum Aktualisieren nach unten ziehen oder Serververbindung prüfen." + "Recipes will appear here once they are added to this category.": { + "comment": "A description of what will happen when a user adds a recipe to a category.", + "isCommentAutoGenerated": true, + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezepte werden hier angezeigt, sobald sie dieser Kategorie hinzugefügt werden." } } } }, - "Recent searches" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Letzte Suchen" + "Refresh": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Aktualisieren" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Refrescar" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Actualiser" } } } }, - "Recently Added" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zuletzt hinzugefügt" + "Refresh all": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Synchronisieren" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Añadidos recientemente" + "es": { + "stringUnit": { + "state": "translated", + "value": "Actualizar todo" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Récemment ajoutés" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Tout actualiser" } } } }, - "Recently Used" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zuletzt verwendet" + "Reminders access was denied. Please enable it in System Settings to use this feature.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Der Zugriff auf Erinnerungen wurde verweigert. Bitte aktiviere ihn in den Systemeinstellungen, um diese Funktion zu nutzen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Usados recientemente" + "es": { + "stringUnit": { + "state": "translated", + "value": "Se denegó el acceso a Recordatorios. Actívalo en los Ajustes del sistema para usar esta función." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Récemment utilisés" + "fr": { + "stringUnit": { + "state": "translated", + "value": "L'accès aux Rappels a été refusé. Veuillez l'activer dans les Réglages système pour utiliser cette fonctionnalité." } } } }, - "Recently Viewed" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zuletzt angesehen" + "Reminders list": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Erinnerungsliste" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Lista de recordatorios" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Liste de rappels" } } } }, - "Recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept" + "Remove": { + "comment": "A menu item that allows a user to remove an item from a meal plan.", + "isCommentAutoGenerated": true, + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Entfernen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Eliminar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Supprimer" } } } }, - "Recipe Name" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept-Titel" + "Remove all from Grocery List": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Alle von Einkaufsliste entfernen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Título de la receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Eliminar de la lista de compras" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Titre de la recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Retirer de la liste de courses" } } } }, - "Recipe upload successful." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Das Rezept wurde erfolgreich hochgeladen." + "Reorder Categories": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kategorien sortieren" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "La receta se ha subido con éxito." + "es": { + "stringUnit": { + "state": "translated", + "value": "Reordenar categorías" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "La recette a été téléchargée avec succès." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Réorganiser les catégories" } } } }, - "Recipe URL" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept-URL" + "Reverse Order": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Umgekehrte Reihenfolge" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL de la receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Orden inverso" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL de la recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ordre inversé" } } } }, - "Recipes" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezepte" + "Same as Device": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Systemsprache" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recetas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Idioma del sistema" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recettes" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Langue du système" } } } }, - "Recipes will appear here once they are added to this category." : { - "comment" : "A description of what will happen when a user adds a recipe to a category.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezepte werden hier angezeigt, sobald sie dieser Kategorie hinzugefügt werden." + "Saturated fat content": { + "comment": "Saturated fat content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Gesättigte Fettsäuren" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Grasas saturadas" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Graisses saturées" } } } }, - "Refresh" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aktualisieren" + "Schedule Recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept einplanen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Refrescar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Programar Receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Actualiser" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Planifier la Recette" } } } }, - "Refresh all" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Synchronisieren" + "Search": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Suchen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Actualizar todo" + "es": { + "stringUnit": { + "state": "translated", + "value": "Buscar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tout actualiser" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Recherche" } } } }, - "Reminders access was denied. Please enable it in System Settings to use this feature." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Der Zugriff auf Erinnerungen wurde verweigert. Bitte aktiviere ihn in den Systemeinstellungen, um diese Funktion zu nutzen." + "Search for recipes": { + "comment": "A prompt displayed when the search text is empty, encouraging the user to enter a search term.", + "isCommentAutoGenerated": true, + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezepte suchen" + } + } + } + }, + "Search recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept suchen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Se denegó el acceso a Recordatorios. Actívalo en los Ajustes del sistema para usar esta función." + "es": { + "stringUnit": { + "state": "translated", + "value": "Buscar receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "L'accès aux Rappels a été refusé. Veuillez l'activer dans les Réglages système pour utiliser cette fonctionnalité." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Rechercher une recette" } } } }, - "Reminders list" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erinnerungsliste" + "Search recipes": { + "comment": "A prompt for searching recipes.", + "isCommentAutoGenerated": true, + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezepte suchen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lista de recordatorios" + "es": { + "stringUnit": { + "state": "translated", + "value": "Buscar recetas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Liste de rappels" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Rechercher des recettes" } } } }, - "Remove" : { - "comment" : "A menu item that allows a user to remove an item from a meal plan.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Entfernen" + "Search recipes/keywords": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Suche Rezepte/Schlagwörter" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Eliminar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Buscar recetas/palabras clave" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Supprimer" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Rechercher recettes/mots-clés" + } + } + } + }, + "Search Results": { + "comment": "The title of the view that lists search results for recipes.", + "isCommentAutoGenerated": true, + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Suchergebnisse" } } } }, - "Remove all from Grocery List" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Alle von Einkaufsliste entfernen" + "Select a default cookbook": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Standard-Kochbuch" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Eliminar de la lista de compras" + "es": { + "stringUnit": { + "state": "translated", + "value": "Seleccionar un libro de cocina predeterminado" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Retirer de la liste de courses" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Sélectionner un livre de cuisine par défaut" } } } }, - "Reorder Categories" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kategorien sortieren" + "Select Keywords": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Schlagwörter auswählen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Reordenar categorías" + "es": { + "stringUnit": { + "state": "translated", + "value": "Seleccione palabras clave" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Réorganiser les catégories" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Sélectionnez les mots-clés" } } } }, - "Reverse Order" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Umgekehrte Reihenfolge" + "Selected keywords:": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Ausgewählte Schlagwörter:" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Orden inverso" + "es": { + "stringUnit": { + "state": "translated", + "value": "Palabras clave seleccionadas:" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ordre inversé" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Mots-clés sélectionnés:" } } } }, - "Same as Device" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Systemsprache" + "Serving size": { + "comment": "Serving size", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Portionen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Idioma del sistema" + "es": { + "stringUnit": { + "state": "translated", + "value": "Porciones" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Langue du système" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Portions" } } } }, - "Saturated fat content" : { - "comment" : "Saturated fat content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gesättigte Fettsäuren" + "Servings": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Portionen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Grasas saturadas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Porciones" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Graisses saturées" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Portions" } } } }, - "Schedule Recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept einplanen" + "Servings:": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Portionen:" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Programar Receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Porciones:" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Planifier la Recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Portions:" } } } }, - "Search" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Suchen" + "Servings: %lld": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Portionen: %lld" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Buscar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Porciones: %lld" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Recherche" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Portions : %lld" } } } }, - "Search for recipes" : { - "comment" : "A prompt displayed when the search text is empty, encouraging the user to enter a search term.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezepte suchen" + "Settings": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Einstellungen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Configuración" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Paramètres" } } } }, - "Search recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept suchen" + "Share as PDF": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Als PDF teilen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Buscar receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Compartir como PDF" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rechercher une recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Partager en PDF" } } } }, - "Search recipes" : { - "comment" : "A prompt for searching recipes.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezepte suchen" + "Share as text": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Als Text teilen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Buscar recetas" + "es": { + "stringUnit": { + "state": "translated", + "value": "Compartir como texto" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rechercher des recettes" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Partager en tant que texte" } } } }, - "Search recipes/keywords" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Suche Rezepte/Schlagwörter" + "Share recipe": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Teilen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Buscar recetas/palabras clave" + "es": { + "stringUnit": { + "state": "translated", + "value": "Compartir receta" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rechercher recettes/mots-clés" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Partager la recette" } } } }, - "Search Results" : { - "comment" : "The title of the view that lists search results for recipes.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Suchergebnisse" + "Share Recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Teilen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Compartir receta" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Partager la recette" } } } }, - "Select a default cookbook" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Standard-Kochbuch" + "Show help": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Hilfe" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Seleccionar un libro de cocina predeterminado" + "es": { + "stringUnit": { + "state": "translated", + "value": "Mostrar ayuda" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sélectionner un livre de cuisine par défaut" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Afficher l'aide" } } } }, - "Select Keywords" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Schlagwörter auswählen" + "Sodium content": { + "comment": "Sodium content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Natriumgehalt" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Seleccione palabras clave" + "es": { + "stringUnit": { + "state": "translated", + "value": "Sodio" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sélectionnez les mots-clés" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Sodium" } } } }, - "Selected keywords:" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ausgewählte Schlagwörter:" + "Start by adding your first ingredient! 🥬": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Hier ist Platz für Zutaten! 🥬" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Palabras clave seleccionadas:" + "es": { + "stringUnit": { + "state": "translated", + "value": "¡Empieza por añadir tu primer ingrediente! 🥬" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mots-clés sélectionnés:" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Commencez par ajouter votre premier ingrédient ! 🥬" } } } }, - "Serving size" : { - "comment" : "Serving size", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Portionen" + "Step %lld": { + "comment": "A text field where the user can enter a recipe instruction.", + "isCommentAutoGenerated": true + }, + "Store recipe images locally": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept-Bild herunterladen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Porciones" + "es": { + "stringUnit": { + "state": "translated", + "value": "Almacenar imágenes de recetas localmente" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Portions" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Stocker les images des recettes localement" } } } }, - "Servings" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Portionen" + "Store recipe thumbnails locally": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Rezept-Thumbnail herunterladen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Porciones" + "es": { + "stringUnit": { + "state": "translated", + "value": "Almacenar miniaturas de recetas localmente" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Portions" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Stocker les vignettes des recettes localement" } } } }, - "Servings:" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Portionen:" + "Submit": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Eingeben" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Porciones:" + "es": { + "stringUnit": { + "state": "translated", + "value": "Enviar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Portions:" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Soumettre" } } } }, - "Servings: %lld" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Portionen: %lld" + "Success!": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Erfolg!" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Porciones: %lld" + "es": { + "stringUnit": { + "state": "translated", + "value": "¡Éxito!" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Portions : %lld" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Succès!" } } } }, - "Settings" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Einstellungen" + "Sugar content": { + "comment": "Sugar content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Zuckergehalt" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuración" + "es": { + "stringUnit": { + "state": "translated", + "value": "Azúcares" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Paramètres" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Sucres" } } } }, - "Share as PDF" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Als PDF teilen" + "Support": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Kontakt" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Compartir como PDF" + "es": { + "stringUnit": { + "state": "translated", + "value": "Ayuda" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Partager en PDF" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Support" } } } }, - "Share as text" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Als Text teilen" + "SwiftSoup": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "SwiftSoup" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Compartir como texto" + "es": { + "stringUnit": { + "state": "translated", + "value": "" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Partager en tant que texte" + "fr": { + "stringUnit": { + "state": "translated", + "value": "" } } } }, - "Share recipe" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Teilen" + "Sync grocery list across devices": {}, + "System": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "System" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Compartir receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Sistema" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Partager la recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Système" } } } }, - "Share Recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Teilen" + "Thank you for downloading": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Vielen Dank für's herunterladen!" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Compartir receta" + "es": { + "stringUnit": { + "state": "translated", + "value": "Gracias por descargar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Partager la recette" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Merci d'avoir téléchargé" } } } }, - "Show help" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hilfe" + "Thanks for downloading! Sign in to your Nextcloud server to get started.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Danke fürs Herunterladen! Melde dich bei deinem Nextcloud-Server an, um loszulegen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mostrar ayuda" + "es": { + "stringUnit": { + "state": "translated", + "value": "Gracias por descargar. Inicia sesión en tu servidor Nextcloud para comenzar." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Afficher l'aide" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Merci d'avoir téléchargé ! Connectez-vous à votre serveur Nextcloud pour commencer." } } } }, - "Sodium content" : { - "comment" : "Sodium content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Natriumgehalt" + "The 'Login' button will open a web browser. Please follow the login instructions provided there.\nAfter a successful login, return to this application and press 'Validate'.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Durch Klicken auf den 'Anmelden'-Button wird ein Webbrowser geöffnet. Bitte den dort angegebenen Anmeldeanweisungen folgen. Nach erfolgreicher Anmeldung zur Anwendung zurückkehren und 'Validieren' drücken." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sodio" + "es": { + "stringUnit": { + "state": "translated", + "value": "El botón 'Iniciar sesión' abrirá un navegador web. Por favor, siga las instrucciones de inicio de sesión proporcionadas allí. Después de un inicio de sesión exitoso, regrese a esta aplicación y presione 'Validar'." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sodium" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Le bouton 'Connexion' ouvrira un navigateur web. Veuillez suivre les instructions de connexion fournies là-bas. Après une connexion réussie, revenez à cette application et appuyez sur 'Valider'." } } } }, - "Start by adding your first ingredient! 🥬" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hier ist Platz für Zutaten! 🥬" + "The 'Login' button will open a web browser. Please follow the login instructions provided there. After a successful login, return to this application and press 'Validate'.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Der 'Anmelden'-Button öffnet einen Webbrowser. Bitte folge den dort angegebenen Anmeldeanweisungen. Nach erfolgreicher Anmeldung kehre zu dieser App zurück und drücke 'Überprüfen'." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "¡Empieza por añadir tu primer ingrediente! 🥬" + "es": { + "stringUnit": { + "state": "translated", + "value": "El botón 'Iniciar sesión' abrirá un navegador web. Por favor, sigue las instrucciones de inicio de sesión proporcionadas allí. Después de un inicio de sesión exitoso, regresa a esta aplicación y presiona 'Validar'." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Commencez par ajouter votre premier ingrédient ! 🥬" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Le bouton 'Connexion' ouvrira un navigateur web. Veuillez suivre les instructions de connexion fournies. Après une connexion réussie, revenez à cette application et appuyez sur 'Valider'." } } } }, - "Step %lld" : { - "comment" : "A text field where the user can enter a recipe instruction.", - "isCommentAutoGenerated" : true + "The recipe could not be imported. Please check the URL and try again.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Das Rezept konnte nicht importiert werden. Bitte überprüfe die URL und versuche es erneut." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "No se pudo importar la receta. Por favor, verifica la URL e inténtalo de nuevo." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "La recette n'a pas pu être importée. Veuillez vérifier l'URL et réessayer." + } + } + } }, - "Store recipe images locally" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept-Bild herunterladen" + "The recipe has no image whose MIME type matches the Accept header": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "The recipe has no image whose MIME type matches the Accept header" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Almacenar imágenes de recetas localmente" + "es": { + "stringUnit": { + "state": "translated", + "value": "The recipe has no image whose MIME type matches the Accept header" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Stocker les images des recettes localement" + "fr": { + "stringUnit": { + "state": "translated", + "value": "The recipe has no image whose MIME type matches the Accept header" } } } }, - "Store recipe thumbnails locally" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rezept-Thumbnail herunterladen" + "The selected cookbook will open on app launch by default.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Das ausgewählte Kochbuch wird standardmäßig beim Start der App geöffnet." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Almacenar miniaturas de recetas localmente" + "es": { + "stringUnit": { + "state": "translated", + "value": "El libro de cocina seleccionado se abrirá por defecto al iniciar la aplicación." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Stocker les vignettes des recettes localement" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Le livre de cuisine sélectionné s'ouvrira par défaut lors du lancement de l'application." } } } }, - "Submit" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Eingeben" + "There are no recipes in this cookbook!": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Hier gibt es momentan noch keine Rezepte zu sehen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Enviar" + "es": { + "stringUnit": { + "state": "translated", + "value": "No hay recetas en esta categoría." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Soumettre" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Il n'y a pas de recettes dans cette catégorie." } } } }, - "Success!" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Erfolg!" + "There was no name in the request given for the recipe. Cannot save the recipe.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Der Rezeptname fehlt. Das Rezept konnte nicht gespeichert werden." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "¡Éxito!" + "es": { + "stringUnit": { + "state": "translated", + "value": "No había un nombre en la solicitud dada para la receta. No se puede guardar la receta." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Succès!" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Il n'y avait pas de nom dans la demande faite pour la recette." } } } }, - "Sugar content" : { - "comment" : "Sugar content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zuckergehalt" + "This action is not reversible!": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Diese Aktion lässt sich nicht Rückgängig machen!" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Azúcares" + "es": { + "stringUnit": { + "state": "translated", + "value": "¡Esta acción no es reversible!" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sucres" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Cette action est irréversible!" } } } }, - "Support" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kontakt" + "This application is an open source effort. If you're interested in suggesting or contributing new features, or you encounter any problems, please use the support link or visit the GitHub repository in the app settings.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Diese Anwendung ist ein Open-Source-Projekt. Bei bestehendem Interesse neue Funktionen vorzuschlagen oder beizutragen, oder wenn Probleme auftreten, den Kontakt-Link nutzen oder das GitHub-Repository in den App-Einstellungen besuchen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ayuda" + "es": { + "stringUnit": { + "state": "translated", + "value": "Esta aplicación es un esfuerzo de código abierto. Si estás interesado en sugerir o contribuir con nuevas funciones o te encuentras con algún problema, por favor utiliza el enlace de soporte o visita el repositorio de GitHub en la configuración de la aplicación." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Support" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Cette application est un effort open source. Si vous souhaitez suggérer ou contribuer à de nouvelles fonctionnalités, ou si vous rencontrez des problèmes, veuillez utiliser le lien d'assistance ou visiter GitHub dans les paramètres de l'application." } } } }, - "SwiftSoup" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "SwiftSoup" + "This setting will take effect after the app is restarted. It affects the adjustment of ingredient quantities.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Diese Einstellung wird erst nach einem Neustart der App wirksam. Die Einstellung betrifft die Mengenberechnung der Rezeptzutaten." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "es": { + "stringUnit": { + "state": "translated", + "value": "Esta configuración surtirá efecto después de reiniciar la aplicación. Afecta el ajuste de las cantidades de ingredientes." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ce paramètre prendra effet après le redémarrage de l'application. Il affecte l'ajustement des quantités d'ingrédients." } } } }, - "Sync grocery list across devices" : { - + "This website might not be currently supported. If this appears incorrect, you can use the support options in the app settings to raise awareness about this issue.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Diese Website wird möglicherweise derzeit nicht unterstützt. Wenn sich das ändern soll, kann die Support-Option in den App-Einstellungen genutzt werden, um auf dieses Problem aufmerksam zu machen." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Este sitio web podría no estar actualmente admitido. Si esto parece incorrecto, puedes utilizar las opciones de soporte en la configuración de la aplicación para dar a conocer este problema." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ce site web pourrait ne pas être pris en charge actuellement. Si cela semble incorrect, vous pouvez utiliser les options de support dans les paramètres de l'application pour signaler ce problème." + } + } + } }, - "System" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "System" + "This Week": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Diese Woche" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sistema" + "es": { + "stringUnit": { + "state": "translated", + "value": "Esta Semana" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Système" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Cette Semaine" } } } }, - "Thank you for downloading" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vielen Dank für's herunterladen!" + "Title": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Name" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gracias por descargar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Título" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Merci d'avoir téléchargé" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Titre" } } } }, - "The 'Login' button will open a web browser. Please follow the login instructions provided there.\nAfter a successful login, return to this application and press 'Validate'." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Durch Klicken auf den 'Anmelden'-Button wird ein Webbrowser geöffnet. Bitte den dort angegebenen Anmeldeanweisungen folgen. Nach erfolgreicher Anmeldung zur Anwendung zurückkehren und 'Validieren' drücken." + "Today": { + "comment": "Suffix added to the name of a day when it is the current day.", + "isCommentAutoGenerated": true, + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Heute" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "El botón 'Iniciar sesión' abrirá un navegador web. Por favor, siga las instrucciones de inicio de sesión proporcionadas allí. Después de un inicio de sesión exitoso, regrese a esta aplicación y presione 'Validar'." + "es": { + "stringUnit": { + "state": "translated", + "value": "Hoy" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Le bouton 'Connexion' ouvrira un navigateur web. Veuillez suivre les instructions de connexion fournies là-bas. Après une connexion réussie, revenez à cette application et appuyez sur 'Valider'." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Aujourd'hui" } } } }, - "The recipe could not be imported. Please check the URL and try again." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Das Rezept konnte nicht importiert werden. Bitte überprüfe die URL und versuche es erneut." + "Tool": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Küchenutensilie" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No se pudo importar la receta. Por favor, verifica la URL e inténtalo de nuevo." + "es": { + "stringUnit": { + "state": "translated", + "value": "Utensilio de cocina" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "La recette n'a pas pu être importée. Veuillez vérifier l'URL et réessayer." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ustensile de cuisine" } } } }, - "The recipe has no image whose MIME type matches the Accept header" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "The recipe has no image whose MIME type matches the Accept header" + "Tools": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Küchenutensilien" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "The recipe has no image whose MIME type matches the Accept header" + "es": { + "stringUnit": { + "state": "translated", + "value": "Utensilios de cocina." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "The recipe has no image whose MIME type matches the Accept header" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ustensiles de cuisine" } } } }, - "The selected cookbook will open on app launch by default." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Das ausgewählte Kochbuch wird standardmäßig beim Start der App geöffnet." + "Total duration:": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Gesamtdauer:" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "El libro de cocina seleccionado se abrirá por defecto al iniciar la aplicación." + "es": { + "stringUnit": { + "state": "translated", + "value": "Duración total:" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Le livre de cuisine sélectionné s'ouvrira par défaut lors du lancement de l'application." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Durée totale:" } } } }, - "There are no recipes in this cookbook!" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hier gibt es momentan noch keine Rezepte zu sehen." + "Total time": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Gesamtdauer" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No hay recetas en esta categoría." + "es": { + "stringUnit": { + "state": "translated", + "value": "Duración total" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Il n'y a pas de recettes dans cette catégorie." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Durée totale" } } } }, - "There was no name in the request given for the recipe. Cannot save the recipe." : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Der Rezeptname fehlt. Das Rezept konnte nicht gespeichert werden." + "TPPDF": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "TPPDF" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No había un nombre en la solicitud dada para la receta. No se puede guardar la receta." + "es": { + "stringUnit": { + "state": "translated", + "value": "" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Il n'y avait pas de nom dans la demande faite pour la recette." + "fr": { + "stringUnit": { + "state": "translated", + "value": "" } } } }, - "This action is not reversible!" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Diese Aktion lässt sich nicht Rückgängig machen!" + "Trans fat content": { + "comment": "Trans fat content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Transfettgehalt" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "¡Esta acción no es reversible!" + "es": { + "stringUnit": { + "state": "translated", + "value": "Grasas trans" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cette action est irréversible!" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Graisses trans" } } } }, - "This application is an open source effort. If you're interested in suggesting or contributing new features, or you encounter any problems, please use the support link or visit the GitHub repository in the app settings." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Diese Anwendung ist ein Open-Source-Projekt. Bei bestehendem Interesse neue Funktionen vorzuschlagen oder beizutragen, oder wenn Probleme auftreten, den Kontakt-Link nutzen oder das GitHub-Repository in den App-Einstellungen besuchen." + "Try a different search term.": { + "comment": "A message suggesting a different search term if no results are found.", + "isCommentAutoGenerated": true, + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Versuche einen anderen Suchbegriff." + } + } + } + }, + "Unable to complete action.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Die Aktion kann momentan nicht durchgeführt werden." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Esta aplicación es un esfuerzo de código abierto. Si estás interesado en sugerir o contribuir con nuevas funciones o te encuentras con algún problema, por favor utiliza el enlace de soporte o visita el repositorio de GitHub en la configuración de la aplicación." + "es": { + "stringUnit": { + "state": "translated", + "value": "No se puede completar la acción." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cette application est un effort open source. Si vous souhaitez suggérer ou contribuer à de nouvelles fonctionnalités, ou si vous rencontrez des problèmes, veuillez utiliser le lien d'assistance ou visiter GitHub dans les paramètres de l'application." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Impossible de compléter l'action." } } } }, - "This setting will take effect after the app is restarted. It affects the adjustment of ingredient quantities." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Diese Einstellung wird erst nach einem Neustart der App wirksam. Die Einstellung betrifft die Mengenberechnung der Rezeptzutaten." + "Unable to connect to server.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Verbindung mit dem Server fehlgeschlagen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Esta configuración surtirá efecto después de reiniciar la aplicación. Afecta el ajuste de las cantidades de ingredientes." + "es": { + "stringUnit": { + "state": "translated", + "value": "No se puede conectar al servidor." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ce paramètre prendra effet après le redémarrage de l'application. Il affecte l'ajustement des quantités d'ingrédients." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Connexion au serveur impossible." } } } }, - "This website might not be currently supported. If this appears incorrect, you can use the support options in the app settings to raise awareness about this issue." : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Diese Website wird möglicherweise derzeit nicht unterstützt. Wenn sich das ändern soll, kann die Support-Option in den App-Einstellungen genutzt werden, um auf dieses Problem aufmerksam zu machen." + "Unable to load website content. Please check your internet connection.": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Der Inhalt der Website konnte nicht geladen werden. Bitte die Internetverbindung überprüfen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Este sitio web podría no estar actualmente admitido. Si esto parece incorrecto, puedes utilizar las opciones de soporte en la configuración de la aplicación para dar a conocer este problema." + "es": { + "stringUnit": { + "state": "translated", + "value": "No se puede cargar el contenido del sitio web. Por favor, verifica tu conexión a Internet." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ce site web pourrait ne pas être pris en charge actuellement. Si cela semble incorrect, vous pouvez utiliser les options de support dans les paramètres de l'application pour signaler ce problème." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Impossible de télécharger le contenu du site web. Veuillez vérifier votre connexion Internet." } } } }, - "This Week" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Diese Woche" + "Unable to upload your recipe. Please check your internet connection.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Es ist nicht möglich, das Rezept hochzuladen. Bitte die Internetverbindung überprüfen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Esta Semana" + "es": { + "stringUnit": { + "state": "translated", + "value": "No es posible cargar tu receta. Por favor, verifica tu conexión a internet." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cette Semaine" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Impossible de télécharger votre recette. Veuillez vérifier votre connexion internet." } } } }, - "Title" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Name" + "Unsaturated fat content": { + "comment": "Unsaturated fat content", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Ungesättigte Fettsäuren" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Título" + "es": { + "stringUnit": { + "state": "translated", + "value": "Grasas insaturadas" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Titre" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Graisses insaturées" } } } }, - "Today" : { - "comment" : "Suffix added to the name of a day when it is the current day.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Heute" + "Upload": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Speichern" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hoy" + "es": { + "stringUnit": { + "state": "translated", + "value": "Cargar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aujourd'hui" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Télécharger" } } } }, - "Tool" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Küchenutensilie" + "Upload Changes": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Speichern" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Utensilio de cocina" + "es": { + "stringUnit": { + "state": "translated", + "value": "Cargar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ustensile de cuisine" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Télécharger" } } } }, - "Tools" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Küchenutensilien" + "Upload Recipe": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Speichern" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Utensilios de cocina." + "es": { + "stringUnit": { + "state": "translated", + "value": "Cargar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ustensiles de cuisine" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Télécharger" } } } }, - "Total duration:" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gesamtdauer:" + "URL (e.g. example.com/recipe)": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "URL (z.B. beispiel.com/rezept)" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Duración total:" + "es": { + "stringUnit": { + "state": "translated", + "value": "URL (por ejemplo, ejemplo.com/receta)" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Durée totale:" + "fr": { + "stringUnit": { + "state": "translated", + "value": "URL (par exemple, example.com/recette)" } } } }, - "Total time" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Gesamtdauer" + "URL:": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "URL:" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Duración total" + "es": { + "stringUnit": { + "state": "translated", + "value": "URL:" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Durée totale" + "fr": { + "stringUnit": { + "state": "translated", + "value": "URL:" } } } }, - "TPPDF" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "TPPDF" + "Username: %@": { + "extractionState": "stale", + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Nutzername: %@" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "es": { + "stringUnit": { + "state": "translated", + "value": "Nombre de usuario: %@" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nom d'utilisateur: %@" } } } }, - "Trans fat content" : { - "comment" : "Trans fat content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Transfettgehalt" + "Validate": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Überprüfen" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Grasas trans" + "es": { + "stringUnit": { + "state": "translated", + "value": "Validar" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Graisses trans" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Valider" } } } }, - "Try a different search term." : { - "comment" : "A message suggesting a different search term if no results are found.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Versuche einen anderen Suchbegriff." + "Visit the GitHub page": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "GitHub öffnen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Visita la página de GitHub." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Visitez GitHub" } } } }, - "Unable to complete action." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Die Aktion kann momentan nicht durchgeführt werden." + "You're all set for cooking 🍓": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bereit zum Kochen 🍓" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No se puede completar la acción." + "es": { + "stringUnit": { + "state": "translated", + "value": "Estás listo(a) para cocinar 🍓" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Impossible de compléter l'action." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Vous êtes prêt(e) pour cuisiner 🍓" } } } }, - "Unable to connect to server." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Verbindung mit dem Server fehlgeschlagen." + "Your grocery list is stored locally and therefore not synchronized across your devices.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Die Einkaufsliste wird lokal gespeichert und daher nicht auf andere Geräte übertragen." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No se puede conectar al servidor." + "es": { + "stringUnit": { + "state": "translated", + "value": "Tu lista de la compra se almacena localmente y, por lo tanto, no se sincroniza en tus dispositivos." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Connexion au serveur impossible." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Votre liste de courses est stockée localement et n'est donc pas synchronisée sur vos appareils." } } } }, - "Unable to load website content. Please check your internet connection." : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Der Inhalt der Website konnte nicht geladen werden. Bitte die Internetverbindung überprüfen." + "Server address": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Serveradresse" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No se puede cargar el contenido del sitio web. Por favor, verifica tu conexión a Internet." + "es": { + "stringUnit": { + "state": "translated", + "value": "Dirección del servidor" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Impossible de télécharger le contenu du site web. Veuillez vérifier votre connexion Internet." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Adresse du serveur" } } } }, - "Unable to upload your recipe. Please check your internet connection." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Es ist nicht möglich, das Rezept hochzuladen. Bitte die Internetverbindung überprüfen." + "User name": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Benutzername" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No es posible cargar tu receta. Por favor, verifica tu conexión a internet." + "es": { + "stringUnit": { + "state": "translated", + "value": "Nombre de usuario" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Impossible de télécharger votre recette. Veuillez vérifier votre connexion internet." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Nom d'utilisateur" } } } }, - "Unsaturated fat content" : { - "comment" : "Unsaturated fat content", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ungesättigte Fettsäuren" + "username": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Benutzername" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Grasas insaturadas" + "es": { + "stringUnit": { + "state": "translated", + "value": "nombre de usuario" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Graisses insaturées" + "fr": { + "stringUnit": { + "state": "translated", + "value": "nom d'utilisateur" } } } }, - "Upload" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Speichern" + "App Token": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "App-Token" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cargar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Token de la aplicación" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Télécharger" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Jeton d'application" } } } }, - "Upload Changes" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Speichern" + "can be generated in security settings of your nextcloud": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "kann in den Sicherheitseinstellungen deiner Nextcloud generiert werden" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cargar" + "es": { + "stringUnit": { + "state": "translated", + "value": "se puede generar en la configuración de seguridad de tu Nextcloud" } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Télécharger" + "fr": { + "stringUnit": { + "state": "translated", + "value": "peut être généré dans les paramètres de sécurité de votre Nextcloud" } } } }, - "Upload Recipe" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Speichern" + "Error: Could not connect to server.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Fehler: Verbindung zum Server konnte nicht hergestellt werden." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cargar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Error: No se pudo conectar al servidor." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Télécharger" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Erreur : Impossible de se connecter au serveur." } } } }, - "URL (e.g. example.com/recipe)" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL (z.B. beispiel.com/rezept)" + "Please enter a valid server address.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bitte eine gültige Serveradresse eingeben." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL (por ejemplo, ejemplo.com/receta)" + "es": { + "stringUnit": { + "state": "translated", + "value": "Por favor, introduce una dirección de servidor válida." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL (par exemple, example.com/recette)" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Veuillez entrer une adresse de serveur valide." } } } }, - "URL:" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL:" + "A network error occurred. Please try again.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Ein Netzwerkfehler ist aufgetreten. Bitte versuche es erneut." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL:" + "es": { + "stringUnit": { + "state": "translated", + "value": "Se produjo un error de red. Por favor, inténtalo de nuevo." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "URL:" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Une erreur réseau s'est produite. Veuillez réessayer." } } } }, - "Username: %@" : { - "extractionState" : "stale", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nutzername: %@" + "Unable to reach server. Please check your server address and internet connection.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Server nicht erreichbar. Bitte überprüfe deine Serveradresse und Internetverbindung." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nombre de usuario: %@" + "es": { + "stringUnit": { + "state": "translated", + "value": "No se puede conectar al servidor. Por favor, verifica la dirección del servidor y tu conexión a internet." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nom d'utilisateur: %@" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Impossible de joindre le serveur. Veuillez vérifier l'adresse du serveur et votre connexion internet." } } } }, - "Validate" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Überprüfen" + "Login failed. Please login via the browser and try again.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Anmeldung fehlgeschlagen. Bitte melde dich über den Browser an und versuche es erneut." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Validar" + "es": { + "stringUnit": { + "state": "translated", + "value": "Inicio de sesión fallido. Por favor, inicia sesión a través del navegador e inténtalo de nuevo." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Valider" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Échec de la connexion. Veuillez vous connecter via le navigateur et réessayer." } } } }, - "Visit the GitHub page" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "GitHub öffnen" + "Please enter a server address!": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bitte eine Serveradresse eingeben!" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Visita la página de GitHub." + "es": { + "stringUnit": { + "state": "translated", + "value": "Por favor, introduce una dirección de servidor." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Visitez GitHub" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Veuillez entrer une adresse de serveur !" } } } }, - "You're all set for cooking 🍓" : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bereit zum Kochen 🍓" + "Please enter a user name and app token!": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Bitte Benutzername und App-Token eingeben!" } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Estás listo(a) para cocinar 🍓" + "es": { + "stringUnit": { + "state": "translated", + "value": "Por favor, introduce un nombre de usuario y un token de aplicación." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vous êtes prêt(e) pour cuisiner 🍓" + "fr": { + "stringUnit": { + "state": "translated", + "value": "Veuillez entrer un nom d'utilisateur et un jeton d'application !" } } } }, - "Your grocery list is stored locally and therefore not synchronized across your devices." : { - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Die Einkaufsliste wird lokal gespeichert und daher nicht auf andere Geräte übertragen." + "Login failed. Please check your inputs and internet connection.": { + "localizations": { + "de": { + "stringUnit": { + "state": "translated", + "value": "Anmeldung fehlgeschlagen. Bitte überprüfe deine Eingaben und Internetverbindung." } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tu lista de la compra se almacena localmente y, por lo tanto, no se sincroniza en tus dispositivos." + "es": { + "stringUnit": { + "state": "translated", + "value": "Inicio de sesión fallido. Por favor, verifica tus datos y tu conexión a internet." } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Votre liste de courses est stockée localement et n'est donc pas synchronisée sur vos appareils." + "fr": { + "stringUnit": { + "state": "translated", + "value": "Échec de la connexion. Veuillez vérifier vos identifiants et votre connexion internet." } } } } }, - "version" : "1.1" -} \ No newline at end of file + "version": "1.1" +} diff --git a/Nextcloud Cookbook iOS Client/Views/Onboarding/OnboardingView.swift b/Nextcloud Cookbook iOS Client/Views/Onboarding/OnboardingView.swift index fc5a193..ebf15cf 100644 --- a/Nextcloud Cookbook iOS Client/Views/Onboarding/OnboardingView.swift +++ b/Nextcloud Cookbook iOS Client/Views/Onboarding/OnboardingView.swift @@ -10,41 +10,59 @@ import OSLog import SwiftUI struct OnboardingView: View { - @State var selectedTab: Int = 0 - - var body: some View { - TabView(selection: $selectedTab) { - WelcomeTab().tag(0) - LoginTab().tag(1) - } - .tabViewStyle(.page) - .background( - selectedTab == 1 ? Color.nextcloudBlue.ignoresSafeArea() : Color(uiColor: .systemBackground).ignoresSafeArea() - ) - .animation(.easeInOut, value: selectedTab) - } -} + @State var loginMethod: LoginMethod = .v2 + + // Login error alert + @State var showAlert: Bool = false + @State var alertMessage: String = String(localized: "Error: Could not connect to server.") -struct WelcomeTab: View { var body: some View { - VStack(alignment: .center) { - Spacer() + ScrollView(showsIndicators: false) { + VStack(spacing: 0) { Image("cookbook-icon") .resizable() - .frame(width: 120, height: 120) - .clipShape(RoundedRectangle(cornerRadius: 10)) - Text("Thank you for downloading") - .font(.headline) + .frame(width: 80, height: 80) + .clipShape(RoundedRectangle(cornerRadius: 18)) + .padding(.top, 48) Text("Cookbook Client") .font(.largeTitle) .bold() - Spacer() - Text("This application is an open source effort. If you're interested in suggesting or contributing new features, or you encounter any problems, please use the support link or visit the GitHub repository in the app settings.") - .padding() - Spacer() + .padding(.top, 10) + Text("Thanks for downloading! Sign in to your Nextcloud server to get started.") + .font(.subheadline) + .foregroundStyle(.secondary) + .multilineTextAlignment(.center) + .padding(.horizontal, 32) + .padding(.top, 6) + + VStack(alignment: .leading, spacing: 16) { + Picker("Login Method", selection: $loginMethod) { + Text("Nextcloud Login").tag(LoginMethod.v2) + Text("App Token Login").tag(LoginMethod.token) + } + .pickerStyle(.segmented) + + if loginMethod == .token { + TokenLoginView( + showAlert: $showAlert, + alertMessage: $alertMessage + ) + } else if loginMethod == .v2 { + V2LoginView( + showAlert: $showAlert, + alertMessage: $alertMessage + ) + } + } + .padding(.top, 28) } - .padding() .fontDesign(.rounded) + .padding() + .alert(alertMessage, isPresented: $showAlert) { + Button("Ok", role: .cancel) { } + } + } + .background(Color(uiColor: .systemGroupedBackground).ignoresSafeArea()) } } @@ -59,7 +77,7 @@ enum LoginMethod { enum TokenLoginStage: LoginStage { case serverAddress, userName, appToken, validate - + func next() -> TokenLoginStage { switch self { case .serverAddress: return .userName @@ -68,7 +86,7 @@ enum TokenLoginStage: LoginStage { case .validate: return .validate } } - + func previous() -> TokenLoginStage { switch self { case .serverAddress: return .serverAddress @@ -79,160 +97,88 @@ enum TokenLoginStage: LoginStage { } } - - - - -struct LoginTab: View { - @State var loginMethod: LoginMethod = .v2 - - // Login error alert - @State var showAlert: Bool = false - @State var alertMessage: String = "Error: Could not connect to server." - - var body: some View { - ScrollView(showsIndicators: false) { - VStack(alignment: .leading) { - Spacer() - Picker("Login Method", selection: $loginMethod) { - Text("Nextcloud Login").tag(LoginMethod.v2) - Text("App Token Login").tag(LoginMethod.token) - } - .pickerStyle(.segmented) - .foregroundColor(.white) - .padding() - if loginMethod == .token { - TokenLoginView( - showAlert: $showAlert, - alertMessage: $alertMessage - ) - } - else if loginMethod == .v2 { - V2LoginView( - showAlert: $showAlert, - alertMessage: $alertMessage - ) - } - Spacer() - } - - .fontDesign(.rounded) - .padding() - .alert(alertMessage, isPresented: $showAlert) { - Button("Ok", role: .cancel) { } - } - } - } -} - - - - struct LoginLabel: View { - let text: String + let text: LocalizedStringKey var body: some View { Text(text) - .foregroundColor(.white) - .font(.headline) - .padding(.vertical, 5) + .font(.subheadline) + .foregroundStyle(.secondary) } } struct BorderedLoginTextField: View { - var example: String + var example: LocalizedStringKey @Binding var text: String - @State var color: Color = .white - + var body: some View { TextField(example, text: $text) .textFieldStyle(.plain) .autocorrectionDisabled() .textInputAutocapitalization(.never) - .foregroundColor(color) - .tint(color) .padding() - .background( - RoundedRectangle(cornerRadius: 10) - .stroke(.white, lineWidth: 2) - .foregroundColor(.clear) - ) - + .background(Color(uiColor: .secondarySystemGroupedBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) } } struct LoginTextField: View { - var example: String + var example: LocalizedStringKey @Binding var text: String - @State var color: Color = .white - + var body: some View { TextField(example, text: $text) .textFieldStyle(.plain) .autocorrectionDisabled() .textInputAutocapitalization(.never) - .foregroundColor(color) - .tint(color) .padding() - .background( - RoundedRectangle(cornerRadius: 10) - .foregroundColor(Color.white.opacity(0.2)) - ) + .background(Color(uiColor: .secondarySystemGroupedBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) } } - struct ServerAddressField: View { @ObservedObject var userSettings = UserSettings.shared @State var serverProtocol: ServerProtocol = UserSettings.shared.serverProtocol == ServerProtocol.http.rawValue ? ServerProtocol.http : ServerProtocol.https - + enum ServerProtocol: String { case https="https://", http="http://" - + static let all = [https, http] } - + var body: some View { - VStack(alignment: .leading) { + VStack(alignment: .leading, spacing: 6) { LoginLabel(text: "Server address") - VStack(alignment: .leading) { + VStack(alignment: .leading, spacing: 10) { HStack { Picker(ServerProtocol.https.rawValue, selection: $serverProtocol) { ForEach(ServerProtocol.all, id: \.self) { Text($0.rawValue) } - }.pickerStyle(.menu) - .tint(.white) - .font(.headline) + } + .pickerStyle(.menu) + .tint(.accentColor) .onChange(of: serverProtocol) { value in Logger.view.debug("\(value.rawValue)") userSettings.serverProtocol = value.rawValue } - + TextField("e.g.: example.com", text: $userSettings.serverAddress) .textFieldStyle(.plain) .autocorrectionDisabled() .textInputAutocapitalization(.never) - .foregroundStyle(.white) - .padding() - .background( - RoundedRectangle(cornerRadius: 10) - .foregroundColor(Color.white.opacity(0.2)) - ) - + .padding(10) + .background(Color(uiColor: .secondarySystemGroupedBackground)) + .clipShape(RoundedRectangle(cornerRadius: 8)) } - - LoginLabel(text: "Full server address") - .padding(.top) + Text(userSettings.serverProtocol + userSettings.serverAddress) - .foregroundColor(.white) - .padding(.vertical, 5) + .font(.footnote) + .foregroundStyle(.secondary) } .padding() - .background( - RoundedRectangle(cornerRadius: 10) - .stroke(.white, lineWidth: 2) - .foregroundColor(.clear) - ) + .background(Color(uiColor: .secondarySystemGroupedBackground)) + .clipShape(RoundedRectangle(cornerRadius: 12)) } } } @@ -242,6 +188,5 @@ struct ServerAddressField_Preview: PreviewProvider { ServerAddressField() .previewLayout(.sizeThatFits) .padding() - .background(Color.nextcloudBlue) } } diff --git a/Nextcloud Cookbook iOS Client/Views/Onboarding/TokenLoginView.swift b/Nextcloud Cookbook iOS Client/Views/Onboarding/TokenLoginView.swift index 3efccbc..66c8195 100644 --- a/Nextcloud Cookbook iOS Client/Views/Onboarding/TokenLoginView.swift +++ b/Nextcloud Cookbook iOS Client/Views/Onboarding/TokenLoginView.swift @@ -15,56 +15,55 @@ struct TokenLoginView: View { @Binding var showAlert: Bool @Binding var alertMessage: String @FocusState private var focusedField: Field? - + @State var userSettings = UserSettings.shared - + // TextField handling enum Field { case server case username case token } - + var body: some View { - VStack(alignment: .leading) { + VStack(alignment: .leading, spacing: 16) { ServerAddressField() - .padding(.bottom) - - LoginLabel(text: "User name") - BorderedLoginTextField(example: "username", text: $userSettings.username) - .focused($focusedField, equals: .username) - .textContentType(.username) - .submitLabel(.next) - .padding(.bottom) - - - LoginLabel(text: "App Token") - BorderedLoginTextField(example: "can be generated in security settings of your nextcloud", text: $userSettings.token) - .focused($focusedField, equals: .token) - .textContentType(.password) - .submitLabel(.join) - HStack{ - Spacer() - Button { - Task { - if await loginCheck(nextcloudLogin: false) { - userSettings.onboarding = false - } - } - } label: { - Text("Submit") - .foregroundColor(.white) - .font(.headline) - .padding() - .background( - RoundedRectangle(cornerRadius: 10) - .stroke(Color.white, lineWidth: 2) - .foregroundColor(.clear) - ) - } - .padding() - Spacer() + + VStack(alignment: .leading, spacing: 6) { + LoginLabel(text: "User name") + BorderedLoginTextField(example: "username", text: $userSettings.username) + .focused($focusedField, equals: .username) + .textContentType(.username) + .submitLabel(.next) } + + VStack(alignment: .leading, spacing: 6) { + LoginLabel(text: "App Token") + BorderedLoginTextField(example: "can be generated in security settings of your nextcloud", text: $userSettings.token) + .focused($focusedField, equals: .token) + .textContentType(.password) + .submitLabel(.join) + } + + Button { + Task { + if await loginCheck(nextcloudLogin: false) { + userSettings.onboarding = false + } + } + } label: { + Label("Submit", systemImage: "person.badge.key") + .font(.subheadline) + .fontWeight(.medium) + .frame(maxWidth: .infinity) + .padding(.vertical, 10) + .foregroundStyle(Color.nextcloudBlue) + .background( + RoundedRectangle(cornerRadius: 10) + .fill(Color.nextcloudBlue.opacity(0.1)) + ) + } + .padding(.top, 4) } .onSubmit { switch focusedField { @@ -77,14 +76,14 @@ struct TokenLoginView: View { } } } - + func loginCheck(nextcloudLogin: Bool) async -> Bool { if userSettings.serverAddress == "" { - alertMessage = "Please enter a server address!" + alertMessage = String(localized: "Please enter a server address!") showAlert = true return false } else if !nextcloudLogin && (userSettings.username == "" || userSettings.token == "") { - alertMessage = "Please enter a user name and app token!" + alertMessage = String(localized: "Please enter a user name and app token!") showAlert = true return false } @@ -95,7 +94,7 @@ struct TokenLoginView: View { let _ = try await client.getCategories() return true } catch { - alertMessage = "Login failed. Please check your inputs and internet connection." + alertMessage = String(localized: "Login failed. Please check your inputs and internet connection.") showAlert = true return false } diff --git a/Nextcloud Cookbook iOS Client/Views/Onboarding/V2LoginView.swift b/Nextcloud Cookbook iOS Client/Views/Onboarding/V2LoginView.swift index b4c0f5e..0ff614a 100644 --- a/Nextcloud Cookbook iOS Client/Views/Onboarding/V2LoginView.swift +++ b/Nextcloud Cookbook iOS Client/Views/Onboarding/V2LoginView.swift @@ -12,14 +12,14 @@ import WebKit enum V2LoginStage: LoginStage { case login, validate - + func next() -> V2LoginStage { switch self { case .login: return .validate case .validate: return .validate } } - + func previous() -> V2LoginStage { switch self { case .login: return .login @@ -33,105 +33,101 @@ enum V2LoginStage: LoginStage { struct V2LoginView: View { @Binding var showAlert: Bool @Binding var alertMessage: String - + @State var loginStage: V2LoginStage = .login @State var loginRequest: LoginV2Request? = nil @State var presentBrowser = false - + // TextField handling enum Field { case server case username case token } - + var body: some View { - ScrollView { - VStack(alignment: .leading) { - ServerAddressField() - CollapsibleView { - VStack(alignment: .leading) { - Text("Make sure to enter the server address in the form 'example.com', or \n':'\n when a non-standard port is used.") - .padding(.bottom) - Text("The 'Login' button will open a web browser. Please follow the login instructions provided there.\nAfter a successful login, return to this application and press 'Validate'.") - .padding(.bottom) - Text("If the login button does not open your browser, use the 'Copy Link' button and paste the link in your browser manually.") - } - } title: { - Text("Show help") - .foregroundColor(.white) - .font(.headline) - }.padding() - - if loginRequest != nil { - Button("Copy Link") { - UIPasteboard.general.string = loginRequest!.login - } - .font(.headline) - .foregroundStyle(.white) - .padding() + VStack(alignment: .leading, spacing: 16) { + ServerAddressField() + + CollapsibleView(titleColor: .secondary) { + VStack(alignment: .leading, spacing: 8) { + Text("Make sure to enter the server address in the form 'example.com', or ':' when a non-standard port is used.") + Text("The 'Login' button will open a web browser. Please follow the login instructions provided there. After a successful login, return to this application and press 'Validate'.") + Text("If the login button does not open your browser, use the 'Copy Link' button and paste the link in your browser manually.") } - - HStack { - Button { - if UserSettings.shared.serverAddress == "" { - alertMessage = "Please enter a valid server address." - showAlert = true - return - } - - Task { - let error = await sendLoginV2Request() - if let error = error { - alertMessage = "A network error occured (\(error.localizedDescription))." - showAlert = true - } - if let loginRequest = loginRequest { - presentBrowser = true - //await UIApplication.shared.open(URL(string: loginRequest.login)!) - } else { - alertMessage = "Unable to reach server. Please check your server address and internet connection." - showAlert = true - } - } - loginStage = loginStage.next() - } label: { - Text("Login") - .foregroundColor(.white) - .font(.headline) - .padding() - .background( - RoundedRectangle(cornerRadius: 10) - .stroke(Color.white, lineWidth: 2) - .foregroundColor(.clear) - ) - }.padding() - - if loginStage == .validate { - Spacer() - - Button { - // fetch login v2 response - Task { - let (response, error) = await fetchLoginV2Response() - checkLogin(response: response, error: error) - } - } label: { - Text("Validate") - .foregroundColor(.white) - .font(.headline) - .padding() - .background( - RoundedRectangle(cornerRadius: 10) - .stroke(Color.white, lineWidth: 2) - .foregroundColor(.clear) - ) - } - .disabled(loginRequest == nil ? true : false) - .padding() - } + .font(.footnote) + .foregroundStyle(.secondary) + } title: { + Text("Show help") + .font(.subheadline) + } + + if loginRequest != nil { + Button { + UIPasteboard.general.string = loginRequest!.login + } label: { + Label("Copy Link", systemImage: "doc.on.doc") + .font(.subheadline) } } + + HStack(spacing: 12) { + Button { + if UserSettings.shared.serverAddress == "" { + alertMessage = String(localized: "Please enter a valid server address.") + showAlert = true + return + } + + Task { + let error = await sendLoginV2Request() + if let error = error { + alertMessage = String(localized: "A network error occurred. Please try again.") + showAlert = true + } + if let _ = loginRequest { + presentBrowser = true + } else { + alertMessage = String(localized: "Unable to reach server. Please check your server address and internet connection.") + showAlert = true + } + } + loginStage = loginStage.next() + } label: { + Label("Login", systemImage: "person.badge.key") + .font(.subheadline) + .fontWeight(.medium) + .frame(maxWidth: .infinity) + .padding(.vertical, 10) + .foregroundStyle(Color.nextcloudBlue) + .background( + RoundedRectangle(cornerRadius: 10) + .fill(Color.nextcloudBlue.opacity(0.1)) + ) + } + + if loginStage == .validate { + Button { + Task { + let (response, error) = await fetchLoginV2Response() + checkLogin(response: response, error: error) + } + } label: { + Label("Validate", systemImage: "checkmark.circle.fill") + .font(.subheadline) + .fontWeight(.medium) + .frame(maxWidth: .infinity) + .padding(.vertical, 10) + .foregroundStyle(Color.nextcloudBlue) + .background( + RoundedRectangle(cornerRadius: 10) + .fill(Color.nextcloudBlue.opacity(0.1)) + ) + } + .disabled(loginRequest == nil) + } + } + .padding(.top, 4) } .sheet(isPresented: $presentBrowser, onDismiss: { Task { @@ -144,26 +140,26 @@ struct V2LoginView: View { } } } - + func sendLoginV2Request() async -> NetworkError? { let (req, error) = await NextcloudApi.loginV2Request() self.loginRequest = req return error } - + func fetchLoginV2Response() async -> (LoginV2Response?, NetworkError?) { guard let loginRequest = loginRequest else { return (nil, .invalidRequest) } return await NextcloudApi.loginV2Response(req: loginRequest) } - + func checkLogin(response: LoginV2Response?, error: NetworkError?) { if let error = error { - alertMessage = "Login failed. Please login via the browser and try again. (\(error.localizedDescription))" + alertMessage = String(localized: "Login failed. Please login via the browser and try again.") showAlert = true return } guard let response = response else { - alertMessage = "Login failed. Please login via the browser and try again." + alertMessage = String(localized: "Login failed. Please login via the browser and try again.") showAlert = true return }