From ce96595dce268f040e8e2f4554f964ed64de0435 Mon Sep 17 00:00:00 2001
From: Fazil Boudjelal <fazildiablou@hotmail.fr>
Date: Thu, 14 Feb 2019 16:40:41 +0100
Subject: [PATCH] I18n: Add French (#629)

---
 app/i18n/index.js               |   3 +-
 app/i18n/locales/fr.js          | 362 ++++++++++++++++++++++++++++++++
 app/views/SettingsView/index.js |   5 +-
 3 files changed, 368 insertions(+), 2 deletions(-)
 create mode 100644 app/i18n/locales/fr.js

diff --git a/app/i18n/index.js b/app/i18n/index.js
index 1b32927da..6e423e421 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 000000000..511654734
--- /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 ee8e3a188..86f3e184b 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);
-- 
GitLab