diff --git a/app/i18n/index.js b/app/i18n/index.js index 1b32927d..6e423e42 100644 --- a/app/i18n/index.js +++ b/app/i18n/index.js @@ -1,6 +1,7 @@ import I18n from 'react-native-i18n'; import en from './locales/en'; import ru from './locales/ru'; +import fr from './locales/fr'; import ptBR from './locales/pt-BR'; import zhCN from './locales/zh-CN'; @@ -8,7 +9,7 @@ I18n.fallbacks = true; I18n.defaultLocale = 'en'; I18n.translations = { - en, ru, 'pt-BR': ptBR, 'zh-CN': zhCN + en, ru, 'pt-BR': ptBR, 'zh-CN': zhCN, fr }; export default I18n; diff --git a/app/i18n/locales/fr.js b/app/i18n/locales/fr.js new file mode 100644 index 00000000..51165473 --- /dev/null +++ b/app/i18n/locales/fr.js @@ -0,0 +1,362 @@ +export default { + '1_person_reacted': '1 personne a réagi', + '1_user': '1 utilisateur', + 'error-action-not-allowed': '{{action}} n\'est pas autorisé', + 'error-application-not-found': 'Application non trouvée', + 'error-archived-duplicate-name': 'Il y a un canal archivé avec nom {{room_name}}', + 'error-avatar-invalid-url': 'URL d\'avatar invalide: {{url}}', + 'error-avatar-url-handling': 'Erreur lors de la gestion du paramètre d\'avatar à partir d\'une URL ({{url}}) pour {{username}}', + 'error-cant-invite-for-direct-room': 'Impossible d\'inviter l\'utilisateur aux salles direct', + 'error-could-not-change-email': 'Impossible de changer l\'adresse e-mail', + 'error-could-not-change-name': 'Impossible de changer le nom', + 'error-could-not-change-username': 'Impossible de changer le nom d\'utilisateur', + 'error-delete-protected-role': 'Impossible de supprimer un rôle protégé', + 'error-department-not-found': 'Département introuvable', + 'error-direct-message-file-upload-not-allowed': 'Le partage de fichiers n\'est pas autorisé dans les messages directs', + 'error-duplicate-channel-name': 'un canal avec nom {{channel_name}} existe', + 'error-email-domain-blacklisted': 'Le domaine de messagerie est sur liste noire', + 'error-email-send-failed': 'Erreur lors de la tentative d\'envoi d\'un courrier électronique: {{message}}', + 'error-field-unavailable': '{{field}} est déjà utilisé: (', + 'error-file-too-large': 'Le fichier est trop volumineux', + 'error-importer-not-defined': 'L\'importateur n\'a pas été défini correctement, il manque la classe import.', + 'error-input-is-not-a-valid-field': '{{input}} N\'est pas valide {{field}}', + 'error-invalid-actionlink': 'Lien d\'action invalide', + 'error-invalid-arguments': 'Invalid arguments', + 'error-invalid-asset': 'élément incorrect', + 'error-invalid-channel': 'Canal invalide.', + 'error-invalid-channel-start-with-chars': 'Canal invalide. Commence par @ ou #', + 'error-invalid-custom-field': 'Champ personnalisé incorrect', + 'error-invalid-custom-field-name': 'Nom de champ personnalisé non valide. Utilisez uniquement des lettres, des chiffres, des traits d\'union et de soulignement.', + 'error-invalid-date': 'Date fournie invalide.', + 'error-invalid-description': 'Description invalide', + 'error-invalid-domain': 'Domaine invalide', + 'error-invalid-email': 'Adresse e-mail non valide {{emai}}', + 'error-invalid-email-address': 'Adresse e-mail invalide', + 'error-invalid-file-height': 'Hauteur de fichier non valide', + 'error-invalid-file-type': 'Type de fichier invalide', + 'error-invalid-file-width': 'Largeur de fichier invalide', + 'error-invalid-from-address': 'Vous avez informé une adresse FROM invalide.', + 'error-invalid-integration': 'Intégration invalide', + 'error-invalid-message': 'Message invalide', + 'error-invalid-method': 'Méthode invalide', + 'error-invalid-name': 'Nom incorrect', + 'error-invalid-password': 'Mot de passe incorrect', + 'error-invalid-redirectUri': 'RedirectUri invalide', + 'error-invalid-role': 'Rôle invalide', + 'error-invalid-room': 'Salon invalide', + 'error-invalid-room-name': '{{room_name}} n\'est pas un nom de salon valide', + 'error-invalid-room-type': '{{type}} n\'est pas un type de salon valide.', + 'error-invalid-settings': 'Paramètres fournis non valides', + 'error-invalid-subscription': 'Subscription invalide', + 'error-invalid-token': 'Jeton invalide', + 'error-invalid-triggerWords': 'Mots déclencheurs invalides', + 'error-invalid-urls': 'URL non valides', + 'error-invalid-user': 'Utilisateur invalide', + 'error-invalid-username': 'Nom d\'utilisateur invalide', + 'error-invalid-webhook-response': 'L\'URL webhook a répondu avec un statut autre que 200', + 'error-message-deleting-blocked': 'La suppression du message est bloquée', + 'error-message-editing-blocked': 'La modification du message est bloquée', + 'error-message-size-exceeded': 'La taille du message dépasse Message_MaxAllowedSize', + 'error-missing-unsubscribe-link': 'Vous devez fournir le [unsubscribe] lien.', + 'error-no-tokens-for-this-user': 'Il n\'y a pas de jetons pour cet utilisateur', + 'error-not-allowed': 'Non autorisé', + 'error-not-authorized': 'Non autorisé', + 'error-push-disabled': 'Push est désactivé', + 'error-remove-last-owner': 'Ceci est le dernier propriétaire. Veuillez définir un nouveau propriétaire avant de supprimer celui-ci.', + 'error-role-in-use': 'Impossible de supprimer le rôle car est utilisé', + 'error-role-name-required': 'Le nom du rôle est requis', + 'error-the-field-is-required': 'Le champ {{field}} est requis.', + 'error-too-many-requests': 'Erreur, trop de demandes. Ralentissez, s\'il vous plaît. Vous devez attendre {{seconds}} secondes avant d\'essayer à nouveau.', + 'error-user-is-not-activated': 'L\'utilisateur n\'est pas activé', + 'error-user-has-no-roles': 'L\'utilisateur ne dispose pas d\'un rôle', + 'error-user-limit-exceeded': 'Le nombre d\'utilisateurs que vous essayez d\'inviter à #channel_name dépasse la limite définie par l\'administrateur', + 'error-user-not-in-room': 'L\'utilisateur n\'est pas dans cette salle', + 'error-user-registration-custom-field': 'error-user-registration-custom-field', + 'error-user-registration-disabled': 'L\'enregistrement de l\'utilisateur est désactivé', + 'error-user-registration-secret': 'Enregistrement de l\'utilisateur est autorisée uniquement via l\'URL secret', + 'error-you-are-last-owner': 'Vous êtes le dernier propriétaire. Veuillez définir un nouveau propriétaire avant de quitter la salle.', + Actions: 'Actions', + activity: 'activité', + Activity: 'Activité', + Add_Reaction: 'Ajouter une réaction', + Add_Server: 'Ajouter un serveur', + Add_user: 'Ajouter un utilisateur', + Alert: 'Alerte', + alert: 'alerte', + alerts: 'alertes', + All_users_in_the_channel_can_write_new_messages: 'Tous les utilisateurs du canal peuvent écrire de nouveaux messages', + All: 'Tout', + Allow_Reactions: 'Autoriser les réactions', + Alphabetical: 'Alphabétique', + and_more: 'et plus', + and: 'et', + announcement: 'annonce', + Announcement: 'Annonce', + ARCHIVE: 'ARCHIVER', + archive: 'archiver', + are_typing: 'sont en train d\'écrire', + Are_you_sure_question_mark: 'Êtes-vous sûr ?', + Are_you_sure_you_want_to_leave_the_room: 'Êtes-vous sûr de vouloir quitter le salon {{room}}?', + Authenticating: 'Authentifier', + Avatar_changed_successfully: 'Avatar changé avec succès!', + Avatar_Url: 'URL de l\'avatar', + Away: 'absent', + Block_user: 'Bloquer l\'Utilisateur', + Broadcast_channel_Description: 'Seuls les utilisateurs autorisés peuvent écrire de nouveaux messages, mais les autres utilisateurs pourront répondre.', + Broadcast_Channel: 'Canal de diffusion', + Busy: 'Occupé', + By_proceeding_you_are_agreeing: 'En procédant, vous acceptez nos', + Cancel_editing: 'Annuler la modification', + Cancel_recording: 'Annuler l\'enregistrement', + Cancel: 'Annuler', + changing_avatar: 'changer d\'avatar', + creating_channel: 'créer un canal', + Channel_Name: 'Nom du canal', + Channels: 'Canaux', + Chats: 'Chats', + Close: 'Fermer', + Close_emoji_selector: 'Fermer le sélecteur d\'emoji', + Choose: 'Choisir', + Choose_from_library: 'Choisissez parmi la bibliothèque', + Code: 'Code', + Collaborative: 'Collaborative', + Confirm: 'Confirmer', + Connect: 'Se connecter', + Connect_to_a_server: 'Se connecter à un serveur', + Connected: 'Connecté', + Connecting: 'Connexion ...', + Continue_with: 'Continuer avec', + Copied_to_clipboard: 'Copié dans le presse-papier!', + Copy_Message: 'Copier le message', + Copy_Permalink: 'Copier le Lien permanent', + Create_account: 'Créer un compte', + Create_Channel: 'Créer un canal', + Created_snippet: 'Créé un extrait', + Create_a_new_workspace: 'Créer un nouvel espace de travail', + Create: 'Créer', + Delete_Room_Warning: 'Supprimer une salle supprimera tous les messages postés dans la salle. Ça ne peut pas être annulé.', + delete: 'supprimez', + Delete: 'Supprimez', + DELETE: 'SUPPRIMEZ', + description: 'la description', + Description: 'La description', + Disable_notifications: 'Désactiver les notifications', + Direct_Messages: 'Messages directs', + Dont_Have_An_Account: 'Vous n\'avez pas de compte?', + Do_you_really_want_to_key_this_room_question_mark: 'Voulez-vous vraiment {{key}} cette salle?', + edit: 'modifier', + erasing_room: 'effacement de la salle', + Edit: 'Modifier', + Email_or_password_field_is_empty: 'Le champ e-mail ou mot de passe est vide', + Email: 'E-mail', + email: 'e-mail', + Enable_notifications: 'Activer les notifications', + Everyone_can_access_this_channel: 'Tout le monde peut accéder à ce canal', + Error_uploading: 'Erreur lors du téléchargement', + Favorites: 'Favoris', + Files: 'Fichiers', + File_description: 'Description du fichier', + File_name: 'Nom de fichier', + Finish_recording: 'Terminer l\'enregistrement', + For_your_security_you_must_enter_your_current_password_to_continue: 'Pour votre sécurité, vous devez entrer votre mot de passe actuel pour continuer.', + Forgot_my_password: 'J\'ai oublié mon mot de passe', + Forgot_password_If_this_email_is_registered: 'Si cet e-mail est enregistré, nous vous enverrons des instructions pour réinitialiser votre mot de passe. Si vous ne recevez pas d\'e-mail sous peu, veuillez revenir et réessayer.', + Forgot_password: 'Mot de passe oublié', + Forgot_Password: 'Mot de passe oublié', + Group_by_favorites: 'Grouper par favoris', + Group_by_type: 'Grouper par type', + Has_joined_the_channel: 'A rejoint le canal', + Has_left_the_channel: 'A quitté la chaîne', + Invisible: 'Invisible', + Invite: 'Inviter', + is_a_valid_RocketChat_instance: 'est une instance valide de Rocket.Chat', + is_not_a_valid_RocketChat_instance: 'n\'est pas une instance valide de Rocket.Chat', + is_typing: 'est en train d\'écrire', + Invalid_server_version: 'Le serveur que vous essayez de connecter utilise une version qui n\'est plus prise en charge par l\'application: {{currentVersion}}.\n\nNous exigeons la version {{minVersion}}', + Join_the_community: 'Rejoindre la communauté', + Join: 'Rejoindre', + Just_invited_people_can_access_this_channel: 'Seuls les invités peuvent accéder à ce canal', + Language: 'Langue', + last_message: 'Dernier message', + Leave_channel: 'Quitter le canal', + leaving_room: 'En quittent le canal', + leave: 'quitter', + Legal: 'Légale', + Livechat: 'Livechat', + Login: 'Connexion', + Login_error: 'Vos identifiants ont été rejetés! Veuillez réessayer.', + Login_with: 'Se connecter avec', + Logout: 'Se déconnecter', + members: 'membres', + Members: 'Membres', + Mentioned_Messages: 'Messages mentionnés', + mentioned: 'mentionné', + Mentions: 'Mentions', + Message_accessibility: 'message de {{user}} à {{time}}: {{message}}', + Message_actions: 'Actions de message', + Message_pinned: 'Message épinglé', + Message_removed: 'Message supprimé', + Messages: 'Messages', + Microphone_Permission_Message: 'Rocket Chat doit avoir accès à votre microphone pour pouvoir envoyer un message audio.', + Microphone_Permission: 'Permission de microphone', + Mute: 'Rendre muet', + muted: 'Rendu muet', + My_servers: 'Mes serveurs', + N_people_reacted: '{{n}} personnes ont réagi', + N_users: '{{n}} utilisateurs', + name: 'nom', + Name: 'Nom', + New_Message: 'Nouveau message', + New_Password: 'Nouveau mot de passe', + New_Server: 'Nouveau serveur', + Next: 'Suivant', + No_files: 'Aucun fichier', + No_mentioned_messages: 'Aucun message mentionné', + No_pinned_messages: 'Aucun message épinglé', + No_results_found: 'Aucun résultat trouvé', + No_snippeted_messages: 'Aucun message extrait', + No_starred_messages: 'Pas de messages suivis', + No_announcement_provided: 'Aucune annonce fournie.', + No_description_provided: 'Aucune description fournie.', + No_topic_provided: 'Aucun sujet fourni.', + No_Message: 'Aucun message', + No_Reactions: 'Aucune réaction', + Not_logged: 'Non connecté', + Nothing_to_save: 'Rien à enregistrer!', + Notify_active_in_this_room: 'Notifier les utilisateurs actifs dans cette salle', + Notify_all_in_this_room: 'Notifier tous dans cette salle', + Offline: 'Hors ligne', + Oops: 'Oops!', + Online: 'En ligne', + Only_authorized_users_can_write_new_messages: 'Seuls les utilisateurs autorisés peuvent écrire de nouveaux messages.', + Open_emoji_selector: 'Ouvrir sélecteur emoji', + Open_Source_Communication: 'Communication Open Source', + Password: 'Mot de passe', + Permalink_copied_to_clipboard: 'Lien permanent copié dans le presse-papier!', + Pin: 'Épingler', + Pinned_Messages: 'Messages épinglés', + pinned: 'épinglé', + Pinned: 'Épinglé', + Please_enter_your_password: 'Veuillez entrer votre mot de passe', + Preferences_saved: 'Préférences sauvegardées!', + Privacy_Policy: ' Politique de confidentialité', + Private_Channel: 'Canal privé', + Private_Groups: 'Groupes privés', + Private: 'Privé', + Profile_saved_successfully: 'Profil enregistré avec succès!', + Profile: 'Profil', + Public_Channel: 'Canal Public', + Public: 'Public', + Quote: 'Citation', + Reactions_are_disabled: 'Les réactions sont désactivées', + Reactions_are_enabled: 'Les réactions sont activées', + Reactions: 'Réactions', + Read_Only_Channel: 'Chaîne en lecture seule', + Read_Only: 'Lecture seule', + Register: 'S\'inscrire', + Repeat_Password: 'Répéter le mot de passe', + Reply: 'Répondre', + Resend: 'Renvoyer', + Reset_password: 'Réinitialiser le mot de passe', + resetting_password: 'réinitialisation du mot de passe', + RESET: 'RÉINITIALISER', + Roles: 'Rôles', + Room_actions: 'Actions de canal', + Room_changed_announcement: 'Annonce de canal est changée en: {{announcement}} par {{userBy}}', + Room_changed_description: 'Description de canal est changée en: {{description}} par {{userBy}}', + Room_changed_privacy: 'Type de canal est changé en: {{type}} par {{userBy}}', + Room_changed_topic: 'Le sujet de canal est changé en: {{topic}} par {{userBy}}', + Room_Files: 'Fichiers de canal', + Room_Info_Edit: 'Infos sur le canal Modifier', + Room_Info: 'Info sur le canal', + Room_Members: 'Membres de canal', + Room_name_changed: 'Nom de canal est changé en: {{name}} par {{userBy}}', + SAVE: 'ENREGISTRER', + Save_Changes: 'Sauvegarder les modifications', + Save: 'Sauvegarder', + saving_preferences: 'sauvegardant les préférences', + saving_profile: 'enregistrement du profil', + saving_settings: 'enregistrement des paramètres', + Search_Messages: 'Rechercher des messages', + Search: 'Recherche', + Select_Avatar: 'Sélectionnez un avatar', + Select_Users: 'Sélectionner des utilisateurs', + Send: 'Envoyer', + Send_audio_message: 'Envoyer un message audio', + Send_message: 'Envoyer un message', + Server: 'Serveur', + Servers: 'Serveurs', + Set_username_subtitle: 'Le nom d\'utilisateur est utilisé pour permettre aux autres de vous mentionner dans les messages', + Settings: 'Paramètres', + Settings_succesfully_changed: 'Paramètres modifiés avec succès!', + Share_Message: 'Partager un message', + Share: 'Partager', + Sign_in_your_server: 'Connectez-vous à votre serveur', + Sign_Up: 'S\'inscrire', + Snippet_Messages: 'Messages Extraits', + snippeted: 'extrait', + Snippets: 'Extraits', + Some_field_is_invalid_or_empty: 'Certains champs sont invalides ou vides', + Sorting_by: 'Tri par {{key}}', + Star_room: 'Favoriser canal', + Star: 'Favoris', + Starred_Messages: 'Les messages favorisé', + starred: 'favorisé', + Starred: 'Favorisé', + Start_of_conversation: 'Début de conversation', + Submit: 'Soumettre', + Take_a_photo: 'Prendre une photo', + tap_to_change_status: 'Appuyez pour changer de statut', + Tap_to_view_servers_list: 'Appuyez pour afficher la liste des serveurs', + Terms_of_Service: ' Conditions d\'utilisation ', + The_URL_is_invalid: 'L\'URL que vous avez entrée n\'est pas valide. Vérifiez et essayez à nouveau!', + There_was_an_error_while_action: 'Il y avait une erreur en {{action}}!', + This_room_is_blocked: 'Cette canal est bloquée', + This_room_is_read_only: 'Cette canal est en lecture seule', + Timezone: 'Fuseau horaire', + Toggle_Drawer: 'Toggle_Drawer', + topic: 'sujet', + Topic: 'Sujet', + Try_again: 'Réessayer', + Two_Factor_Authentication: 'Authentification à deux facteurs', + Type_the_channel_name_here: 'Tapez le nom de canal ici', + unarchive: 'désarchiver', + UNARCHIVE: 'DÉSARCHIVER', + Unblock_user: 'Débloquer l\'utilisateur', + Unmute: 'Rendre La parole', + unmuted: 'Rendu la parole', + Unpin: 'Détacher', + unread_messages: 'messages non lus', + Unread: 'Non lu', + Unread_on_top: 'Non lu sur le dessus', + Unstar: 'Unstar', + Uploading: 'Téléchargement', + Upload_file_question_mark: 'Télécharger le fichier?', + User_added_by: 'L\'utilisateur {{userAdded}} a été ajouté par {{userBy}}', + User_has_been_key: 'L\'utilisateur a été {{key}}!', + User_is_no_longer_role_by_: '{{user}} n\'est plus {{role}} par {{userBy}}', + User_muted_by: 'L\'utilisateur {{userMuted}} a été rendu muet par {{userBy}}', + User_removed_by: 'L\'utilisateur {{userRemoved}} a été retiré par {{userBy}}', + User_sent_an_attachment: '{{user}} envoyé une pièce jointe', + User_unmuted_by: 'L\'utilisateur {{userBy}} a rendu la parole a {{userUnmuted}} ', + User_was_set_role_by_: '{{user}} l\'utilisateur a été défini {{role}} par {{userBy}}', + Username_is_empty: 'Nom d\'utilisateur est vide', + Username: 'Nom d\'utilisateur', + Username_or_email: 'Nom d\'utilisateur ou address e-mail', + Validating: 'Validation', + Video_call: 'Appel vidéo', + Voice_call: 'Appel vocal', + Welcome: 'Bienvenue', + Welcome_to_RocketChat: 'Bienvenue sur Rocket.Chat', + Whats_your_2fa: 'Quel est votre code 2FA?', + Yes_action_it: 'Oui, {{action}} le!', + Yesterday: 'Hier', + You_are_in_preview_mode: 'Vous êtes en mode de prévisualisation', + You_are_offline: 'Vous êtes hors ligne', + You_can_search_using_RegExp_eg: 'Vous pouvez rechercher à l\'aide de RegExp. e.g. `/^text$/i`', + You_colon: 'Vous: ', + you_were_mentioned: 'vous avez été mentionné', + you: 'vous', + You: 'Vous', + You_will_not_be_able_to_recover_this_message: 'Vous ne serez pas en mesure de récupérer ce message!' +}; diff --git a/app/views/SettingsView/index.js b/app/views/SettingsView/index.js index ee8e3a18..86f3e184 100644 --- a/app/views/SettingsView/index.js +++ b/app/views/SettingsView/index.js @@ -76,7 +76,10 @@ export default class SettingsView extends LoggedView { }, { label: '简体中文', value: 'zh-CN' - }], + },{ + label: 'Français', + value: 'fr' + },], saving: false }; Navigation.events().bindComponent(this);