From 32307972f9d5859e29025419ded78d355e1730e3 Mon Sep 17 00:00:00 2001 From: Vicnet <35202538+VincentMeilinger@users.noreply.github.com> Date: Wed, 25 Oct 2023 10:53:36 +0200 Subject: [PATCH] Added french language support --- .../project.pbxproj | 1 + .../Localizable.xcstrings | 576 +++++++++++++++++- .../SupportedLanguage.swift | 7 +- 3 files changed, 578 insertions(+), 6 deletions(-) diff --git a/Nextcloud Cookbook iOS Client.xcodeproj/project.pbxproj b/Nextcloud Cookbook iOS Client.xcodeproj/project.pbxproj index 24f102b..1139732 100644 --- a/Nextcloud Cookbook iOS Client.xcodeproj/project.pbxproj +++ b/Nextcloud Cookbook iOS Client.xcodeproj/project.pbxproj @@ -326,6 +326,7 @@ Base, de, es, + fr, ); mainGroup = A70171752AA8E71900064C43; productRefGroup = A701717F2AA8E71900064C43 /* Products */; diff --git a/Nextcloud Cookbook iOS Client/Localizable.xcstrings b/Nextcloud Cookbook iOS Client/Localizable.xcstrings index e60a0c2..c17360a 100644 --- a/Nextcloud Cookbook iOS Client/Localizable.xcstrings +++ b/Nextcloud Cookbook iOS Client/Localizable.xcstrings @@ -14,6 +14,12 @@ "state" : "translated", "value" : "" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } } } }, @@ -30,6 +36,12 @@ "state" : "translated", "value" : ":" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : ":" + } } } }, @@ -46,6 +58,12 @@ "state" : "translated", "value" : "%@" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } } } }, @@ -62,6 +80,12 @@ "state" : "translated", "value" : "%lld" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } } } }, @@ -78,6 +102,12 @@ "state" : "translated", "value" : "%lld." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } } } }, @@ -94,6 +124,12 @@ "state" : "translated", "value" : "•" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "•" + } } } }, @@ -110,6 +146,12 @@ "state" : "translated", "value" : "00" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "00" + } } } }, @@ -126,6 +168,12 @@ "state" : "translated", "value" : "Ya existe una receta con ese nombre." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Une recette portant ce nom existe déjà." + } } } }, @@ -142,6 +190,12 @@ "state" : "translated", "value" : "Acerca de" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "À propos" + } } } }, @@ -158,6 +212,12 @@ "state" : "translated", "value" : "Agregar" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajouter" + } } } }, @@ -174,6 +234,12 @@ "state" : "translated", "value" : "Nueva Receta" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajouter une nouvelle recette" + } } } }, @@ -190,6 +256,12 @@ "state" : "translated", "value" : "Todas" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tout" + } } } }, @@ -206,6 +278,12 @@ "state" : "translated", "value" : "Ocurrió un error desconocido." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Une erreur inconnue s'est produite." + } } } }, @@ -222,6 +300,12 @@ "state" : "translated", "value" : "App Token Login" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Token Login" + } } } }, @@ -238,6 +322,12 @@ "state" : "translated", "value" : "Cancelar" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } } } }, @@ -254,6 +344,12 @@ "state" : "translated", "value" : "Categoría" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Catégorie" + } } } }, @@ -270,6 +366,12 @@ "state" : "translated", "value" : "Categoría: %@" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Catégorie: %@" + } } } }, @@ -286,6 +388,12 @@ "state" : "translated", "value" : "Conexión al servidor establecida." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connecté au serveur." + } } } }, @@ -302,6 +410,12 @@ "state" : "translated", "value" : "Cookbook Client" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cookbook Client" + } } } }, @@ -318,6 +432,12 @@ "state" : "translated", "value" : "Libros de cocina" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Livres de cuisine" + } } } }, @@ -334,6 +454,12 @@ "state" : "translated", "value" : "Cocción" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Temps de cuisson" + } } } }, @@ -350,6 +476,12 @@ "state" : "translated", "value" : "Duración de cocción:" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Temps de cuisson:" + } } } }, @@ -366,6 +498,12 @@ "state" : "translated", "value" : "Borrar" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer" + } } } }, @@ -382,6 +520,12 @@ "state" : "translated", "value" : "Eliminar datos locales" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer les données locales" + } } } }, @@ -398,6 +542,12 @@ "state" : "translated", "value" : "Eliminar receta" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer la recette" + } } } }, @@ -414,6 +564,12 @@ "state" : "translated", "value" : "¿Eliminar receta?" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer la recette?" + } } } }, @@ -430,6 +586,12 @@ "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." + } } } }, @@ -446,6 +608,12 @@ "state" : "translated", "value" : "Descripción." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Description" + } } } }, @@ -462,6 +630,12 @@ "state" : "translated", "value" : "Descargar todas las recetas" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger toutes les recettes" + } } } }, @@ -478,6 +652,12 @@ "state" : "translated", "value" : "Descargar recetas" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger des recettes" + } } } }, @@ -494,6 +674,12 @@ "state" : "translated", "value" : "Receta duplicada." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recette en double." + } } } }, @@ -510,6 +696,12 @@ "state" : "translated", "value" : "Editar" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Éditer" + } } } }, @@ -526,6 +718,12 @@ "state" : "translated", "value" : "Ingresar la dirección del servidor abrirá un navegador web. Por favor, siga las instrucciones de inicio de sesión proporcionadas allí. Si el navegador no se abre, haga clic en el enlace 'Abrir en el navegador'.\nDespués de iniciar sesión con éxito, regrese a esta aplicación y presione 'Validar'." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'ajout de l'adresse du serveur ouvrira un navigateur web. Suivez les instructions de connexion fournies là-bas. Si le navigateur ne s'ouvre pas, cliquez sur le lien 'Ouvrir dans le navigateur'. Après une connexion réussie, revenez à cette application et appuyez sur 'Valider'." + } } } }, @@ -542,6 +740,12 @@ "state" : "translated", "value" : "Error." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur." + } } } }, @@ -558,6 +762,12 @@ "state" : "translated", "value" : "General" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Général" + } } } }, @@ -574,6 +784,12 @@ "state" : "translated", "value" : "Obtener soporte" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obtenir de l'aide" + } } } }, @@ -590,6 +806,12 @@ "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" : "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." + } } } }, @@ -606,6 +828,12 @@ "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 vous souhaitez contribuer à ce projet ou simplement souhaitez consulter son code source, nous vous encourageons à visiter le référentiel GitHub de cette application." + } } } }, @@ -622,6 +850,12 @@ "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 avez des questions, des commentaires ou avez besoin d'aide, veuillez consulter la page d'assistance pour obtenir les informations de contact." + } } } }, @@ -638,6 +872,12 @@ "state" : "translated", "value" : "Ingredientes" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingrédients" + } } } }, @@ -654,6 +894,12 @@ "state" : "translated", "value" : "Ingredientes para %lld porciones." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingrédients pour %lld portions" + } } } }, @@ -670,6 +916,12 @@ "state" : "translated", "value" : "Ingredientes por porción" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingrédients par portion" + } } } }, @@ -686,6 +938,12 @@ "state" : "translated", "value" : "Instrucciones" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instructions" + } } } }, @@ -702,6 +960,12 @@ "state" : "translated", "value" : "Palabras clave" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mots-clés" + } } } }, @@ -718,6 +982,12 @@ "state" : "translated", "value" : "Idioma" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Langue" + } } } }, @@ -734,6 +1004,12 @@ "state" : "translated", "value" : "Cerrar sesión" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Déconnexion" + } } } }, @@ -750,6 +1026,12 @@ "state" : "translated", "value" : "Inicio de sesión fallido" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de la connexion." + } } } }, @@ -766,6 +1048,12 @@ "state" : "translated", "value" : "Método de inicio de sesión" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Méthode de connexion" + } } } }, @@ -782,6 +1070,12 @@ "state" : "translated", "value" : "Falta el nombre de la receta." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nom de la recette manquant." + } } } }, @@ -798,6 +1092,12 @@ "state" : "translated", "value" : "Error de red." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur réseau." + } } } }, @@ -814,6 +1114,12 @@ "state" : "translated", "value" : "Nueva receta" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nouvelle recette" + } } } }, @@ -830,14 +1136,58 @@ "state" : "translated", "value" : "Nextcloud Login" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nextcloud Login" + } } } }, "No keywords." : { - + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Keine Schlagwörter." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sin palabras clave." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aucun mot-clé." + } + } + } }, "No nutritional information." : { - + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Keine Nährwertangaben." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sin información nutricional." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aucune information nutritionnelle." + } + } + } }, "None" : { "localizations" : { @@ -852,14 +1202,58 @@ "state" : "translated", "value" : "Ninguno" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aucun" + } } } }, "Nutrition" : { - + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nährwerte" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Información nutricional" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nutrition" + } + } + } }, "Nutrition (%@)" : { - + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nährwerte (%@)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Información nutricional (%@)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nutrition (%@)" + } + } + } }, "Ok" : { "localizations" : { @@ -874,6 +1268,12 @@ "state" : "translated", "value" : "Ok" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ok" + } } } }, @@ -890,6 +1290,12 @@ "state" : "translated", "value" : "Abrir en el navegador." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvrir dans le navigateur" + } } } }, @@ -906,6 +1312,12 @@ "state" : "translated", "value" : "Otro" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autre" + } } } }, @@ -922,6 +1334,12 @@ "state" : "translated", "value" : "Por favor, comprueba tus credenciales de inicio de sesión y la conexión a Internet." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veuillez vérifier vos identifiants et votre connexion Internet." + } } } }, @@ -938,6 +1356,12 @@ "state" : "translated", "value" : "Por favor, ingrese un nombre de receta." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veuillez entrer un nom de recette." + } } } }, @@ -954,6 +1378,12 @@ "state" : "translated", "value" : "Preparación" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préparation" + } } } }, @@ -970,6 +1400,12 @@ "state" : "translated", "value" : "Duración de preparación:" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Durée de préparation:" + } } } }, @@ -986,6 +1422,12 @@ "state" : "translated", "value" : "Idioma del sistema" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Langue du système" + } } } }, @@ -1002,6 +1444,12 @@ "state" : "translated", "value" : "Buscar receta" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rechercher une recette" + } } } }, @@ -1018,6 +1466,12 @@ "state" : "translated", "value" : "Buscar recetas" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rechercher des recettes" + } } } }, @@ -1034,6 +1488,12 @@ "state" : "translated", "value" : "Seleccionar un libro de cocina predeterminado" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner un livre de cuisine par défaut" + } } } }, @@ -1050,6 +1510,12 @@ "state" : "translated", "value" : "Palabras clave seleccionadas:" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mots-clés sélectionnés:" + } } } }, @@ -1066,6 +1532,12 @@ "state" : "translated", "value" : "Porciones:" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Portions:" + } } } }, @@ -1082,6 +1554,12 @@ "state" : "translated", "value" : "Configuración" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paramètres" + } } } }, @@ -1098,6 +1576,12 @@ "state" : "translated", "value" : "Enviar" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Soumettre" + } } } }, @@ -1114,6 +1598,12 @@ "state" : "translated", "value" : "Ayuda" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Support" + } } } }, @@ -1130,6 +1620,12 @@ "state" : "translated", "value" : "Gracias por descargar" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Merci d'avoir téléchargé" + } } } }, @@ -1146,6 +1642,12 @@ "state" : "translated", "value" : "El libro de cocina seleccionado se abrirá por defecto al iniciar la aplicación." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le livre de cuisine sélectionné s'ouvrira par défaut lors du lancement de l'application." + } } } }, @@ -1162,6 +1664,12 @@ "state" : "translated", "value" : "¡Esta acción no es reversible!" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cette action est irréversible!" + } } } }, @@ -1178,6 +1686,12 @@ "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" : "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." + } } } }, @@ -1194,6 +1708,12 @@ "state" : "translated", "value" : "Título" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Titre" + } } } }, @@ -1210,6 +1730,12 @@ "state" : "translated", "value" : "Utensilios de cocina." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ustensiles de cuisine" + } } } }, @@ -1226,6 +1752,12 @@ "state" : "translated", "value" : "Duración total:" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Durée totale:" + } } } }, @@ -1242,6 +1774,12 @@ "state" : "translated", "value" : "Duración total" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Durée totale" + } } } }, @@ -1258,6 +1796,12 @@ "state" : "translated", "value" : "No se puede conectar al servidor." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connexion au serveur impossible." + } } } }, @@ -1274,6 +1818,12 @@ "state" : "translated", "value" : "No es posible cargar tu receta. Por favor, verifica tu conexión a internet." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de télécharger votre recette. Veuillez vérifier votre connexion internet." + } } } }, @@ -1290,6 +1840,12 @@ "state" : "translated", "value" : "Cargar" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger" + } } } }, @@ -1306,6 +1862,12 @@ "state" : "translated", "value" : "Validar" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valider" + } } } }, @@ -1322,6 +1884,12 @@ "state" : "translated", "value" : "Visita la página de GitHub." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Visitez GitHub" + } } } } diff --git a/Nextcloud Cookbook iOS Client/SupportedLanguage.swift b/Nextcloud Cookbook iOS Client/SupportedLanguage.swift index 9b5daf9..f35dccd 100644 --- a/Nextcloud Cookbook iOS Client/SupportedLanguage.swift +++ b/Nextcloud Cookbook iOS Client/SupportedLanguage.swift @@ -12,7 +12,8 @@ enum SupportedLanguage: String, Codable { case DEVICE = "device", EN = "en", DE = "de", - ES = "es" + ES = "es", + FR = "fr" func descriptor() -> String { switch self { @@ -24,8 +25,10 @@ enum SupportedLanguage: String, Codable { return "Deutsch" case .ES: return "Español" + case .FR: + return "Français" } } - static let allValues = [DEVICE, EN, DE, ES] + static let allValues = [DEVICE, EN, DE, ES, FR] }