feat(mobile) added french translations (#343)
This commit is contained in:
parent
72c334e5e0
commit
20b94ef0bb
5 changed files with 125 additions and 1 deletions
|
@ -7,9 +7,13 @@ upload:
|
||||||
locale_code: en
|
locale_code: en
|
||||||
- file: mobile/assets/i18n/de-DE.json
|
- file: mobile/assets/i18n/de-DE.json
|
||||||
locale_code: de
|
locale_code: de
|
||||||
|
- file: mobile/assets/i18n/fr-FR.json
|
||||||
|
locale_code: fr
|
||||||
download:
|
download:
|
||||||
files:
|
files:
|
||||||
- file: mobile/assets/i18n/en-US.json
|
- file: mobile/assets/i18n/en-US.json
|
||||||
locale_code: en
|
locale_code: en
|
||||||
- file: mobile/assets/i18n/de-DE.json
|
- file: mobile/assets/i18n/de-DE.json
|
||||||
locale_code: de
|
locale_code: de
|
||||||
|
- file: mobile/assets/i18n/fr-FR.json
|
||||||
|
locale_code: fr
|
106
mobile/assets/i18n/fr-FR.json
Normal file
106
mobile/assets/i18n/fr-FR.json
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
{
|
||||||
|
"album_info_card_backup_album_excluded": "EXCLU",
|
||||||
|
"album_info_card_backup_album_included": "INCLUS",
|
||||||
|
"album_viewer_appbar_share_delete": "Supprimer l'album",
|
||||||
|
"album_viewer_appbar_share_err_delete": "Échec de la suppression de l'album",
|
||||||
|
"album_viewer_appbar_share_err_leave": "Impossible de quitter l'album",
|
||||||
|
"album_viewer_appbar_share_err_remove": "Il y a des problèmes pour retirer les éléments de l'album",
|
||||||
|
"album_viewer_appbar_share_err_title": "Échec de la modification du titre de l'album",
|
||||||
|
"album_viewer_appbar_share_leave": "Quitter l'album",
|
||||||
|
"album_viewer_appbar_share_remove": "Retirer de l'album",
|
||||||
|
"album_viewer_page_share_add_users": "Ajouter des utilisateurs",
|
||||||
|
"backup_album_selection_page_albums_device": "Albums sur l'appareil ({})",
|
||||||
|
"backup_album_selection_page_albums_tap": "Tapez pour inclure, tapez deux fois pour exclure",
|
||||||
|
"backup_album_selection_page_assets_scatter": "Les éléments peuvent être répartis sur plusieurs albums. De ce fait, les albums peuvent être inclus ou exclus pendant le processus de sauvegarde.",
|
||||||
|
"backup_album_selection_page_select_albums": "Sélectionner les albums",
|
||||||
|
"backup_album_selection_page_selection_info": "Informations sur la sélection",
|
||||||
|
"backup_album_selection_page_total_assets": "Total des éléments uniques",
|
||||||
|
"backup_all": "Tout",
|
||||||
|
"backup_controller_page_albums": "Sauvegarder les albums",
|
||||||
|
"backup_controller_page_backup": "Sauvegarder",
|
||||||
|
"backup_controller_page_backup_selected": "Sélectionné : ",
|
||||||
|
"backup_controller_page_backup_sub": "Photos et vidéos sauvegardées",
|
||||||
|
"backup_controller_page_cancel": "Annuler",
|
||||||
|
"backup_controller_page_created": "Créé le : {}",
|
||||||
|
"backup_controller_page_desc_backup": "Activez la sauvegarde pour envoyer automatiquement les nouveaux éléments sur le serveur.",
|
||||||
|
"backup_controller_page_excluded": "Exclus : ",
|
||||||
|
"backup_controller_page_failed": "Échec de l'opération ({})",
|
||||||
|
"backup_controller_page_filename": "Nom du fichier : {} [{}]",
|
||||||
|
"backup_controller_page_id": "ID : {}",
|
||||||
|
"backup_controller_page_info": "Informations de sauvegarde",
|
||||||
|
"backup_controller_page_none_selected": "Aucune sélection",
|
||||||
|
"backup_controller_page_remainder": "Restant",
|
||||||
|
"backup_controller_page_remainder_sub": "Photos et albums restants à sauvegarder à partir de la sélection",
|
||||||
|
"backup_controller_page_select": "Sélectionner",
|
||||||
|
"backup_controller_page_server_storage": "Stockage du serveur",
|
||||||
|
"backup_controller_page_start_backup": "Démarrer la sauvegarde",
|
||||||
|
"backup_controller_page_status_off": "La sauvegarde est désactivée",
|
||||||
|
"backup_controller_page_status_on": "La sauvegarde est activée",
|
||||||
|
"backup_controller_page_storage_format": "{} de {} utilisé",
|
||||||
|
"backup_controller_page_to_backup": "Albums à sauvegarder",
|
||||||
|
"backup_controller_page_total": "Total",
|
||||||
|
"backup_controller_page_total_sub": "Toutes les photos et vidéos uniques des albums sélectionnés",
|
||||||
|
"backup_controller_page_turn_off": "Désactiver la sauvegarde",
|
||||||
|
"backup_controller_page_turn_on": "Activer la sauvegarde",
|
||||||
|
"backup_controller_page_uploading_file_info": "Envoi d'informations sur le fichier",
|
||||||
|
"backup_err_only_album": "Impossible de retirer le seul album",
|
||||||
|
"backup_info_card_assets": "éléments",
|
||||||
|
"control_bottom_app_bar_delete": "Supprimer",
|
||||||
|
"create_shared_album_page_share": "Partager",
|
||||||
|
"create_shared_album_page_share_add_assets": "AJOUTER DES ÉLÉMENTS",
|
||||||
|
"create_shared_album_page_share_select_photos": "Sélectionner les photos",
|
||||||
|
"daily_title_text_date": "E, dd MMM",
|
||||||
|
"daily_title_text_date_year": "E, dd MMM, yyyy",
|
||||||
|
"date_format": "E, LLL d, y • h:mm a",
|
||||||
|
"delete_dialog_alert": "Ces éléments seront définitivement supprimés de Immich et de votre appareil.",
|
||||||
|
"delete_dialog_cancel": "Annuler",
|
||||||
|
"delete_dialog_ok": "Supprimer",
|
||||||
|
"delete_dialog_title": "Supprimer définitivement",
|
||||||
|
"exif_bottom_sheet_description": "Ajouter une description...",
|
||||||
|
"exif_bottom_sheet_details": "DÉTAILS",
|
||||||
|
"exif_bottom_sheet_location": "LOCALISATION",
|
||||||
|
"login_form_button_text": "Connexion",
|
||||||
|
"login_form_email_hint": "votreemail@email.com",
|
||||||
|
"login_form_endpoint_hint": "http://adresse-ip-serveur:port/api",
|
||||||
|
"login_form_endpoint_url": "URL du point d'accès au serveur",
|
||||||
|
"login_form_err_http": "Veuillez préciser http:// ou https://",
|
||||||
|
"login_form_err_invalid_email": "Email invalide",
|
||||||
|
"login_form_err_leading_whitespace": "Espace en début de ligne",
|
||||||
|
"login_form_err_trailing_whitespace": "Espace de fin de ligne",
|
||||||
|
"login_form_label_email": "Email",
|
||||||
|
"login_form_label_password": "Mot de passe",
|
||||||
|
"login_form_password_hint": "mot de passe",
|
||||||
|
"login_form_save_login": "Rester connecté",
|
||||||
|
"login_form_failed_login": "Erreur de connexion, vérifiez l'url du serveur, l'email et le mot de passe",
|
||||||
|
"monthly_title_text_date_format": "MMMM y",
|
||||||
|
"profile_drawer_client_server_up_to_date": "Le client et le serveur sont à jour",
|
||||||
|
"profile_drawer_sign_out": "Se déconnecter",
|
||||||
|
"search_bar_hint": "Rechercher vos photos",
|
||||||
|
"search_page_no_places": "Aucune information disponible sur la localisation",
|
||||||
|
"search_page_places": "Lieux",
|
||||||
|
"search_page_things": "Objets",
|
||||||
|
"search_result_page_new_search_hint": "Nouvelle recherche",
|
||||||
|
"select_additional_user_for_sharing_page_suggestions": "Suggestions",
|
||||||
|
"select_user_for_sharing_page_err_album": "Échec de la création de l'album",
|
||||||
|
"select_user_for_sharing_page_share_suggestions": "Suggestions",
|
||||||
|
"share_add": "Ajouter",
|
||||||
|
"share_add_photos": "Ajouter des photos",
|
||||||
|
"share_add_title": "Ajouter un titre",
|
||||||
|
"share_create_album": "Créer un album",
|
||||||
|
"share_invite": "Inviter à l'album",
|
||||||
|
"sharing_page_album": "Albums partagés",
|
||||||
|
"sharing_page_description": "Créez des albums partagés pour partager des photos et des vidéos avec les personnes de votre réseau.",
|
||||||
|
"sharing_page_empty_list": "LISTE VIDE",
|
||||||
|
"sharing_silver_appbar_create_shared_album": "Créer un album partagé",
|
||||||
|
"sharing_silver_appbar_share_partner": "Partager avec un partenaire",
|
||||||
|
"tab_controller_nav_photos": "Photos",
|
||||||
|
"tab_controller_nav_search": "Recherche",
|
||||||
|
"tab_controller_nav_sharing": "Partage",
|
||||||
|
"version_announcement_overlay_ack": "Confirmer",
|
||||||
|
"version_announcement_overlay_release_notes": "notes de mise à jour",
|
||||||
|
"version_announcement_overlay_text_1": "Bonjour, une nouvelle version de",
|
||||||
|
"version_announcement_overlay_text_2": "veuillez prendre le temps de visiter le ",
|
||||||
|
"version_announcement_overlay_text_3": " et assurez-vous que votre configuration docker-compose et .env est à jour pour éviter toute erreur de configuration, en particulier si vous utilisez WatchTower ou tout autre mécanisme qui gère la mise à jour automatique de votre application serveur.",
|
||||||
|
"version_announcement_overlay_title": "Nouvelle version serveur disponible \uD83C\uDF89"
|
||||||
|
}
|
||||||
|
|
|
@ -87,6 +87,7 @@
|
||||||
<array>
|
<array>
|
||||||
<string>en</string>
|
<string>en</string>
|
||||||
<string>de</string>
|
<string>de</string>
|
||||||
|
<string>fr</string>
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
|
@ -43,7 +43,8 @@ void main() async {
|
||||||
// Default locale
|
// Default locale
|
||||||
Locale('en', 'US'),
|
Locale('en', 'US'),
|
||||||
// Additional locales
|
// Additional locales
|
||||||
Locale('de', 'DE')
|
Locale('de', 'DE'),
|
||||||
|
Locale('fr', 'FR')
|
||||||
];
|
];
|
||||||
|
|
||||||
runApp(
|
runApp(
|
||||||
|
|
|
@ -15,5 +15,17 @@ def main():
|
||||||
print(f"Outdated Key! {k}")
|
print(f"Outdated Key! {k}")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
print("CHECK FRENCH TRANSLATIONS")
|
||||||
|
with open('assets/i18n/fr-FR.json', 'r') as f:
|
||||||
|
data = json.load(f)
|
||||||
|
|
||||||
|
for k in data.keys():
|
||||||
|
print(k)
|
||||||
|
sp = subprocess.run(['sh', '-c', f'grep -r --include="./assets/i18n/en-US.json" "{k}"'])
|
||||||
|
|
||||||
|
if sp.returncode != 0:
|
||||||
|
print(f"Outdated Key! {k}")
|
||||||
|
return 1
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
Loading…
Reference in a new issue