diff --git a/Source/lang/strings_french.txt b/Source/lang/strings_french.txt
new file mode 100644
index 0000000..96915f7
--- /dev/null
+++ b/Source/lang/strings_french.txt
@@ -0,0 +1,140 @@
+Utilisez $1 pour la branche, $2 pour la révision, $3 pour l\'horodatage, $4 pour le message de soumission, ou $5 pour le nom du dépôt.';
+$s_plugin_Source_reset = 'Réinitialiser';
+$s_plugin_Source_menu_links = 'Liens du menu principal';
+$s_plugin_Source_show_repo_link = 'Dépôts';
+$s_plugin_Source_show_search_link = 'Rechercher';
+$s_plugin_Source_show_repo_stats = 'Statistiques du dépôt';
+$s_plugin_Source_enabled_features = 'Fonctionnalités activées';
+$s_plugin_Source_enable_linking = 'Liaison de jeu de changements ([sv]:<reponame>:<revision>:)';
+$s_plugin_Source_enable_mapping = 'Association de branche';
+$s_plugin_Source_enable_resolving = 'Résoudre les demandes résolues';
+$s_plugin_Source_enable_message = 'Message de résolution';
+$s_plugin_Source_enable_porting = 'Etat de portage';
+
+$s_plugin_Source_branch_mapping = 'Associations de branche';
+$s_plugin_Source_mapping_update = 'Mettre à jour les associations';
+$s_plugin_Source_mapping_strategy = 'Stratégie';
+$s_plugin_Source_mapping_version = 'Version';
+$s_plugin_Source_mapping_version_info = '?';
+$s_plugin_Source_mapping_regex = 'Expression régulière';
+$s_plugin_Source_mapping_regex_info = '?';
+$s_plugin_Source_mapping_create = 'Créer une association';
+$s_plugin_Source_mapping_explicit = 'Version explicite';
+$s_plugin_Source_mapping_near = 'Date de livraison la plus proche';
+$s_plugin_Source_mapping_far = 'Date de livraison la plus éloignée';
+$s_plugin_Source_mapping_first = 'Version triée en premier';
+$s_plugin_Source_mapping_last = 'Version triée en dernier';
+
+$s_plugin_Source_changeset_attached = 'Jeu de changement attaché';
+$s_plugin_Source_changeset_removed = 'Jeu de changement détaché';
+
+$s_plugin_Source_ensure_delete = 'Voulez-vous vraiment supprimer le dépôt "%s" et tout son historique ?';
+$s_plugin_Source_ensure_import_full = 'Ceci va importer une nouvelle copie de votre dépôt, puis détruira les vieilles données de dépôt et pourrait avoir besoin d\'un accès au shell. Voulez-vous continuer ?';
+$s_plugin_Source_ensure_import_latest = 'Ceci va tenter d\'importer les données récentes dans votre dépôt et pourrait avoir besoin d\'un accès au shell. Voulez-vous continuer ?';
+$s_plugin_Source_import_results = 'Résultats de l\'import';
+$s_plugin_Source_import_stats = '%s jeux de changements importés, %s fichiers, et %s références de demande.';
+$s_plugin_Source_import_repo_error = 'Le processus d\'import a rencontré une erreur.';
+$s_plugin_Source_ = '';
+
+$s_plugin_Source_invalid_checkin_url = 'Adresse de soumission à distance invalide';
+$s_plugin_Source_invalid_import_url = 'Adresse d\'import à distance invalide';
+$s_plugin_Source_invalid_repo = 'Nom de dépôt invalide';
+$s_plugin_Source_invalid_changeset = 'Les informations du jeu de changement n\'ont pas pû être chargées';
+
+$s_plugin_Source_import_full_failed = 'L\'import complet du dépôt a échoué.';
+
diff --git a/SourceSVN/lang/strings_french.txt b/SourceSVN/lang/strings_french.txt
new file mode 100644
index 0000000..efec155
--- /dev/null
+++ b/SourceSVN/lang/strings_french.txt
@@ -0,0 +1,26 @@
+(trunk/branches/tags)';
+$s_plugin_SourceSVN_trunk_path = 'Chemin du tronc
(Dépôt non standard)';
+$s_plugin_SourceSVN_branch_path = 'Chemin des branches
(Dépôt non standard)';
+$s_plugin_SourceSVN_tag_path = 'Chemin des tags
(Dépôt non standard)';
+$s_plugin_SourceSVN_ignore_paths = 'Ignorer les autres chemins
(Dépôt non standard)';
+
+$s_plugin_SourceSVN_configuration = 'Configuration';
+$s_plugin_SourceSVN_update = 'Configuration';
+$s_plugin_SourceSVN_svnpath = 'SVN: Chemin de l\'éxécutable';
+$s_plugin_SourceSVN_svnargs = 'SVN: Arguments de ligne de commande';
+$s_plugin_SourceSVN_svnssl = 'SVN: Faire confiance à tous les certificats SSL
(Nécessite Subversion 1.6 ou plus récent)';
+$s_plugin_SourceSVN_winstart = 'SVN: Utiliser la commande Windows `start`
(Nécessite un chemin d\'éxécutable configuré correctement)';
+
diff --git a/SourceWebSVN/lang/strings_french.txt b/SourceWebSVN/lang/strings_french.txt
new file mode 100644
index 0000000..9d5944d
--- /dev/null
+++ b/SourceWebSVN/lang/strings_french.txt
@@ -0,0 +1,15 @@
+(Avec le slash final)';
+$s_plugin_SourceWebSVN_websvn_name = 'Nom WebSVN
(Répertoire dans le dépôt)';
+$s_plugin_SourceWebSVN_websvn_path = 'Chemin WebSVN
(Depuis la racine du dépôt)';
+