diff --git a/lib/data/models/supported_locale.dart b/lib/data/models/supported_locale.dart index 8cb4b50..6cdf299 100644 --- a/lib/data/models/supported_locale.dart +++ b/lib/data/models/supported_locale.dart @@ -1,11 +1,13 @@ import 'package:intl/intl.dart'; -enum SupportedLocale { en, ru } +enum SupportedLocale { en, fr, ru } SupportedLocale get currentLanguage { switch (Intl.getCurrentLocale()) { case "en": return SupportedLocale.en; + case "fr": + return SupportedLocale.fr; case "ru": return SupportedLocale.ru; default: @@ -20,6 +22,8 @@ extension SupportedLocaleExtension on SupportedLocale { switch (this) { case SupportedLocale.en: return 'English'; + case SupportedLocale.fr: + return 'Français'; case SupportedLocale.ru: return 'Русский'; } diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 9c91043..e78c0eb 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -11,7 +11,7 @@ } }, "iso": "ISO", - "filmSpeed": "Film speed", + "filmSpeed": "Film sensitivity", "nd": "ND", "ndFilterFactor": "Neutral density filter factor", "noExposurePairs": "There are no exposure pairs for the selected settings.", diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb new file mode 100644 index 0000000..ff80b36 --- /dev/null +++ b/lib/l10n/intl_fr.arb @@ -0,0 +1,65 @@ +{ + "@@locale": "fr", + "fastestExposurePair": "Le plus rapide", + "slowestExposurePair": "Le plus lent", + "ev": "{value} EV", + "@ev": { + "placeholders": { + "value": { + "type": "String" + } + } + }, + "iso": "ISO", + "filmSpeed": "Sensibilité du film", + "nd": "ND", + "ndFilterFactor": "Facteur de filtre de densité neutre", + "noExposurePairs": "Il n'y a pas de paires d'exposition pour les réglages sélectionnés.", + "noCamerasDetected": "Il semble que votre appareil n'a pas de caméras connectées.", + "noCameraPermission": "L'accès à la caméra n'est pas accordé.", + "otherCameraError": "Une erreur s'est produite lors de la connexion à la caméra.", + "none": "Aucun", + "cancel": "Annuler", + "select": "Sélectionner", + "save": "Enregistrer", + "settings": "Paramètres", + "metering": "Mesure", + "fractionalStops": "Arrêts fractionnaires", + "showFractionalStops": "Afficher les arrêts fractionnaires", + "halfStops": "1/2", + "thirdStops": "1/3", + "calibration": "Calibration", + "calibrationMessage": "La précision des lectures mesurées par cette application dépend entièrement du matériel de l'appareil. Par conséquent, envisagez de tester cette application et de configurer les valeurs d'étalonnage des EV qui vous donneront les résultats de mesure souhaités.", + "calibrationMessageCameraOnly": "La précision des lectures mesurées par cette application dépend entièrement de la caméra arrière de l'appareil. Par conséquent, envisagez de tester cette application et de configurer une valeur d'étalonnage EV qui vous donnera les résultats de mesure souhaités.", + "camera": "Caméra", + "lightSensor": "Capteur de lumière", + "general": "Général", + "keepScreenOn": "Garder l'écran allumé", + "haptics": "Haptiques", + "language": "Langue", + "chooseLanguage": "Choisissez la langue", + "theme": "Thème", + "chooseTheme": "Choisissez le thème", + "themeLight": "Lumière", + "themeDark": "Sombre", + "themeSystemDefault": "Thème système", + "dynamicColor": "Couleur dynamique", + "primaryColor": "Couleur primaire", + "choosePrimaryColor": "Choisir la couleur primaire", + "about": "À propos de l'application", + "sourceCode": "Code source", + "reportIssue": "Rapporter un problème", + "writeEmail": "Écrire un email", + "version": "Version", + "versionNumber": "{version} ({buildNumber})", + "@versionNumber": { + "placeholders": { + "version": { + "type": "String" + }, + "buildNumber": { + "type": "String" + } + } + } +} \ No newline at end of file