{"thread":{"id":"45362","subject":"[PATCH] l10n: add framework for localizing the manpages","startedAt":"2017-03-12T20:03:02Z","lastAt":"2017-03-27T20:29:34Z","messageCount":37,"participants":["Jean-Noel Avila","Jean-Noël AVILA","Junio C Hamano","Ævar Arnfjörð Bjarmason","Jean-Noël Avila","Stefan Beller","Michael J Gruber"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"313866","messageId":"20170312200248.3610-1-jn.avila@free.fr","threadId":"45362","inReplyTo":null,"subject":"[PATCH] l10n: add framework for localizing the manpages","fromName":"Jean-Noel Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-12T20:02:47Z","receivedAt":"2017-03-12T20:03:02Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"\nThis is first attempt at starting the internationalisation of the git\nman pages. For now, only man pages are generated, only for git-add and\nonly in french. The chosen tool for this is po4a (PO for anything)\nwhich can ingest asciidoc files and spit po files for each structural\nentity. Then from the translated po files, the translated asciidoc\nfiles are merged.\n\nThe main advantage of po files over plain translated files is the\nability to track changes in the original version and the fact that\nmaybe the translators of git can more easily pick up the task with\ntools they already know. Po4a is ready for the simple addition of new\nlanguages.\n\nThe problem with po4a is that we don't know before hand how many files\nare created (it depends on the percentage of translated strings). This\nleads to invoke make recursively to have the list of available files\nafter running po4a to actually process the generated asciidoc files.\n"},{"id":"313867","messageId":"20170312200248.3610-2-jn.avila@free.fr","threadId":"45362","inReplyTo":"20170312200248.3610-1-jn.avila@free.fr","subject":"[PATCH] l10n: add framework for localizing the manpages","fromName":"Jean-Noel Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-12T20:02:48Z","receivedAt":"2017-03-12T20:03:19Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Providing git in localized version is a good step for general adoption\nof the tool. But as of now, if one needs to refer to the manual pages,\nthey are still confronted to english. The aim is to provide\ndocumentation to users in their own language.\n\nSigned-off-by: Jean-Noel Avila <jn.avila@free.fr>\n---\n Documentation/Makefile               |   23 +-\n Documentation/po/documentation.fr.po | 1095 ++++++++++++++++++++++++++++++++++\n Documentation/po/documentation.pot   |  787 ++++++++++++++++++++++++\n Documentation/po4a.conf              |    5 +\n 4 files changed, 1908 insertions(+), 2 deletions(-)\n create mode 100644 Documentation/po/documentation.fr.po\n create mode 100644 Documentation/po/documentation.pot\n create mode 100644 Documentation/po4a.conf\n\ndiff --git a/Documentation/Makefile b/Documentation/Makefile\nindex b5be2e2d3..630384354 100644\n--- a/Documentation/Makefile\n+++ b/Documentation/Makefile\n@@ -1,4 +1,5 @@\n # Guard against environment variables\n+MAN1_L10N_TXT =\n MAN1_TXT =\n MAN5_TXT =\n MAN7_TXT =\n@@ -10,6 +11,7 @@ OBSOLETE_HTML =\n MAN1_TXT += $(filter-out \\\n \t\t$(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \\\n \t\t$(wildcard git-*.txt))\n+MAN1_L10N_TXT += $(wildcard po/*/man1/git-*.txt)\n MAN1_TXT += git.txt\n MAN1_TXT += gitk.txt\n MAN1_TXT += gitremote-helpers.txt\n@@ -86,6 +88,7 @@ DOC_HTML += $(patsubst %,%.html,$(ARTICLES) $(SP_ARTICLES))\n DOC_MAN1 = $(patsubst %.txt,%.1,$(MAN1_TXT))\n DOC_MAN5 = $(patsubst %.txt,%.5,$(MAN5_TXT))\n DOC_MAN7 = $(patsubst %.txt,%.7,$(MAN7_TXT))\n+DOC_MAN1_L10N = $(patsubst %.txt,%.1,$(MAN1_L10N_TXT))\n \n prefix ?= $(HOME)\n bindir ?= $(prefix)/bin\n@@ -209,6 +212,7 @@ endif\n \n ifneq ($(findstring $(MAKEFLAGS),s),s)\n ifndef V\n+\tQUIET_PO4A      = @echo '   ' PO4A $@;\n \tQUIET_ASCIIDOC\t= @echo '   ' ASCIIDOC $@;\n \tQUIET_XMLTO\t= @echo '   ' XMLTO $@;\n \tQUIET_DB2TEXI\t= @echo '   ' DB2TEXI $@;\n@@ -229,11 +233,20 @@ all: html man\n \n html: $(DOC_HTML)\n \n-man: man1 man5 man7\n+man: man1 man5 man7 man_l10n\n man1: $(DOC_MAN1)\n man5: $(DOC_MAN5)\n man7: $(DOC_MAN7)\n \n+man_l10n: po4a man1_p_l10n\n+po4a: po4a.conf\n+\t$(QUIET_PO4A)po4a po4a.conf\n+\n+man1_p_l10n: po4a\n+\t$(MAKE) man1_l10n\n+\n+man1_l10n: $(DOC_MAN1_L10N)\n+\n info: git.info gitman.info\n \n pdf: user-manual.pdf\n@@ -247,6 +260,11 @@ install-man: man\n \t$(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir)\n \t$(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir)\n \t$(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)\n+\t$(MAKE) install-man-l10n\n+\n+install-man-l10n: $(DOC_MAN1_L10N)\n+\t$(INSTALL) -d -m 755 $(DESTDIR)$(mandir)/$(firstword $(subst /man1/, ,$(subst po/,,$<)))/man1\n+\t$(INSTALL) -m 644 $< $(DESTDIR)$(mandir)$(subst po,,$<)\n \n install-info: info\n \t$(INSTALL) -d -m 755 $(DESTDIR)$(infodir)\n@@ -323,6 +341,7 @@ clean:\n \t$(RM) technical/*.html technical/api-index.txt\n \t$(RM) $(cmds_txt) $(mergetools_txt) *.made\n \t$(RM) manpage-base-url.xsl\n+\t$(RM) po/*/*.1 po/*/*.txt \n \n $(MAN_HTML): %.html : %.txt asciidoc.conf\n \t$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \\\n@@ -339,7 +358,7 @@ manpage-base-url.xsl: manpage-base-url.xsl.in\n \n %.1 %.5 %.7 : %.xml manpage-base-url.xsl\n \t$(QUIET_XMLTO)$(RM) $@ && \\\n-\t$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<\n+\t$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) -o $(dir $<) man $<\n \n %.xml : %.txt asciidoc.conf\n \t$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \\\ndiff --git a/Documentation/po/documentation.fr.po b/Documentation/po/documentation.fr.po\nnew file mode 100644\nindex 000000000..db23bd796\n--- /dev/null\n+++ b/Documentation/po/documentation.fr.po\n@@ -0,0 +1,1095 @@\n+# French translations for Git Manual Pages.\n+# Copyright (C) 2017 Jean-Noël Avila <jn.avila@free.fr>\n+# This file is distributed under the same license as the Git package.\n+# Jean-Noël Avila <jn.avila@free.fr>, 2016.\n+msgid \"\"\n+msgstr \"\"\n+\"Project-Id-Version: git documentation\\n\"\n+\"POT-Creation-Date: 2017-03-03 21:18+0100\\n\"\n+\"PO-Revision-Date: 2017-03-11 23:00+0100\\n\"\n+\"Last-Translator: Jean-Noël Avila <jn.avila@free.fr>\\n\"\n+\"Language-Team: Jean-Noël Avila <jn.avila@free.fr>\\n\"\n+\"Language: fr\\n\"\n+\"MIME-Version: 1.0\\n\"\n+\"Content-Type: text/plain; charset=utf-8\\n\"\n+\"Content-Transfer-Encoding: 8bit\\n\"\n+\n+#. type: Title =\n+#: git-add.txt:2\n+#, no-wrap\n+msgid \"git-add(1)\"\n+msgstr \"git-add(1)\"\n+\n+#. type: Title -\n+#: git-add.txt:5\n+#, no-wrap\n+msgid \"NAME\"\n+msgstr \"NOM\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:7\n+msgid \"git-add - Add file contents to the index\"\n+msgstr \"git-add - Ajoute le contenu de fichiers à l'index\"\n+\n+#. type: Title -\n+#: git-add.txt:9\n+#, no-wrap\n+msgid \"SYNOPSIS\"\n+msgstr \"SYNOPSIS\"\n+\n+#. type: Plain text\n+#: git-add.txt:15\n+#, no-wrap\n+msgid \"\"\n+\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n+\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n+\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n+\"\\t  [--chmod=(+|-)x] [--] [<pathspec>...]\\n\"\n+msgstr \"\"\n+\"'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n+\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n+\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n+\"\\t  [--] [<chemin>...]\\n\"\n+\n+#. type: Title -\n+#: git-add.txt:17\n+#, no-wrap\n+msgid \"DESCRIPTION\"\n+msgstr \"DESCRIPTION\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:24\n+msgid \"\"\n+\"This command updates the index using the current content found in the \"\n+\"working tree, to prepare the content staged for the next commit.  It \"\n+\"typically adds the current content of existing paths as a whole, but with \"\n+\"some options it can also be used to add content with only part of the \"\n+\"changes made to the working tree files applied, or remove paths that do not \"\n+\"exist in the working tree anymore.\"\n+msgstr \"\"\n+\"Cette commande met à jour l'index en utilisant le contenu actuel trouvé dans \"\n+\"la copie de travail, pour préparer le contenu de la prochaine validation. \"\n+\"Typiquement, elle ajoute intégralement le contenu actuel des chemins \"\n+\"existant, mais peut aussi n'ajouter que certaines parties des modifications \"\n+\"au moyen d'options ou soustraire certains chemins qui n'existent plus dans \"\n+\"la copie de travail.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:30\n+msgid \"\"\n+\"The \\\"index\\\" holds a snapshot of the content of the working tree, and it is \"\n+\"this snapshot that is taken as the contents of the next commit.  Thus after \"\n+\"making any changes to the working tree, and before running the commit \"\n+\"command, you must use the `add` command to add any new or modified files to \"\n+\"the index.\"\n+msgstr \"\"\n+\"L'« index » contient un instantané du contenu de la copie de travail et \"\n+\"c'est cet instantané qui sera utilisé comme contenu du prochain commit.  \"\n+\"Ainsi, après avoir réalisé des modifications dans la copie de travail, et \"\n+\"avant de lancer la commande commit, vous devez utiliser la commande `add` \"\n+\"pour ajouter tout fichier nouveau ou modifié à l'index.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:35\n+msgid \"\"\n+\"This command can be performed multiple times before a commit.  It only adds \"\n+\"the content of the specified file(s) at the time the add command is run; if \"\n+\"you want subsequent changes included in the next commit, then you must run \"\n+\"`git add` again to add the new content to the index.\"\n+msgstr \"\"\n+\"Cette commande peut être effectuée plusieurs fois avant la validation.  Elle \"\n+\"n'ajoute que le contenu des fichiers spécifiés au moment où la commande \"\n+\"`add` est lancée ; si vous souhaitez inclure des modifications postérieures \"\n+\"à un `add` dans la prochaine validation, vous devez alors lancer `git add` à \"\n+\"nouveau pour ajouter le nouveau contenu à l'index.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:38\n+msgid \"\"\n+\"The `git status` command can be used to obtain a summary of which files have \"\n+\"changes that are staged for the next commit.\"\n+msgstr \"\"\n+\"La commande `git status` permet d'obtenir un résumé des fichiers modifiés \"\n+\"qui sont préparés pour la prochaine validation.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:45\n+msgid \"\"\n+\"The `git add` command will not add ignored files by default.  If any ignored \"\n+\"files were explicitly specified on the command line, `git add` will fail \"\n+\"with a list of ignored files.  Ignored files reached by directory recursion \"\n+\"or filename globbing performed by Git (quote your globs before the shell) \"\n+\"will be silently ignored.  The 'git add' command can be used to add ignored \"\n+\"files with the `-f` (force) option.\"\n+msgstr \"\"\n+\"Par défaut, la commande `git add` n'ajoute pas les fichiers ignorés.  Si des \"\n+\"fichiers ignorés sont spécifiés explicitement en ligne de commande, `git \"\n+\"add` échouera avec la liste des fichiers ignorés. Les fichiers ignorés \"\n+\"atteint via la récursion de répertoires ou les patrons de fichiers gérés par \"\n+\"Git (les patrons doivent alors être échappés du shell par des quotes)  \"\n+\"seront ignorés silencieusement. La commande `git add` peut tout de même \"\n+\"ajouter des fichiers ignorés avec l'option `-f` (force).\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:48\n+msgid \"\"\n+\"Please see linkgit:git-commit[1] for alternative ways to add content to a \"\n+\"commit.\"\n+msgstr \"\"\n+\"Référez-vous linkgit:git-commit[1] pour des méthodes alternatives d'ajout de \"\n+\"contenu à une validation.\"\n+\n+#. type: Title -\n+#: git-add.txt:51\n+#, no-wrap\n+msgid \"OPTIONS\"\n+msgstr \"OPTIONS\"\n+\n+#. type: Plain text\n+#: git-add.txt:64\n+#, no-wrap\n+msgid \"\"\n+\"<pathspec>...::\\n\"\n+\"\\tFiles to add content from.  Fileglobs (e.g. `*.c`) can\\n\"\n+\"\\tbe given to add all matching files.  Also a\\n\"\n+\"\\tleading directory name (e.g. `dir` to add `dir/file1`\\n\"\n+\"\\tand `dir/file2`) can be given to update the index to\\n\"\n+\"\\tmatch the current state of the directory as a whole (e.g.\\n\"\n+\"\\tspecifying `dir` will record not just a file `dir/file1`\\n\"\n+\"\\tmodified in the working tree, a file `dir/file2` added to\\n\"\n+\"\\tthe working tree, but also a file `dir/file3` removed from\\n\"\n+\"\\tthe working tree.  Note that older versions of Git used\\n\"\n+\"\\tto ignore removed files; use `--no-all` option if you want\\n\"\n+\"\\tto add modified or new files but ignore removed\\tones.\\n\"\n+msgstr \"\"\n+\"<chemin>...::\\n\"\n+\"\\tFichiers dont le contenu doit être ajouté. Les patrons (ex : `*.c`)\\n\"\n+\"\\tpermettent de restreindre à tous le fichiers correspondant. Un\\n\"\n+\"\\tnom de répertoire (ex : `rep` pour ajouter `rep/fichier1` et\\n\"\n+\"\\t`rep/fichier2`) permet d'ajouter récursivement tous les fichiers\\n\"\n+\"\\td'un répertoire.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:69\n+#, no-wrap\n+msgid \"\"\n+\"-n::\\n\"\n+\"--dry-run::\\n\"\n+\"\\tDon't actually add the file(s), just show if they exist and/or will\\n\"\n+\"\\tbe ignored.\\n\"\n+msgstr \"\"\n+\"-n::\\n\"\n+\"--dry-run::\\n\"\n+\"\\tN'ajoute pas réellement les fichiers. Montrer juste s'ils existent\\n\"\n+\"\\tou seront ignorés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:73\n+#, no-wrap\n+msgid \"\"\n+\"-v::\\n\"\n+\"--verbose::\\n\"\n+\"        Be verbose.\\n\"\n+msgstr \"\"\n+\"-v::\\n\"\n+\"--verbose::\\n\"\n+\"        Mode bavard.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:77\n+#, no-wrap\n+msgid \"\"\n+\"-f::\\n\"\n+\"--force::\\n\"\n+\"\\tAllow adding otherwise ignored files.\\n\"\n+msgstr \"\"\n+\"-f::\\n\"\n+\"--force::\\n\"\n+\"\\tForce l'ajout de fichiers qui sont normalement ignorés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:84\n+#, no-wrap\n+msgid \"\"\n+\"-i::\\n\"\n+\"--interactive::\\n\"\n+\"\\tAdd modified contents in the working tree interactively to\\n\"\n+\"\\tthe index. Optional path arguments may be supplied to limit\\n\"\n+\"\\toperation to a subset of the working tree. See ``Interactive\\n\"\n+\"\\tmode'' for details.\\n\"\n+msgstr \"\"\n+\"-i::\\n\"\n+\"--interactive::\\n\"\n+\"\\tAjoute le contenu modifié dans l'arbre de travail à l'index\\n\"\n+\"\\tde manière interactive. Les arguments optionnels de chemin \\n\"\n+\"\\tpermettent de limiter les opérations à un sous-ensemble de la\\n\"\n+\"\\tcopie de travail. Référez-vous à « Mode interactif » pour plus\\n\"\n+\"\\tde détails.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:91\n+#, no-wrap\n+msgid \"\"\n+\"-p::\\n\"\n+\"--patch::\\n\"\n+\"\\tInteractively choose hunks of patch between the index and the\\n\"\n+\"\\twork tree and add them to the index. This gives the user a chance\\n\"\n+\"\\tto review the difference before adding modified contents to the\\n\"\n+\"\\tindex.\\n\"\n+msgstr \"\"\n+\"-p::\\n\"\n+\"--patch::\\n\"\n+\"\\tChoisit de manière interactive les sections de patch entre l'index\\n\"\n+\"\\tet la copie de travail et les ajouter à l'index. Cela permet à\\n\"\n+\"\\tl'utilisateur de réviser les différences avec d'ajouter le contenu\\n\"\n+\"\\tmodifié à l'index.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:95\n+#, no-wrap\n+msgid \"\"\n+\"This effectively runs `add --interactive`, but bypasses the\\n\"\n+\"initial command menu and directly jumps to the `patch` subcommand.\\n\"\n+\"See ``Interactive mode'' for details.\\n\"\n+msgstr \"\"\n+\"Cela lance effectivement `add --interactive` mais court-circuite\\n\"\n+\"le menu initial et saute directement à la sous-commande `patch`.\\n\"\n+\"Référez-vous à ``Mode interactif'' pour plus de détails.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:101\n+#, no-wrap\n+msgid \"\"\n+\"-e::\\n\"\n+\"--edit::\\n\"\n+\"\\tOpen the diff vs. the index in an editor and let the user\\n\"\n+\"\\tedit it.  After the editor was closed, adjust the hunk headers\\n\"\n+\"\\tand apply the patch to the index.\\n\"\n+msgstr \"\"\n+\"-e::\\n\"\n+\"--edit::\\n\"\n+\"\\tOuvre les différences avec l'index dans un éditeur et laisser\\n\"\n+\"\\tl'utilisateur les éditer. Après la fermeture de l'éditeur, ajuster\\n\"\n+\"\\tles entêtes de sections et appliquer le patch dans l'index.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:107\n+#, no-wrap\n+msgid \"\"\n+\"The intent of this option is to pick and choose lines of the patch to\\n\"\n+\"apply, or even to modify the contents of lines to be staged. This can be\\n\"\n+\"quicker and more flexible than using the interactive hunk selector.\\n\"\n+\"However, it is easy to confuse oneself and create a patch that does not\\n\"\n+\"apply to the index. See EDITING PATCHES below.\\n\"\n+msgstr \"\"\n+\"L'objectif de cette option est de permettre de choisir et retenir les\\n\"\n+\"lignes du patch à appliquer, ou même de modifier le contenu des lignes\\n\"\n+\"à indexer. Cela peut être plus rapide et plus flexible que l'utilisation\\n\"\n+\"du sélecteur interactif. Cependant, il plus facile de se \\n\"\n+\"tromper et de créer un patch qui ne s'applique pas. Référez-vous à\\n\"\n+\"ÉDITER LES PATCHS ci-dessous.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:113\n+#, no-wrap\n+msgid \"\"\n+\"-u::\\n\"\n+\"--update::\\n\"\n+\"\\tUpdate the index just where it already has an entry matching\\n\"\n+\"\\t<pathspec>.  This removes as well as modifies index entries to\\n\"\n+\"\\tmatch the working tree, but adds no new files.\\n\"\n+msgstr \"\"\n+\"-u::\\n\"\n+\"--update::\\n\"\n+\"\\tMet à jour l'index sur les seuls fichiers déjà présents et\\n\"\n+\"\\tcorrespondant à <chemin>. Cela retire ou modifie les entrées\\n\"\n+\"\\td'index pour correspondre à la copie de travail, mais n'ajoute\\n\"\n+\"\\tpas de fichier.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:118\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-u` option is used, all\\n\"\n+\"tracked files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\"Si aucun <chemin> n'est spécifié, quand l'option `-u` est utilisée,\\n\"\n+\"tous les fichiers suivis dans la totalité de la copie de travail sont\\n\"\n+\"mis à jour (les version anciennes de Git limitaient la mise à jour au\\n\"\n+\"répertoire courant et ses sous-répertoires).\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:126\n+#, no-wrap\n+msgid \"\"\n+\"-A::\\n\"\n+\"--all::\\n\"\n+\"--no-ignore-removal::\\n\"\n+\"\\tUpdate the index not only where the working tree has a file\\n\"\n+\"\\tmatching <pathspec> but also where the index already has an\\n\"\n+\"\\tentry.\\tThis adds, modifies, and removes index entries to\\n\"\n+\"\\tmatch the working tree.\\n\"\n+msgstr \"\"\n+\"-A::\\n\"\n+\"--all::\\n\"\n+\"--no-ignore-removal::\\n\"\n+\"\\tMet à jour l'index non seulement pour tous les fichiers de\\n\"\n+\"\\tla copie de travail correspondant à <chemin> mais aussi pour\\n\"\n+\"\\ttoutes les entrées existant déjà dans l'index. Ceci ajoute,\\n\"\n+\"\\tmodifie et retire des entrées d'index pour correspondre à\\n\"\n+\"\\tla copie de travail.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:131\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-A` option is used, all\\n\"\n+\"files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\"Si aucun <chemin> n'est spécifié quand l'option `-A` est utilisée,\\n\"\n+\"tous le fichiers de l'arbre de travail sont mis à jour (les versions\\n\"\n+\"anciennes de Git utilisaient le répertoire courant et ses\\n\"\n+\"sous-répertoires).\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:138\n+#, no-wrap\n+msgid \"\"\n+\"--no-all::\\n\"\n+\"--ignore-removal::\\n\"\n+\"\\tUpdate the index by adding new files that are unknown to the\\n\"\n+\"\\tindex and files modified in the working tree, but ignore\\n\"\n+\"\\tfiles that have been removed from the working tree.  This\\n\"\n+\"\\toption is a no-op when no <pathspec> is used.\\n\"\n+msgstr \"\"\n+\"--no-all::\\n\"\n+\"--ignore-removal::\\n\"\n+\"\\tMet à jour l'index en ajoutant dans l'index les nouveaux\\n\"\n+\"\\tfichiers qui sont inconnus et les fichiers modifiés dans la\\n\"\n+\"\\tcopie de travail, mais ignore les fichiers qui ont été\\n\"\n+\"\\teffacés de la copie de travail. Cette option ne fait rien\\n\"\n+\"\\tquand aucun <chemin> n'est utilisé.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:142\n+#, no-wrap\n+msgid \"\"\n+\"This option is primarily to help users who are used to older\\n\"\n+\"versions of Git, whose \\\"git add <pathspec>...\\\" was a synonym\\n\"\n+\"for \\\"git add --no-all <pathspec>...\\\", i.e. ignored removed files.\\n\"\n+msgstr \"\"\n+\"Cette option sert principalement à aider les utilisateurs de versions\\n\"\n+\"anciennes de Git pour lesquels « git add <chemin>... » était synonyme\\n\"\n+\"de « git add --no-all <chemin>... », c'est-à-dire qui ignorait les\\n\"\n+\"fichiers effacés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:150\n+#, no-wrap\n+msgid \"\"\n+\"-N::\\n\"\n+\"--intent-to-add::\\n\"\n+\"\\tRecord only the fact that the path will be added later. An entry\\n\"\n+\"\\tfor the path is placed in the index with no content. This is\\n\"\n+\"\\tuseful for, among other things, showing the unstaged content of\\n\"\n+\"\\tsuch files with `git diff` and committing them with `git commit\\n\"\n+\"\\t-a`.\\n\"\n+msgstr \"\"\n+\"-N::\\n\"\n+\"--intent-to-add::\\n\"\n+\"\\tN'enregistre que le fait que le chemin sera ajouté plus tard. Une\\n\"\n+\"\\tentrée pour le chemin est placée en index sans contenu. C'est\\n\"\n+\"\\tparticulièrement utile pour, entre autres choses, montrer le\\n\"\n+\"\\tcontenu non indexé de ces fichiers avec `git diff` et les valider\\n\"\n+\"\\tavec `git commit -a`.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:154\n+#, no-wrap\n+msgid \"\"\n+\"--refresh::\\n\"\n+\"\\tDon't add the file(s), but only refresh their stat()\\n\"\n+\"\\tinformation in the index.\\n\"\n+msgstr \"\"\n+\"--refresh::\\n\"\n+\"\\tN'ajoute pas les fichiers mais rafraîchit seulement leur\\n\"\n+\"\\tinformation de stat() dans l'index.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:161\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-errors::\\n\"\n+\"\\tIf some files could not be added because of errors indexing\\n\"\n+\"\\tthem, do not abort the operation, but continue adding the\\n\"\n+\"\\tothers. The command shall still exit with non-zero status.\\n\"\n+\"\\tThe configuration variable `add.ignoreErrors` can be set to\\n\"\n+\"\\ttrue to make this the default behaviour.\\n\"\n+msgstr \"\"\n+\"--ignore-errors::\\n\"\n+\"\\tSi des fichiers n'ont pu être ajoutés à cause d'erreurs lors\\n\"\n+\"\\tde leur indexation, n'annule pas l'opération mais continue\\n\"\n+\"\\tl'ajout des autres fichiers. La commande se terminera tout de\\n\"\n+\"\\tmême avec un code d'erreur non nul. Le paramètre\\n\"\n+\"\\tde configuration `add.ignoreErrors` peut être positionné à\\n\"\n+\"\\ttrue pour que ce comportement soit celui par défaut.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:167\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-missing::\\n\"\n+\"\\tThis option can only be used together with --dry-run. By using\\n\"\n+\"\\tthis option the user can check if any of the given files would\\n\"\n+\"\\tbe ignored, no matter if they are already present in the work\\n\"\n+\"\\ttree or not.\\n\"\n+msgstr \"\"\n+\"--ignore-missing::\\n\"\n+\"\\tCette option ne peut être utilisée que couplée avec --dry-run.\\n\"\n+\"\\tL'utilisation de cette option permet à l'utilisateur de vérifier\\n\"\n+\"\\tsi un des fichiers indiqués serait ignoré, qu'il soit présent\\n\"\n+\"\\tou non dans la copie de travail.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:172\n+#, no-wrap\n+msgid \"\"\n+\"--chmod=(+|-)x::\\n\"\n+\"\\tOverride the executable bit of the added files.  The executable\\n\"\n+\"\\tbit is only changed in the index, the files on disk are left\\n\"\n+\"\\tunchanged.\\n\"\n+msgstr \"\"\n+\"--chmod=(+|-)x::\\n\"\n+\"\\tForce le bit exécutable des fichiers ajoutés. Le bit\\n\"\n+\"\\texécutable n'est modifié que dans l'index, les fichiers de la\\n\"\n+\"\\tcopie de travail ne sont pas modifiés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:177\n+#, no-wrap\n+msgid \"\"\n+\"\\\\--::\\n\"\n+\"\\tThis option can be used to separate command-line options from\\n\"\n+\"\\tthe list of files, (useful when filenames might be mistaken\\n\"\n+\"\\tfor command-line options).\\n\"\n+msgstr \"\"\n+\"\\\\--::\\n\"\n+\"\\tCette option permet de séparer les options de la ligne de commande\\n\"\n+\"\\tde la liste des fichiers (utile si certains noms de fichiers\\n\"\n+\"\\tpeuvent être confondus avec des options).\\n\"\n+\n+#. type: Title -\n+#: git-add.txt:180\n+#, no-wrap\n+msgid \"Configuration\"\n+msgstr \"Configuration\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:186\n+msgid \"\"\n+\"The optional configuration variable `core.excludesFile` indicates a path to \"\n+\"a file containing patterns of file names to exclude from git-add, similar to \"\n+\"$GIT_DIR/info/exclude.  Patterns in the exclude file are used in addition to \"\n+\"those in info/exclude.  See linkgit:gitignore[5].\"\n+msgstr \"\"\n+\"Le paramètre de configuration optionnel `core.excludesFile` indique un \"\n+\"chemin vers un fichier contenant les patrons des noms de fichier à exclure \"\n+\"de git-add, similaire à $GIT_DIR/info/exclude. Les patrons dans le fichier \"\n+\"d'exclusion sont additionnés à ceux de info/exclude. Référez-vous à linkgit:\"\n+\"gitignore[5].\"\n+\n+#. type: Title -\n+#: git-add.txt:189\n+#, no-wrap\n+msgid \"EXAMPLES\"\n+msgstr \"EXEMPLES\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:193\n+msgid \"\"\n+\"Adds content from all `*.txt` files under `Documentation` directory and its \"\n+\"subdirectories:\"\n+msgstr \"\"\n+\"Ajouter le contenu de tous le fichiers `*.txt` sous le répertoire \"\n+\"`Documentation` et ses sous répertoires.\"\n+\n+#. type: delimited block -\n+#: git-add.txt:196\n+#, no-wrap\n+msgid \"$ git add Documentation/\\\\*.txt\\n\"\n+msgstr \"$ git add Documentation/\\\\*.txt\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:201\n+msgid \"\"\n+\"Note that the asterisk `*` is quoted from the shell in this example; this \"\n+\"lets the command include the files from subdirectories of `Documentation/` \"\n+\"directory.\"\n+msgstr \"\"\n+\"Remarquez que l'astérisque `*` est échappé du shell dans cet exemple ; cela \"\n+\"permet d'inclure les fichiers dans les sous-répertoires du Répertoire \"\n+\"`Documentation/`.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:203\n+msgid \"Considers adding content from all git-*.sh scripts:\"\n+msgstr \"Ajouter le contenu de tous les scripts git-*.sh :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:206\n+#, no-wrap\n+msgid \"$ git add git-*.sh\\n\"\n+msgstr \"$ git add git-*.sh\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:211\n+msgid \"\"\n+\"Because this example lets the shell expand the asterisk (i.e. you are \"\n+\"listing the files explicitly), it does not consider `subdir/git-foo.sh`.\"\n+msgstr \"\"\n+\"Comme cet exemple laisse le shell réaliser l'expansion de l'astérisque \"\n+\"(c'est-à-dire que vous listez explicitement les fichiers du répertoire), il \"\n+\"ne traite pas `subdir/git-foo.sh`.\"\n+\n+#. type: Title -\n+#: git-add.txt:213\n+#, no-wrap\n+msgid \"Interactive mode\"\n+msgstr \"Mode interactif\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:217\n+msgid \"\"\n+\"When the command enters the interactive mode, it shows the output of the \"\n+\"'status' subcommand, and then goes into its interactive command loop.\"\n+msgstr \"\"\n+\"Quand la commande entre en mode interactif, elle affiche le résultat de la \"\n+\"sous-commande 'status', puis entre en boucle de commande interactive.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:222\n+msgid \"\"\n+\"The command loop shows the list of subcommands available, and gives a prompt \"\n+\"\\\"What now> \\\".  In general, when the prompt ends with a single '>', you can \"\n+\"pick only one of the choices given and type return, like this:\"\n+msgstr \"\"\n+\"La boucle de commande affiche la liste des sous-commandes disponibles et \"\n+\"affiche le prompt \\\"What now>\\\" (Que faire maintenant). En général, lorsque \"\n+\"le prompt se termine par un '>' unique, vous ne pouvez choisir qu'une seule \"\n+\"des propositions et appuyer Entrée, comme cela :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:228\n+#, no-wrap\n+msgid \"\"\n+\"    *** Commands ***\\n\"\n+\"      1: status       2: update       3: revert       4: add untracked\\n\"\n+\"      5: patch        6: diff         7: quit         8: help\\n\"\n+\"    What now> 1\\n\"\n+msgstr \"\"\n+\"    *** Commands ***\\n\"\n+\"      1: status       2: update       3: revert       4: add untracked\\n\"\n+\"      5: patch        6: diff         7: quit         8: help\\n\"\n+\"    What now> 1\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:232\n+msgid \"\"\n+\"You also could say `s` or `sta` or `status` above as long as the choice is \"\n+\"unique.\"\n+msgstr \"\"\n+\"Vous pouvez indiquer `s` ou `sta` ou `status` dans le cas si dessus, à \"\n+\"condition que le choix soit unique.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:234\n+msgid \"The main command loop has 6 subcommands (plus help and quit).\"\n+msgstr \"\"\n+\"La boucle de commande principale propose 6 sous-commandes (plus help (aide)  \"\n+\"et quit (quitter)).\"\n+\n+#. type: Labeled list\n+#: git-add.txt:235\n+#, no-wrap\n+msgid \"status\"\n+msgstr \"status\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:242\n+msgid \"\"\n+\"This shows the change between HEAD and index (i.e. what will be committed if \"\n+\"you say `git commit`), and between index and working tree files (i.e. what \"\n+\"you could stage further before `git commit` using `git add`) for each path.  \"\n+\"A sample output looks like this:\"\n+msgstr \"\"\n+\"Affiche les modifications entre HEAD et l'index (c-à-d ce qui serait validé \"\n+\"si vous lanciez `git commit`), et entre l'index et les fichiers de la copie \"\n+\"de travail (c-à-d ce que vous pourriez indexer au moyen de `git add` avant \"\n+\"de lancer `git commit`) pour chaque chemin. Un exemple d'affichage ressemble \"\n+\"à ceci :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:247\n+#, no-wrap\n+msgid \"\"\n+\"              staged     unstaged path\\n\"\n+\"     1:       binary      nothing foo.png\\n\"\n+\"     2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\"              staged     unstaged path\\n\"\n+\"     1:       binary      nothing foo.png\\n\"\n+\"     2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:258\n+msgid \"\"\n+\"It shows that foo.png has differences from HEAD (but that is binary so line \"\n+\"count cannot be shown) and there is no difference between indexed copy and \"\n+\"the working tree version (if the working tree version were also different, \"\n+\"'binary' would have been shown in place of 'nothing').  The other file, git-\"\n+\"add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if you \"\n+\"commit what is in the index, but working tree file has further modifications \"\n+\"(one addition and one deletion).\"\n+msgstr \"\"\n+\"foo.png contient de différences avec HEAD (mais c'est un format binaire donc \"\n+\"le nombre de lignes ne peut pas être affiché) et il n'y a pas différence \"\n+\"entre la copie indexée et la copie de travail (si la copie de travail avait \"\n+\"été aussi différente, 'binary' aurait été affiché à la place de 'nothing'). \"\n+\"L'autre fichier, git-add{litdd}interactive.perl, a 430 lignes ajoutées et 35 \"\n+\"effacées si vous validez ce qui est dans l'index, mais la copie de travail \"\n+\"contient d'autres modifications (un ajout et un retrait).\"\n+\n+#. type: Labeled list\n+#: git-add.txt:259\n+#, no-wrap\n+msgid \"update\"\n+msgstr \"update\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:268\n+msgid \"\"\n+\"This shows the status information and issues an \\\"Update>>\\\" prompt.  When \"\n+\"the prompt ends with double '>>', you can make more than one selection, \"\n+\"concatenated with whitespace or comma.  Also you can say ranges.  E.g. \\\"2-5 \"\n+\"7,9\\\" to choose 2,3,4,5,7,9 from the list.  If the second number in a range \"\n+\"is omitted, all remaining patches are taken.  E.g. \\\"7-\\\" to choose 7,8,9 \"\n+\"from the list.  You can say '*' to choose everything.\"\n+msgstr \"\"\n+\"Affiche l'information d'état et un prompt \\\"Update>>\\\". Quand le prompt se \"\n+\"termine par un double '>', vous pouvez sélectionner plus d'une option, \"\n+\"concaténées avec des espaces ou des virgules. Vous pouvez aussi indiquer des \"\n+\"intervalles.  Par exemple \\\"2-5 7,9\\\" pour choisir 2, 3, 4, 5, 7 et 9 dans \"\n+\"la liste. Si le second nombre d'un intervalle est absent, tous les patchs \"\n+\"restants sont sélectionnés. Par ex. \\\"7-\\\" choisit 7, 8 et 9 dans la liste. \"\n+\"'*' permet de tout sélectionner.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:271\n+msgid \"What you chose are then highlighted with '*', like this:\"\n+msgstr \"Tout ce qui a été sélectionné est indiqué par une '*', comme ceci :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:276\n+#, no-wrap\n+msgid \"\"\n+\"           staged     unstaged path\\n\"\n+\"  1:       binary      nothing foo.png\\n\"\n+\"* 2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\"           staged     unstaged path\\n\"\n+\"  1:       binary      nothing foo.png\\n\"\n+\"* 2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:280\n+msgid \"To remove selection, prefix the input with `-` like this:\"\n+msgstr \"Pour retirer une sélection, préfixez-la avec `-` comme ceci :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:283\n+#, no-wrap\n+msgid \"Update>> -2\\n\"\n+msgstr \"Update>> -2\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:287\n+msgid \"\"\n+\"After making the selection, answer with an empty line to stage the contents \"\n+\"of working tree files for selected paths in the index.\"\n+msgstr \"\"\n+\"Après sélection, répondez avec une ligne vide pour indexer le contenu des \"\n+\"fichiers sélectionnés de la copie de travail.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:288\n+#, no-wrap\n+msgid \"revert\"\n+msgstr \"revert\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:293\n+msgid \"\"\n+\"This has a very similar UI to 'update', and the staged information for \"\n+\"selected paths are reverted to that of the HEAD version.  Reverting new \"\n+\"paths makes them untracked.\"\n+msgstr \"\"\n+\"Ceci présente une interface d'utilisation similaire à 'update', et le \"\n+\"contenu indexé des chemins sélectionnés sont ramenés à la version HEAD. \"\n+\"Inverser des chemins nouveau les rend non-suivis.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:294\n+#, no-wrap\n+msgid \"add untracked\"\n+msgstr \"add untracked\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:298\n+msgid \"\"\n+\"This has a very similar UI to 'update' and 'revert', and lets you add \"\n+\"untracked paths to the index.\"\n+msgstr \"\"\n+\"Ceci présente une interface d'utilisation très similaire à 'update' et \"\n+\"'revert' et permet d'ajouter des chemins non-suivis à l'index.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:299\n+#, no-wrap\n+msgid \"patch\"\n+msgstr \"patch\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:306\n+msgid \"\"\n+\"This lets you choose one path out of a 'status' like selection.  After \"\n+\"choosing the path, it presents the diff between the index and the working \"\n+\"tree file and asks you if you want to stage the change of each hunk.  You \"\n+\"can select one of the following options and type return:\"\n+msgstr \"\"\n+\"Ceci permet de choisir un chemin depuis une sélection similaire à 'status'. \"\n+\"Après le choix du chemin, la différence entre l'index et le fichier dans \"\n+\"l'arbre de travail est présenté et vous demande si vous souhaiter indexer \"\n+\"chaque section de modification. Vous pouvez sélectionner une des options \"\n+\"suivantes et taper entréé :\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:321\n+msgid \"\"\n+\"y - stage this hunk n - do not stage this hunk q - quit; do not stage this \"\n+\"hunk or any of the remaining ones a - stage this hunk and all later hunks in \"\n+\"the file d - do not stage this hunk or any of the later hunks in the file g \"\n+\"- select a hunk to go to / - search for a hunk matching the given regex j - \"\n+\"leave this hunk undecided, see next undecided hunk J - leave this hunk \"\n+\"undecided, see next hunk k - leave this hunk undecided, see previous \"\n+\"undecided hunk K - leave this hunk undecided, see previous hunk s - split \"\n+\"the current hunk into smaller hunks e - manually edit the current hunk ? - \"\n+\"print help\"\n+msgstr \"\"\n+\"y - indexer cette section\\n\"\n+\"n - ne pas indexer cette section\\n\"\n+\"q - quitter ; ne pas indexer cette section ni les autres restantes\\n\"\n+\"a - indexer cette section et toutes les suivantes de ce fichier\\n\"\n+\"d - ne pas indexer cette section ni les suivantes de ce fichier\\n\"\n+\"g - selectionner une section et s'y rendre\\n\"\n+\"/ - rechercher une section correspondant à une regex donnée\\n\"\n+\"j - laisser cette section non décidée et aller à la suivante non-décidée\\n\"\n+\"J - laisser cette section non décidée et aller à la suivante\\n\"\n+\"k - laisser cette section non décidée et aller à la précédente non-décidée\\n\"\n+\"K - laisser cette section non décidée et aller à la précédente\\n\"\n+\"s - découper la section en sections plus petites\\n\"\n+\"e - éditer manuellement la section actuelle\\n\"\n+\"? - afficher l'aide\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:324\n+msgid \"\"\n+\"After deciding the fate for all hunks, if there is any hunk that was chosen, \"\n+\"the index is updated with the selected hunks.\"\n+msgstr \"\"\n+\"Après avoir décidé du devenir de chaque section, l'index est mis à jour avec \"\n+\"les sections sélectionnées.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:327\n+msgid \"\"\n+\"You can omit having to type return here, by setting the configuration \"\n+\"variable `interactive.singleKey` to `true`.\"\n+msgstr \"\"\n+\"Vous pouvez vous éviter de taper entrée ici, en mettant la variable de \"\n+\"configuration `interactive.singlekey` à `true`.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:328\n+#, no-wrap\n+msgid \"diff\"\n+msgstr \"diff\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:332\n+msgid \"\"\n+\"This lets you review what will be committed (i.e. between HEAD and index).\"\n+msgstr \"\"\n+\"Ceci permet de faire une revue de ce qui sera validé (c'est une différence \"\n+\"entre HEAD et index).\"\n+\n+#. type: Title -\n+#: git-add.txt:335\n+#, no-wrap\n+msgid \"EDITING PATCHES\"\n+msgstr \"EDITER LES PATCHES\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:345\n+msgid \"\"\n+\"Invoking `git add -e` or selecting `e` from the interactive hunk selector \"\n+\"will open a patch in your editor; after the editor exits, the result is \"\n+\"applied to the index. You are free to make arbitrary changes to the patch, \"\n+\"but note that some changes may have confusing results, or even result in a \"\n+\"patch that cannot be applied.  If you want to abort the operation entirely \"\n+\"(i.e., stage nothing new in the index), simply delete all lines of the \"\n+\"patch. The list below describes some common things you may see in a patch, \"\n+\"and which editing operations make sense on them.\"\n+msgstr \"\"\n+\"Invoquer `git add -e` ou selectionner `e` depuis le sélecteur interactif de \"\n+\"sections ouvre un patch dans votre éditeur ; après avoir quitté l'éditeur, \"\n+\"le résultat est appliqué à l'index. Vous êtes libre de modifier en tout \"\n+\"point le patch, mais notez cependant que certaines modifications provoquent \"\n+\"des résultats inattendus ou même créent des patchs inapplicables. Si vous \"\n+\"souhaitez abandonner complètement l'opération (c'est-à-dire ne rien ajouter \"\n+\"à l'index), effacez toutes les lignes du patch. La liste ci-dessous décrit \"\n+\"des formes habituelles dans les patchs et quelles opérations d'édition \"\n+\"peuvent être réalisées.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:347\n+#, no-wrap\n+msgid \"added content\"\n+msgstr \"contenu ajouté\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:351\n+msgid \"\"\n+\"Added content is represented by lines beginning with \\\"{plus}\\\". You can \"\n+\"prevent staging any addition lines by deleting them.\"\n+msgstr \"\"\n+\"Le contenu ajouté est représentés par des lignes commençant par un \"\n+\"\\\"{plus}\\\". Vous pouvez empêcher l'indexation de lignes ajoutées en les \"\n+\"supprimant.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:352\n+#, no-wrap\n+msgid \"removed content\"\n+msgstr \"contenu supprimé\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:356\n+msgid \"\"\n+\"Removed content is represented by lines beginning with \\\"-\\\". You can \"\n+\"prevent staging their removal by converting the \\\"-\\\" to a \\\" \\\" (space).\"\n+msgstr \"\"\n+\"Le contenu supprimé est représenté par des lignes commençant par \\\"-\\\". Vous \"\n+\"pouvez empêcher l'indexation de ces suppression en convertissant le \\\"-\\\" en \"\n+\"\\\" \\\" (espace).\"\n+\n+#. type: Labeled list\n+#: git-add.txt:357\n+#, no-wrap\n+msgid \"modified content\"\n+msgstr \"contenu modifié\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:364\n+msgid \"\"\n+\"Modified content is represented by \\\"-\\\" lines (removing the old content)  \"\n+\"followed by \\\"{plus}\\\" lines (adding the replacement content). You can \"\n+\"prevent staging the modification by converting \\\"-\\\" lines to \\\" \\\", and \"\n+\"removing \\\"{plus}\\\" lines. Beware that modifying only half of the pair is \"\n+\"likely to introduce confusing changes to the index.\"\n+msgstr \"\"\n+\"Le contenu modifié est représenté par des lignes \\\"-\\\" (supprimant l'ancien \"\n+\"contenu) suivies de lignes \\\"{plus}\\\" (ajoutant le nouveau contenu). Vous \"\n+\"pouvez empêcher l'indexation de ces modifications en convertissant les \"\n+\"lignes \\\"_\\\" en ligne \\\" \\\" et en supprimant les lignes \\\"{plus}\\\". Méfiez-\"\n+\"vous : ne modifier que la moitié de la paire de lignes a de fortes chances \"\n+\"de créer des modifications inattendues dans l'index.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:372\n+msgid \"\"\n+\"There are also more complex operations that can be performed. But beware \"\n+\"that because the patch is applied only to the index and not the working \"\n+\"tree, the working tree will appear to \\\"undo\\\" the change in the index.  For \"\n+\"example, introducing a new line into the index that is in neither the HEAD \"\n+\"nor the working tree will stage the new line for commit, but the line will \"\n+\"appear to be reverted in the working tree.\"\n+msgstr \"\"\n+\"Il existe aussi des opérations plus complexes. Méfiez-vous : quand le patch \"\n+\"n'est appliqué que dans l'index et pas dans l'arbre de travail, l'arbre de \"\n+\"travail semblera « défaire » les modifications de l'index. Par exemple, \"\n+\"l'introduction dans l'index d'une nouvelle ligne qui n'apparait ni dans HEAD \"\n+\"ni dans l'arbre de travail indexera la nouvelle ligne pour validation, mais \"\n+\"cette ligne semblera être supprimée dans l'arbre de travail.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:374\n+msgid \"Avoid using these constructs, or do so with extreme caution.\"\n+msgstr \"\"\n+\"Évitez d'utiliser ces constructions, ou faites le avec une extrême \"\n+\"précaution.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:376\n+#, no-wrap\n+msgid \"removing untouched content\"\n+msgstr \"suppression de contenu intact\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:382\n+msgid \"\"\n+\"Content which does not differ between the index and working tree may be \"\n+\"shown on context lines, beginning with a \\\" \\\" (space).  You can stage \"\n+\"context lines for removal by converting the space to a \\\"-\\\". The resulting \"\n+\"working tree file will appear to re-add the content.\"\n+msgstr \"\"\n+\"Le contenu qui ne diffère pas entre l'index et l'arbre de travail peut être \"\n+\"visible dans des lignes de contexte commençant par un \\\" \\\" (espace). Vous \"\n+\"pouvez indexer l'élimination de lignes de contexte en convertissant l'espace \"\n+\"en \\\"-\\\". Le fichier dans l'arbre de travail semblera ré-ajouter le contenu.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:383\n+#, no-wrap\n+msgid \"modifying existing content\"\n+msgstr \"modification de contenu existant\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:390\n+msgid \"\"\n+\"One can also modify context lines by staging them for removal (by converting \"\n+\"\\\" \\\" to \\\"-\\\") and adding a \\\"{plus}\\\" line with the new content.  \"\n+\"Similarly, one can modify \\\"{plus}\\\" lines for existing additions or \"\n+\"modifications. In all cases, the new modification will appear reverted in \"\n+\"the working tree.\"\n+msgstr \"\"\n+\"On peut aussi modifier le contenu de lignes de contexte en indexant leur \"\n+\"suppression (en convertissant \\\" \\\" en \\\"-\\\") et en ajoutant dessous une \"\n+\"ligne \\\"{plus}\\\" avec le nouveau contenu. On peut modifier des lignes \"\n+\"\\\"{plus}\\\" dans des ajouts ou des modifications de contenu. Dans tous les \"\n+\"cas, la nouvelle modification indexée semblera être annulée dans l'arbre de \"\n+\"travail.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:391\n+#, no-wrap\n+msgid \"new content\"\n+msgstr \"contenu nouveau\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:396\n+msgid \"\"\n+\"You may also add new content that does not exist in the patch; simply add \"\n+\"new lines, each starting with \\\"{plus}\\\". The addition will appear reverted \"\n+\"in the working tree.\"\n+msgstr \"\"\n+\"Vous pouvez aussi ajouter du contenu nouveau qui n'existe pas dans le \"\n+\"patch ; ajoutez simplement des nouvelles lignes, chacune commençant avec \"\n+\"\\\"{plus}\\\". L'ajout semblera annulé dans l'arbre de travail.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:400\n+msgid \"\"\n+\"There are also several operations which should be avoided entirely, as they \"\n+\"will make the patch impossible to apply:\"\n+msgstr \"\"\n+\"Il existe aussi quelques opération à éviter complètement car celles-ci \"\n+\"rendent le patch inapplicable :\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:402\n+msgid \"adding context (\\\" \\\") or removal (\\\"-\\\") lines\"\n+msgstr \"ajout de context (\\\" \\\") ou lignes de suppression (\\\"-\\\")\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:403\n+msgid \"deleting context or removal lines\"\n+msgstr \"suppression de contexte ou de lignes supprimées\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:404\n+msgid \"modifying the contents of context or removal lines\"\n+msgstr \"modification de contenu de contexte ou de lignes supprimées\"\n+\n+#. type: Title -\n+#: git-add.txt:406\n+#, no-wrap\n+msgid \"SEE ALSO\"\n+msgstr \"VOIR AUSSI\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:413\n+msgid \"\"\n+\"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-\"\n+\"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]\"\n+msgstr \"\"\n+\"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-\"\n+\"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]\"\n+\n+#. type: Title -\n+#: git-add.txt:415\n+#, no-wrap\n+msgid \"GIT\"\n+msgstr \"GIT\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:416\n+msgid \"Part of the linkgit:git[1] suite\"\n+msgstr \"Fait partie de la suite linkgit:git[1]\"\ndiff --git a/Documentation/po/documentation.pot b/Documentation/po/documentation.pot\nnew file mode 100644\nindex 000000000..46c590bea\n--- /dev/null\n+++ b/Documentation/po/documentation.pot\n@@ -0,0 +1,787 @@\n+# SOME DESCRIPTIVE TITLE\n+# Copyright (C) YEAR Free Software Foundation, Inc.\n+# This file is distributed under the same license as the PACKAGE package.\n+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n+#\n+#, fuzzy\n+msgid \"\"\n+msgstr \"\"\n+\"Project-Id-Version: PACKAGE VERSION\\n\"\n+\"POT-Creation-Date: 2017-03-03 21:18+0100\\n\"\n+\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n+\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n+\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n+\"Language: \\n\"\n+\"MIME-Version: 1.0\\n\"\n+\"Content-Type: text/plain; charset=CHARSET\\n\"\n+\"Content-Transfer-Encoding: 8bit\\n\"\n+\n+#. type: Title =\n+#: ./git-add.txt:2\n+#, no-wrap\n+msgid \"git-add(1)\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:5\n+#, no-wrap\n+msgid \"NAME\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:7\n+msgid \"git-add - Add file contents to the index\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:9\n+#, no-wrap\n+msgid \"SYNOPSIS\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:15\n+#, no-wrap\n+msgid \"\"\n+\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | \"\n+\"-i] [--patch | -p]\\n\"\n+\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n+\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] \"\n+\"[--ignore-missing]\\n\"\n+\"\\t  [--chmod=(+|-)x] [--] [<pathspec>...]\\n\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:17\n+#, no-wrap\n+msgid \"DESCRIPTION\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:24\n+msgid \"\"\n+\"This command updates the index using the current content found in the \"\n+\"working tree, to prepare the content staged for the next commit.  It \"\n+\"typically adds the current content of existing paths as a whole, but with \"\n+\"some options it can also be used to add content with only part of the \"\n+\"changes made to the working tree files applied, or remove paths that do not \"\n+\"exist in the working tree anymore.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:30\n+msgid \"\"\n+\"The \\\"index\\\" holds a snapshot of the content of the working tree, and it is \"\n+\"this snapshot that is taken as the contents of the next commit.  Thus after \"\n+\"making any changes to the working tree, and before running the commit \"\n+\"command, you must use the `add` command to add any new or modified files to \"\n+\"the index.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:35\n+msgid \"\"\n+\"This command can be performed multiple times before a commit.  It only adds \"\n+\"the content of the specified file(s) at the time the add command is run; if \"\n+\"you want subsequent changes included in the next commit, then you must run \"\n+\"`git add` again to add the new content to the index.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:38\n+msgid \"\"\n+\"The `git status` command can be used to obtain a summary of which files have \"\n+\"changes that are staged for the next commit.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:45\n+msgid \"\"\n+\"The `git add` command will not add ignored files by default.  If any ignored \"\n+\"files were explicitly specified on the command line, `git add` will fail \"\n+\"with a list of ignored files.  Ignored files reached by directory recursion \"\n+\"or filename globbing performed by Git (quote your globs before the shell) \"\n+\"will be silently ignored.  The 'git add' command can be used to add ignored \"\n+\"files with the `-f` (force) option.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:48\n+msgid \"\"\n+\"Please see linkgit:git-commit[1] for alternative ways to add content to a \"\n+\"commit.\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:51\n+#, no-wrap\n+msgid \"OPTIONS\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:64\n+#, no-wrap\n+msgid \"\"\n+\"<pathspec>...::\\n\"\n+\"\\tFiles to add content from.  Fileglobs (e.g. `*.c`) can\\n\"\n+\"\\tbe given to add all matching files.  Also a\\n\"\n+\"\\tleading directory name (e.g. `dir` to add `dir/file1`\\n\"\n+\"\\tand `dir/file2`) can be given to update the index to\\n\"\n+\"\\tmatch the current state of the directory as a whole (e.g.\\n\"\n+\"\\tspecifying `dir` will record not just a file `dir/file1`\\n\"\n+\"\\tmodified in the working tree, a file `dir/file2` added to\\n\"\n+\"\\tthe working tree, but also a file `dir/file3` removed from\\n\"\n+\"\\tthe working tree.  Note that older versions of Git used\\n\"\n+\"\\tto ignore removed files; use `--no-all` option if you want\\n\"\n+\"\\tto add modified or new files but ignore removed\\tones.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:69\n+#, no-wrap\n+msgid \"\"\n+\"-n::\\n\"\n+\"--dry-run::\\n\"\n+\"\\tDon't actually add the file(s), just show if they exist and/or will\\n\"\n+\"\\tbe ignored.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:73\n+#, no-wrap\n+msgid \"\"\n+\"-v::\\n\"\n+\"--verbose::\\n\"\n+\"        Be verbose.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:77\n+#, no-wrap\n+msgid \"\"\n+\"-f::\\n\"\n+\"--force::\\n\"\n+\"\\tAllow adding otherwise ignored files.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:84\n+#, no-wrap\n+msgid \"\"\n+\"-i::\\n\"\n+\"--interactive::\\n\"\n+\"\\tAdd modified contents in the working tree interactively to\\n\"\n+\"\\tthe index. Optional path arguments may be supplied to limit\\n\"\n+\"\\toperation to a subset of the working tree. See ``Interactive\\n\"\n+\"\\tmode'' for details.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:91\n+#, no-wrap\n+msgid \"\"\n+\"-p::\\n\"\n+\"--patch::\\n\"\n+\"\\tInteractively choose hunks of patch between the index and the\\n\"\n+\"\\twork tree and add them to the index. This gives the user a chance\\n\"\n+\"\\tto review the difference before adding modified contents to the\\n\"\n+\"\\tindex.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:95\n+#, no-wrap\n+msgid \"\"\n+\"This effectively runs `add --interactive`, but bypasses the\\n\"\n+\"initial command menu and directly jumps to the `patch` subcommand.\\n\"\n+\"See ``Interactive mode'' for details.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:101\n+#, no-wrap\n+msgid \"\"\n+\"-e::\\n\"\n+\"--edit::\\n\"\n+\"\\tOpen the diff vs. the index in an editor and let the user\\n\"\n+\"\\tedit it.  After the editor was closed, adjust the hunk headers\\n\"\n+\"\\tand apply the patch to the index.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:107\n+#, no-wrap\n+msgid \"\"\n+\"The intent of this option is to pick and choose lines of the patch to\\n\"\n+\"apply, or even to modify the contents of lines to be staged. This can be\\n\"\n+\"quicker and more flexible than using the interactive hunk selector.\\n\"\n+\"However, it is easy to confuse oneself and create a patch that does not\\n\"\n+\"apply to the index. See EDITING PATCHES below.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:113\n+#, no-wrap\n+msgid \"\"\n+\"-u::\\n\"\n+\"--update::\\n\"\n+\"\\tUpdate the index just where it already has an entry matching\\n\"\n+\"\\t<pathspec>.  This removes as well as modifies index entries to\\n\"\n+\"\\tmatch the working tree, but adds no new files.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:118\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-u` option is used, all\\n\"\n+\"tracked files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:126\n+#, no-wrap\n+msgid \"\"\n+\"-A::\\n\"\n+\"--all::\\n\"\n+\"--no-ignore-removal::\\n\"\n+\"\\tUpdate the index not only where the working tree has a file\\n\"\n+\"\\tmatching <pathspec> but also where the index already has an\\n\"\n+\"\\tentry.\\tThis adds, modifies, and removes index entries to\\n\"\n+\"\\tmatch the working tree.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:131\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-A` option is used, all\\n\"\n+\"files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:138\n+#, no-wrap\n+msgid \"\"\n+\"--no-all::\\n\"\n+\"--ignore-removal::\\n\"\n+\"\\tUpdate the index by adding new files that are unknown to the\\n\"\n+\"\\tindex and files modified in the working tree, but ignore\\n\"\n+\"\\tfiles that have been removed from the working tree.  This\\n\"\n+\"\\toption is a no-op when no <pathspec> is used.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:142\n+#, no-wrap\n+msgid \"\"\n+\"This option is primarily to help users who are used to older\\n\"\n+\"versions of Git, whose \\\"git add <pathspec>...\\\" was a synonym\\n\"\n+\"for \\\"git add --no-all <pathspec>...\\\", i.e. ignored removed files.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:150\n+#, no-wrap\n+msgid \"\"\n+\"-N::\\n\"\n+\"--intent-to-add::\\n\"\n+\"\\tRecord only the fact that the path will be added later. An entry\\n\"\n+\"\\tfor the path is placed in the index with no content. This is\\n\"\n+\"\\tuseful for, among other things, showing the unstaged content of\\n\"\n+\"\\tsuch files with `git diff` and committing them with `git commit\\n\"\n+\"\\t-a`.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:154\n+#, no-wrap\n+msgid \"\"\n+\"--refresh::\\n\"\n+\"\\tDon't add the file(s), but only refresh their stat()\\n\"\n+\"\\tinformation in the index.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:161\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-errors::\\n\"\n+\"\\tIf some files could not be added because of errors indexing\\n\"\n+\"\\tthem, do not abort the operation, but continue adding the\\n\"\n+\"\\tothers. The command shall still exit with non-zero status.\\n\"\n+\"\\tThe configuration variable `add.ignoreErrors` can be set to\\n\"\n+\"\\ttrue to make this the default behaviour.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:167\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-missing::\\n\"\n+\"\\tThis option can only be used together with --dry-run. By using\\n\"\n+\"\\tthis option the user can check if any of the given files would\\n\"\n+\"\\tbe ignored, no matter if they are already present in the work\\n\"\n+\"\\ttree or not.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:172\n+#, no-wrap\n+msgid \"\"\n+\"--chmod=(+|-)x::\\n\"\n+\"\\tOverride the executable bit of the added files.  The executable\\n\"\n+\"\\tbit is only changed in the index, the files on disk are left\\n\"\n+\"\\tunchanged.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:177\n+#, no-wrap\n+msgid \"\"\n+\"\\\\--::\\n\"\n+\"\\tThis option can be used to separate command-line options from\\n\"\n+\"\\tthe list of files, (useful when filenames might be mistaken\\n\"\n+\"\\tfor command-line options).\\n\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:180\n+#, no-wrap\n+msgid \"Configuration\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:186\n+msgid \"\"\n+\"The optional configuration variable `core.excludesFile` indicates a path to \"\n+\"a file containing patterns of file names to exclude from git-add, similar to \"\n+\"$GIT_DIR/info/exclude.  Patterns in the exclude file are used in addition to \"\n+\"those in info/exclude.  See linkgit:gitignore[5].\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:189\n+#, no-wrap\n+msgid \"EXAMPLES\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:193\n+msgid \"\"\n+\"Adds content from all `*.txt` files under `Documentation` directory and its \"\n+\"subdirectories:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:196\n+#, no-wrap\n+msgid \"$ git add Documentation/\\\\*.txt\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:201\n+msgid \"\"\n+\"Note that the asterisk `*` is quoted from the shell in this example; this \"\n+\"lets the command include the files from subdirectories of `Documentation/` \"\n+\"directory.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:203\n+msgid \"Considers adding content from all git-*.sh scripts:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:206\n+#, no-wrap\n+msgid \"$ git add git-*.sh\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:211\n+msgid \"\"\n+\"Because this example lets the shell expand the asterisk (i.e. you are \"\n+\"listing the files explicitly), it does not consider `subdir/git-foo.sh`.\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:213\n+#, no-wrap\n+msgid \"Interactive mode\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:217\n+msgid \"\"\n+\"When the command enters the interactive mode, it shows the output of the \"\n+\"'status' subcommand, and then goes into its interactive command loop.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:222\n+msgid \"\"\n+\"The command loop shows the list of subcommands available, and gives a prompt \"\n+\"\\\"What now> \\\".  In general, when the prompt ends with a single '>', you can \"\n+\"pick only one of the choices given and type return, like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:228\n+#, no-wrap\n+msgid \"\"\n+\"    *** Commands ***\\n\"\n+\"      1: status       2: update       3: revert       4: add untracked\\n\"\n+\"      5: patch        6: diff         7: quit         8: help\\n\"\n+\"    What now> 1\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:232\n+msgid \"\"\n+\"You also could say `s` or `sta` or `status` above as long as the choice is \"\n+\"unique.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:234\n+msgid \"The main command loop has 6 subcommands (plus help and quit).\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:235\n+#, no-wrap\n+msgid \"status\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:242\n+msgid \"\"\n+\"This shows the change between HEAD and index (i.e. what will be committed if \"\n+\"you say `git commit`), and between index and working tree files (i.e. what \"\n+\"you could stage further before `git commit` using `git add`) for each path.  \"\n+\"A sample output looks like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:247\n+#, no-wrap\n+msgid \"\"\n+\"              staged     unstaged path\\n\"\n+\"     1:       binary      nothing foo.png\\n\"\n+\"     2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:258\n+msgid \"\"\n+\"It shows that foo.png has differences from HEAD (but that is binary so line \"\n+\"count cannot be shown) and there is no difference between indexed copy and \"\n+\"the working tree version (if the working tree version were also different, \"\n+\"'binary' would have been shown in place of 'nothing').  The other file, \"\n+\"git-add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if \"\n+\"you commit what is in the index, but working tree file has further \"\n+\"modifications (one addition and one deletion).\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:259\n+#, no-wrap\n+msgid \"update\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:268\n+msgid \"\"\n+\"This shows the status information and issues an \\\"Update>>\\\" prompt.  When \"\n+\"the prompt ends with double '>>', you can make more than one selection, \"\n+\"concatenated with whitespace or comma.  Also you can say ranges.  E.g. \\\"2-5 \"\n+\"7,9\\\" to choose 2,3,4,5,7,9 from the list.  If the second number in a range \"\n+\"is omitted, all remaining patches are taken.  E.g. \\\"7-\\\" to choose 7,8,9 \"\n+\"from the list.  You can say '*' to choose everything.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:271\n+msgid \"What you chose are then highlighted with '*', like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:276\n+#, no-wrap\n+msgid \"\"\n+\"           staged     unstaged path\\n\"\n+\"  1:       binary      nothing foo.png\\n\"\n+\"* 2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:280\n+msgid \"To remove selection, prefix the input with `-` like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:283\n+#, no-wrap\n+msgid \"Update>> -2\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:287\n+msgid \"\"\n+\"After making the selection, answer with an empty line to stage the contents \"\n+\"of working tree files for selected paths in the index.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:288\n+#, no-wrap\n+msgid \"revert\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:293\n+msgid \"\"\n+\"This has a very similar UI to 'update', and the staged information for \"\n+\"selected paths are reverted to that of the HEAD version.  Reverting new \"\n+\"paths makes them untracked.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:294\n+#, no-wrap\n+msgid \"add untracked\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:298\n+msgid \"\"\n+\"This has a very similar UI to 'update' and 'revert', and lets you add \"\n+\"untracked paths to the index.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:299\n+#, no-wrap\n+msgid \"patch\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:306\n+msgid \"\"\n+\"This lets you choose one path out of a 'status' like selection.  After \"\n+\"choosing the path, it presents the diff between the index and the working \"\n+\"tree file and asks you if you want to stage the change of each hunk.  You \"\n+\"can select one of the following options and type return:\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:321\n+msgid \"\"\n+\"y - stage this hunk n - do not stage this hunk q - quit; do not stage this \"\n+\"hunk or any of the remaining ones a - stage this hunk and all later hunks in \"\n+\"the file d - do not stage this hunk or any of the later hunks in the file g \"\n+\"- select a hunk to go to / - search for a hunk matching the given regex j - \"\n+\"leave this hunk undecided, see next undecided hunk J - leave this hunk \"\n+\"undecided, see next hunk k - leave this hunk undecided, see previous \"\n+\"undecided hunk K - leave this hunk undecided, see previous hunk s - split \"\n+\"the current hunk into smaller hunks e - manually edit the current hunk ? - \"\n+\"print help\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:324\n+msgid \"\"\n+\"After deciding the fate for all hunks, if there is any hunk that was chosen, \"\n+\"the index is updated with the selected hunks.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:327\n+msgid \"\"\n+\"You can omit having to type return here, by setting the configuration \"\n+\"variable `interactive.singleKey` to `true`.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:328\n+#, no-wrap\n+msgid \"diff\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:332\n+msgid \"This lets you review what will be committed (i.e. between HEAD and index).\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:335\n+#, no-wrap\n+msgid \"EDITING PATCHES\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:345\n+msgid \"\"\n+\"Invoking `git add -e` or selecting `e` from the interactive hunk selector \"\n+\"will open a patch in your editor; after the editor exits, the result is \"\n+\"applied to the index. You are free to make arbitrary changes to the patch, \"\n+\"but note that some changes may have confusing results, or even result in a \"\n+\"patch that cannot be applied.  If you want to abort the operation entirely \"\n+\"(i.e., stage nothing new in the index), simply delete all lines of the \"\n+\"patch. The list below describes some common things you may see in a patch, \"\n+\"and which editing operations make sense on them.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:347\n+#, no-wrap\n+msgid \"added content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:351\n+msgid \"\"\n+\"Added content is represented by lines beginning with \\\"{plus}\\\". You can \"\n+\"prevent staging any addition lines by deleting them.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:352\n+#, no-wrap\n+msgid \"removed content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:356\n+msgid \"\"\n+\"Removed content is represented by lines beginning with \\\"-\\\". You can \"\n+\"prevent staging their removal by converting the \\\"-\\\" to a \\\" \\\" (space).\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:357\n+#, no-wrap\n+msgid \"modified content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:364\n+msgid \"\"\n+\"Modified content is represented by \\\"-\\\" lines (removing the old content)  \"\n+\"followed by \\\"{plus}\\\" lines (adding the replacement content). You can \"\n+\"prevent staging the modification by converting \\\"-\\\" lines to \\\" \\\", and \"\n+\"removing \\\"{plus}\\\" lines. Beware that modifying only half of the pair is \"\n+\"likely to introduce confusing changes to the index.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:372\n+msgid \"\"\n+\"There are also more complex operations that can be performed. But beware \"\n+\"that because the patch is applied only to the index and not the working \"\n+\"tree, the working tree will appear to \\\"undo\\\" the change in the index.  For \"\n+\"example, introducing a new line into the index that is in neither the HEAD \"\n+\"nor the working tree will stage the new line for commit, but the line will \"\n+\"appear to be reverted in the working tree.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:374\n+msgid \"Avoid using these constructs, or do so with extreme caution.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:376\n+#, no-wrap\n+msgid \"removing untouched content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:382\n+msgid \"\"\n+\"Content which does not differ between the index and working tree may be \"\n+\"shown on context lines, beginning with a \\\" \\\" (space).  You can stage \"\n+\"context lines for removal by converting the space to a \\\"-\\\". The resulting \"\n+\"working tree file will appear to re-add the content.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:383\n+#, no-wrap\n+msgid \"modifying existing content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:390\n+msgid \"\"\n+\"One can also modify context lines by staging them for removal (by converting \"\n+\"\\\" \\\" to \\\"-\\\") and adding a \\\"{plus}\\\" line with the new content.  \"\n+\"Similarly, one can modify \\\"{plus}\\\" lines for existing additions or \"\n+\"modifications. In all cases, the new modification will appear reverted in \"\n+\"the working tree.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:391\n+#, no-wrap\n+msgid \"new content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:396\n+msgid \"\"\n+\"You may also add new content that does not exist in the patch; simply add \"\n+\"new lines, each starting with \\\"{plus}\\\". The addition will appear reverted \"\n+\"in the working tree.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:400\n+msgid \"\"\n+\"There are also several operations which should be avoided entirely, as they \"\n+\"will make the patch impossible to apply:\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:402\n+msgid \"adding context (\\\" \\\") or removal (\\\"-\\\") lines\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:403\n+msgid \"deleting context or removal lines\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:404\n+msgid \"modifying the contents of context or removal lines\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:406\n+#, no-wrap\n+msgid \"SEE ALSO\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:413\n+msgid \"\"\n+\"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] \"\n+\"linkgit:git-mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:415\n+#, no-wrap\n+msgid \"GIT\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:416\n+msgid \"Part of the linkgit:git[1] suite\"\n+msgstr \"\"\ndiff --git a/Documentation/po4a.conf b/Documentation/po4a.conf\nnew file mode 100644\nindex 000000000..b6ee8b4a6\n--- /dev/null\n+++ b/Documentation/po4a.conf\n@@ -0,0 +1,5 @@\n+[po4a_langs] fr\n+[po4a_paths] po/documentation.pot $lang:po/documentation.$lang.po\n+[options] opt: \" -k 80\"\n+\n+[type: asciidoc] ./git-add.txt $lang:./po/$lang/man1/git-add.txt\n-- \n2.12.0\n\n"},{"id":"313869","messageId":"12214955.EmB7ja1MbS@cayenne","threadId":"45362","inReplyTo":"20170312200248.3610-2-jn.avila@free.fr","subject":"Re: [PATCH] l10n: add framework for localizing the manpages","fromName":"Jean-Noël AVILA","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-12T20:36:32Z","receivedAt":"2017-03-12T20:36:40Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"This patch is only a preview and a request for comment. The tool used to \nperform the localization of manpages is po4a (po for anything). This tool \ndigests the asciidoc source files and writes a pot file, and then merges back \nthe po files into translated asciidoc files, for further processing.\n\nThe choice of this workflow is driven by two concerns: manage the tracking of \nthe changes in the original files and provide the translators with a format of \nfile that they already use. Moreover, I plan to upload the po files to web \ntranslation platforms such as transifex or weblate to take advantage of crowd \ntranslation.\n\nIn this patch, only one manpage is generated for the git-add command in \nfrench. po4a already supports extending to other languages, and merges all the \nstrings from multiple source manpages into one big pot file. In the next \nversion, two files will be included so that the sharing of common strings is \nshown. There are some enhancement needed for better support of other output \nformats.\n\nOne problem with this setup is that we don't know before hand which files will \nbe generated from the po files and the source files. This depends on the level \nof completion of translation for each language and each target file. To \ncircumvent this, the makefile calls itself recursively after running po4a, so \nthat the generated files can be enumerated in the downstream targets.\n\nIt would be understandable that the git devel list would not like to be \nspammed by the traffic generated by this new activity.If the present proposition \nis accepted,  I'm open to any modus operandi for submitting the changes.\n\nThanks for reading.\n"},{"id":"313871","messageId":"xmqq1su2ujsf.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"20170312200248.3610-2-jn.avila@free.fr","subject":"Re: [PATCH] l10n: add framework for localizing the manpages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-13T00:01:20Z","receivedAt":"2017-03-13T00:01:28Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noel Avila <jn.avila@free.fr> writes:\n\n> +#. type: Title =\n> +#: git-add.txt:2\n> +#, no-wrap\n> +msgid \"git-add(1)\"\n> +msgstr \"git-add(1)\"\n> +\n> +#. type: Title -\n> +#: git-add.txt:5\n> +#, no-wrap\n> +msgid \"NAME\"\n> +msgstr \"NOM\"\n> +\n> +#\n> +#. type: Plain text\n> +#: git-add.txt:7\n> +msgid \"git-add - Add file contents to the index\"\n> +msgstr \"git-add - Ajoute le contenu de fichiers à l'index\"\n> +\n> +#. type: Title -\n> +#: git-add.txt:9\n> +#, no-wrap\n> +msgid \"SYNOPSIS\"\n> +msgstr \"SYNOPSIS\"\n\nIt is a wonderful goal to make localized manpages and corresponding\nHTMLized documents available, and the above might look reasonable,\nbut other parts of what the translaters need to do we see below\nmakes me wonder if this is a sensible approach.\n\n> +#. type: Plain text\n> +#: git-add.txt:15\n> +#, no-wrap\n> +msgid \"\"\n> +\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n> +\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n> +\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n> +\"\\t  [--chmod=(+|-)x] [--] [<pathspec>...]\\n\"\n> +msgstr \"\"\n> +\"'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n> +\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n> +\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n> +\"\\t  [--] [<chemin>...]\\n\"\n\nThis shows that even after adding just _one_ new option to the\ncommand, the whole thing need to be re-translated (the SYNOPSIS\nsection may be a bad example, as not much is subject to i18n,\nthough).  If each paragraph of the description section becomes a\nsingle string that need to be re-translated, as we can see below, I\nam not sure if it really helps the translators.  A mere single\nrephrasing of a word in a large paragraph would have to result in\nthe entire paragraph to be translated again?\n\n> +#. type: Title -\n> +#: git-add.txt:17\n> +#, no-wrap\n> +msgid \"DESCRIPTION\"\n> +msgstr \"DESCRIPTION\"\n> +\n> +#\n> +#. type: Plain text\n> +#: git-add.txt:24\n> +msgid \"\"\n> +\"This command updates the index using the current content found in the \"\n> +\"working tree, to prepare the content staged for the next commit.  It \"\n> +\"typically adds the current content of existing paths as a whole, but with \"\n> +\"some options it can also be used to add content with only part of the \"\n> +\"changes made to the working tree files applied, or remove paths that do not \"\n> +\"exist in the working tree anymore.\"\n> +msgstr \"\"\n> +\"Cette commande met à jour l'index en utilisant le contenu actuel trouvé dans \"\n> +\"la copie de travail, pour préparer le contenu de la prochaine validation. \"\n> +\"Typiquement, elle ajoute intégralement le contenu actuel des chemins \"\n> +\"existant, mais peut aussi n'ajouter que certaines parties des modifications \"\n> +\"au moyen d'options ou soustraire certains chemins qui n'existent plus dans \"\n> +\"la copie de travail.\"\n\nIt almost makes me suggest that a totally different approach might\nbe more manageable.  For example, we can pick one version of a\nsource file (say, \"v2.12.0:Documentation/git-add.txt\"), have it\nfully translated to the target languages, _and_ make it a convention\nto record the original blob object name at the end of the translated\nfile.  Perhaps \"Documentation/l10n/fr/git-add.txt\" may record the\nresult of such translation effort.\n\nAnd then, when somebody wants to update the translation for v2.13.0,\nperhaps \n\n    git diff --color-words $old_blob v2.13.0:Documentation/git-add.txt\n\n(where $old_blob is taken from Documentation/l10n/fr/git-add.txt)\ncan be examined and then Documentation/l10n/fr/git-add.txt can be\nadjusted to match the changes between the two versions.  After that,\nupdate the \"source\" blob object name in the translation.\n\nSo, I dunno.  I like the goal and appreciate the effort to get to\nthat goal.  I am not sure what the best approach would be and the\nsample translation mechanism I see in this patch makes me doubt that\nit is the best approach.\n\nThanks.\n"},{"id":"314059","messageId":"CACBZZX4EGfBAu0M0y4xboVAtWf5N07XY8s40npQ1hN3rbgqmSw@mail.gmail.com","threadId":"45362","inReplyTo":"xmqq1su2ujsf.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH] l10n: add framework for localizing the manpages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-03-14T21:00:21Z","receivedAt":"2017-03-14T21:00:53Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Mon, Mar 13, 2017 at 1:01 AM, Junio C Hamano <gitster@pobox.com> wrote:\n> Jean-Noel Avila <jn.avila@free.fr> writes:\n\nJean: Comments on the patch:\n\n- Firstly thanks for working on this. When I hacked up the initial po\nsupport in v1.7.8-rc2-1-g5e9637c629 I always meant to try out po4a,\nbut never got around to it. It's much easier than I thought.\n- Consider submitting a more minimal patch that doesn't have the giant\nfr.po (or just some minor cut version) as the tip of the series, to\nmake this easier to review\n- The git-add.txt file is hardcoded in po4a.conf, won't this file need\nto be generated in some final version of this series?\n\n> This shows that even after adding just _one_ new option to the\n> command, the whole thing need to be re-translated (the SYNOPSIS\n> section may be a bad example, as not much is subject to i18n,\n> though).  If each paragraph of the description section becomes a\n> single string that need to be re-translated, as we can see below, I\n> am not sure if it really helps the translators.  A mere single\n> rephrasing of a word in a large paragraph would have to result in\n> the entire paragraph to be translated again?\n>\n> [...]\n>\n> It almost makes me suggest that a totally different approach might\n> be more manageable.  For example, we can pick one version of a\n> source file (say, \"v2.12.0:Documentation/git-add.txt\"), have it\n> fully translated to the target languages, _and_ make it a convention\n> to record the original blob object name at the end of the translated\n> file.  Perhaps \"Documentation/l10n/fr/git-add.txt\" may record the\n> result of such translation effort.\n>\n> And then, when somebody wants to update the translation for v2.13.0,\n> perhaps\n>\n>     git diff --color-words $old_blob v2.13.0:Documentation/git-add.txt\n>\n> (where $old_blob is taken from Documentation/l10n/fr/git-add.txt)\n> can be examined and then Documentation/l10n/fr/git-add.txt can be\n> adjusted to match the changes between the two versions.  After that,\n> update the \"source\" blob object name in the translation.\n>\n> So, I dunno.  I like the goal and appreciate the effort to get to\n> that goal.  I am not sure what the best approach would be and the\n> sample translation mechanism I see in this patch makes me doubt that\n> it is the best approach.\n\nJunio: The concerns about long strings being altered & needing to be\ntranslated is something already addressed by the gettext toolchain.\nYour existing translations turn \"fuzzy\", and you can see a\nbefore/after version of what changed in popular tools.\n\nThe proposal to do something like \"git diff --words\" is suboptimal\nbecause it just gives you the same things these gettext tools give\nyou, but more importantly even though it's pretty feature similar in\ntheory you lose the advantage of plug-in integration with any\narbitrary gettext tool, e.g. the transifex or weblate tools Jean\nmentioned.\n\nAlso, having done a lot of translations myself (although not for Git,\njust the translation infra), it's a huge advantage to be able to\npartially translate certain things out of order (e.g. parts of\ngit-add.txt), and even have different people do different parts. This\nis trivial and you get out of the box support for it with the gettext\ntooling, but not if we just have git-add.txt translated in its\nentirety to e.g. French & record what the blob sha1 was.\n\nI think this series is on the right track, and that po4a is the right\ntool for the job.\n"},{"id":"314060","messageId":"xmqqwpbrh88c.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"CACBZZX4EGfBAu0M0y4xboVAtWf5N07XY8s40npQ1hN3rbgqmSw@mail.gmail.com","subject":"Re: [PATCH] l10n: add framework for localizing the manpages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-14T21:13:55Z","receivedAt":"2017-03-14T21:14:05Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n> I think this series is on the right track, and that po4a is the right\n> tool for the job.\n\nOK, thanks for the input.\n"},{"id":"314123","messageId":"0ae83f7f-e178-31b3-87ea-324e3f00d469@free.fr","threadId":"45362","inReplyTo":"xmqq1su2ujsf.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH] l10n: add framework for localizing the manpages","fromName":"Jean-Noël Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-15T07:58:51Z","receivedAt":"2017-03-15T07:59:21Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Le 13/03/2017 à 01:01, Junio C Hamano a écrit :\n> +#. type: Plain text\n>> +#: git-add.txt:15\n>> +#, no-wrap\n>> +msgid \"\"\n>> +\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n>> +\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n>> +\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n>> +\"\\t  [--chmod=(+|-)x] [--] [<pathspec>...]\\n\"\n>> +msgstr \"\"\n>> +\"'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n>> +\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n>> +\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n>> +\"\\t  [--] [<chemin>...]\\n\"\n> This shows that even after adding just _one_ new option to the\n> command, the whole thing need to be re-translated (the SYNOPSIS\n> section may be a bad example, as not much is subject to i18n,\n> though).  If each paragraph of the description section becomes a\n> single string that need to be re-translated, as we can see below, I\n> am not sure if it really helps the translators.  A mere single\n> rephrasing of a word in a large paragraph would have to result in\n> the entire paragraph to be translated again?\n\nI'm not sure to clearly understand your point: if there is the\nintroduction of a new option, there is a need to update the translation\nfor sure.\n\n \n\nThe use of po files introduces tools to automatically mark the\nparagraphs that need to be retranslated or if the translation was near\nenough to be reviewed (entries are translated with the approaching\ntranslation and marked as \"fuzzy\"). Using po, it is also possible to use\ntranslation memories (such as the po file for the programs).\n\n \n\nNow the choice of segmentation of the text might be discussed, but\nusually, the translators prefer to keep a paragraph level, because\nthat's the range that can span an idea and allows shuffling the\nsentences if needed. If a finer grain can be used, that's usually at the\nstep of writing the original text that the decision is taken to ease the\ntranslation burden.\n\n>> +#. type: Title -\n>> +#: git-add.txt:17\n>> +#, no-wrap\n>> +msgid \"DESCRIPTION\"\n>> +msgstr \"DESCRIPTION\"\n>> +\n>> +#\n>> +#. type: Plain text\n>> +#: git-add.txt:24\n>> +msgid \"\"\n>> +\"This command updates the index using the current content found in the \"\n>> +\"working tree, to prepare the content staged for the next commit.  It \"\n>> +\"typically adds the current content of existing paths as a whole, but with \"\n>> +\"some options it can also be used to add content with only part of the \"\n>> +\"changes made to the working tree files applied, or remove paths that do not \"\n>> +\"exist in the working tree anymore.\"\n>> +msgstr \"\"\n>> +\"Cette commande met à jour l'index en utilisant le contenu actuel trouvé dans \"\n>> +\"la copie de travail, pour préparer le contenu de la prochaine validation. \"\n>> +\"Typiquement, elle ajoute intégralement le contenu actuel des chemins \"\n>> +\"existant, mais peut aussi n'ajouter que certaines parties des modifications \"\n>> +\"au moyen d'options ou soustraire certains chemins qui n'existent plus dans \"\n>> +\"la copie de travail.\"\n> It almost makes me suggest that a totally different approach might\n> be more manageable.  For example, we can pick one version of a\n> source file (say, \"v2.12.0:Documentation/git-add.txt\"), have it\n> fully translated to the target languages, _and_ make it a convention\n> to record the original blob object name at the end of the translated\n> file.  Perhaps \"Documentation/l10n/fr/git-add.txt\" may record the\n> result of such translation effort.\n>\n> And then, when somebody wants to update the translation for v2.13.0,\n> perhaps \n>\n>     git diff --color-words $old_blob v2.13.0:Documentation/git-add.txt\n>\n> (where $old_blob is taken from Documentation/l10n/fr/git-add.txt)\n> can be examined and then Documentation/l10n/fr/git-add.txt can be\n> adjusted to match the changes between the two versions.  After that,\n> update the \"source\" blob object name in the translation.\n\nThat's the whole point of using po files which embed the management of\nchange (the original strings) independently from git, compared to\ndiffing between revisions of the original file and applying the\ntranslations of the changes into the translated ones.\n\n\n\n>\n> So, I dunno.  I like the goal and appreciate the effort to get to\n> that goal.  I am not sure what the best approach would be and the\n> sample translation mechanism I see in this patch makes me doubt that\n> it is the best approach.\n\nThat may sound like an authority argument, the po4a was specifically\ndevelopped and used for the translation of man pages (in debian for\ninstance), with success.\n\n \n\nAnyway, we can manage the po4a workflow outside of the git repo and only\npush the end results (the asciidoc files). The initial proposition was\nalso aimed at putting in common the tools for other translators (CC'ed),\nto the expense of yet another dependency.\n\n\nThanks\n\n\n\n"},{"id":"314124","messageId":"103dec84-b274-0a81-fa9b-bf29afd988d9@free.fr","threadId":"45362","inReplyTo":"CACBZZX4EGfBAu0M0y4xboVAtWf5N07XY8s40npQ1hN3rbgqmSw@mail.gmail.com","subject":"Re: [PATCH] l10n: add framework for localizing the manpages","fromName":"Jean-Noël Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-15T08:11:19Z","receivedAt":"2017-03-15T08:11:29Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Le 14/03/2017 à 22:00, Ævar Arnfjörð Bjarmason a écrit :\n> On Mon, Mar 13, 2017 at 1:01 AM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Jean-Noel Avila <jn.avila@free.fr> writes:\n> Jean: Comments on the patch:\n>\n> - Firstly thanks for working on this. When I hacked up the initial po\n> support in v1.7.8-rc2-1-g5e9637c629 I always meant to try out po4a,\n> but never got around to it. It's much easier than I thought.\n\nWell, that's only the simplest setup I could come up with :-). I'm\ndiscovering the tool and it seems that can go quite hairy, depending on\nwhere we want to go.\n\n> - Consider submitting a more minimal patch that doesn't have the giant\n> fr.po (or just some minor cut version) as the tip of the series, to\n> make this easier to review\n\nOK. Will split in po4a.conf + Makefile changes, then pot and po files.\nThe point is that as long as the po files are not translated at a\nminimum level, po4a does not generate the target files. Right now, the\nthreshold is 80% of translated strings (no fuzzy).\n\n> - The git-add.txt file is hardcoded in po4a.conf, won't this file need\n> to be generated in some final version of this series?\n\nIf all the translation string are harvested automatically from the\nsource files, the resulting po file will be huge. For the moment, I\nprefered to manually select the files and check that po4a behaves correctly.\n\n\n\n"},{"id":"314125","messageId":"CACBZZX7CoEn0d01hU=A5RbDiNwQi0wUJM9mU25pPnqTPu05r+w@mail.gmail.com","threadId":"45362","inReplyTo":"103dec84-b274-0a81-fa9b-bf29afd988d9@free.fr","subject":"Re: [PATCH] l10n: add framework for localizing the manpages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-03-15T09:01:46Z","receivedAt":"2017-03-15T09:02:25Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Wed, Mar 15, 2017 at 9:11 AM, Jean-Noël Avila <jn.avila@free.fr> wrote:\n> Le 14/03/2017 à 22:00, Ævar Arnfjörð Bjarmason a écrit :\n>> On Mon, Mar 13, 2017 at 1:01 AM, Junio C Hamano <gitster@pobox.com> wrote:\n>>> Jean-Noel Avila <jn.avila@free.fr> writes:\n>> Jean: Comments on the patch:\n>>\n>> - Firstly thanks for working on this. When I hacked up the initial po\n>> support in v1.7.8-rc2-1-g5e9637c629 I always meant to try out po4a,\n>> but never got around to it. It's much easier than I thought.\n>\n> Well, that's only the simplest setup I could come up with :-). I'm\n> discovering the tool and it seems that can go quite hairy, depending on\n> where we want to go.\n>\n>> - Consider submitting a more minimal patch that doesn't have the giant\n>> fr.po (or just some minor cut version) as the tip of the series, to\n>> make this easier to review\n>\n> OK. Will split in po4a.conf + Makefile changes, then pot and po files.\n> The point is that as long as the po files are not translated at a\n> minimum level, po4a does not generate the target files. Right now, the\n> threshold is 80% of translated strings (no fuzzy).\n\nRight, I don't mean don't include it, just add the *.pot and *.po file\nin a subsequent patch, so reviewers focusing just on the translation\ninfra changes have a ~100-200 line patch to look at instead of 10x\nthat.\n\n>> - The git-add.txt file is hardcoded in po4a.conf, won't this file need\n>> to be generated in some final version of this series?\n>\n> If all the translation string are harvested automatically from the\n> source files, the resulting po file will be huge. For the moment, I\n> prefered to manually select the files and check that po4a behaves correctly.\n\nYeah, makes sense, we can just start with git-add.txt and add more files later.\n"},{"id":"314141","messageId":"xmqqr31yfrre.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"0ae83f7f-e178-31b3-87ea-324e3f00d469@free.fr","subject":"Re: [PATCH] l10n: add framework for localizing the manpages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-15T16:07:17Z","receivedAt":"2017-03-15T16:07:42Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noël Avila <jn.avila@free.fr> writes:\n\n> Le 13/03/2017 à 01:01, Junio C Hamano a écrit :\n>> +#. type: Plain text\n>>> +#: git-add.txt:15\n>>> +#, no-wrap\n>>> +msgid \"\"\n>>> +\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n>>> +\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n>>> +\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n>>> +\"\\t  [--chmod=(+|-)x] [--] [<pathspec>...]\\n\"\n>>> +msgstr \"\"\n>>> +\"'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n>>> +\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n>>> +\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n>>> +\"\\t  [--] [<chemin>...]\\n\"\n>> This shows that even after adding just _one_ new option to the\n>> ...  A mere single\n>> rephrasing of a word in a large paragraph would have to result in\n>> the entire paragraph to be translated again?\n>\n> I'm not sure to clearly understand your point: if there is the\n> introduction of a new option, there is a need to update the translation\n> for sure.\n\nYou probably are used to po4a well enough to accept \"the smallest\nunit of translation is paragraph\" as a natural given, and it may be\nan acceptable way to work for those who actually do the translation.\n\nBecause I am not used to po4a and I don't do translation, \"why I\nhave to update the above translation of the whole paragraph, in\nresponse to a patch to rename just a single option\", e.g.\n\n\t-\t[--edit | -e] [--no-]all | --[no-]ignore-removal | [--update | -u]]\n\t+\t[--edit | -e] [--no-]all | --[no-]ignore-removal | [--modify | -m]]\n\nwas a natural reaction for me.  In any case, I won't be doing the\ntranslations, and those who work with po4a are happy with the tool,\nthat is fine by me.\n\n"},{"id":"314155","messageId":"CAGZ79kbZp_aMNsChE2AEHcVcokKRdkMKqUdwjanYi2jyO=mapg@mail.gmail.com","threadId":"45362","inReplyTo":"0ae83f7f-e178-31b3-87ea-324e3f00d469@free.fr","subject":"Re: [PATCH] l10n: add framework for localizing the manpages","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2017-03-15T18:28:27Z","receivedAt":"2017-03-15T18:30:55Z","isPatch":true,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Wed, Mar 15, 2017 at 12:58 AM, Jean-Noël Avila <jn.avila@free.fr> wrote:\n\n> The use of po files introduces tools to automatically mark the\n> paragraphs that need to be retranslated or if the translation was near\n> enough to be reviewed (entries are translated with the approaching\n> translation and marked as \"fuzzy\"). Using po, it is also possible to use\n> translation memories (such as the po file for the programs).\n>\n\nWell for writing code exactly, we often rely on commit messages\nof the past, which is not available to users of the po tool IIUC.\nSometimes we have commits rewording the Documentation to\npoint out a subtle detail. Specifically for these changes\nit would be good to have the reason for the change in Documentation\navailable for translators.\n\n(Just a passerby note)\n\nThanks,\nStefan\n"},{"id":"314513","messageId":"20170318175353.24578-1-jn.avila@free.fr","threadId":"45362","inReplyTo":"20170312200248.3610-1-jn.avila@free.fr","subject":"[PATCH v2 1/2] l10n: Introduce framework for localizing man pages","fromName":"Jean-Noel Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-18T17:53:52Z","receivedAt":"2017-03-18T17:54:22Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Providing git in localized version is a good step for general adoption\nof the tool. But as of now, if one needs to refer to the manual pages,\nthey are still confronted to english. The aim is to provide\ndocumentation to users in their own language.\n\nsigned-off-by: Jean-Noel Avila <jn.avila@free.fr>\n---\n Documentation/Makefile  | 23 +++++++++++++++++++++--\n Documentation/po4a.conf |  5 +++++\n 2 files changed, 26 insertions(+), 2 deletions(-)\n create mode 100644 Documentation/po4a.conf\n\ndiff --git a/Documentation/Makefile b/Documentation/Makefile\nindex b5be2e2d3..1f71c0b80 100644\n--- a/Documentation/Makefile\n+++ b/Documentation/Makefile\n@@ -1,4 +1,5 @@\n # Guard against environment variables\n+MAN1_L10N_TXT =\n MAN1_TXT =\n MAN5_TXT =\n MAN7_TXT =\n@@ -10,6 +11,7 @@ OBSOLETE_HTML =\n MAN1_TXT += $(filter-out \\\n \t\t$(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \\\n \t\t$(wildcard git-*.txt))\n+MAN1_L10N_TXT += $(wildcard po/*/man1/git-*.txt)\n MAN1_TXT += git.txt\n MAN1_TXT += gitk.txt\n MAN1_TXT += gitremote-helpers.txt\n@@ -86,6 +88,7 @@ DOC_HTML += $(patsubst %,%.html,$(ARTICLES) $(SP_ARTICLES))\n DOC_MAN1 = $(patsubst %.txt,%.1,$(MAN1_TXT))\n DOC_MAN5 = $(patsubst %.txt,%.5,$(MAN5_TXT))\n DOC_MAN7 = $(patsubst %.txt,%.7,$(MAN7_TXT))\n+DOC_MAN1_L10N = $(patsubst %.txt,%.1,$(MAN1_L10N_TXT))\n \n prefix ?= $(HOME)\n bindir ?= $(prefix)/bin\n@@ -209,6 +212,7 @@ endif\n \n ifneq ($(findstring $(MAKEFLAGS),s),s)\n ifndef V\n+\tQUIET_PO4A      = @echo '   ' PO4A $@;\n \tQUIET_ASCIIDOC\t= @echo '   ' ASCIIDOC $@;\n \tQUIET_XMLTO\t= @echo '   ' XMLTO $@;\n \tQUIET_DB2TEXI\t= @echo '   ' DB2TEXI $@;\n@@ -229,11 +233,20 @@ all: html man\n \n html: $(DOC_HTML)\n \n-man: man1 man5 man7\n+man: man1 man5 man7 man_l10n\n man1: $(DOC_MAN1)\n man5: $(DOC_MAN5)\n man7: $(DOC_MAN7)\n \n+man_l10n: po4a man1_p_l10n\n+po4a: po4a.conf\n+\t$(QUIET_PO4A)po4a po4a.conf\n+\n+man1_p_l10n: po4a\n+\t$(MAKE) man1_l10n\n+\n+man1_l10n: $(DOC_MAN1_L10N)\n+\n info: git.info gitman.info\n \n pdf: user-manual.pdf\n@@ -247,6 +260,11 @@ install-man: man\n \t$(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir)\n \t$(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir)\n \t$(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)\n+\t$(MAKE) install-man-l10n\n+\n+install-man-l10n: $(DOC_MAN1_L10N)\n+\t$(INSTALL) -d -m 755 $(DESTDIR)$(mandir)/$(firstword $(subst /man1/, ,$(subst po/,,$<)))/man1\n+\t$(INSTALL) -m 644 $< $(DESTDIR)$(mandir)$(subst po,,$<)\n \n install-info: info\n \t$(INSTALL) -d -m 755 $(DESTDIR)$(infodir)\n@@ -323,6 +341,7 @@ clean:\n \t$(RM) technical/*.html technical/api-index.txt\n \t$(RM) $(cmds_txt) $(mergetools_txt) *.made\n \t$(RM) manpage-base-url.xsl\n+\t$(RM) po/*/*.1 po/*/*.txt\n \n $(MAN_HTML): %.html : %.txt asciidoc.conf\n \t$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \\\n@@ -339,7 +358,7 @@ manpage-base-url.xsl: manpage-base-url.xsl.in\n \n %.1 %.5 %.7 : %.xml manpage-base-url.xsl\n \t$(QUIET_XMLTO)$(RM) $@ && \\\n-\t$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<\n+\t$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) -o $(dir $<) man $<\n \n %.xml : %.txt asciidoc.conf\n \t$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \\\ndiff --git a/Documentation/po4a.conf b/Documentation/po4a.conf\nnew file mode 100644\nindex 000000000..b6ee8b4a6\n--- /dev/null\n+++ b/Documentation/po4a.conf\n@@ -0,0 +1,5 @@\n+[po4a_langs] fr\n+[po4a_paths] po/documentation.pot $lang:po/documentation.$lang.po\n+[options] opt: \" -k 80\"\n+\n+[type: asciidoc] ./git-add.txt $lang:./po/$lang/man1/git-add.txt\n-- \n2.12.0\n\n"},{"id":"314514","messageId":"20170318175353.24578-2-jn.avila@free.fr","threadId":"45362","inReplyTo":"20170318175353.24578-1-jn.avila@free.fr","subject":"[PATCH v2 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Jean-Noel Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-18T17:53:53Z","receivedAt":"2017-03-18T17:54:34Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>\n---\n Documentation/po/documentation.fr.po | 1095 ++++++++++++++++++++++++++++++++++\n Documentation/po/documentation.pot   |  787 ++++++++++++++++++++++++\n 2 files changed, 1882 insertions(+)\n create mode 100644 Documentation/po/documentation.fr.po\n create mode 100644 Documentation/po/documentation.pot\n\ndiff --git a/Documentation/po/documentation.fr.po b/Documentation/po/documentation.fr.po\nnew file mode 100644\nindex 000000000..3017da0c9\n--- /dev/null\n+++ b/Documentation/po/documentation.fr.po\n@@ -0,0 +1,1095 @@\n+# French translations for Git Manual Pages.\n+# Copyright (C) 2017 Jean-Noël Avila <jn.avila@free.fr>\n+# This file is distributed under the same license as the Git package.\n+# Jean-Noël Avila <jn.avila@free.fr>, 2016.\n+msgid \"\"\n+msgstr \"\"\n+\"Project-Id-Version: git documentation\\n\"\n+\"POT-Creation-Date: 2017-03-03 21:18+0100\\n\"\n+\"PO-Revision-Date: 2017-03-15 21:42+0100\\n\"\n+\"Last-Translator: Jean-Noël Avila <jn.avila@free.fr>\\n\"\n+\"Language-Team: Jean-Noël Avila <jn.avila@free.fr>\\n\"\n+\"Language: fr\\n\"\n+\"MIME-Version: 1.0\\n\"\n+\"Content-Type: text/plain; charset=utf-8\\n\"\n+\"Content-Transfer-Encoding: 8bit\\n\"\n+\n+#. type: Title =\n+#: git-add.txt:2\n+#, no-wrap\n+msgid \"git-add(1)\"\n+msgstr \"git-add(1)\"\n+\n+#. type: Title -\n+#: git-add.txt:5\n+#, no-wrap\n+msgid \"NAME\"\n+msgstr \"NOM\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:7\n+msgid \"git-add - Add file contents to the index\"\n+msgstr \"git-add - Ajoute le contenu de fichiers à l'index\"\n+\n+#. type: Title -\n+#: git-add.txt:9\n+#, no-wrap\n+msgid \"SYNOPSIS\"\n+msgstr \"SYNOPSIS\"\n+\n+#. type: Plain text\n+#: git-add.txt:15\n+#, no-wrap\n+msgid \"\"\n+\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n+\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n+\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n+\"\\t  [--chmod=(+|-)x] [--] [<pathspec>...]\\n\"\n+msgstr \"\"\n+\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n+\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n+\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n+\"\\t  [--chmod=(+|-)x] [--] [<spécification de chemin>...]\\n\"\n+\n+#. type: Title -\n+#: git-add.txt:17\n+#, no-wrap\n+msgid \"DESCRIPTION\"\n+msgstr \"DESCRIPTION\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:24\n+msgid \"\"\n+\"This command updates the index using the current content found in the \"\n+\"working tree, to prepare the content staged for the next commit.  It \"\n+\"typically adds the current content of existing paths as a whole, but with \"\n+\"some options it can also be used to add content with only part of the \"\n+\"changes made to the working tree files applied, or remove paths that do not \"\n+\"exist in the working tree anymore.\"\n+msgstr \"\"\n+\"Cette commande met à jour l'index en utilisant le contenu actuel trouvé dans \"\n+\"la copie de travail, pour préparer le contenu de la prochaine validation. \"\n+\"Typiquement, elle ajoute intégralement le contenu actuel des chemins \"\n+\"existant, mais peut aussi n'ajouter que certaines parties des modifications \"\n+\"au moyen d'options ou soustraire certains chemins qui n'existent plus dans \"\n+\"la copie de travail.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:30\n+msgid \"\"\n+\"The \\\"index\\\" holds a snapshot of the content of the working tree, and it is \"\n+\"this snapshot that is taken as the contents of the next commit.  Thus after \"\n+\"making any changes to the working tree, and before running the commit \"\n+\"command, you must use the `add` command to add any new or modified files to \"\n+\"the index.\"\n+msgstr \"\"\n+\"L'« index » contient un instantané du contenu de la copie de travail et \"\n+\"c'est cet instantané qui sera utilisé comme contenu du prochain commit.  \"\n+\"Ainsi, après avoir réalisé des modifications dans la copie de travail, et \"\n+\"avant de lancer la commande commit, vous devez utiliser la commande `add` \"\n+\"pour ajouter tout fichier nouveau ou modifié à l'index.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:35\n+msgid \"\"\n+\"This command can be performed multiple times before a commit.  It only adds \"\n+\"the content of the specified file(s) at the time the add command is run; if \"\n+\"you want subsequent changes included in the next commit, then you must run \"\n+\"`git add` again to add the new content to the index.\"\n+msgstr \"\"\n+\"Cette commande peut être effectuée plusieurs fois avant la validation.  Elle \"\n+\"n'ajoute que le contenu des fichiers spécifiés au moment où la commande \"\n+\"`add` est lancée ; si vous souhaitez inclure des modifications postérieures \"\n+\"à un `add` dans la prochaine validation, vous devez alors lancer `git add` à \"\n+\"nouveau pour ajouter le nouveau contenu à l'index.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:38\n+msgid \"\"\n+\"The `git status` command can be used to obtain a summary of which files have \"\n+\"changes that are staged for the next commit.\"\n+msgstr \"\"\n+\"La commande `git status` permet d'obtenir un résumé des fichiers modifiés \"\n+\"qui sont préparés pour la prochaine validation.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:45\n+msgid \"\"\n+\"The `git add` command will not add ignored files by default.  If any ignored \"\n+\"files were explicitly specified on the command line, `git add` will fail \"\n+\"with a list of ignored files.  Ignored files reached by directory recursion \"\n+\"or filename globbing performed by Git (quote your globs before the shell) \"\n+\"will be silently ignored.  The 'git add' command can be used to add ignored \"\n+\"files with the `-f` (force) option.\"\n+msgstr \"\"\n+\"Par défaut, la commande `git add` n'ajoute pas les fichiers ignorés.  Si des \"\n+\"fichiers ignorés sont spécifiés explicitement en ligne de commande, `git \"\n+\"add` échouera avec la liste des fichiers ignorés. Les fichiers ignorés \"\n+\"atteint via la récursion de répertoires ou les patrons de fichiers gérés par \"\n+\"Git (les patrons doivent alors être échappés du shell par des quotes)  \"\n+\"seront ignorés silencieusement. La commande `git add` peut tout de même \"\n+\"ajouter des fichiers ignorés avec l'option `-f` (force).\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:48\n+msgid \"\"\n+\"Please see linkgit:git-commit[1] for alternative ways to add content to a \"\n+\"commit.\"\n+msgstr \"\"\n+\"Référez-vous linkgit:git-commit[1] pour des méthodes alternatives d'ajout de \"\n+\"contenu à une validation.\"\n+\n+#. type: Title -\n+#: git-add.txt:51\n+#, no-wrap\n+msgid \"OPTIONS\"\n+msgstr \"OPTIONS\"\n+\n+#. type: Plain text\n+#: git-add.txt:64\n+#, no-wrap\n+msgid \"\"\n+\"<pathspec>...::\\n\"\n+\"\\tFiles to add content from.  Fileglobs (e.g. `*.c`) can\\n\"\n+\"\\tbe given to add all matching files.  Also a\\n\"\n+\"\\tleading directory name (e.g. `dir` to add `dir/file1`\\n\"\n+\"\\tand `dir/file2`) can be given to update the index to\\n\"\n+\"\\tmatch the current state of the directory as a whole (e.g.\\n\"\n+\"\\tspecifying `dir` will record not just a file `dir/file1`\\n\"\n+\"\\tmodified in the working tree, a file `dir/file2` added to\\n\"\n+\"\\tthe working tree, but also a file `dir/file3` removed from\\n\"\n+\"\\tthe working tree.  Note that older versions of Git used\\n\"\n+\"\\tto ignore removed files; use `--no-all` option if you want\\n\"\n+\"\\tto add modified or new files but ignore removed\\tones.\\n\"\n+msgstr \"\"\n+\"<chemin>...::\\n\"\n+\"\\tFichiers dont le contenu doit être ajouté. Les patrons (ex : `*.c`)\\n\"\n+\"\\tpermettent de restreindre à tous le fichiers correspondant. Un\\n\"\n+\"\\tnom de répertoire (ex : `rep` pour ajouter `rep/fichier1` et\\n\"\n+\"\\t`rep/fichier2`) permet d'ajouter récursivement tous les fichiers\\n\"\n+\"\\td'un répertoire.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:69\n+#, no-wrap\n+msgid \"\"\n+\"-n::\\n\"\n+\"--dry-run::\\n\"\n+\"\\tDon't actually add the file(s), just show if they exist and/or will\\n\"\n+\"\\tbe ignored.\\n\"\n+msgstr \"\"\n+\"-n::\\n\"\n+\"--dry-run::\\n\"\n+\"\\tN'ajoute pas réellement les fichiers. Montrer juste s'ils existent\\n\"\n+\"\\tou seront ignorés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:73\n+#, no-wrap\n+msgid \"\"\n+\"-v::\\n\"\n+\"--verbose::\\n\"\n+\"        Be verbose.\\n\"\n+msgstr \"\"\n+\"-v::\\n\"\n+\"--verbose::\\n\"\n+\"        Mode bavard.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:77\n+#, no-wrap\n+msgid \"\"\n+\"-f::\\n\"\n+\"--force::\\n\"\n+\"\\tAllow adding otherwise ignored files.\\n\"\n+msgstr \"\"\n+\"-f::\\n\"\n+\"--force::\\n\"\n+\"\\tForce l'ajout de fichiers qui sont normalement ignorés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:84\n+#, no-wrap\n+msgid \"\"\n+\"-i::\\n\"\n+\"--interactive::\\n\"\n+\"\\tAdd modified contents in the working tree interactively to\\n\"\n+\"\\tthe index. Optional path arguments may be supplied to limit\\n\"\n+\"\\toperation to a subset of the working tree. See ``Interactive\\n\"\n+\"\\tmode'' for details.\\n\"\n+msgstr \"\"\n+\"-i::\\n\"\n+\"--interactive::\\n\"\n+\"\\tAjoute le contenu modifié dans l'arbre de travail à l'index\\n\"\n+\"\\tde manière interactive. Les arguments optionnels de chemin \\n\"\n+\"\\tpermettent de limiter les opérations à un sous-ensemble de la\\n\"\n+\"\\tcopie de travail. Référez-vous à « Mode interactif » pour plus\\n\"\n+\"\\tde détails.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:91\n+#, no-wrap\n+msgid \"\"\n+\"-p::\\n\"\n+\"--patch::\\n\"\n+\"\\tInteractively choose hunks of patch between the index and the\\n\"\n+\"\\twork tree and add them to the index. This gives the user a chance\\n\"\n+\"\\tto review the difference before adding modified contents to the\\n\"\n+\"\\tindex.\\n\"\n+msgstr \"\"\n+\"-p::\\n\"\n+\"--patch::\\n\"\n+\"\\tChoisit de manière interactive les sections de patch entre l'index\\n\"\n+\"\\tet la copie de travail et les ajouter à l'index. Cela permet à\\n\"\n+\"\\tl'utilisateur de réviser les différences avec d'ajouter le contenu\\n\"\n+\"\\tmodifié à l'index.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:95\n+#, no-wrap\n+msgid \"\"\n+\"This effectively runs `add --interactive`, but bypasses the\\n\"\n+\"initial command menu and directly jumps to the `patch` subcommand.\\n\"\n+\"See ``Interactive mode'' for details.\\n\"\n+msgstr \"\"\n+\"Cela lance effectivement `add --interactive` mais court-circuite\\n\"\n+\"le menu initial et saute directement à la sous-commande `patch`.\\n\"\n+\"Référez-vous à ``Mode interactif'' pour plus de détails.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:101\n+#, no-wrap\n+msgid \"\"\n+\"-e::\\n\"\n+\"--edit::\\n\"\n+\"\\tOpen the diff vs. the index in an editor and let the user\\n\"\n+\"\\tedit it.  After the editor was closed, adjust the hunk headers\\n\"\n+\"\\tand apply the patch to the index.\\n\"\n+msgstr \"\"\n+\"-e::\\n\"\n+\"--edit::\\n\"\n+\"\\tOuvre les différences avec l'index dans un éditeur et laisser\\n\"\n+\"\\tl'utilisateur les éditer. Après la fermeture de l'éditeur, ajuster\\n\"\n+\"\\tles entêtes de sections et appliquer le patch dans l'index.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:107\n+#, no-wrap\n+msgid \"\"\n+\"The intent of this option is to pick and choose lines of the patch to\\n\"\n+\"apply, or even to modify the contents of lines to be staged. This can be\\n\"\n+\"quicker and more flexible than using the interactive hunk selector.\\n\"\n+\"However, it is easy to confuse oneself and create a patch that does not\\n\"\n+\"apply to the index. See EDITING PATCHES below.\\n\"\n+msgstr \"\"\n+\"L'objectif de cette option est de permettre de choisir et retenir les\\n\"\n+\"lignes du patch à appliquer, ou même de modifier le contenu des lignes\\n\"\n+\"à indexer. Cela peut être plus rapide et plus flexible que l'utilisation\\n\"\n+\"du sélecteur interactif. Cependant, il plus facile de se \\n\"\n+\"tromper et de créer un patch qui ne s'applique pas. Référez-vous à\\n\"\n+\"ÉDITER LES PATCHS ci-dessous.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:113\n+#, no-wrap\n+msgid \"\"\n+\"-u::\\n\"\n+\"--update::\\n\"\n+\"\\tUpdate the index just where it already has an entry matching\\n\"\n+\"\\t<pathspec>.  This removes as well as modifies index entries to\\n\"\n+\"\\tmatch the working tree, but adds no new files.\\n\"\n+msgstr \"\"\n+\"-u::\\n\"\n+\"--update::\\n\"\n+\"\\tMet à jour l'index sur les seuls fichiers déjà présents et\\n\"\n+\"\\tcorrespondant à <chemin>. Cela retire ou modifie les entrées\\n\"\n+\"\\td'index pour correspondre à la copie de travail, mais n'ajoute\\n\"\n+\"\\tpas de fichier.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:118\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-u` option is used, all\\n\"\n+\"tracked files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\"Si aucun <chemin> n'est spécifié, quand l'option `-u` est utilisée,\\n\"\n+\"tous les fichiers suivis dans la totalité de la copie de travail sont\\n\"\n+\"mis à jour (les version anciennes de Git limitaient la mise à jour au\\n\"\n+\"répertoire courant et ses sous-répertoires).\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:126\n+#, no-wrap\n+msgid \"\"\n+\"-A::\\n\"\n+\"--all::\\n\"\n+\"--no-ignore-removal::\\n\"\n+\"\\tUpdate the index not only where the working tree has a file\\n\"\n+\"\\tmatching <pathspec> but also where the index already has an\\n\"\n+\"\\tentry.\\tThis adds, modifies, and removes index entries to\\n\"\n+\"\\tmatch the working tree.\\n\"\n+msgstr \"\"\n+\"-A::\\n\"\n+\"--all::\\n\"\n+\"--no-ignore-removal::\\n\"\n+\"\\tMet à jour l'index non seulement pour tous les fichiers de\\n\"\n+\"\\tla copie de travail correspondant à <chemin> mais aussi pour\\n\"\n+\"\\ttoutes les entrées existant déjà dans l'index. Ceci ajoute,\\n\"\n+\"\\tmodifie et retire des entrées d'index pour correspondre à\\n\"\n+\"\\tla copie de travail.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:131\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-A` option is used, all\\n\"\n+\"files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\"Si aucun <chemin> n'est spécifié quand l'option `-A` est utilisée,\\n\"\n+\"tous le fichiers de l'arbre de travail sont mis à jour (les versions\\n\"\n+\"anciennes de Git utilisaient le répertoire courant et ses\\n\"\n+\"sous-répertoires).\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:138\n+#, no-wrap\n+msgid \"\"\n+\"--no-all::\\n\"\n+\"--ignore-removal::\\n\"\n+\"\\tUpdate the index by adding new files that are unknown to the\\n\"\n+\"\\tindex and files modified in the working tree, but ignore\\n\"\n+\"\\tfiles that have been removed from the working tree.  This\\n\"\n+\"\\toption is a no-op when no <pathspec> is used.\\n\"\n+msgstr \"\"\n+\"--no-all::\\n\"\n+\"--ignore-removal::\\n\"\n+\"\\tMet à jour l'index en ajoutant dans l'index les nouveaux\\n\"\n+\"\\tfichiers qui sont inconnus et les fichiers modifiés dans la\\n\"\n+\"\\tcopie de travail, mais ignore les fichiers qui ont été\\n\"\n+\"\\teffacés de la copie de travail. Cette option ne fait rien\\n\"\n+\"\\tquand aucun <chemin> n'est utilisé.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:142\n+#, no-wrap\n+msgid \"\"\n+\"This option is primarily to help users who are used to older\\n\"\n+\"versions of Git, whose \\\"git add <pathspec>...\\\" was a synonym\\n\"\n+\"for \\\"git add --no-all <pathspec>...\\\", i.e. ignored removed files.\\n\"\n+msgstr \"\"\n+\"Cette option sert principalement à aider les utilisateurs de versions\\n\"\n+\"anciennes de Git pour lesquels « git add <chemin>... » était synonyme\\n\"\n+\"de « git add --no-all <chemin>... », c'est-à-dire qui ignorait les\\n\"\n+\"fichiers effacés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:150\n+#, no-wrap\n+msgid \"\"\n+\"-N::\\n\"\n+\"--intent-to-add::\\n\"\n+\"\\tRecord only the fact that the path will be added later. An entry\\n\"\n+\"\\tfor the path is placed in the index with no content. This is\\n\"\n+\"\\tuseful for, among other things, showing the unstaged content of\\n\"\n+\"\\tsuch files with `git diff` and committing them with `git commit\\n\"\n+\"\\t-a`.\\n\"\n+msgstr \"\"\n+\"-N::\\n\"\n+\"--intent-to-add::\\n\"\n+\"\\tN'enregistre que le fait que le chemin sera ajouté plus tard. Une\\n\"\n+\"\\tentrée pour le chemin est placée en index sans contenu. C'est\\n\"\n+\"\\tparticulièrement utile pour, entre autres choses, montrer le\\n\"\n+\"\\tcontenu non indexé de ces fichiers avec `git diff` et les valider\\n\"\n+\"\\tavec `git commit -a`.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:154\n+#, no-wrap\n+msgid \"\"\n+\"--refresh::\\n\"\n+\"\\tDon't add the file(s), but only refresh their stat()\\n\"\n+\"\\tinformation in the index.\\n\"\n+msgstr \"\"\n+\"--refresh::\\n\"\n+\"\\tN'ajoute pas les fichiers mais rafraîchit seulement leur\\n\"\n+\"\\tinformation de stat() dans l'index.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:161\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-errors::\\n\"\n+\"\\tIf some files could not be added because of errors indexing\\n\"\n+\"\\tthem, do not abort the operation, but continue adding the\\n\"\n+\"\\tothers. The command shall still exit with non-zero status.\\n\"\n+\"\\tThe configuration variable `add.ignoreErrors` can be set to\\n\"\n+\"\\ttrue to make this the default behaviour.\\n\"\n+msgstr \"\"\n+\"--ignore-errors::\\n\"\n+\"\\tSi des fichiers n'ont pu être ajoutés à cause d'erreurs lors\\n\"\n+\"\\tde leur indexation, n'annule pas l'opération mais continue\\n\"\n+\"\\tl'ajout des autres fichiers. La commande se terminera tout de\\n\"\n+\"\\tmême avec un code d'erreur non nul. Le paramètre\\n\"\n+\"\\tde configuration `add.ignoreErrors` peut être positionné à\\n\"\n+\"\\ttrue pour que ce comportement soit celui par défaut.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:167\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-missing::\\n\"\n+\"\\tThis option can only be used together with --dry-run. By using\\n\"\n+\"\\tthis option the user can check if any of the given files would\\n\"\n+\"\\tbe ignored, no matter if they are already present in the work\\n\"\n+\"\\ttree or not.\\n\"\n+msgstr \"\"\n+\"--ignore-missing::\\n\"\n+\"\\tCette option ne peut être utilisée que couplée avec --dry-run.\\n\"\n+\"\\tL'utilisation de cette option permet à l'utilisateur de vérifier\\n\"\n+\"\\tsi un des fichiers indiqués serait ignoré, qu'il soit présent\\n\"\n+\"\\tou non dans la copie de travail.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:172\n+#, no-wrap\n+msgid \"\"\n+\"--chmod=(+|-)x::\\n\"\n+\"\\tOverride the executable bit of the added files.  The executable\\n\"\n+\"\\tbit is only changed in the index, the files on disk are left\\n\"\n+\"\\tunchanged.\\n\"\n+msgstr \"\"\n+\"--chmod=(+|-)x::\\n\"\n+\"\\tForce le bit exécutable des fichiers ajoutés. Le bit\\n\"\n+\"\\texécutable n'est modifié que dans l'index, les fichiers de la\\n\"\n+\"\\tcopie de travail ne sont pas modifiés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:177\n+#, no-wrap\n+msgid \"\"\n+\"\\\\--::\\n\"\n+\"\\tThis option can be used to separate command-line options from\\n\"\n+\"\\tthe list of files, (useful when filenames might be mistaken\\n\"\n+\"\\tfor command-line options).\\n\"\n+msgstr \"\"\n+\"\\\\--::\\n\"\n+\"\\tCette option permet de séparer les options de la ligne de commande\\n\"\n+\"\\tde la liste des fichiers (utile si certains noms de fichiers\\n\"\n+\"\\tpeuvent être confondus avec des options).\\n\"\n+\n+#. type: Title -\n+#: git-add.txt:180\n+#, no-wrap\n+msgid \"Configuration\"\n+msgstr \"Configuration\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:186\n+msgid \"\"\n+\"The optional configuration variable `core.excludesFile` indicates a path to \"\n+\"a file containing patterns of file names to exclude from git-add, similar to \"\n+\"$GIT_DIR/info/exclude.  Patterns in the exclude file are used in addition to \"\n+\"those in info/exclude.  See linkgit:gitignore[5].\"\n+msgstr \"\"\n+\"Le paramètre de configuration optionnel `core.excludesFile` indique un \"\n+\"chemin vers un fichier contenant les patrons des noms de fichier à exclure \"\n+\"de git-add, similaire à $GIT_DIR/info/exclude. Les patrons dans le fichier \"\n+\"d'exclusion sont additionnés à ceux de info/exclude. Référez-vous à linkgit:\"\n+\"gitignore[5].\"\n+\n+#. type: Title -\n+#: git-add.txt:189\n+#, no-wrap\n+msgid \"EXAMPLES\"\n+msgstr \"EXEMPLES\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:193\n+msgid \"\"\n+\"Adds content from all `*.txt` files under `Documentation` directory and its \"\n+\"subdirectories:\"\n+msgstr \"\"\n+\"Ajouter le contenu de tous le fichiers `*.txt` sous le répertoire \"\n+\"`Documentation` et ses sous répertoires.\"\n+\n+#. type: delimited block -\n+#: git-add.txt:196\n+#, no-wrap\n+msgid \"$ git add Documentation/\\\\*.txt\\n\"\n+msgstr \"$ git add Documentation/\\\\*.txt\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:201\n+msgid \"\"\n+\"Note that the asterisk `*` is quoted from the shell in this example; this \"\n+\"lets the command include the files from subdirectories of `Documentation/` \"\n+\"directory.\"\n+msgstr \"\"\n+\"Remarquez que l'astérisque `*` est échappé du shell dans cet exemple ; cela \"\n+\"permet d'inclure les fichiers dans les sous-répertoires du Répertoire \"\n+\"`Documentation/`.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:203\n+msgid \"Considers adding content from all git-*.sh scripts:\"\n+msgstr \"Ajouter le contenu de tous les scripts git-*.sh :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:206\n+#, no-wrap\n+msgid \"$ git add git-*.sh\\n\"\n+msgstr \"$ git add git-*.sh\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:211\n+msgid \"\"\n+\"Because this example lets the shell expand the asterisk (i.e. you are \"\n+\"listing the files explicitly), it does not consider `subdir/git-foo.sh`.\"\n+msgstr \"\"\n+\"Comme cet exemple laisse le shell réaliser l'expansion de l'astérisque \"\n+\"(c'est-à-dire que vous listez explicitement les fichiers du répertoire), il \"\n+\"ne traite pas `subdir/git-foo.sh`.\"\n+\n+#. type: Title -\n+#: git-add.txt:213\n+#, no-wrap\n+msgid \"Interactive mode\"\n+msgstr \"Mode interactif\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:217\n+msgid \"\"\n+\"When the command enters the interactive mode, it shows the output of the \"\n+\"'status' subcommand, and then goes into its interactive command loop.\"\n+msgstr \"\"\n+\"Quand la commande entre en mode interactif, elle affiche le résultat de la \"\n+\"sous-commande 'status', puis entre en boucle de commande interactive.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:222\n+msgid \"\"\n+\"The command loop shows the list of subcommands available, and gives a prompt \"\n+\"\\\"What now> \\\".  In general, when the prompt ends with a single '>', you can \"\n+\"pick only one of the choices given and type return, like this:\"\n+msgstr \"\"\n+\"La boucle de commande affiche la liste des sous-commandes disponibles et \"\n+\"affiche le prompt \\\"What now>\\\" (Que faire maintenant). En général, lorsque \"\n+\"le prompt se termine par un '>' unique, vous ne pouvez choisir qu'une seule \"\n+\"des propositions et appuyer Entrée, comme cela :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:228\n+#, no-wrap\n+msgid \"\"\n+\"    *** Commands ***\\n\"\n+\"      1: status       2: update       3: revert       4: add untracked\\n\"\n+\"      5: patch        6: diff         7: quit         8: help\\n\"\n+\"    What now> 1\\n\"\n+msgstr \"\"\n+\"    *** Commands ***\\n\"\n+\"      1: status       2: update       3: revert       4: add untracked\\n\"\n+\"      5: patch        6: diff         7: quit         8: help\\n\"\n+\"    What now> 1\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:232\n+msgid \"\"\n+\"You also could say `s` or `sta` or `status` above as long as the choice is \"\n+\"unique.\"\n+msgstr \"\"\n+\"Vous pouvez indiquer `s` ou `sta` ou `status` dans le cas si dessus, à \"\n+\"condition que le choix soit unique.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:234\n+msgid \"The main command loop has 6 subcommands (plus help and quit).\"\n+msgstr \"\"\n+\"La boucle de commande principale propose 6 sous-commandes (plus help (aide)  \"\n+\"et quit (quitter)).\"\n+\n+#. type: Labeled list\n+#: git-add.txt:235\n+#, no-wrap\n+msgid \"status\"\n+msgstr \"status\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:242\n+msgid \"\"\n+\"This shows the change between HEAD and index (i.e. what will be committed if \"\n+\"you say `git commit`), and between index and working tree files (i.e. what \"\n+\"you could stage further before `git commit` using `git add`) for each path.  \"\n+\"A sample output looks like this:\"\n+msgstr \"\"\n+\"Affiche les modifications entre HEAD et l'index (c-à-d ce qui serait validé \"\n+\"si vous lanciez `git commit`), et entre l'index et les fichiers de la copie \"\n+\"de travail (c-à-d ce que vous pourriez indexer au moyen de `git add` avant \"\n+\"de lancer `git commit`) pour chaque chemin. Un exemple d'affichage ressemble \"\n+\"à ceci :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:247\n+#, no-wrap\n+msgid \"\"\n+\"              staged     unstaged path\\n\"\n+\"     1:       binary      nothing foo.png\\n\"\n+\"     2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\"              staged     unstaged path\\n\"\n+\"     1:       binary      nothing foo.png\\n\"\n+\"     2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:258\n+msgid \"\"\n+\"It shows that foo.png has differences from HEAD (but that is binary so line \"\n+\"count cannot be shown) and there is no difference between indexed copy and \"\n+\"the working tree version (if the working tree version were also different, \"\n+\"'binary' would have been shown in place of 'nothing').  The other file, git-\"\n+\"add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if you \"\n+\"commit what is in the index, but working tree file has further modifications \"\n+\"(one addition and one deletion).\"\n+msgstr \"\"\n+\"foo.png contient de différences avec HEAD (mais c'est un format binaire donc \"\n+\"le nombre de lignes ne peut pas être affiché) et il n'y a pas différence \"\n+\"entre la copie indexée et la copie de travail (si la copie de travail avait \"\n+\"été aussi différente, 'binary' aurait été affiché à la place de 'nothing'). \"\n+\"L'autre fichier, git-add{litdd}interactive.perl, a 430 lignes ajoutées et 35 \"\n+\"effacées si vous validez ce qui est dans l'index, mais la copie de travail \"\n+\"contient d'autres modifications (un ajout et un retrait).\"\n+\n+#. type: Labeled list\n+#: git-add.txt:259\n+#, no-wrap\n+msgid \"update\"\n+msgstr \"update\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:268\n+msgid \"\"\n+\"This shows the status information and issues an \\\"Update>>\\\" prompt.  When \"\n+\"the prompt ends with double '>>', you can make more than one selection, \"\n+\"concatenated with whitespace or comma.  Also you can say ranges.  E.g. \\\"2-5 \"\n+\"7,9\\\" to choose 2,3,4,5,7,9 from the list.  If the second number in a range \"\n+\"is omitted, all remaining patches are taken.  E.g. \\\"7-\\\" to choose 7,8,9 \"\n+\"from the list.  You can say '*' to choose everything.\"\n+msgstr \"\"\n+\"Affiche l'information d'état et un prompt \\\"Update>>\\\". Quand le prompt se \"\n+\"termine par un double '>', vous pouvez sélectionner plus d'une option, \"\n+\"concaténées avec des espaces ou des virgules. Vous pouvez aussi indiquer des \"\n+\"intervalles.  Par exemple \\\"2-5 7,9\\\" pour choisir 2, 3, 4, 5, 7 et 9 dans \"\n+\"la liste. Si le second nombre d'un intervalle est absent, tous les patchs \"\n+\"restants sont sélectionnés. Par ex. \\\"7-\\\" choisit 7, 8 et 9 dans la liste. \"\n+\"'*' permet de tout sélectionner.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:271\n+msgid \"What you chose are then highlighted with '*', like this:\"\n+msgstr \"Tout ce qui a été sélectionné est indiqué par une '*', comme ceci :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:276\n+#, no-wrap\n+msgid \"\"\n+\"           staged     unstaged path\\n\"\n+\"  1:       binary      nothing foo.png\\n\"\n+\"* 2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\"           staged     unstaged path\\n\"\n+\"  1:       binary      nothing foo.png\\n\"\n+\"* 2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:280\n+msgid \"To remove selection, prefix the input with `-` like this:\"\n+msgstr \"Pour retirer une sélection, préfixez-la avec `-` comme ceci :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:283\n+#, no-wrap\n+msgid \"Update>> -2\\n\"\n+msgstr \"Update>> -2\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:287\n+msgid \"\"\n+\"After making the selection, answer with an empty line to stage the contents \"\n+\"of working tree files for selected paths in the index.\"\n+msgstr \"\"\n+\"Après sélection, répondez avec une ligne vide pour indexer le contenu des \"\n+\"fichiers sélectionnés de la copie de travail.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:288\n+#, no-wrap\n+msgid \"revert\"\n+msgstr \"revert\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:293\n+msgid \"\"\n+\"This has a very similar UI to 'update', and the staged information for \"\n+\"selected paths are reverted to that of the HEAD version.  Reverting new \"\n+\"paths makes them untracked.\"\n+msgstr \"\"\n+\"Ceci présente une interface d'utilisation similaire à 'update', et le \"\n+\"contenu indexé des chemins sélectionnés sont ramenés à la version HEAD. \"\n+\"Inverser des chemins nouveau les rend non-suivis.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:294\n+#, no-wrap\n+msgid \"add untracked\"\n+msgstr \"add untracked\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:298\n+msgid \"\"\n+\"This has a very similar UI to 'update' and 'revert', and lets you add \"\n+\"untracked paths to the index.\"\n+msgstr \"\"\n+\"Ceci présente une interface d'utilisation très similaire à 'update' et \"\n+\"'revert' et permet d'ajouter des chemins non-suivis à l'index.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:299\n+#, no-wrap\n+msgid \"patch\"\n+msgstr \"patch\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:306\n+msgid \"\"\n+\"This lets you choose one path out of a 'status' like selection.  After \"\n+\"choosing the path, it presents the diff between the index and the working \"\n+\"tree file and asks you if you want to stage the change of each hunk.  You \"\n+\"can select one of the following options and type return:\"\n+msgstr \"\"\n+\"Ceci permet de choisir un chemin depuis une sélection similaire à 'status'. \"\n+\"Après le choix du chemin, la différence entre l'index et le fichier dans \"\n+\"l'arbre de travail est présenté et vous demande si vous souhaiter indexer \"\n+\"chaque section de modification. Vous pouvez sélectionner une des options \"\n+\"suivantes et taper entréé :\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:321\n+msgid \"\"\n+\"y - stage this hunk n - do not stage this hunk q - quit; do not stage this \"\n+\"hunk or any of the remaining ones a - stage this hunk and all later hunks in \"\n+\"the file d - do not stage this hunk or any of the later hunks in the file g \"\n+\"- select a hunk to go to / - search for a hunk matching the given regex j - \"\n+\"leave this hunk undecided, see next undecided hunk J - leave this hunk \"\n+\"undecided, see next hunk k - leave this hunk undecided, see previous \"\n+\"undecided hunk K - leave this hunk undecided, see previous hunk s - split \"\n+\"the current hunk into smaller hunks e - manually edit the current hunk ? - \"\n+\"print help\"\n+msgstr \"\"\n+\"y - indexer cette section\\n\"\n+\"n - ne pas indexer cette section\\n\"\n+\"q - quitter ; ne pas indexer cette section ni les autres restantes\\n\"\n+\"a - indexer cette section et toutes les suivantes de ce fichier\\n\"\n+\"d - ne pas indexer cette section ni les suivantes de ce fichier\\n\"\n+\"g - selectionner une section et s'y rendre\\n\"\n+\"/ - rechercher une section correspondant à une regex donnée\\n\"\n+\"j - laisser cette section non décidée et aller à la suivante non-décidée\\n\"\n+\"J - laisser cette section non décidée et aller à la suivante\\n\"\n+\"k - laisser cette section non décidée et aller à la précédente non-décidée\\n\"\n+\"K - laisser cette section non décidée et aller à la précédente\\n\"\n+\"s - découper la section en sections plus petites\\n\"\n+\"e - éditer manuellement la section actuelle\\n\"\n+\"? - afficher l'aide\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:324\n+msgid \"\"\n+\"After deciding the fate for all hunks, if there is any hunk that was chosen, \"\n+\"the index is updated with the selected hunks.\"\n+msgstr \"\"\n+\"Après avoir décidé du devenir de chaque section, l'index est mis à jour avec \"\n+\"les sections sélectionnées.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:327\n+msgid \"\"\n+\"You can omit having to type return here, by setting the configuration \"\n+\"variable `interactive.singleKey` to `true`.\"\n+msgstr \"\"\n+\"Vous pouvez vous éviter de taper entrée ici, en mettant la variable de \"\n+\"configuration `interactive.singlekey` à `true`.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:328\n+#, no-wrap\n+msgid \"diff\"\n+msgstr \"diff\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:332\n+msgid \"\"\n+\"This lets you review what will be committed (i.e. between HEAD and index).\"\n+msgstr \"\"\n+\"Ceci permet de faire une revue de ce qui sera validé (c'est une différence \"\n+\"entre HEAD et index).\"\n+\n+#. type: Title -\n+#: git-add.txt:335\n+#, no-wrap\n+msgid \"EDITING PATCHES\"\n+msgstr \"EDITER LES PATCHES\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:345\n+msgid \"\"\n+\"Invoking `git add -e` or selecting `e` from the interactive hunk selector \"\n+\"will open a patch in your editor; after the editor exits, the result is \"\n+\"applied to the index. You are free to make arbitrary changes to the patch, \"\n+\"but note that some changes may have confusing results, or even result in a \"\n+\"patch that cannot be applied.  If you want to abort the operation entirely \"\n+\"(i.e., stage nothing new in the index), simply delete all lines of the \"\n+\"patch. The list below describes some common things you may see in a patch, \"\n+\"and which editing operations make sense on them.\"\n+msgstr \"\"\n+\"Invoquer `git add -e` ou selectionner `e` depuis le sélecteur interactif de \"\n+\"sections ouvre un patch dans votre éditeur ; après avoir quitté l'éditeur, \"\n+\"le résultat est appliqué à l'index. Vous êtes libre de modifier en tout \"\n+\"point le patch, mais notez cependant que certaines modifications provoquent \"\n+\"des résultats inattendus ou même créent des patchs inapplicables. Si vous \"\n+\"souhaitez abandonner complètement l'opération (c'est-à-dire ne rien ajouter \"\n+\"à l'index), effacez toutes les lignes du patch. La liste ci-dessous décrit \"\n+\"des formes habituelles dans les patchs et quelles opérations d'édition \"\n+\"peuvent être réalisées.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:347\n+#, no-wrap\n+msgid \"added content\"\n+msgstr \"contenu ajouté\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:351\n+msgid \"\"\n+\"Added content is represented by lines beginning with \\\"{plus}\\\". You can \"\n+\"prevent staging any addition lines by deleting them.\"\n+msgstr \"\"\n+\"Le contenu ajouté est représentés par des lignes commençant par un \"\n+\"\\\"{plus}\\\". Vous pouvez empêcher l'indexation de lignes ajoutées en les \"\n+\"supprimant.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:352\n+#, no-wrap\n+msgid \"removed content\"\n+msgstr \"contenu supprimé\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:356\n+msgid \"\"\n+\"Removed content is represented by lines beginning with \\\"-\\\". You can \"\n+\"prevent staging their removal by converting the \\\"-\\\" to a \\\" \\\" (space).\"\n+msgstr \"\"\n+\"Le contenu supprimé est représenté par des lignes commençant par \\\"-\\\". Vous \"\n+\"pouvez empêcher l'indexation de ces suppression en convertissant le \\\"-\\\" en \"\n+\"\\\" \\\" (espace).\"\n+\n+#. type: Labeled list\n+#: git-add.txt:357\n+#, no-wrap\n+msgid \"modified content\"\n+msgstr \"contenu modifié\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:364\n+msgid \"\"\n+\"Modified content is represented by \\\"-\\\" lines (removing the old content)  \"\n+\"followed by \\\"{plus}\\\" lines (adding the replacement content). You can \"\n+\"prevent staging the modification by converting \\\"-\\\" lines to \\\" \\\", and \"\n+\"removing \\\"{plus}\\\" lines. Beware that modifying only half of the pair is \"\n+\"likely to introduce confusing changes to the index.\"\n+msgstr \"\"\n+\"Le contenu modifié est représenté par des lignes \\\"-\\\" (supprimant l'ancien \"\n+\"contenu) suivies de lignes \\\"{plus}\\\" (ajoutant le nouveau contenu). Vous \"\n+\"pouvez empêcher l'indexation de ces modifications en convertissant les \"\n+\"lignes \\\"_\\\" en ligne \\\" \\\" et en supprimant les lignes \\\"{plus}\\\". Méfiez-\"\n+\"vous : ne modifier que la moitié de la paire de lignes a de fortes chances \"\n+\"de créer des modifications inattendues dans l'index.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:372\n+msgid \"\"\n+\"There are also more complex operations that can be performed. But beware \"\n+\"that because the patch is applied only to the index and not the working \"\n+\"tree, the working tree will appear to \\\"undo\\\" the change in the index.  For \"\n+\"example, introducing a new line into the index that is in neither the HEAD \"\n+\"nor the working tree will stage the new line for commit, but the line will \"\n+\"appear to be reverted in the working tree.\"\n+msgstr \"\"\n+\"Il existe aussi des opérations plus complexes. Méfiez-vous : quand le patch \"\n+\"n'est appliqué que dans l'index et pas dans l'arbre de travail, l'arbre de \"\n+\"travail semblera « défaire » les modifications de l'index. Par exemple, \"\n+\"l'introduction dans l'index d'une nouvelle ligne qui n'apparait ni dans HEAD \"\n+\"ni dans l'arbre de travail indexera la nouvelle ligne pour validation, mais \"\n+\"cette ligne semblera être supprimée dans l'arbre de travail.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:374\n+msgid \"Avoid using these constructs, or do so with extreme caution.\"\n+msgstr \"\"\n+\"Évitez d'utiliser ces constructions, ou faites le avec une extrême \"\n+\"précaution.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:376\n+#, no-wrap\n+msgid \"removing untouched content\"\n+msgstr \"suppression de contenu intact\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:382\n+msgid \"\"\n+\"Content which does not differ between the index and working tree may be \"\n+\"shown on context lines, beginning with a \\\" \\\" (space).  You can stage \"\n+\"context lines for removal by converting the space to a \\\"-\\\". The resulting \"\n+\"working tree file will appear to re-add the content.\"\n+msgstr \"\"\n+\"Le contenu qui ne diffère pas entre l'index et l'arbre de travail peut être \"\n+\"visible dans des lignes de contexte commençant par un \\\" \\\" (espace). Vous \"\n+\"pouvez indexer l'élimination de lignes de contexte en convertissant l'espace \"\n+\"en \\\"-\\\". Le fichier dans l'arbre de travail semblera ré-ajouter le contenu.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:383\n+#, no-wrap\n+msgid \"modifying existing content\"\n+msgstr \"modification de contenu existant\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:390\n+msgid \"\"\n+\"One can also modify context lines by staging them for removal (by converting \"\n+\"\\\" \\\" to \\\"-\\\") and adding a \\\"{plus}\\\" line with the new content.  \"\n+\"Similarly, one can modify \\\"{plus}\\\" lines for existing additions or \"\n+\"modifications. In all cases, the new modification will appear reverted in \"\n+\"the working tree.\"\n+msgstr \"\"\n+\"On peut aussi modifier le contenu de lignes de contexte en indexant leur \"\n+\"suppression (en convertissant \\\" \\\" en \\\"-\\\") et en ajoutant dessous une \"\n+\"ligne \\\"{plus}\\\" avec le nouveau contenu. On peut modifier des lignes \"\n+\"\\\"{plus}\\\" dans des ajouts ou des modifications de contenu. Dans tous les \"\n+\"cas, la nouvelle modification indexée semblera être annulée dans l'arbre de \"\n+\"travail.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:391\n+#, no-wrap\n+msgid \"new content\"\n+msgstr \"contenu nouveau\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:396\n+msgid \"\"\n+\"You may also add new content that does not exist in the patch; simply add \"\n+\"new lines, each starting with \\\"{plus}\\\". The addition will appear reverted \"\n+\"in the working tree.\"\n+msgstr \"\"\n+\"Vous pouvez aussi ajouter du contenu nouveau qui n'existe pas dans le \"\n+\"patch ; ajoutez simplement des nouvelles lignes, chacune commençant avec \"\n+\"\\\"{plus}\\\". L'ajout semblera annulé dans l'arbre de travail.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:400\n+msgid \"\"\n+\"There are also several operations which should be avoided entirely, as they \"\n+\"will make the patch impossible to apply:\"\n+msgstr \"\"\n+\"Il existe aussi quelques opération à éviter complètement car celles-ci \"\n+\"rendent le patch inapplicable :\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:402\n+msgid \"adding context (\\\" \\\") or removal (\\\"-\\\") lines\"\n+msgstr \"ajout de context (\\\" \\\") ou lignes de suppression (\\\"-\\\")\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:403\n+msgid \"deleting context or removal lines\"\n+msgstr \"suppression de contexte ou de lignes supprimées\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:404\n+msgid \"modifying the contents of context or removal lines\"\n+msgstr \"modification de contenu de contexte ou de lignes supprimées\"\n+\n+#. type: Title -\n+#: git-add.txt:406\n+#, no-wrap\n+msgid \"SEE ALSO\"\n+msgstr \"VOIR AUSSI\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:413\n+msgid \"\"\n+\"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-\"\n+\"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]\"\n+msgstr \"\"\n+\"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-\"\n+\"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]\"\n+\n+#. type: Title -\n+#: git-add.txt:415\n+#, no-wrap\n+msgid \"GIT\"\n+msgstr \"GIT\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:416\n+msgid \"Part of the linkgit:git[1] suite\"\n+msgstr \"Fait partie de la suite linkgit:git[1]\"\ndiff --git a/Documentation/po/documentation.pot b/Documentation/po/documentation.pot\nnew file mode 100644\nindex 000000000..46c590bea\n--- /dev/null\n+++ b/Documentation/po/documentation.pot\n@@ -0,0 +1,787 @@\n+# SOME DESCRIPTIVE TITLE\n+# Copyright (C) YEAR Free Software Foundation, Inc.\n+# This file is distributed under the same license as the PACKAGE package.\n+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n+#\n+#, fuzzy\n+msgid \"\"\n+msgstr \"\"\n+\"Project-Id-Version: PACKAGE VERSION\\n\"\n+\"POT-Creation-Date: 2017-03-03 21:18+0100\\n\"\n+\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n+\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n+\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n+\"Language: \\n\"\n+\"MIME-Version: 1.0\\n\"\n+\"Content-Type: text/plain; charset=CHARSET\\n\"\n+\"Content-Transfer-Encoding: 8bit\\n\"\n+\n+#. type: Title =\n+#: ./git-add.txt:2\n+#, no-wrap\n+msgid \"git-add(1)\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:5\n+#, no-wrap\n+msgid \"NAME\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:7\n+msgid \"git-add - Add file contents to the index\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:9\n+#, no-wrap\n+msgid \"SYNOPSIS\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:15\n+#, no-wrap\n+msgid \"\"\n+\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | \"\n+\"-i] [--patch | -p]\\n\"\n+\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n+\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] \"\n+\"[--ignore-missing]\\n\"\n+\"\\t  [--chmod=(+|-)x] [--] [<pathspec>...]\\n\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:17\n+#, no-wrap\n+msgid \"DESCRIPTION\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:24\n+msgid \"\"\n+\"This command updates the index using the current content found in the \"\n+\"working tree, to prepare the content staged for the next commit.  It \"\n+\"typically adds the current content of existing paths as a whole, but with \"\n+\"some options it can also be used to add content with only part of the \"\n+\"changes made to the working tree files applied, or remove paths that do not \"\n+\"exist in the working tree anymore.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:30\n+msgid \"\"\n+\"The \\\"index\\\" holds a snapshot of the content of the working tree, and it is \"\n+\"this snapshot that is taken as the contents of the next commit.  Thus after \"\n+\"making any changes to the working tree, and before running the commit \"\n+\"command, you must use the `add` command to add any new or modified files to \"\n+\"the index.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:35\n+msgid \"\"\n+\"This command can be performed multiple times before a commit.  It only adds \"\n+\"the content of the specified file(s) at the time the add command is run; if \"\n+\"you want subsequent changes included in the next commit, then you must run \"\n+\"`git add` again to add the new content to the index.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:38\n+msgid \"\"\n+\"The `git status` command can be used to obtain a summary of which files have \"\n+\"changes that are staged for the next commit.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:45\n+msgid \"\"\n+\"The `git add` command will not add ignored files by default.  If any ignored \"\n+\"files were explicitly specified on the command line, `git add` will fail \"\n+\"with a list of ignored files.  Ignored files reached by directory recursion \"\n+\"or filename globbing performed by Git (quote your globs before the shell) \"\n+\"will be silently ignored.  The 'git add' command can be used to add ignored \"\n+\"files with the `-f` (force) option.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:48\n+msgid \"\"\n+\"Please see linkgit:git-commit[1] for alternative ways to add content to a \"\n+\"commit.\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:51\n+#, no-wrap\n+msgid \"OPTIONS\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:64\n+#, no-wrap\n+msgid \"\"\n+\"<pathspec>...::\\n\"\n+\"\\tFiles to add content from.  Fileglobs (e.g. `*.c`) can\\n\"\n+\"\\tbe given to add all matching files.  Also a\\n\"\n+\"\\tleading directory name (e.g. `dir` to add `dir/file1`\\n\"\n+\"\\tand `dir/file2`) can be given to update the index to\\n\"\n+\"\\tmatch the current state of the directory as a whole (e.g.\\n\"\n+\"\\tspecifying `dir` will record not just a file `dir/file1`\\n\"\n+\"\\tmodified in the working tree, a file `dir/file2` added to\\n\"\n+\"\\tthe working tree, but also a file `dir/file3` removed from\\n\"\n+\"\\tthe working tree.  Note that older versions of Git used\\n\"\n+\"\\tto ignore removed files; use `--no-all` option if you want\\n\"\n+\"\\tto add modified or new files but ignore removed\\tones.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:69\n+#, no-wrap\n+msgid \"\"\n+\"-n::\\n\"\n+\"--dry-run::\\n\"\n+\"\\tDon't actually add the file(s), just show if they exist and/or will\\n\"\n+\"\\tbe ignored.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:73\n+#, no-wrap\n+msgid \"\"\n+\"-v::\\n\"\n+\"--verbose::\\n\"\n+\"        Be verbose.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:77\n+#, no-wrap\n+msgid \"\"\n+\"-f::\\n\"\n+\"--force::\\n\"\n+\"\\tAllow adding otherwise ignored files.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:84\n+#, no-wrap\n+msgid \"\"\n+\"-i::\\n\"\n+\"--interactive::\\n\"\n+\"\\tAdd modified contents in the working tree interactively to\\n\"\n+\"\\tthe index. Optional path arguments may be supplied to limit\\n\"\n+\"\\toperation to a subset of the working tree. See ``Interactive\\n\"\n+\"\\tmode'' for details.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:91\n+#, no-wrap\n+msgid \"\"\n+\"-p::\\n\"\n+\"--patch::\\n\"\n+\"\\tInteractively choose hunks of patch between the index and the\\n\"\n+\"\\twork tree and add them to the index. This gives the user a chance\\n\"\n+\"\\tto review the difference before adding modified contents to the\\n\"\n+\"\\tindex.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:95\n+#, no-wrap\n+msgid \"\"\n+\"This effectively runs `add --interactive`, but bypasses the\\n\"\n+\"initial command menu and directly jumps to the `patch` subcommand.\\n\"\n+\"See ``Interactive mode'' for details.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:101\n+#, no-wrap\n+msgid \"\"\n+\"-e::\\n\"\n+\"--edit::\\n\"\n+\"\\tOpen the diff vs. the index in an editor and let the user\\n\"\n+\"\\tedit it.  After the editor was closed, adjust the hunk headers\\n\"\n+\"\\tand apply the patch to the index.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:107\n+#, no-wrap\n+msgid \"\"\n+\"The intent of this option is to pick and choose lines of the patch to\\n\"\n+\"apply, or even to modify the contents of lines to be staged. This can be\\n\"\n+\"quicker and more flexible than using the interactive hunk selector.\\n\"\n+\"However, it is easy to confuse oneself and create a patch that does not\\n\"\n+\"apply to the index. See EDITING PATCHES below.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:113\n+#, no-wrap\n+msgid \"\"\n+\"-u::\\n\"\n+\"--update::\\n\"\n+\"\\tUpdate the index just where it already has an entry matching\\n\"\n+\"\\t<pathspec>.  This removes as well as modifies index entries to\\n\"\n+\"\\tmatch the working tree, but adds no new files.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:118\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-u` option is used, all\\n\"\n+\"tracked files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:126\n+#, no-wrap\n+msgid \"\"\n+\"-A::\\n\"\n+\"--all::\\n\"\n+\"--no-ignore-removal::\\n\"\n+\"\\tUpdate the index not only where the working tree has a file\\n\"\n+\"\\tmatching <pathspec> but also where the index already has an\\n\"\n+\"\\tentry.\\tThis adds, modifies, and removes index entries to\\n\"\n+\"\\tmatch the working tree.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:131\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-A` option is used, all\\n\"\n+\"files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:138\n+#, no-wrap\n+msgid \"\"\n+\"--no-all::\\n\"\n+\"--ignore-removal::\\n\"\n+\"\\tUpdate the index by adding new files that are unknown to the\\n\"\n+\"\\tindex and files modified in the working tree, but ignore\\n\"\n+\"\\tfiles that have been removed from the working tree.  This\\n\"\n+\"\\toption is a no-op when no <pathspec> is used.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:142\n+#, no-wrap\n+msgid \"\"\n+\"This option is primarily to help users who are used to older\\n\"\n+\"versions of Git, whose \\\"git add <pathspec>...\\\" was a synonym\\n\"\n+\"for \\\"git add --no-all <pathspec>...\\\", i.e. ignored removed files.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:150\n+#, no-wrap\n+msgid \"\"\n+\"-N::\\n\"\n+\"--intent-to-add::\\n\"\n+\"\\tRecord only the fact that the path will be added later. An entry\\n\"\n+\"\\tfor the path is placed in the index with no content. This is\\n\"\n+\"\\tuseful for, among other things, showing the unstaged content of\\n\"\n+\"\\tsuch files with `git diff` and committing them with `git commit\\n\"\n+\"\\t-a`.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:154\n+#, no-wrap\n+msgid \"\"\n+\"--refresh::\\n\"\n+\"\\tDon't add the file(s), but only refresh their stat()\\n\"\n+\"\\tinformation in the index.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:161\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-errors::\\n\"\n+\"\\tIf some files could not be added because of errors indexing\\n\"\n+\"\\tthem, do not abort the operation, but continue adding the\\n\"\n+\"\\tothers. The command shall still exit with non-zero status.\\n\"\n+\"\\tThe configuration variable `add.ignoreErrors` can be set to\\n\"\n+\"\\ttrue to make this the default behaviour.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:167\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-missing::\\n\"\n+\"\\tThis option can only be used together with --dry-run. By using\\n\"\n+\"\\tthis option the user can check if any of the given files would\\n\"\n+\"\\tbe ignored, no matter if they are already present in the work\\n\"\n+\"\\ttree or not.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:172\n+#, no-wrap\n+msgid \"\"\n+\"--chmod=(+|-)x::\\n\"\n+\"\\tOverride the executable bit of the added files.  The executable\\n\"\n+\"\\tbit is only changed in the index, the files on disk are left\\n\"\n+\"\\tunchanged.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:177\n+#, no-wrap\n+msgid \"\"\n+\"\\\\--::\\n\"\n+\"\\tThis option can be used to separate command-line options from\\n\"\n+\"\\tthe list of files, (useful when filenames might be mistaken\\n\"\n+\"\\tfor command-line options).\\n\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:180\n+#, no-wrap\n+msgid \"Configuration\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:186\n+msgid \"\"\n+\"The optional configuration variable `core.excludesFile` indicates a path to \"\n+\"a file containing patterns of file names to exclude from git-add, similar to \"\n+\"$GIT_DIR/info/exclude.  Patterns in the exclude file are used in addition to \"\n+\"those in info/exclude.  See linkgit:gitignore[5].\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:189\n+#, no-wrap\n+msgid \"EXAMPLES\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:193\n+msgid \"\"\n+\"Adds content from all `*.txt` files under `Documentation` directory and its \"\n+\"subdirectories:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:196\n+#, no-wrap\n+msgid \"$ git add Documentation/\\\\*.txt\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:201\n+msgid \"\"\n+\"Note that the asterisk `*` is quoted from the shell in this example; this \"\n+\"lets the command include the files from subdirectories of `Documentation/` \"\n+\"directory.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:203\n+msgid \"Considers adding content from all git-*.sh scripts:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:206\n+#, no-wrap\n+msgid \"$ git add git-*.sh\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:211\n+msgid \"\"\n+\"Because this example lets the shell expand the asterisk (i.e. you are \"\n+\"listing the files explicitly), it does not consider `subdir/git-foo.sh`.\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:213\n+#, no-wrap\n+msgid \"Interactive mode\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:217\n+msgid \"\"\n+\"When the command enters the interactive mode, it shows the output of the \"\n+\"'status' subcommand, and then goes into its interactive command loop.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:222\n+msgid \"\"\n+\"The command loop shows the list of subcommands available, and gives a prompt \"\n+\"\\\"What now> \\\".  In general, when the prompt ends with a single '>', you can \"\n+\"pick only one of the choices given and type return, like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:228\n+#, no-wrap\n+msgid \"\"\n+\"    *** Commands ***\\n\"\n+\"      1: status       2: update       3: revert       4: add untracked\\n\"\n+\"      5: patch        6: diff         7: quit         8: help\\n\"\n+\"    What now> 1\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:232\n+msgid \"\"\n+\"You also could say `s` or `sta` or `status` above as long as the choice is \"\n+\"unique.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:234\n+msgid \"The main command loop has 6 subcommands (plus help and quit).\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:235\n+#, no-wrap\n+msgid \"status\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:242\n+msgid \"\"\n+\"This shows the change between HEAD and index (i.e. what will be committed if \"\n+\"you say `git commit`), and between index and working tree files (i.e. what \"\n+\"you could stage further before `git commit` using `git add`) for each path.  \"\n+\"A sample output looks like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:247\n+#, no-wrap\n+msgid \"\"\n+\"              staged     unstaged path\\n\"\n+\"     1:       binary      nothing foo.png\\n\"\n+\"     2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:258\n+msgid \"\"\n+\"It shows that foo.png has differences from HEAD (but that is binary so line \"\n+\"count cannot be shown) and there is no difference between indexed copy and \"\n+\"the working tree version (if the working tree version were also different, \"\n+\"'binary' would have been shown in place of 'nothing').  The other file, \"\n+\"git-add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if \"\n+\"you commit what is in the index, but working tree file has further \"\n+\"modifications (one addition and one deletion).\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:259\n+#, no-wrap\n+msgid \"update\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:268\n+msgid \"\"\n+\"This shows the status information and issues an \\\"Update>>\\\" prompt.  When \"\n+\"the prompt ends with double '>>', you can make more than one selection, \"\n+\"concatenated with whitespace or comma.  Also you can say ranges.  E.g. \\\"2-5 \"\n+\"7,9\\\" to choose 2,3,4,5,7,9 from the list.  If the second number in a range \"\n+\"is omitted, all remaining patches are taken.  E.g. \\\"7-\\\" to choose 7,8,9 \"\n+\"from the list.  You can say '*' to choose everything.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:271\n+msgid \"What you chose are then highlighted with '*', like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:276\n+#, no-wrap\n+msgid \"\"\n+\"           staged     unstaged path\\n\"\n+\"  1:       binary      nothing foo.png\\n\"\n+\"* 2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:280\n+msgid \"To remove selection, prefix the input with `-` like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:283\n+#, no-wrap\n+msgid \"Update>> -2\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:287\n+msgid \"\"\n+\"After making the selection, answer with an empty line to stage the contents \"\n+\"of working tree files for selected paths in the index.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:288\n+#, no-wrap\n+msgid \"revert\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:293\n+msgid \"\"\n+\"This has a very similar UI to 'update', and the staged information for \"\n+\"selected paths are reverted to that of the HEAD version.  Reverting new \"\n+\"paths makes them untracked.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:294\n+#, no-wrap\n+msgid \"add untracked\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:298\n+msgid \"\"\n+\"This has a very similar UI to 'update' and 'revert', and lets you add \"\n+\"untracked paths to the index.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:299\n+#, no-wrap\n+msgid \"patch\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:306\n+msgid \"\"\n+\"This lets you choose one path out of a 'status' like selection.  After \"\n+\"choosing the path, it presents the diff between the index and the working \"\n+\"tree file and asks you if you want to stage the change of each hunk.  You \"\n+\"can select one of the following options and type return:\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:321\n+msgid \"\"\n+\"y - stage this hunk n - do not stage this hunk q - quit; do not stage this \"\n+\"hunk or any of the remaining ones a - stage this hunk and all later hunks in \"\n+\"the file d - do not stage this hunk or any of the later hunks in the file g \"\n+\"- select a hunk to go to / - search for a hunk matching the given regex j - \"\n+\"leave this hunk undecided, see next undecided hunk J - leave this hunk \"\n+\"undecided, see next hunk k - leave this hunk undecided, see previous \"\n+\"undecided hunk K - leave this hunk undecided, see previous hunk s - split \"\n+\"the current hunk into smaller hunks e - manually edit the current hunk ? - \"\n+\"print help\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:324\n+msgid \"\"\n+\"After deciding the fate for all hunks, if there is any hunk that was chosen, \"\n+\"the index is updated with the selected hunks.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:327\n+msgid \"\"\n+\"You can omit having to type return here, by setting the configuration \"\n+\"variable `interactive.singleKey` to `true`.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:328\n+#, no-wrap\n+msgid \"diff\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:332\n+msgid \"This lets you review what will be committed (i.e. between HEAD and index).\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:335\n+#, no-wrap\n+msgid \"EDITING PATCHES\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:345\n+msgid \"\"\n+\"Invoking `git add -e` or selecting `e` from the interactive hunk selector \"\n+\"will open a patch in your editor; after the editor exits, the result is \"\n+\"applied to the index. You are free to make arbitrary changes to the patch, \"\n+\"but note that some changes may have confusing results, or even result in a \"\n+\"patch that cannot be applied.  If you want to abort the operation entirely \"\n+\"(i.e., stage nothing new in the index), simply delete all lines of the \"\n+\"patch. The list below describes some common things you may see in a patch, \"\n+\"and which editing operations make sense on them.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:347\n+#, no-wrap\n+msgid \"added content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:351\n+msgid \"\"\n+\"Added content is represented by lines beginning with \\\"{plus}\\\". You can \"\n+\"prevent staging any addition lines by deleting them.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:352\n+#, no-wrap\n+msgid \"removed content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:356\n+msgid \"\"\n+\"Removed content is represented by lines beginning with \\\"-\\\". You can \"\n+\"prevent staging their removal by converting the \\\"-\\\" to a \\\" \\\" (space).\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:357\n+#, no-wrap\n+msgid \"modified content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:364\n+msgid \"\"\n+\"Modified content is represented by \\\"-\\\" lines (removing the old content)  \"\n+\"followed by \\\"{plus}\\\" lines (adding the replacement content). You can \"\n+\"prevent staging the modification by converting \\\"-\\\" lines to \\\" \\\", and \"\n+\"removing \\\"{plus}\\\" lines. Beware that modifying only half of the pair is \"\n+\"likely to introduce confusing changes to the index.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:372\n+msgid \"\"\n+\"There are also more complex operations that can be performed. But beware \"\n+\"that because the patch is applied only to the index and not the working \"\n+\"tree, the working tree will appear to \\\"undo\\\" the change in the index.  For \"\n+\"example, introducing a new line into the index that is in neither the HEAD \"\n+\"nor the working tree will stage the new line for commit, but the line will \"\n+\"appear to be reverted in the working tree.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:374\n+msgid \"Avoid using these constructs, or do so with extreme caution.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:376\n+#, no-wrap\n+msgid \"removing untouched content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:382\n+msgid \"\"\n+\"Content which does not differ between the index and working tree may be \"\n+\"shown on context lines, beginning with a \\\" \\\" (space).  You can stage \"\n+\"context lines for removal by converting the space to a \\\"-\\\". The resulting \"\n+\"working tree file will appear to re-add the content.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:383\n+#, no-wrap\n+msgid \"modifying existing content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:390\n+msgid \"\"\n+\"One can also modify context lines by staging them for removal (by converting \"\n+\"\\\" \\\" to \\\"-\\\") and adding a \\\"{plus}\\\" line with the new content.  \"\n+\"Similarly, one can modify \\\"{plus}\\\" lines for existing additions or \"\n+\"modifications. In all cases, the new modification will appear reverted in \"\n+\"the working tree.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:391\n+#, no-wrap\n+msgid \"new content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:396\n+msgid \"\"\n+\"You may also add new content that does not exist in the patch; simply add \"\n+\"new lines, each starting with \\\"{plus}\\\". The addition will appear reverted \"\n+\"in the working tree.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:400\n+msgid \"\"\n+\"There are also several operations which should be avoided entirely, as they \"\n+\"will make the patch impossible to apply:\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:402\n+msgid \"adding context (\\\" \\\") or removal (\\\"-\\\") lines\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:403\n+msgid \"deleting context or removal lines\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:404\n+msgid \"modifying the contents of context or removal lines\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:406\n+#, no-wrap\n+msgid \"SEE ALSO\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:413\n+msgid \"\"\n+\"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] \"\n+\"linkgit:git-mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:415\n+#, no-wrap\n+msgid \"GIT\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:416\n+msgid \"Part of the linkgit:git[1] suite\"\n+msgstr \"\"\n-- \n2.12.0\n\n"},{"id":"314538","messageId":"xmqqfuia1ifx.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"20170318175353.24578-1-jn.avila@free.fr","subject":"Re: [PATCH v2 1/2] l10n: Introduce framework for localizing man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-18T19:41:22Z","receivedAt":"2017-03-18T19:41:29Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noel Avila <jn.avila@free.fr> writes:\n\n> Providing git in localized version is a good step for general adoption\n> of the tool. But as of now, if one needs to refer to the manual pages,\n> they are still confronted to english. The aim is to provide\n> documentation to users in their own language.\n\nPlease outline how the end result looks like here.  Where are the\nlocalized man pages installed?  Do installers get to choose to build\nand install the localization for some but not all languages and if\nso how?  etc.\n\n> signed-off-by: Jean-Noel Avila <jn.avila@free.fr>\n\ns/sign/Sign/;\n\n> -man: man1 man5 man7\n> +man: man1 man5 man7 man_l10n\n\nHmmm, at least in the early days of the topic, I'd prefer that \"make\ndoc\" and \"make install\" I need to run dozens of times a day from the\ntoplevel not to require po4a.\n\nThanks.\n"},{"id":"314569","messageId":"1595815.mnbOBApe2i@cayenne","threadId":"45362","inReplyTo":"xmqqfuia1ifx.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v2 1/2] l10n: Introduce framework for localizing man pages","fromName":"Jean-Noël AVILA","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-18T22:17:10Z","receivedAt":"2017-03-18T22:45:43Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Le samedi 18 mars 2017, 12:41:22 CET Junio C Hamano a écrit :\n> Jean-Noel Avila <jn.avila@free.fr> writes:\n> > Providing git in localized version is a good step for general adoption\n> > of the tool. But as of now, if one needs to refer to the manual pages,\n> > they are still confronted to english. The aim is to provide\n> > documentation to users in their own language.\n> \n> Please outline how the end result looks like here.  Where are the\n> localized man pages installed?  Do installers get to choose to build\n> and install the localization for some but not all languages and if\n> so how?  etc.\n> \n> > signed-off-by: Jean-Noel Avila <jn.avila@free.fr>\n> \n> s/sign/Sign/;\n> \n> > -man: man1 man5 man7\n> > +man: man1 man5 man7 man_l10n\n> \n> Hmmm, at least in the early days of the topic, I'd prefer that \"make\n> doc\" and \"make install\" I need to run dozens of times a day from the\n> toplevel not to require po4a.\n> \n> Thanks.\n\nFair enough. \n\nAnyway, now I see  there's a take away from the discussion thread. Right now \nthe man pages are tagged with the actual version of git, because the \ndocumentation is supposed to change at the same pace as the code. But that may \nnot be true for translations, In this case, the automatic running of po4a will \ngenerate fuzzy matches which are not going to be used in the translated texts, \nleading to patchworked manpages, depending on the level of acceptance of \nuntranslated entities.\n\nIf we want to freeze the translated manpages at a given version of git until a \nnew version of the manpages is fully translated, we'll have to commit the \ntranslated .txt and force in some way the version to freeze (not using the \ngeneric asciidoc target of the Makefile).  But, that may drag the version of \ntranslations far behind the original if translation is stalled.\n\nOr maybe people will not be so upset by mixed language manpages when the \ntranslation is lagging, but will prefer to have a \"best available translation\" \nof up-to-date pages. Plus that would be managed automatically by po4a's level \nof translation threshold to effectively generate a translated man page as long \nas the untranslated parts are still sparse in the mixed-up text.\n\nFor now, I keep this last option.\n"},{"id":"314579","messageId":"xmqq37ea192h.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"xmqqfuia1ifx.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v2 1/2] l10n: Introduce framework for localizing man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-18T23:03:50Z","receivedAt":"2017-03-18T23:18:56Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Jean-Noel Avila <jn.avila@free.fr> writes:\n>\n>> Providing git in localized version is a good step for general adoption\n>> of the tool. But as of now, if one needs to refer to the manual pages,\n>> they are still confronted to english. The aim is to provide\n>> documentation to users in their own language.\n>\n> Please outline how the end result looks like here.  Where are the\n> localized man pages installed?  Do installers get to choose to build\n> and install the localization for some but not all languages and if\n> so how?  etc.\n>\n>> signed-off-by: Jean-Noel Avila <jn.avila@free.fr>\n>\n> s/sign/Sign/;\n>\n>> -man: man1 man5 man7\n>> +man: man1 man5 man7 man_l10n\n>\n> Hmmm, at least in the early days of the topic, I'd prefer that \"make\n> doc\" and \"make install\" I need to run dozens of times a day from the\n> toplevel not to require po4a.\n>\n> Thanks.\n\nTravis seems to have failed.  Perhaps something like this is needed,\nat least?\n\n .travis.yml | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/.travis.yml b/.travis.yml\nindex 591cc57b80..719e5cdb00 100644\n--- a/.travis.yml\n+++ b/.travis.yml\n@@ -20,6 +20,7 @@ addons:\n     - language-pack-is\n     - git-svn\n     - apache2\n+    - po4a\n \n env:\n   global:\n"},{"id":"314617","messageId":"xmqqr31sy9xe.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"xmqq37ea192h.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v2 1/2] l10n: Introduce framework for localizing man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-20T02:11:09Z","receivedAt":"2017-03-20T02:11:16Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Travis seems to have failed.  Perhaps something like this is needed,\n> at least?\n>\n>  .travis.yml | 1 +\n>  1 file changed, 1 insertion(+)\n>\n> diff --git a/.travis.yml b/.travis.yml\n> index 591cc57b80..719e5cdb00 100644\n> --- a/.travis.yml\n> +++ b/.travis.yml\n> @@ -20,6 +20,7 @@ addons:\n>      - language-pack-is\n>      - git-svn\n>      - apache2\n> +    - po4a\n>  \n>  env:\n>    global:\n\nHere is what I have for now on top of yours in an attempt to make it\nwork with the public Travis, which is still not working X-<.\n\n  https://travis-ci.org/git/git/jobs/212839039\n\nshows how it breaks, which is somehow different from how it does not\nfail on a copy of Ubuntu I seem to be running, even though I seem to\nhave the same 0.41-1ubuntu1 installed).  \n\nCan you take it over from here?\n\n-- >8 --\nSubject: [PATCH] DONTMERGE: (blind trial for travis build)\n\nThe update to INSTALL shown here is bogus, but was made only to show\nwhere necessary information to make use of the new feature needs to\nbe added.\n\nSpecifically, the patches by Jean-Noel Avila requires po4a even for\nthose who do not want localized documentation, and what is described\nin INSTALL pretends that this has already been fixed.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n .travis.yml | 1 +\n INSTALL     | 7 ++++++-\n 2 files changed, 7 insertions(+), 1 deletion(-)\n\ndiff --git a/.travis.yml b/.travis.yml\nindex 591cc57b80..d0e1f99161 100644\n--- a/.travis.yml\n+++ b/.travis.yml\n@@ -68,6 +68,7 @@ matrix:\n           packages:\n           - asciidoc\n           - xmlto\n+          - po4a\n       before_install:\n       before_script:\n       script: ci/test-documentation.sh\ndiff --git a/INSTALL b/INSTALL\nindex ffb071e9f0..acfcd886df 100644\n--- a/INSTALL\n+++ b/INSTALL\n@@ -179,7 +179,12 @@ Issues of note:\n \n    All formats require at least asciidoc 8.4.1.\n \n-   There are also \"make quick-install-doc\", \"make quick-install-man\"\n+ - To build and install localized documentation suite, you need to\n+   have the po4a package, too.  The build and install steps are the\n+   same as outlined above, and the build documentation pages can be\n+   accessed by doing \"git help <commandname>\" in your locale.\n+\n+ - There are also \"make quick-install-doc\", \"make quick-install-man\"\n    and \"make quick-install-html\" which install preformatted man pages\n    and html documentation. To use these build targets, you need to\n    clone two separate git-htmldocs and git-manpages repositories next\n-- \n2.12.0-399-g9d77b0405c\n\n"},{"id":"314634","messageId":"46714f87-bf42-81a5-4af0-9b3a3282ad56@free.fr","threadId":"45362","inReplyTo":"xmqqr31sy9xe.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v2 1/2] l10n: Introduce framework for localizing man pages","fromName":"Jean-Noël Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-20T08:10:46Z","receivedAt":"2017-03-20T08:10:57Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Le 20/03/2017 à 03:11, Junio C Hamano a écrit :\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>> Travis seems to have failed.  Perhaps something like this is needed,\n>> at least?\n>>\n>>  .travis.yml | 1 +\n>>  1 file changed, 1 insertion(+)\n>>\n>> diff --git a/.travis.yml b/.travis.yml\n>> index 591cc57b80..719e5cdb00 100644\n>> --- a/.travis.yml\n>> +++ b/.travis.yml\n>> @@ -20,6 +20,7 @@ addons:\n>>      - language-pack-is\n>>      - git-svn\n>>      - apache2\n>> +    - po4a\n>>  \n>>  env:\n>>    global:\n> Here is what I have for now on top of yours in an attempt to make it\n> work with the public Travis, which is still not working X-<.\n>\n>   https://travis-ci.org/git/git/jobs/212839039\n>\n> shows how it breaks, which is somehow different from how it does not\n> fail on a copy of Ubuntu I seem to be running, even though I seem to\n> have the same 0.41-1ubuntu1 installed).  \n\nAsciidoc support was added in 0.45, and was included Ubuntu 14.04 but is\nnot present in ubuntu 12.04. The latest version is 0.48.\n\nSo I guess you made your trials on 14.04. So, switching to 14.04 on\nTravis would help, at least for this patch series, but that would help\nmuch for the (close) future.\n\nI'm trying to push for a release of a new version, because I stumbled\nupon a bug on the support of include macros while extending the\ntranslations to git-commit manpage. This bug is already fixed in master,\nbut no version has been published yet.\n\n\nThe bottom line is that using po4a brings mixed results, for now.\n\n"},{"id":"314638","messageId":"859618f1-4305-9603-21ae-37609fb276f3@scantech.fr","threadId":"45362","inReplyTo":"46714f87-bf42-81a5-4af0-9b3a3282ad56@free.fr","subject":"Re: [PATCH v2 1/2] l10n: Introduce framework for localizing man pages","fromName":"Jean-Noël AVILA","fromEmail":"jean-noel.avila@scantech.fr","sentAt":"2017-03-20T08:21:46Z","receivedAt":"2017-03-20T11:58:53Z","isPatch":true,"sender":{"key":"jean-noel.avila@scantech.fr","avatar":null},"body":"Le 20/03/2017 à 09:10, Jean-Noël Avila a écrit :\n\n> So I guess you made your trials on 14.04. So, switching to 14.04 on\n> Travis would help, at least for this patch series, but that would help\n> much for the (close) future.\n\n that *would not* help much for the (close) future.\n\n\nbegin:vcard\nfn;quoted-printable:Jean-No=C3=ABl AVILA\nn;quoted-printable:AVILA;Jean-No=C3=ABl\norg:SCANTECH FRANCE\nadr;quoted-printable:Savoie Technolac, BP244;;34, All=C3=A9e du Lac d'Aiguebelette;Le Bourget du Lac;;73374;FRANCE\nemail;internet:jean-noel.avila@scantech.fr\ntitle:Embedded Systems Manager\ntel;work:+33 479265450\ntel;cell:+33 633046418\nx-mozilla-html:FALSE\nurl:http://www.scantech.fr\nversion:2.1\nend:vcard\n\n"},{"id":"314684","messageId":"xmqq60j3yjsz.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"46714f87-bf42-81a5-4af0-9b3a3282ad56@free.fr","subject":"Re: [PATCH v2 1/2] l10n: Introduce framework for localizing man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-20T16:50:04Z","receivedAt":"2017-03-20T16:50:41Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noël Avila <jn.avila@free.fr> writes:\n\n> Asciidoc support was added in 0.45, and was included Ubuntu 14.04 but is\n> not present in ubuntu 12.04. The latest version is 0.48.\n>\n> So I guess you made your trials on 14.04. So, switching to 14.04 on\n> Travis would help, at least for this patch series, but that would help\n> much for the (close) future.\n>\n> I'm trying to push for a release of a new version, because I stumbled\n> upon a bug on the support of include macros while extending the\n> translations to git-commit manpage. This bug is already fixed in master,\n> but no version has been published yet.\n>\n> The bottom line is that using po4a brings mixed results, for now.\n\nThanks for digging.  \n\nBecause people find it inconvenient to leave the tip of 'pu' left in\na state that does not pass the standard test suite for too long, I'm\nplanning to eject the topic from 'pu' for now; if I find time to do\nso, I may try to remove the localized documentation from the default\n\"make doc\" target myself instead though.\n"},{"id":"314728","messageId":"20170320210225.13046-1-jn.avila@free.fr","threadId":"45362","inReplyTo":"20170312200248.3610-1-jn.avila@free.fr","subject":"Rework manpage localisation","fromName":"Jean-Noel Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-20T21:02:23Z","receivedAt":"2017-03-20T21:04:06Z","isPatch":false,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"The patch series has been reworked to remove the manpage localization\ntask from the main documentation task. The Travis build should be back\nto normal, while still retaining the capability to generate localized\nman pages.\n\nRight now, there are some limitations with the version of po4a\nprovided by most linux distributions, so there is a great chance that\nthe install-man-l10n won't work on most systems.\n\n\n"},{"id":"314729","messageId":"20170320210225.13046-3-jn.avila@free.fr","threadId":"45362","inReplyTo":"20170320210225.13046-1-jn.avila@free.fr","subject":"[PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Jean-Noel Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-20T21:02:25Z","receivedAt":"2017-03-20T21:04:09Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>\n---\n Documentation/po/documentation.fr.po | 1095 ++++++++++++++++++++++++++++++++++\n Documentation/po/documentation.pot   |  787 ++++++++++++++++++++++++\n 2 files changed, 1882 insertions(+)\n create mode 100644 Documentation/po/documentation.fr.po\n create mode 100644 Documentation/po/documentation.pot\n\ndiff --git a/Documentation/po/documentation.fr.po b/Documentation/po/documentation.fr.po\nnew file mode 100644\nindex 000000000..3017da0c9\n--- /dev/null\n+++ b/Documentation/po/documentation.fr.po\n@@ -0,0 +1,1095 @@\n+# French translations for Git Manual Pages.\n+# Copyright (C) 2017 Jean-Noël Avila <jn.avila@free.fr>\n+# This file is distributed under the same license as the Git package.\n+# Jean-Noël Avila <jn.avila@free.fr>, 2016.\n+msgid \"\"\n+msgstr \"\"\n+\"Project-Id-Version: git documentation\\n\"\n+\"POT-Creation-Date: 2017-03-03 21:18+0100\\n\"\n+\"PO-Revision-Date: 2017-03-15 21:42+0100\\n\"\n+\"Last-Translator: Jean-Noël Avila <jn.avila@free.fr>\\n\"\n+\"Language-Team: Jean-Noël Avila <jn.avila@free.fr>\\n\"\n+\"Language: fr\\n\"\n+\"MIME-Version: 1.0\\n\"\n+\"Content-Type: text/plain; charset=utf-8\\n\"\n+\"Content-Transfer-Encoding: 8bit\\n\"\n+\n+#. type: Title =\n+#: git-add.txt:2\n+#, no-wrap\n+msgid \"git-add(1)\"\n+msgstr \"git-add(1)\"\n+\n+#. type: Title -\n+#: git-add.txt:5\n+#, no-wrap\n+msgid \"NAME\"\n+msgstr \"NOM\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:7\n+msgid \"git-add - Add file contents to the index\"\n+msgstr \"git-add - Ajoute le contenu de fichiers à l'index\"\n+\n+#. type: Title -\n+#: git-add.txt:9\n+#, no-wrap\n+msgid \"SYNOPSIS\"\n+msgstr \"SYNOPSIS\"\n+\n+#. type: Plain text\n+#: git-add.txt:15\n+#, no-wrap\n+msgid \"\"\n+\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n+\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n+\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n+\"\\t  [--chmod=(+|-)x] [--] [<pathspec>...]\\n\"\n+msgstr \"\"\n+\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]\\n\"\n+\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n+\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]\\n\"\n+\"\\t  [--chmod=(+|-)x] [--] [<spécification de chemin>...]\\n\"\n+\n+#. type: Title -\n+#: git-add.txt:17\n+#, no-wrap\n+msgid \"DESCRIPTION\"\n+msgstr \"DESCRIPTION\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:24\n+msgid \"\"\n+\"This command updates the index using the current content found in the \"\n+\"working tree, to prepare the content staged for the next commit.  It \"\n+\"typically adds the current content of existing paths as a whole, but with \"\n+\"some options it can also be used to add content with only part of the \"\n+\"changes made to the working tree files applied, or remove paths that do not \"\n+\"exist in the working tree anymore.\"\n+msgstr \"\"\n+\"Cette commande met à jour l'index en utilisant le contenu actuel trouvé dans \"\n+\"la copie de travail, pour préparer le contenu de la prochaine validation. \"\n+\"Typiquement, elle ajoute intégralement le contenu actuel des chemins \"\n+\"existant, mais peut aussi n'ajouter que certaines parties des modifications \"\n+\"au moyen d'options ou soustraire certains chemins qui n'existent plus dans \"\n+\"la copie de travail.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:30\n+msgid \"\"\n+\"The \\\"index\\\" holds a snapshot of the content of the working tree, and it is \"\n+\"this snapshot that is taken as the contents of the next commit.  Thus after \"\n+\"making any changes to the working tree, and before running the commit \"\n+\"command, you must use the `add` command to add any new or modified files to \"\n+\"the index.\"\n+msgstr \"\"\n+\"L'« index » contient un instantané du contenu de la copie de travail et \"\n+\"c'est cet instantané qui sera utilisé comme contenu du prochain commit.  \"\n+\"Ainsi, après avoir réalisé des modifications dans la copie de travail, et \"\n+\"avant de lancer la commande commit, vous devez utiliser la commande `add` \"\n+\"pour ajouter tout fichier nouveau ou modifié à l'index.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:35\n+msgid \"\"\n+\"This command can be performed multiple times before a commit.  It only adds \"\n+\"the content of the specified file(s) at the time the add command is run; if \"\n+\"you want subsequent changes included in the next commit, then you must run \"\n+\"`git add` again to add the new content to the index.\"\n+msgstr \"\"\n+\"Cette commande peut être effectuée plusieurs fois avant la validation.  Elle \"\n+\"n'ajoute que le contenu des fichiers spécifiés au moment où la commande \"\n+\"`add` est lancée ; si vous souhaitez inclure des modifications postérieures \"\n+\"à un `add` dans la prochaine validation, vous devez alors lancer `git add` à \"\n+\"nouveau pour ajouter le nouveau contenu à l'index.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:38\n+msgid \"\"\n+\"The `git status` command can be used to obtain a summary of which files have \"\n+\"changes that are staged for the next commit.\"\n+msgstr \"\"\n+\"La commande `git status` permet d'obtenir un résumé des fichiers modifiés \"\n+\"qui sont préparés pour la prochaine validation.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:45\n+msgid \"\"\n+\"The `git add` command will not add ignored files by default.  If any ignored \"\n+\"files were explicitly specified on the command line, `git add` will fail \"\n+\"with a list of ignored files.  Ignored files reached by directory recursion \"\n+\"or filename globbing performed by Git (quote your globs before the shell) \"\n+\"will be silently ignored.  The 'git add' command can be used to add ignored \"\n+\"files with the `-f` (force) option.\"\n+msgstr \"\"\n+\"Par défaut, la commande `git add` n'ajoute pas les fichiers ignorés.  Si des \"\n+\"fichiers ignorés sont spécifiés explicitement en ligne de commande, `git \"\n+\"add` échouera avec la liste des fichiers ignorés. Les fichiers ignorés \"\n+\"atteint via la récursion de répertoires ou les patrons de fichiers gérés par \"\n+\"Git (les patrons doivent alors être échappés du shell par des quotes)  \"\n+\"seront ignorés silencieusement. La commande `git add` peut tout de même \"\n+\"ajouter des fichiers ignorés avec l'option `-f` (force).\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:48\n+msgid \"\"\n+\"Please see linkgit:git-commit[1] for alternative ways to add content to a \"\n+\"commit.\"\n+msgstr \"\"\n+\"Référez-vous linkgit:git-commit[1] pour des méthodes alternatives d'ajout de \"\n+\"contenu à une validation.\"\n+\n+#. type: Title -\n+#: git-add.txt:51\n+#, no-wrap\n+msgid \"OPTIONS\"\n+msgstr \"OPTIONS\"\n+\n+#. type: Plain text\n+#: git-add.txt:64\n+#, no-wrap\n+msgid \"\"\n+\"<pathspec>...::\\n\"\n+\"\\tFiles to add content from.  Fileglobs (e.g. `*.c`) can\\n\"\n+\"\\tbe given to add all matching files.  Also a\\n\"\n+\"\\tleading directory name (e.g. `dir` to add `dir/file1`\\n\"\n+\"\\tand `dir/file2`) can be given to update the index to\\n\"\n+\"\\tmatch the current state of the directory as a whole (e.g.\\n\"\n+\"\\tspecifying `dir` will record not just a file `dir/file1`\\n\"\n+\"\\tmodified in the working tree, a file `dir/file2` added to\\n\"\n+\"\\tthe working tree, but also a file `dir/file3` removed from\\n\"\n+\"\\tthe working tree.  Note that older versions of Git used\\n\"\n+\"\\tto ignore removed files; use `--no-all` option if you want\\n\"\n+\"\\tto add modified or new files but ignore removed\\tones.\\n\"\n+msgstr \"\"\n+\"<chemin>...::\\n\"\n+\"\\tFichiers dont le contenu doit être ajouté. Les patrons (ex : `*.c`)\\n\"\n+\"\\tpermettent de restreindre à tous le fichiers correspondant. Un\\n\"\n+\"\\tnom de répertoire (ex : `rep` pour ajouter `rep/fichier1` et\\n\"\n+\"\\t`rep/fichier2`) permet d'ajouter récursivement tous les fichiers\\n\"\n+\"\\td'un répertoire.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:69\n+#, no-wrap\n+msgid \"\"\n+\"-n::\\n\"\n+\"--dry-run::\\n\"\n+\"\\tDon't actually add the file(s), just show if they exist and/or will\\n\"\n+\"\\tbe ignored.\\n\"\n+msgstr \"\"\n+\"-n::\\n\"\n+\"--dry-run::\\n\"\n+\"\\tN'ajoute pas réellement les fichiers. Montrer juste s'ils existent\\n\"\n+\"\\tou seront ignorés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:73\n+#, no-wrap\n+msgid \"\"\n+\"-v::\\n\"\n+\"--verbose::\\n\"\n+\"        Be verbose.\\n\"\n+msgstr \"\"\n+\"-v::\\n\"\n+\"--verbose::\\n\"\n+\"        Mode bavard.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:77\n+#, no-wrap\n+msgid \"\"\n+\"-f::\\n\"\n+\"--force::\\n\"\n+\"\\tAllow adding otherwise ignored files.\\n\"\n+msgstr \"\"\n+\"-f::\\n\"\n+\"--force::\\n\"\n+\"\\tForce l'ajout de fichiers qui sont normalement ignorés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:84\n+#, no-wrap\n+msgid \"\"\n+\"-i::\\n\"\n+\"--interactive::\\n\"\n+\"\\tAdd modified contents in the working tree interactively to\\n\"\n+\"\\tthe index. Optional path arguments may be supplied to limit\\n\"\n+\"\\toperation to a subset of the working tree. See ``Interactive\\n\"\n+\"\\tmode'' for details.\\n\"\n+msgstr \"\"\n+\"-i::\\n\"\n+\"--interactive::\\n\"\n+\"\\tAjoute le contenu modifié dans l'arbre de travail à l'index\\n\"\n+\"\\tde manière interactive. Les arguments optionnels de chemin \\n\"\n+\"\\tpermettent de limiter les opérations à un sous-ensemble de la\\n\"\n+\"\\tcopie de travail. Référez-vous à « Mode interactif » pour plus\\n\"\n+\"\\tde détails.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:91\n+#, no-wrap\n+msgid \"\"\n+\"-p::\\n\"\n+\"--patch::\\n\"\n+\"\\tInteractively choose hunks of patch between the index and the\\n\"\n+\"\\twork tree and add them to the index. This gives the user a chance\\n\"\n+\"\\tto review the difference before adding modified contents to the\\n\"\n+\"\\tindex.\\n\"\n+msgstr \"\"\n+\"-p::\\n\"\n+\"--patch::\\n\"\n+\"\\tChoisit de manière interactive les sections de patch entre l'index\\n\"\n+\"\\tet la copie de travail et les ajouter à l'index. Cela permet à\\n\"\n+\"\\tl'utilisateur de réviser les différences avec d'ajouter le contenu\\n\"\n+\"\\tmodifié à l'index.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:95\n+#, no-wrap\n+msgid \"\"\n+\"This effectively runs `add --interactive`, but bypasses the\\n\"\n+\"initial command menu and directly jumps to the `patch` subcommand.\\n\"\n+\"See ``Interactive mode'' for details.\\n\"\n+msgstr \"\"\n+\"Cela lance effectivement `add --interactive` mais court-circuite\\n\"\n+\"le menu initial et saute directement à la sous-commande `patch`.\\n\"\n+\"Référez-vous à ``Mode interactif'' pour plus de détails.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:101\n+#, no-wrap\n+msgid \"\"\n+\"-e::\\n\"\n+\"--edit::\\n\"\n+\"\\tOpen the diff vs. the index in an editor and let the user\\n\"\n+\"\\tedit it.  After the editor was closed, adjust the hunk headers\\n\"\n+\"\\tand apply the patch to the index.\\n\"\n+msgstr \"\"\n+\"-e::\\n\"\n+\"--edit::\\n\"\n+\"\\tOuvre les différences avec l'index dans un éditeur et laisser\\n\"\n+\"\\tl'utilisateur les éditer. Après la fermeture de l'éditeur, ajuster\\n\"\n+\"\\tles entêtes de sections et appliquer le patch dans l'index.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:107\n+#, no-wrap\n+msgid \"\"\n+\"The intent of this option is to pick and choose lines of the patch to\\n\"\n+\"apply, or even to modify the contents of lines to be staged. This can be\\n\"\n+\"quicker and more flexible than using the interactive hunk selector.\\n\"\n+\"However, it is easy to confuse oneself and create a patch that does not\\n\"\n+\"apply to the index. See EDITING PATCHES below.\\n\"\n+msgstr \"\"\n+\"L'objectif de cette option est de permettre de choisir et retenir les\\n\"\n+\"lignes du patch à appliquer, ou même de modifier le contenu des lignes\\n\"\n+\"à indexer. Cela peut être plus rapide et plus flexible que l'utilisation\\n\"\n+\"du sélecteur interactif. Cependant, il plus facile de se \\n\"\n+\"tromper et de créer un patch qui ne s'applique pas. Référez-vous à\\n\"\n+\"ÉDITER LES PATCHS ci-dessous.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:113\n+#, no-wrap\n+msgid \"\"\n+\"-u::\\n\"\n+\"--update::\\n\"\n+\"\\tUpdate the index just where it already has an entry matching\\n\"\n+\"\\t<pathspec>.  This removes as well as modifies index entries to\\n\"\n+\"\\tmatch the working tree, but adds no new files.\\n\"\n+msgstr \"\"\n+\"-u::\\n\"\n+\"--update::\\n\"\n+\"\\tMet à jour l'index sur les seuls fichiers déjà présents et\\n\"\n+\"\\tcorrespondant à <chemin>. Cela retire ou modifie les entrées\\n\"\n+\"\\td'index pour correspondre à la copie de travail, mais n'ajoute\\n\"\n+\"\\tpas de fichier.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:118\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-u` option is used, all\\n\"\n+\"tracked files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\"Si aucun <chemin> n'est spécifié, quand l'option `-u` est utilisée,\\n\"\n+\"tous les fichiers suivis dans la totalité de la copie de travail sont\\n\"\n+\"mis à jour (les version anciennes de Git limitaient la mise à jour au\\n\"\n+\"répertoire courant et ses sous-répertoires).\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:126\n+#, no-wrap\n+msgid \"\"\n+\"-A::\\n\"\n+\"--all::\\n\"\n+\"--no-ignore-removal::\\n\"\n+\"\\tUpdate the index not only where the working tree has a file\\n\"\n+\"\\tmatching <pathspec> but also where the index already has an\\n\"\n+\"\\tentry.\\tThis adds, modifies, and removes index entries to\\n\"\n+\"\\tmatch the working tree.\\n\"\n+msgstr \"\"\n+\"-A::\\n\"\n+\"--all::\\n\"\n+\"--no-ignore-removal::\\n\"\n+\"\\tMet à jour l'index non seulement pour tous les fichiers de\\n\"\n+\"\\tla copie de travail correspondant à <chemin> mais aussi pour\\n\"\n+\"\\ttoutes les entrées existant déjà dans l'index. Ceci ajoute,\\n\"\n+\"\\tmodifie et retire des entrées d'index pour correspondre à\\n\"\n+\"\\tla copie de travail.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:131\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-A` option is used, all\\n\"\n+\"files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\"Si aucun <chemin> n'est spécifié quand l'option `-A` est utilisée,\\n\"\n+\"tous le fichiers de l'arbre de travail sont mis à jour (les versions\\n\"\n+\"anciennes de Git utilisaient le répertoire courant et ses\\n\"\n+\"sous-répertoires).\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:138\n+#, no-wrap\n+msgid \"\"\n+\"--no-all::\\n\"\n+\"--ignore-removal::\\n\"\n+\"\\tUpdate the index by adding new files that are unknown to the\\n\"\n+\"\\tindex and files modified in the working tree, but ignore\\n\"\n+\"\\tfiles that have been removed from the working tree.  This\\n\"\n+\"\\toption is a no-op when no <pathspec> is used.\\n\"\n+msgstr \"\"\n+\"--no-all::\\n\"\n+\"--ignore-removal::\\n\"\n+\"\\tMet à jour l'index en ajoutant dans l'index les nouveaux\\n\"\n+\"\\tfichiers qui sont inconnus et les fichiers modifiés dans la\\n\"\n+\"\\tcopie de travail, mais ignore les fichiers qui ont été\\n\"\n+\"\\teffacés de la copie de travail. Cette option ne fait rien\\n\"\n+\"\\tquand aucun <chemin> n'est utilisé.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:142\n+#, no-wrap\n+msgid \"\"\n+\"This option is primarily to help users who are used to older\\n\"\n+\"versions of Git, whose \\\"git add <pathspec>...\\\" was a synonym\\n\"\n+\"for \\\"git add --no-all <pathspec>...\\\", i.e. ignored removed files.\\n\"\n+msgstr \"\"\n+\"Cette option sert principalement à aider les utilisateurs de versions\\n\"\n+\"anciennes de Git pour lesquels « git add <chemin>... » était synonyme\\n\"\n+\"de « git add --no-all <chemin>... », c'est-à-dire qui ignorait les\\n\"\n+\"fichiers effacés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:150\n+#, no-wrap\n+msgid \"\"\n+\"-N::\\n\"\n+\"--intent-to-add::\\n\"\n+\"\\tRecord only the fact that the path will be added later. An entry\\n\"\n+\"\\tfor the path is placed in the index with no content. This is\\n\"\n+\"\\tuseful for, among other things, showing the unstaged content of\\n\"\n+\"\\tsuch files with `git diff` and committing them with `git commit\\n\"\n+\"\\t-a`.\\n\"\n+msgstr \"\"\n+\"-N::\\n\"\n+\"--intent-to-add::\\n\"\n+\"\\tN'enregistre que le fait que le chemin sera ajouté plus tard. Une\\n\"\n+\"\\tentrée pour le chemin est placée en index sans contenu. C'est\\n\"\n+\"\\tparticulièrement utile pour, entre autres choses, montrer le\\n\"\n+\"\\tcontenu non indexé de ces fichiers avec `git diff` et les valider\\n\"\n+\"\\tavec `git commit -a`.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:154\n+#, no-wrap\n+msgid \"\"\n+\"--refresh::\\n\"\n+\"\\tDon't add the file(s), but only refresh their stat()\\n\"\n+\"\\tinformation in the index.\\n\"\n+msgstr \"\"\n+\"--refresh::\\n\"\n+\"\\tN'ajoute pas les fichiers mais rafraîchit seulement leur\\n\"\n+\"\\tinformation de stat() dans l'index.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:161\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-errors::\\n\"\n+\"\\tIf some files could not be added because of errors indexing\\n\"\n+\"\\tthem, do not abort the operation, but continue adding the\\n\"\n+\"\\tothers. The command shall still exit with non-zero status.\\n\"\n+\"\\tThe configuration variable `add.ignoreErrors` can be set to\\n\"\n+\"\\ttrue to make this the default behaviour.\\n\"\n+msgstr \"\"\n+\"--ignore-errors::\\n\"\n+\"\\tSi des fichiers n'ont pu être ajoutés à cause d'erreurs lors\\n\"\n+\"\\tde leur indexation, n'annule pas l'opération mais continue\\n\"\n+\"\\tl'ajout des autres fichiers. La commande se terminera tout de\\n\"\n+\"\\tmême avec un code d'erreur non nul. Le paramètre\\n\"\n+\"\\tde configuration `add.ignoreErrors` peut être positionné à\\n\"\n+\"\\ttrue pour que ce comportement soit celui par défaut.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:167\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-missing::\\n\"\n+\"\\tThis option can only be used together with --dry-run. By using\\n\"\n+\"\\tthis option the user can check if any of the given files would\\n\"\n+\"\\tbe ignored, no matter if they are already present in the work\\n\"\n+\"\\ttree or not.\\n\"\n+msgstr \"\"\n+\"--ignore-missing::\\n\"\n+\"\\tCette option ne peut être utilisée que couplée avec --dry-run.\\n\"\n+\"\\tL'utilisation de cette option permet à l'utilisateur de vérifier\\n\"\n+\"\\tsi un des fichiers indiqués serait ignoré, qu'il soit présent\\n\"\n+\"\\tou non dans la copie de travail.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:172\n+#, no-wrap\n+msgid \"\"\n+\"--chmod=(+|-)x::\\n\"\n+\"\\tOverride the executable bit of the added files.  The executable\\n\"\n+\"\\tbit is only changed in the index, the files on disk are left\\n\"\n+\"\\tunchanged.\\n\"\n+msgstr \"\"\n+\"--chmod=(+|-)x::\\n\"\n+\"\\tForce le bit exécutable des fichiers ajoutés. Le bit\\n\"\n+\"\\texécutable n'est modifié que dans l'index, les fichiers de la\\n\"\n+\"\\tcopie de travail ne sont pas modifiés.\\n\"\n+\n+#. type: Plain text\n+#: git-add.txt:177\n+#, no-wrap\n+msgid \"\"\n+\"\\\\--::\\n\"\n+\"\\tThis option can be used to separate command-line options from\\n\"\n+\"\\tthe list of files, (useful when filenames might be mistaken\\n\"\n+\"\\tfor command-line options).\\n\"\n+msgstr \"\"\n+\"\\\\--::\\n\"\n+\"\\tCette option permet de séparer les options de la ligne de commande\\n\"\n+\"\\tde la liste des fichiers (utile si certains noms de fichiers\\n\"\n+\"\\tpeuvent être confondus avec des options).\\n\"\n+\n+#. type: Title -\n+#: git-add.txt:180\n+#, no-wrap\n+msgid \"Configuration\"\n+msgstr \"Configuration\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:186\n+msgid \"\"\n+\"The optional configuration variable `core.excludesFile` indicates a path to \"\n+\"a file containing patterns of file names to exclude from git-add, similar to \"\n+\"$GIT_DIR/info/exclude.  Patterns in the exclude file are used in addition to \"\n+\"those in info/exclude.  See linkgit:gitignore[5].\"\n+msgstr \"\"\n+\"Le paramètre de configuration optionnel `core.excludesFile` indique un \"\n+\"chemin vers un fichier contenant les patrons des noms de fichier à exclure \"\n+\"de git-add, similaire à $GIT_DIR/info/exclude. Les patrons dans le fichier \"\n+\"d'exclusion sont additionnés à ceux de info/exclude. Référez-vous à linkgit:\"\n+\"gitignore[5].\"\n+\n+#. type: Title -\n+#: git-add.txt:189\n+#, no-wrap\n+msgid \"EXAMPLES\"\n+msgstr \"EXEMPLES\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:193\n+msgid \"\"\n+\"Adds content from all `*.txt` files under `Documentation` directory and its \"\n+\"subdirectories:\"\n+msgstr \"\"\n+\"Ajouter le contenu de tous le fichiers `*.txt` sous le répertoire \"\n+\"`Documentation` et ses sous répertoires.\"\n+\n+#. type: delimited block -\n+#: git-add.txt:196\n+#, no-wrap\n+msgid \"$ git add Documentation/\\\\*.txt\\n\"\n+msgstr \"$ git add Documentation/\\\\*.txt\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:201\n+msgid \"\"\n+\"Note that the asterisk `*` is quoted from the shell in this example; this \"\n+\"lets the command include the files from subdirectories of `Documentation/` \"\n+\"directory.\"\n+msgstr \"\"\n+\"Remarquez que l'astérisque `*` est échappé du shell dans cet exemple ; cela \"\n+\"permet d'inclure les fichiers dans les sous-répertoires du Répertoire \"\n+\"`Documentation/`.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:203\n+msgid \"Considers adding content from all git-*.sh scripts:\"\n+msgstr \"Ajouter le contenu de tous les scripts git-*.sh :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:206\n+#, no-wrap\n+msgid \"$ git add git-*.sh\\n\"\n+msgstr \"$ git add git-*.sh\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:211\n+msgid \"\"\n+\"Because this example lets the shell expand the asterisk (i.e. you are \"\n+\"listing the files explicitly), it does not consider `subdir/git-foo.sh`.\"\n+msgstr \"\"\n+\"Comme cet exemple laisse le shell réaliser l'expansion de l'astérisque \"\n+\"(c'est-à-dire que vous listez explicitement les fichiers du répertoire), il \"\n+\"ne traite pas `subdir/git-foo.sh`.\"\n+\n+#. type: Title -\n+#: git-add.txt:213\n+#, no-wrap\n+msgid \"Interactive mode\"\n+msgstr \"Mode interactif\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:217\n+msgid \"\"\n+\"When the command enters the interactive mode, it shows the output of the \"\n+\"'status' subcommand, and then goes into its interactive command loop.\"\n+msgstr \"\"\n+\"Quand la commande entre en mode interactif, elle affiche le résultat de la \"\n+\"sous-commande 'status', puis entre en boucle de commande interactive.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:222\n+msgid \"\"\n+\"The command loop shows the list of subcommands available, and gives a prompt \"\n+\"\\\"What now> \\\".  In general, when the prompt ends with a single '>', you can \"\n+\"pick only one of the choices given and type return, like this:\"\n+msgstr \"\"\n+\"La boucle de commande affiche la liste des sous-commandes disponibles et \"\n+\"affiche le prompt \\\"What now>\\\" (Que faire maintenant). En général, lorsque \"\n+\"le prompt se termine par un '>' unique, vous ne pouvez choisir qu'une seule \"\n+\"des propositions et appuyer Entrée, comme cela :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:228\n+#, no-wrap\n+msgid \"\"\n+\"    *** Commands ***\\n\"\n+\"      1: status       2: update       3: revert       4: add untracked\\n\"\n+\"      5: patch        6: diff         7: quit         8: help\\n\"\n+\"    What now> 1\\n\"\n+msgstr \"\"\n+\"    *** Commands ***\\n\"\n+\"      1: status       2: update       3: revert       4: add untracked\\n\"\n+\"      5: patch        6: diff         7: quit         8: help\\n\"\n+\"    What now> 1\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:232\n+msgid \"\"\n+\"You also could say `s` or `sta` or `status` above as long as the choice is \"\n+\"unique.\"\n+msgstr \"\"\n+\"Vous pouvez indiquer `s` ou `sta` ou `status` dans le cas si dessus, à \"\n+\"condition que le choix soit unique.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:234\n+msgid \"The main command loop has 6 subcommands (plus help and quit).\"\n+msgstr \"\"\n+\"La boucle de commande principale propose 6 sous-commandes (plus help (aide)  \"\n+\"et quit (quitter)).\"\n+\n+#. type: Labeled list\n+#: git-add.txt:235\n+#, no-wrap\n+msgid \"status\"\n+msgstr \"status\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:242\n+msgid \"\"\n+\"This shows the change between HEAD and index (i.e. what will be committed if \"\n+\"you say `git commit`), and between index and working tree files (i.e. what \"\n+\"you could stage further before `git commit` using `git add`) for each path.  \"\n+\"A sample output looks like this:\"\n+msgstr \"\"\n+\"Affiche les modifications entre HEAD et l'index (c-à-d ce qui serait validé \"\n+\"si vous lanciez `git commit`), et entre l'index et les fichiers de la copie \"\n+\"de travail (c-à-d ce que vous pourriez indexer au moyen de `git add` avant \"\n+\"de lancer `git commit`) pour chaque chemin. Un exemple d'affichage ressemble \"\n+\"à ceci :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:247\n+#, no-wrap\n+msgid \"\"\n+\"              staged     unstaged path\\n\"\n+\"     1:       binary      nothing foo.png\\n\"\n+\"     2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\"              staged     unstaged path\\n\"\n+\"     1:       binary      nothing foo.png\\n\"\n+\"     2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:258\n+msgid \"\"\n+\"It shows that foo.png has differences from HEAD (but that is binary so line \"\n+\"count cannot be shown) and there is no difference between indexed copy and \"\n+\"the working tree version (if the working tree version were also different, \"\n+\"'binary' would have been shown in place of 'nothing').  The other file, git-\"\n+\"add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if you \"\n+\"commit what is in the index, but working tree file has further modifications \"\n+\"(one addition and one deletion).\"\n+msgstr \"\"\n+\"foo.png contient de différences avec HEAD (mais c'est un format binaire donc \"\n+\"le nombre de lignes ne peut pas être affiché) et il n'y a pas différence \"\n+\"entre la copie indexée et la copie de travail (si la copie de travail avait \"\n+\"été aussi différente, 'binary' aurait été affiché à la place de 'nothing'). \"\n+\"L'autre fichier, git-add{litdd}interactive.perl, a 430 lignes ajoutées et 35 \"\n+\"effacées si vous validez ce qui est dans l'index, mais la copie de travail \"\n+\"contient d'autres modifications (un ajout et un retrait).\"\n+\n+#. type: Labeled list\n+#: git-add.txt:259\n+#, no-wrap\n+msgid \"update\"\n+msgstr \"update\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:268\n+msgid \"\"\n+\"This shows the status information and issues an \\\"Update>>\\\" prompt.  When \"\n+\"the prompt ends with double '>>', you can make more than one selection, \"\n+\"concatenated with whitespace or comma.  Also you can say ranges.  E.g. \\\"2-5 \"\n+\"7,9\\\" to choose 2,3,4,5,7,9 from the list.  If the second number in a range \"\n+\"is omitted, all remaining patches are taken.  E.g. \\\"7-\\\" to choose 7,8,9 \"\n+\"from the list.  You can say '*' to choose everything.\"\n+msgstr \"\"\n+\"Affiche l'information d'état et un prompt \\\"Update>>\\\". Quand le prompt se \"\n+\"termine par un double '>', vous pouvez sélectionner plus d'une option, \"\n+\"concaténées avec des espaces ou des virgules. Vous pouvez aussi indiquer des \"\n+\"intervalles.  Par exemple \\\"2-5 7,9\\\" pour choisir 2, 3, 4, 5, 7 et 9 dans \"\n+\"la liste. Si le second nombre d'un intervalle est absent, tous les patchs \"\n+\"restants sont sélectionnés. Par ex. \\\"7-\\\" choisit 7, 8 et 9 dans la liste. \"\n+\"'*' permet de tout sélectionner.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:271\n+msgid \"What you chose are then highlighted with '*', like this:\"\n+msgstr \"Tout ce qui a été sélectionné est indiqué par une '*', comme ceci :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:276\n+#, no-wrap\n+msgid \"\"\n+\"           staged     unstaged path\\n\"\n+\"  1:       binary      nothing foo.png\\n\"\n+\"* 2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\"           staged     unstaged path\\n\"\n+\"  1:       binary      nothing foo.png\\n\"\n+\"* 2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:280\n+msgid \"To remove selection, prefix the input with `-` like this:\"\n+msgstr \"Pour retirer une sélection, préfixez-la avec `-` comme ceci :\"\n+\n+#. type: delimited block -\n+#: git-add.txt:283\n+#, no-wrap\n+msgid \"Update>> -2\\n\"\n+msgstr \"Update>> -2\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:287\n+msgid \"\"\n+\"After making the selection, answer with an empty line to stage the contents \"\n+\"of working tree files for selected paths in the index.\"\n+msgstr \"\"\n+\"Après sélection, répondez avec une ligne vide pour indexer le contenu des \"\n+\"fichiers sélectionnés de la copie de travail.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:288\n+#, no-wrap\n+msgid \"revert\"\n+msgstr \"revert\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:293\n+msgid \"\"\n+\"This has a very similar UI to 'update', and the staged information for \"\n+\"selected paths are reverted to that of the HEAD version.  Reverting new \"\n+\"paths makes them untracked.\"\n+msgstr \"\"\n+\"Ceci présente une interface d'utilisation similaire à 'update', et le \"\n+\"contenu indexé des chemins sélectionnés sont ramenés à la version HEAD. \"\n+\"Inverser des chemins nouveau les rend non-suivis.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:294\n+#, no-wrap\n+msgid \"add untracked\"\n+msgstr \"add untracked\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:298\n+msgid \"\"\n+\"This has a very similar UI to 'update' and 'revert', and lets you add \"\n+\"untracked paths to the index.\"\n+msgstr \"\"\n+\"Ceci présente une interface d'utilisation très similaire à 'update' et \"\n+\"'revert' et permet d'ajouter des chemins non-suivis à l'index.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:299\n+#, no-wrap\n+msgid \"patch\"\n+msgstr \"patch\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:306\n+msgid \"\"\n+\"This lets you choose one path out of a 'status' like selection.  After \"\n+\"choosing the path, it presents the diff between the index and the working \"\n+\"tree file and asks you if you want to stage the change of each hunk.  You \"\n+\"can select one of the following options and type return:\"\n+msgstr \"\"\n+\"Ceci permet de choisir un chemin depuis une sélection similaire à 'status'. \"\n+\"Après le choix du chemin, la différence entre l'index et le fichier dans \"\n+\"l'arbre de travail est présenté et vous demande si vous souhaiter indexer \"\n+\"chaque section de modification. Vous pouvez sélectionner une des options \"\n+\"suivantes et taper entréé :\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:321\n+msgid \"\"\n+\"y - stage this hunk n - do not stage this hunk q - quit; do not stage this \"\n+\"hunk or any of the remaining ones a - stage this hunk and all later hunks in \"\n+\"the file d - do not stage this hunk or any of the later hunks in the file g \"\n+\"- select a hunk to go to / - search for a hunk matching the given regex j - \"\n+\"leave this hunk undecided, see next undecided hunk J - leave this hunk \"\n+\"undecided, see next hunk k - leave this hunk undecided, see previous \"\n+\"undecided hunk K - leave this hunk undecided, see previous hunk s - split \"\n+\"the current hunk into smaller hunks e - manually edit the current hunk ? - \"\n+\"print help\"\n+msgstr \"\"\n+\"y - indexer cette section\\n\"\n+\"n - ne pas indexer cette section\\n\"\n+\"q - quitter ; ne pas indexer cette section ni les autres restantes\\n\"\n+\"a - indexer cette section et toutes les suivantes de ce fichier\\n\"\n+\"d - ne pas indexer cette section ni les suivantes de ce fichier\\n\"\n+\"g - selectionner une section et s'y rendre\\n\"\n+\"/ - rechercher une section correspondant à une regex donnée\\n\"\n+\"j - laisser cette section non décidée et aller à la suivante non-décidée\\n\"\n+\"J - laisser cette section non décidée et aller à la suivante\\n\"\n+\"k - laisser cette section non décidée et aller à la précédente non-décidée\\n\"\n+\"K - laisser cette section non décidée et aller à la précédente\\n\"\n+\"s - découper la section en sections plus petites\\n\"\n+\"e - éditer manuellement la section actuelle\\n\"\n+\"? - afficher l'aide\\n\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:324\n+msgid \"\"\n+\"After deciding the fate for all hunks, if there is any hunk that was chosen, \"\n+\"the index is updated with the selected hunks.\"\n+msgstr \"\"\n+\"Après avoir décidé du devenir de chaque section, l'index est mis à jour avec \"\n+\"les sections sélectionnées.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:327\n+msgid \"\"\n+\"You can omit having to type return here, by setting the configuration \"\n+\"variable `interactive.singleKey` to `true`.\"\n+msgstr \"\"\n+\"Vous pouvez vous éviter de taper entrée ici, en mettant la variable de \"\n+\"configuration `interactive.singlekey` à `true`.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:328\n+#, no-wrap\n+msgid \"diff\"\n+msgstr \"diff\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:332\n+msgid \"\"\n+\"This lets you review what will be committed (i.e. between HEAD and index).\"\n+msgstr \"\"\n+\"Ceci permet de faire une revue de ce qui sera validé (c'est une différence \"\n+\"entre HEAD et index).\"\n+\n+#. type: Title -\n+#: git-add.txt:335\n+#, no-wrap\n+msgid \"EDITING PATCHES\"\n+msgstr \"EDITER LES PATCHES\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:345\n+msgid \"\"\n+\"Invoking `git add -e` or selecting `e` from the interactive hunk selector \"\n+\"will open a patch in your editor; after the editor exits, the result is \"\n+\"applied to the index. You are free to make arbitrary changes to the patch, \"\n+\"but note that some changes may have confusing results, or even result in a \"\n+\"patch that cannot be applied.  If you want to abort the operation entirely \"\n+\"(i.e., stage nothing new in the index), simply delete all lines of the \"\n+\"patch. The list below describes some common things you may see in a patch, \"\n+\"and which editing operations make sense on them.\"\n+msgstr \"\"\n+\"Invoquer `git add -e` ou selectionner `e` depuis le sélecteur interactif de \"\n+\"sections ouvre un patch dans votre éditeur ; après avoir quitté l'éditeur, \"\n+\"le résultat est appliqué à l'index. Vous êtes libre de modifier en tout \"\n+\"point le patch, mais notez cependant que certaines modifications provoquent \"\n+\"des résultats inattendus ou même créent des patchs inapplicables. Si vous \"\n+\"souhaitez abandonner complètement l'opération (c'est-à-dire ne rien ajouter \"\n+\"à l'index), effacez toutes les lignes du patch. La liste ci-dessous décrit \"\n+\"des formes habituelles dans les patchs et quelles opérations d'édition \"\n+\"peuvent être réalisées.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:347\n+#, no-wrap\n+msgid \"added content\"\n+msgstr \"contenu ajouté\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:351\n+msgid \"\"\n+\"Added content is represented by lines beginning with \\\"{plus}\\\". You can \"\n+\"prevent staging any addition lines by deleting them.\"\n+msgstr \"\"\n+\"Le contenu ajouté est représentés par des lignes commençant par un \"\n+\"\\\"{plus}\\\". Vous pouvez empêcher l'indexation de lignes ajoutées en les \"\n+\"supprimant.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:352\n+#, no-wrap\n+msgid \"removed content\"\n+msgstr \"contenu supprimé\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:356\n+msgid \"\"\n+\"Removed content is represented by lines beginning with \\\"-\\\". You can \"\n+\"prevent staging their removal by converting the \\\"-\\\" to a \\\" \\\" (space).\"\n+msgstr \"\"\n+\"Le contenu supprimé est représenté par des lignes commençant par \\\"-\\\". Vous \"\n+\"pouvez empêcher l'indexation de ces suppression en convertissant le \\\"-\\\" en \"\n+\"\\\" \\\" (espace).\"\n+\n+#. type: Labeled list\n+#: git-add.txt:357\n+#, no-wrap\n+msgid \"modified content\"\n+msgstr \"contenu modifié\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:364\n+msgid \"\"\n+\"Modified content is represented by \\\"-\\\" lines (removing the old content)  \"\n+\"followed by \\\"{plus}\\\" lines (adding the replacement content). You can \"\n+\"prevent staging the modification by converting \\\"-\\\" lines to \\\" \\\", and \"\n+\"removing \\\"{plus}\\\" lines. Beware that modifying only half of the pair is \"\n+\"likely to introduce confusing changes to the index.\"\n+msgstr \"\"\n+\"Le contenu modifié est représenté par des lignes \\\"-\\\" (supprimant l'ancien \"\n+\"contenu) suivies de lignes \\\"{plus}\\\" (ajoutant le nouveau contenu). Vous \"\n+\"pouvez empêcher l'indexation de ces modifications en convertissant les \"\n+\"lignes \\\"_\\\" en ligne \\\" \\\" et en supprimant les lignes \\\"{plus}\\\". Méfiez-\"\n+\"vous : ne modifier que la moitié de la paire de lignes a de fortes chances \"\n+\"de créer des modifications inattendues dans l'index.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:372\n+msgid \"\"\n+\"There are also more complex operations that can be performed. But beware \"\n+\"that because the patch is applied only to the index and not the working \"\n+\"tree, the working tree will appear to \\\"undo\\\" the change in the index.  For \"\n+\"example, introducing a new line into the index that is in neither the HEAD \"\n+\"nor the working tree will stage the new line for commit, but the line will \"\n+\"appear to be reverted in the working tree.\"\n+msgstr \"\"\n+\"Il existe aussi des opérations plus complexes. Méfiez-vous : quand le patch \"\n+\"n'est appliqué que dans l'index et pas dans l'arbre de travail, l'arbre de \"\n+\"travail semblera « défaire » les modifications de l'index. Par exemple, \"\n+\"l'introduction dans l'index d'une nouvelle ligne qui n'apparait ni dans HEAD \"\n+\"ni dans l'arbre de travail indexera la nouvelle ligne pour validation, mais \"\n+\"cette ligne semblera être supprimée dans l'arbre de travail.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:374\n+msgid \"Avoid using these constructs, or do so with extreme caution.\"\n+msgstr \"\"\n+\"Évitez d'utiliser ces constructions, ou faites le avec une extrême \"\n+\"précaution.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:376\n+#, no-wrap\n+msgid \"removing untouched content\"\n+msgstr \"suppression de contenu intact\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:382\n+msgid \"\"\n+\"Content which does not differ between the index and working tree may be \"\n+\"shown on context lines, beginning with a \\\" \\\" (space).  You can stage \"\n+\"context lines for removal by converting the space to a \\\"-\\\". The resulting \"\n+\"working tree file will appear to re-add the content.\"\n+msgstr \"\"\n+\"Le contenu qui ne diffère pas entre l'index et l'arbre de travail peut être \"\n+\"visible dans des lignes de contexte commençant par un \\\" \\\" (espace). Vous \"\n+\"pouvez indexer l'élimination de lignes de contexte en convertissant l'espace \"\n+\"en \\\"-\\\". Le fichier dans l'arbre de travail semblera ré-ajouter le contenu.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:383\n+#, no-wrap\n+msgid \"modifying existing content\"\n+msgstr \"modification de contenu existant\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:390\n+msgid \"\"\n+\"One can also modify context lines by staging them for removal (by converting \"\n+\"\\\" \\\" to \\\"-\\\") and adding a \\\"{plus}\\\" line with the new content.  \"\n+\"Similarly, one can modify \\\"{plus}\\\" lines for existing additions or \"\n+\"modifications. In all cases, the new modification will appear reverted in \"\n+\"the working tree.\"\n+msgstr \"\"\n+\"On peut aussi modifier le contenu de lignes de contexte en indexant leur \"\n+\"suppression (en convertissant \\\" \\\" en \\\"-\\\") et en ajoutant dessous une \"\n+\"ligne \\\"{plus}\\\" avec le nouveau contenu. On peut modifier des lignes \"\n+\"\\\"{plus}\\\" dans des ajouts ou des modifications de contenu. Dans tous les \"\n+\"cas, la nouvelle modification indexée semblera être annulée dans l'arbre de \"\n+\"travail.\"\n+\n+#. type: Labeled list\n+#: git-add.txt:391\n+#, no-wrap\n+msgid \"new content\"\n+msgstr \"contenu nouveau\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:396\n+msgid \"\"\n+\"You may also add new content that does not exist in the patch; simply add \"\n+\"new lines, each starting with \\\"{plus}\\\". The addition will appear reverted \"\n+\"in the working tree.\"\n+msgstr \"\"\n+\"Vous pouvez aussi ajouter du contenu nouveau qui n'existe pas dans le \"\n+\"patch ; ajoutez simplement des nouvelles lignes, chacune commençant avec \"\n+\"\\\"{plus}\\\". L'ajout semblera annulé dans l'arbre de travail.\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:400\n+msgid \"\"\n+\"There are also several operations which should be avoided entirely, as they \"\n+\"will make the patch impossible to apply:\"\n+msgstr \"\"\n+\"Il existe aussi quelques opération à éviter complètement car celles-ci \"\n+\"rendent le patch inapplicable :\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:402\n+msgid \"adding context (\\\" \\\") or removal (\\\"-\\\") lines\"\n+msgstr \"ajout de context (\\\" \\\") ou lignes de suppression (\\\"-\\\")\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:403\n+msgid \"deleting context or removal lines\"\n+msgstr \"suppression de contexte ou de lignes supprimées\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:404\n+msgid \"modifying the contents of context or removal lines\"\n+msgstr \"modification de contenu de contexte ou de lignes supprimées\"\n+\n+#. type: Title -\n+#: git-add.txt:406\n+#, no-wrap\n+msgid \"SEE ALSO\"\n+msgstr \"VOIR AUSSI\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:413\n+msgid \"\"\n+\"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-\"\n+\"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]\"\n+msgstr \"\"\n+\"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-\"\n+\"mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]\"\n+\n+#. type: Title -\n+#: git-add.txt:415\n+#, no-wrap\n+msgid \"GIT\"\n+msgstr \"GIT\"\n+\n+#\n+#. type: Plain text\n+#: git-add.txt:416\n+msgid \"Part of the linkgit:git[1] suite\"\n+msgstr \"Fait partie de la suite linkgit:git[1]\"\ndiff --git a/Documentation/po/documentation.pot b/Documentation/po/documentation.pot\nnew file mode 100644\nindex 000000000..46c590bea\n--- /dev/null\n+++ b/Documentation/po/documentation.pot\n@@ -0,0 +1,787 @@\n+# SOME DESCRIPTIVE TITLE\n+# Copyright (C) YEAR Free Software Foundation, Inc.\n+# This file is distributed under the same license as the PACKAGE package.\n+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n+#\n+#, fuzzy\n+msgid \"\"\n+msgstr \"\"\n+\"Project-Id-Version: PACKAGE VERSION\\n\"\n+\"POT-Creation-Date: 2017-03-03 21:18+0100\\n\"\n+\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n+\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n+\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n+\"Language: \\n\"\n+\"MIME-Version: 1.0\\n\"\n+\"Content-Type: text/plain; charset=CHARSET\\n\"\n+\"Content-Transfer-Encoding: 8bit\\n\"\n+\n+#. type: Title =\n+#: ./git-add.txt:2\n+#, no-wrap\n+msgid \"git-add(1)\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:5\n+#, no-wrap\n+msgid \"NAME\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:7\n+msgid \"git-add - Add file contents to the index\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:9\n+#, no-wrap\n+msgid \"SYNOPSIS\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:15\n+#, no-wrap\n+msgid \"\"\n+\"'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | \"\n+\"-i] [--patch | -p]\\n\"\n+\"\\t  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]\\n\"\n+\"\\t  [--intent-to-add | -N] [--refresh] [--ignore-errors] \"\n+\"[--ignore-missing]\\n\"\n+\"\\t  [--chmod=(+|-)x] [--] [<pathspec>...]\\n\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:17\n+#, no-wrap\n+msgid \"DESCRIPTION\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:24\n+msgid \"\"\n+\"This command updates the index using the current content found in the \"\n+\"working tree, to prepare the content staged for the next commit.  It \"\n+\"typically adds the current content of existing paths as a whole, but with \"\n+\"some options it can also be used to add content with only part of the \"\n+\"changes made to the working tree files applied, or remove paths that do not \"\n+\"exist in the working tree anymore.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:30\n+msgid \"\"\n+\"The \\\"index\\\" holds a snapshot of the content of the working tree, and it is \"\n+\"this snapshot that is taken as the contents of the next commit.  Thus after \"\n+\"making any changes to the working tree, and before running the commit \"\n+\"command, you must use the `add` command to add any new or modified files to \"\n+\"the index.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:35\n+msgid \"\"\n+\"This command can be performed multiple times before a commit.  It only adds \"\n+\"the content of the specified file(s) at the time the add command is run; if \"\n+\"you want subsequent changes included in the next commit, then you must run \"\n+\"`git add` again to add the new content to the index.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:38\n+msgid \"\"\n+\"The `git status` command can be used to obtain a summary of which files have \"\n+\"changes that are staged for the next commit.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:45\n+msgid \"\"\n+\"The `git add` command will not add ignored files by default.  If any ignored \"\n+\"files were explicitly specified on the command line, `git add` will fail \"\n+\"with a list of ignored files.  Ignored files reached by directory recursion \"\n+\"or filename globbing performed by Git (quote your globs before the shell) \"\n+\"will be silently ignored.  The 'git add' command can be used to add ignored \"\n+\"files with the `-f` (force) option.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:48\n+msgid \"\"\n+\"Please see linkgit:git-commit[1] for alternative ways to add content to a \"\n+\"commit.\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:51\n+#, no-wrap\n+msgid \"OPTIONS\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:64\n+#, no-wrap\n+msgid \"\"\n+\"<pathspec>...::\\n\"\n+\"\\tFiles to add content from.  Fileglobs (e.g. `*.c`) can\\n\"\n+\"\\tbe given to add all matching files.  Also a\\n\"\n+\"\\tleading directory name (e.g. `dir` to add `dir/file1`\\n\"\n+\"\\tand `dir/file2`) can be given to update the index to\\n\"\n+\"\\tmatch the current state of the directory as a whole (e.g.\\n\"\n+\"\\tspecifying `dir` will record not just a file `dir/file1`\\n\"\n+\"\\tmodified in the working tree, a file `dir/file2` added to\\n\"\n+\"\\tthe working tree, but also a file `dir/file3` removed from\\n\"\n+\"\\tthe working tree.  Note that older versions of Git used\\n\"\n+\"\\tto ignore removed files; use `--no-all` option if you want\\n\"\n+\"\\tto add modified or new files but ignore removed\\tones.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:69\n+#, no-wrap\n+msgid \"\"\n+\"-n::\\n\"\n+\"--dry-run::\\n\"\n+\"\\tDon't actually add the file(s), just show if they exist and/or will\\n\"\n+\"\\tbe ignored.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:73\n+#, no-wrap\n+msgid \"\"\n+\"-v::\\n\"\n+\"--verbose::\\n\"\n+\"        Be verbose.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:77\n+#, no-wrap\n+msgid \"\"\n+\"-f::\\n\"\n+\"--force::\\n\"\n+\"\\tAllow adding otherwise ignored files.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:84\n+#, no-wrap\n+msgid \"\"\n+\"-i::\\n\"\n+\"--interactive::\\n\"\n+\"\\tAdd modified contents in the working tree interactively to\\n\"\n+\"\\tthe index. Optional path arguments may be supplied to limit\\n\"\n+\"\\toperation to a subset of the working tree. See ``Interactive\\n\"\n+\"\\tmode'' for details.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:91\n+#, no-wrap\n+msgid \"\"\n+\"-p::\\n\"\n+\"--patch::\\n\"\n+\"\\tInteractively choose hunks of patch between the index and the\\n\"\n+\"\\twork tree and add them to the index. This gives the user a chance\\n\"\n+\"\\tto review the difference before adding modified contents to the\\n\"\n+\"\\tindex.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:95\n+#, no-wrap\n+msgid \"\"\n+\"This effectively runs `add --interactive`, but bypasses the\\n\"\n+\"initial command menu and directly jumps to the `patch` subcommand.\\n\"\n+\"See ``Interactive mode'' for details.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:101\n+#, no-wrap\n+msgid \"\"\n+\"-e::\\n\"\n+\"--edit::\\n\"\n+\"\\tOpen the diff vs. the index in an editor and let the user\\n\"\n+\"\\tedit it.  After the editor was closed, adjust the hunk headers\\n\"\n+\"\\tand apply the patch to the index.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:107\n+#, no-wrap\n+msgid \"\"\n+\"The intent of this option is to pick and choose lines of the patch to\\n\"\n+\"apply, or even to modify the contents of lines to be staged. This can be\\n\"\n+\"quicker and more flexible than using the interactive hunk selector.\\n\"\n+\"However, it is easy to confuse oneself and create a patch that does not\\n\"\n+\"apply to the index. See EDITING PATCHES below.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:113\n+#, no-wrap\n+msgid \"\"\n+\"-u::\\n\"\n+\"--update::\\n\"\n+\"\\tUpdate the index just where it already has an entry matching\\n\"\n+\"\\t<pathspec>.  This removes as well as modifies index entries to\\n\"\n+\"\\tmatch the working tree, but adds no new files.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:118\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-u` option is used, all\\n\"\n+\"tracked files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:126\n+#, no-wrap\n+msgid \"\"\n+\"-A::\\n\"\n+\"--all::\\n\"\n+\"--no-ignore-removal::\\n\"\n+\"\\tUpdate the index not only where the working tree has a file\\n\"\n+\"\\tmatching <pathspec> but also where the index already has an\\n\"\n+\"\\tentry.\\tThis adds, modifies, and removes index entries to\\n\"\n+\"\\tmatch the working tree.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:131\n+#, no-wrap\n+msgid \"\"\n+\"If no <pathspec> is given when `-A` option is used, all\\n\"\n+\"files in the entire working tree are updated (old versions\\n\"\n+\"of Git used to limit the update to the current directory and its\\n\"\n+\"subdirectories).\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:138\n+#, no-wrap\n+msgid \"\"\n+\"--no-all::\\n\"\n+\"--ignore-removal::\\n\"\n+\"\\tUpdate the index by adding new files that are unknown to the\\n\"\n+\"\\tindex and files modified in the working tree, but ignore\\n\"\n+\"\\tfiles that have been removed from the working tree.  This\\n\"\n+\"\\toption is a no-op when no <pathspec> is used.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:142\n+#, no-wrap\n+msgid \"\"\n+\"This option is primarily to help users who are used to older\\n\"\n+\"versions of Git, whose \\\"git add <pathspec>...\\\" was a synonym\\n\"\n+\"for \\\"git add --no-all <pathspec>...\\\", i.e. ignored removed files.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:150\n+#, no-wrap\n+msgid \"\"\n+\"-N::\\n\"\n+\"--intent-to-add::\\n\"\n+\"\\tRecord only the fact that the path will be added later. An entry\\n\"\n+\"\\tfor the path is placed in the index with no content. This is\\n\"\n+\"\\tuseful for, among other things, showing the unstaged content of\\n\"\n+\"\\tsuch files with `git diff` and committing them with `git commit\\n\"\n+\"\\t-a`.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:154\n+#, no-wrap\n+msgid \"\"\n+\"--refresh::\\n\"\n+\"\\tDon't add the file(s), but only refresh their stat()\\n\"\n+\"\\tinformation in the index.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:161\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-errors::\\n\"\n+\"\\tIf some files could not be added because of errors indexing\\n\"\n+\"\\tthem, do not abort the operation, but continue adding the\\n\"\n+\"\\tothers. The command shall still exit with non-zero status.\\n\"\n+\"\\tThe configuration variable `add.ignoreErrors` can be set to\\n\"\n+\"\\ttrue to make this the default behaviour.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:167\n+#, no-wrap\n+msgid \"\"\n+\"--ignore-missing::\\n\"\n+\"\\tThis option can only be used together with --dry-run. By using\\n\"\n+\"\\tthis option the user can check if any of the given files would\\n\"\n+\"\\tbe ignored, no matter if they are already present in the work\\n\"\n+\"\\ttree or not.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:172\n+#, no-wrap\n+msgid \"\"\n+\"--chmod=(+|-)x::\\n\"\n+\"\\tOverride the executable bit of the added files.  The executable\\n\"\n+\"\\tbit is only changed in the index, the files on disk are left\\n\"\n+\"\\tunchanged.\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:177\n+#, no-wrap\n+msgid \"\"\n+\"\\\\--::\\n\"\n+\"\\tThis option can be used to separate command-line options from\\n\"\n+\"\\tthe list of files, (useful when filenames might be mistaken\\n\"\n+\"\\tfor command-line options).\\n\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:180\n+#, no-wrap\n+msgid \"Configuration\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:186\n+msgid \"\"\n+\"The optional configuration variable `core.excludesFile` indicates a path to \"\n+\"a file containing patterns of file names to exclude from git-add, similar to \"\n+\"$GIT_DIR/info/exclude.  Patterns in the exclude file are used in addition to \"\n+\"those in info/exclude.  See linkgit:gitignore[5].\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:189\n+#, no-wrap\n+msgid \"EXAMPLES\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:193\n+msgid \"\"\n+\"Adds content from all `*.txt` files under `Documentation` directory and its \"\n+\"subdirectories:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:196\n+#, no-wrap\n+msgid \"$ git add Documentation/\\\\*.txt\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:201\n+msgid \"\"\n+\"Note that the asterisk `*` is quoted from the shell in this example; this \"\n+\"lets the command include the files from subdirectories of `Documentation/` \"\n+\"directory.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:203\n+msgid \"Considers adding content from all git-*.sh scripts:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:206\n+#, no-wrap\n+msgid \"$ git add git-*.sh\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:211\n+msgid \"\"\n+\"Because this example lets the shell expand the asterisk (i.e. you are \"\n+\"listing the files explicitly), it does not consider `subdir/git-foo.sh`.\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:213\n+#, no-wrap\n+msgid \"Interactive mode\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:217\n+msgid \"\"\n+\"When the command enters the interactive mode, it shows the output of the \"\n+\"'status' subcommand, and then goes into its interactive command loop.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:222\n+msgid \"\"\n+\"The command loop shows the list of subcommands available, and gives a prompt \"\n+\"\\\"What now> \\\".  In general, when the prompt ends with a single '>', you can \"\n+\"pick only one of the choices given and type return, like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:228\n+#, no-wrap\n+msgid \"\"\n+\"    *** Commands ***\\n\"\n+\"      1: status       2: update       3: revert       4: add untracked\\n\"\n+\"      5: patch        6: diff         7: quit         8: help\\n\"\n+\"    What now> 1\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:232\n+msgid \"\"\n+\"You also could say `s` or `sta` or `status` above as long as the choice is \"\n+\"unique.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:234\n+msgid \"The main command loop has 6 subcommands (plus help and quit).\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:235\n+#, no-wrap\n+msgid \"status\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:242\n+msgid \"\"\n+\"This shows the change between HEAD and index (i.e. what will be committed if \"\n+\"you say `git commit`), and between index and working tree files (i.e. what \"\n+\"you could stage further before `git commit` using `git add`) for each path.  \"\n+\"A sample output looks like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:247\n+#, no-wrap\n+msgid \"\"\n+\"              staged     unstaged path\\n\"\n+\"     1:       binary      nothing foo.png\\n\"\n+\"     2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:258\n+msgid \"\"\n+\"It shows that foo.png has differences from HEAD (but that is binary so line \"\n+\"count cannot be shown) and there is no difference between indexed copy and \"\n+\"the working tree version (if the working tree version were also different, \"\n+\"'binary' would have been shown in place of 'nothing').  The other file, \"\n+\"git-add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if \"\n+\"you commit what is in the index, but working tree file has further \"\n+\"modifications (one addition and one deletion).\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:259\n+#, no-wrap\n+msgid \"update\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:268\n+msgid \"\"\n+\"This shows the status information and issues an \\\"Update>>\\\" prompt.  When \"\n+\"the prompt ends with double '>>', you can make more than one selection, \"\n+\"concatenated with whitespace or comma.  Also you can say ranges.  E.g. \\\"2-5 \"\n+\"7,9\\\" to choose 2,3,4,5,7,9 from the list.  If the second number in a range \"\n+\"is omitted, all remaining patches are taken.  E.g. \\\"7-\\\" to choose 7,8,9 \"\n+\"from the list.  You can say '*' to choose everything.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:271\n+msgid \"What you chose are then highlighted with '*', like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:276\n+#, no-wrap\n+msgid \"\"\n+\"           staged     unstaged path\\n\"\n+\"  1:       binary      nothing foo.png\\n\"\n+\"* 2:     +403/-35        +1/-1 git-add--interactive.perl\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:280\n+msgid \"To remove selection, prefix the input with `-` like this:\"\n+msgstr \"\"\n+\n+#. type: delimited block -\n+#: ./git-add.txt:283\n+#, no-wrap\n+msgid \"Update>> -2\\n\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:287\n+msgid \"\"\n+\"After making the selection, answer with an empty line to stage the contents \"\n+\"of working tree files for selected paths in the index.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:288\n+#, no-wrap\n+msgid \"revert\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:293\n+msgid \"\"\n+\"This has a very similar UI to 'update', and the staged information for \"\n+\"selected paths are reverted to that of the HEAD version.  Reverting new \"\n+\"paths makes them untracked.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:294\n+#, no-wrap\n+msgid \"add untracked\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:298\n+msgid \"\"\n+\"This has a very similar UI to 'update' and 'revert', and lets you add \"\n+\"untracked paths to the index.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:299\n+#, no-wrap\n+msgid \"patch\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:306\n+msgid \"\"\n+\"This lets you choose one path out of a 'status' like selection.  After \"\n+\"choosing the path, it presents the diff between the index and the working \"\n+\"tree file and asks you if you want to stage the change of each hunk.  You \"\n+\"can select one of the following options and type return:\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:321\n+msgid \"\"\n+\"y - stage this hunk n - do not stage this hunk q - quit; do not stage this \"\n+\"hunk or any of the remaining ones a - stage this hunk and all later hunks in \"\n+\"the file d - do not stage this hunk or any of the later hunks in the file g \"\n+\"- select a hunk to go to / - search for a hunk matching the given regex j - \"\n+\"leave this hunk undecided, see next undecided hunk J - leave this hunk \"\n+\"undecided, see next hunk k - leave this hunk undecided, see previous \"\n+\"undecided hunk K - leave this hunk undecided, see previous hunk s - split \"\n+\"the current hunk into smaller hunks e - manually edit the current hunk ? - \"\n+\"print help\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:324\n+msgid \"\"\n+\"After deciding the fate for all hunks, if there is any hunk that was chosen, \"\n+\"the index is updated with the selected hunks.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:327\n+msgid \"\"\n+\"You can omit having to type return here, by setting the configuration \"\n+\"variable `interactive.singleKey` to `true`.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:328\n+#, no-wrap\n+msgid \"diff\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:332\n+msgid \"This lets you review what will be committed (i.e. between HEAD and index).\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:335\n+#, no-wrap\n+msgid \"EDITING PATCHES\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:345\n+msgid \"\"\n+\"Invoking `git add -e` or selecting `e` from the interactive hunk selector \"\n+\"will open a patch in your editor; after the editor exits, the result is \"\n+\"applied to the index. You are free to make arbitrary changes to the patch, \"\n+\"but note that some changes may have confusing results, or even result in a \"\n+\"patch that cannot be applied.  If you want to abort the operation entirely \"\n+\"(i.e., stage nothing new in the index), simply delete all lines of the \"\n+\"patch. The list below describes some common things you may see in a patch, \"\n+\"and which editing operations make sense on them.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:347\n+#, no-wrap\n+msgid \"added content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:351\n+msgid \"\"\n+\"Added content is represented by lines beginning with \\\"{plus}\\\". You can \"\n+\"prevent staging any addition lines by deleting them.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:352\n+#, no-wrap\n+msgid \"removed content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:356\n+msgid \"\"\n+\"Removed content is represented by lines beginning with \\\"-\\\". You can \"\n+\"prevent staging their removal by converting the \\\"-\\\" to a \\\" \\\" (space).\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:357\n+#, no-wrap\n+msgid \"modified content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:364\n+msgid \"\"\n+\"Modified content is represented by \\\"-\\\" lines (removing the old content)  \"\n+\"followed by \\\"{plus}\\\" lines (adding the replacement content). You can \"\n+\"prevent staging the modification by converting \\\"-\\\" lines to \\\" \\\", and \"\n+\"removing \\\"{plus}\\\" lines. Beware that modifying only half of the pair is \"\n+\"likely to introduce confusing changes to the index.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:372\n+msgid \"\"\n+\"There are also more complex operations that can be performed. But beware \"\n+\"that because the patch is applied only to the index and not the working \"\n+\"tree, the working tree will appear to \\\"undo\\\" the change in the index.  For \"\n+\"example, introducing a new line into the index that is in neither the HEAD \"\n+\"nor the working tree will stage the new line for commit, but the line will \"\n+\"appear to be reverted in the working tree.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:374\n+msgid \"Avoid using these constructs, or do so with extreme caution.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:376\n+#, no-wrap\n+msgid \"removing untouched content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:382\n+msgid \"\"\n+\"Content which does not differ between the index and working tree may be \"\n+\"shown on context lines, beginning with a \\\" \\\" (space).  You can stage \"\n+\"context lines for removal by converting the space to a \\\"-\\\". The resulting \"\n+\"working tree file will appear to re-add the content.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:383\n+#, no-wrap\n+msgid \"modifying existing content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:390\n+msgid \"\"\n+\"One can also modify context lines by staging them for removal (by converting \"\n+\"\\\" \\\" to \\\"-\\\") and adding a \\\"{plus}\\\" line with the new content.  \"\n+\"Similarly, one can modify \\\"{plus}\\\" lines for existing additions or \"\n+\"modifications. In all cases, the new modification will appear reverted in \"\n+\"the working tree.\"\n+msgstr \"\"\n+\n+#. type: Labeled list\n+#: ./git-add.txt:391\n+#, no-wrap\n+msgid \"new content\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:396\n+msgid \"\"\n+\"You may also add new content that does not exist in the patch; simply add \"\n+\"new lines, each starting with \\\"{plus}\\\". The addition will appear reverted \"\n+\"in the working tree.\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:400\n+msgid \"\"\n+\"There are also several operations which should be avoided entirely, as they \"\n+\"will make the patch impossible to apply:\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:402\n+msgid \"adding context (\\\" \\\") or removal (\\\"-\\\") lines\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:403\n+msgid \"deleting context or removal lines\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:404\n+msgid \"modifying the contents of context or removal lines\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:406\n+#, no-wrap\n+msgid \"SEE ALSO\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:413\n+msgid \"\"\n+\"linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] \"\n+\"linkgit:git-mv[1] linkgit:git-commit[1] linkgit:git-update-index[1]\"\n+msgstr \"\"\n+\n+#. type: Title -\n+#: ./git-add.txt:415\n+#, no-wrap\n+msgid \"GIT\"\n+msgstr \"\"\n+\n+#. type: Plain text\n+#: ./git-add.txt:416\n+msgid \"Part of the linkgit:git[1] suite\"\n+msgstr \"\"\n-- \n2.12.0\n\n"},{"id":"314730","messageId":"20170320210225.13046-2-jn.avila@free.fr","threadId":"45362","inReplyTo":"20170320210225.13046-1-jn.avila@free.fr","subject":"[PATCH v3 1/2] l10n: Introduce framework for localizing man pages","fromName":"Jean-Noel Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-20T21:02:24Z","receivedAt":"2017-03-20T21:04:10Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Providing git in localized version is a good step for general adoption\nof the tool. But as of now, if one needs to refer to the manual pages,\nthey are still confronted to english. The aim is to provide\ndocumentation to users in their own language.\n\nThe translation of the source asciidoc files is managed via po4a\ndriven by the conf file Documentation/po4a.conf.\n\nOnly the manpages are generated and installed by using the\n`install-man-l10n` target of the Makefile. The localized manpages for\nall the translated languages are installed in the man path in their\nown language folder, so that they can be accessed by man.\n\nSigned-off-by: Jean-Noel Avila <jn.avila@free.fr>\n---\n Documentation/Makefile  | 21 ++++++++++++++++++++-\n Documentation/po4a.conf |  5 +++++\n 2 files changed, 25 insertions(+), 1 deletion(-)\n create mode 100644 Documentation/po4a.conf\n\ndiff --git a/Documentation/Makefile b/Documentation/Makefile\nindex b5be2e2d3..e721c7149 100644\n--- a/Documentation/Makefile\n+++ b/Documentation/Makefile\n@@ -1,4 +1,5 @@\n # Guard against environment variables\n+MAN1_L10N_TXT =\n MAN1_TXT =\n MAN5_TXT =\n MAN7_TXT =\n@@ -10,6 +11,7 @@ OBSOLETE_HTML =\n MAN1_TXT += $(filter-out \\\n \t\t$(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \\\n \t\t$(wildcard git-*.txt))\n+MAN1_L10N_TXT += $(wildcard po/*/man1/git-*.txt)\n MAN1_TXT += git.txt\n MAN1_TXT += gitk.txt\n MAN1_TXT += gitremote-helpers.txt\n@@ -86,6 +88,7 @@ DOC_HTML += $(patsubst %,%.html,$(ARTICLES) $(SP_ARTICLES))\n DOC_MAN1 = $(patsubst %.txt,%.1,$(MAN1_TXT))\n DOC_MAN5 = $(patsubst %.txt,%.5,$(MAN5_TXT))\n DOC_MAN7 = $(patsubst %.txt,%.7,$(MAN7_TXT))\n+DOC_MAN1_L10N = $(patsubst %.txt,%.1,$(MAN1_L10N_TXT))\n \n prefix ?= $(HOME)\n bindir ?= $(prefix)/bin\n@@ -209,6 +212,7 @@ endif\n \n ifneq ($(findstring $(MAKEFLAGS),s),s)\n ifndef V\n+\tQUIET_PO4A      = @echo '   ' PO4A $@;\n \tQUIET_ASCIIDOC\t= @echo '   ' ASCIIDOC $@;\n \tQUIET_XMLTO\t= @echo '   ' XMLTO $@;\n \tQUIET_DB2TEXI\t= @echo '   ' DB2TEXI $@;\n@@ -234,6 +238,15 @@ man1: $(DOC_MAN1)\n man5: $(DOC_MAN5)\n man7: $(DOC_MAN7)\n \n+man_l10n: po4a man1_p_l10n\n+po4a: po4a.conf\n+\t$(QUIET_PO4A)po4a po4a.conf\n+\n+man1_p_l10n: po4a\n+\t$(MAKE) man1_l10n\n+\n+man1_l10n: $(DOC_MAN1_L10N)\n+\n info: git.info gitman.info\n \n pdf: user-manual.pdf\n@@ -247,6 +260,11 @@ install-man: man\n \t$(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir)\n \t$(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir)\n \t$(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)\n+\t$(MAKE) install-man-l10n\n+\n+install-man-l10n: $(DOC_MAN1_L10N)\n+\t$(INSTALL) -d -m 755 $(DESTDIR)$(mandir)/$(firstword $(subst /man1/, ,$(subst po/,,$<)))/man1\n+\t$(INSTALL) -m 644 $< $(DESTDIR)$(mandir)$(subst po,,$<)\n \n install-info: info\n \t$(INSTALL) -d -m 755 $(DESTDIR)$(infodir)\n@@ -323,6 +341,7 @@ clean:\n \t$(RM) technical/*.html technical/api-index.txt\n \t$(RM) $(cmds_txt) $(mergetools_txt) *.made\n \t$(RM) manpage-base-url.xsl\n+\t$(RM) po/*/*.1 po/*/*.txt\n \n $(MAN_HTML): %.html : %.txt asciidoc.conf\n \t$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \\\n@@ -339,7 +358,7 @@ manpage-base-url.xsl: manpage-base-url.xsl.in\n \n %.1 %.5 %.7 : %.xml manpage-base-url.xsl\n \t$(QUIET_XMLTO)$(RM) $@ && \\\n-\t$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<\n+\t$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) -o $(dir $<) man $<\n \n %.xml : %.txt asciidoc.conf\n \t$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \\\ndiff --git a/Documentation/po4a.conf b/Documentation/po4a.conf\nnew file mode 100644\nindex 000000000..b6ee8b4a6\n--- /dev/null\n+++ b/Documentation/po4a.conf\n@@ -0,0 +1,5 @@\n+[po4a_langs] fr\n+[po4a_paths] po/documentation.pot $lang:po/documentation.$lang.po\n+[options] opt: \" -k 80\"\n+\n+[type: asciidoc] ./git-add.txt $lang:./po/$lang/man1/git-add.txt\n-- \n2.12.0\n\n"},{"id":"314735","messageId":"xmqqpohbtxi3.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"20170320210225.13046-3-jn.avila@free.fr","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-20T22:05:24Z","receivedAt":"2017-03-20T22:05:32Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noel Avila <jn.avila@free.fr> writes:\n\n> Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>\n> ---\n>  Documentation/po/documentation.fr.po | 1095 ++++++++++++++++++++++++++++++++++\n>  Documentation/po/documentation.pot   |  787 ++++++++++++++++++++++++\n>  2 files changed, 1882 insertions(+)\n>  create mode 100644 Documentation/po/documentation.fr.po\n>  create mode 100644 Documentation/po/documentation.pot\n\nThis sounds more like\n\nSubject: l10n: add fr localization for git-add manual pages\n\nto me.  The actual part of this patch that adds \"git-add\" is the\naddition of Documentation/po/documentation.pot, and from that point\nof view, this patch may want to be further split into two.\n\nBut more importantly, aren't we essentially adding an equivalent of\n\n\tcd Documentation && cat git-*.txt\n\nto our codebase?\n\nSurely we cannot avoid having a copy of all messages that are to be\ntranslated using msgid/msgstr based approach, and we already do so\nfor end-user-facing in-program strings, but it just feels a bit too\nmuch having to carry a duplicate (and slightly a stale) copy of the\nentire documentation set around.  For N languages, we'll have an\nequivalent for N copies of the English text, in addition to the\ntranslated documentation.\n\nI am wondering if Documentation/po part should be a separate\nrepository, with a dedicated i18n/l10n coordinator.  Would it make\nit easier for (1) those who write code and doc without knowing other\nlanguages, (2) those who update .pot and coordinate the l10n effort\nfor the documentation and (3) those who translate them if we keep\nthem in a single repository?\n\n"},{"id":"314829","messageId":"xmqqmvceqz7f.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"20170320210225.13046-2-jn.avila@free.fr","subject":"Re: [PATCH v3 1/2] l10n: Introduce framework for localizing man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-21T18:09:08Z","receivedAt":"2017-03-21T18:10:53Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noel Avila <jn.avila@free.fr> writes:\n\n> @@ -247,6 +260,11 @@ install-man: man\n>  \t$(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir)\n>  \t$(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir)\n>  \t$(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)\n> +\t$(MAKE) install-man-l10n\n\nFYI.  Having this line in \"install-man\" target will invoke the po4a\nchain when \"make install-doc\" is done at the toplevel, so I added a\nSQUASH to remove it after queuing your two patches.\n\nThanks.\n"},{"id":"314898","messageId":"5036581a-f989-2db6-06ba-621db05c6de1@free.fr","threadId":"45362","inReplyTo":"xmqqpohbtxi3.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Jean-Noël Avila","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-22T12:01:31Z","receivedAt":"2017-03-22T12:01:54Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Le 20/03/2017 à 23:05, Junio C Hamano a écrit :\n> Jean-Noel Avila <jn.avila@free.fr> writes:\n>\n>> Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>\n>> ---\n>>  Documentation/po/documentation.fr.po | 1095 ++++++++++++++++++++++++++++++++++\n>>  Documentation/po/documentation.pot   |  787 ++++++++++++++++++++++++\n>>  2 files changed, 1882 insertions(+)\n>>  create mode 100644 Documentation/po/documentation.fr.po\n>>  create mode 100644 Documentation/po/documentation.pot\n> This sounds more like\n>\n> Subject: l10n: add fr localization for git-add manual pages\n>\n> to me.  The actual part of this patch that adds \"git-add\" is the\n> addition of Documentation/po/documentation.pot, and from that point\n> of view, this patch may want to be further split into two.\n\nThe generation of the documentation.pot and the documentation.fr.po is\nalready \"virtually\" done because that's what the po4a.conf file\ndescribes in the previous patch. The point is that the po4a.conf file\nfor a minimum viable run of make implies that at least a language and a\nfile be described.\n\nFor documentation.po.fr, what is indeed added is the effective\ntranslation. So I guess we could probably split the series differently,\nwith a po4a.conf and empty files, then the translation.\n\n>\n> But more importantly, aren't we essentially adding an equivalent of\n>\n> \tcd Documentation && cat git-*.txt\n>\n> to our codebase?\n>\n> Surely we cannot avoid having a copy of all messages that are to be\n> translated using msgid/msgstr based approach, and we already do so\n> for end-user-facing in-program strings, but it just feels a bit too\n> much having to carry a duplicate (and slightly a stale) copy of the\n> entire documentation set around.  For N languages, we'll have an\n> equivalent for N copies of the English text, in addition to the\n> translated documentation.\n\nTrue. The documentation source roughly weight 2.3MB, so each full\ntranslation would add up 5MB to the working copy. More , that would also\ngenerate another source of traffic for updates and questions from\nreaders, which may not be of interest for most developpers.\n\n>\n> I am wondering if Documentation/po part should be a separate\n> repository, with a dedicated i18n/l10n coordinator.  Would it make\n> it easier for (1) those who write code and doc without knowing other\n> languages, (2) those who update .pot and coordinate the l10n effort\n> for the documentation and (3) those who translate them if we keep\n> them in a single repository?\nThis is one of the points raised in the first RFC mail. Splitting this\npart would help a lot manage the translations with their own workflow,\nwould not clutter the main repo with files not really needed for\npackaging and would simplify dealing with the interaction with crowd\ntranslation websites which can directly push translation content to a\ngit repo.\n\nThere's still the question whether the secondary repo would copy the\noriginal asciidocs and from there would manage them with po4a and then\nthe translated asciidoc sources would be pushed back to the main repo,\nor if the main repo would still run the po4a, and only the translated po\nfiles would be pushed back.\n\nThe first way would decouple the workflow and the tools used for\ntranslating from the main repo. If po4a turns out to be too adventurous\nfor asciidoc (latest version tested with all the man pages, no visible\nproblem), that would not impact the main repo which could still benefit\nfrom the job already done.\n\nThe later way would allow the main repo to keep an eye on how the\ntranslation are up to date and decide to include them or not.\n\nIn any case, there would be a copy of the original asciidoc files to the\nsecondary repo, to be able to provide the source reference in the po\nfiles and give context to the translators.\n\nMy personal preference would still go to the integration of po4a in the\nmain repo, but it isn't ready yet.\n\nThanks,\n\n"},{"id":"314933","messageId":"xmqqpoh9kx5q.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"5036581a-f989-2db6-06ba-621db05c6de1@free.fr","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-22T18:02:09Z","receivedAt":"2017-03-22T18:02:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noël Avila <jn.avila@free.fr> writes:\n\n>> I am wondering if Documentation/po part should be a separate\n>> repository, with a dedicated i18n/l10n coordinator.  Would it make\n>> it easier for (1) those who write code and doc without knowing other\n>> languages, (2) those who update .pot and coordinate the l10n effort\n>> for the documentation and (3) those who translate them if we keep\n>> them in a single repository?\n>\n> This is one of the points raised in the first RFC mail. Splitting this\n> part would help a lot manage the translations with their own workflow,\n> would not clutter the main repo with files not really needed for\n> packaging and would simplify dealing with the interaction with crowd\n> translation websites which can directly push translation content to a\n> git repo.\n\nAs I was in favor of splitting it out, I was trying to gauge what\nthe downside of doing so would be, especially for those who are\ndoing the translation work (it is obvious that it would help\ndevelopers who are not translators, as nothing will change for them\nif we keep this new thing as a separate project).\n\nWe may still want to fill in the details (and by doing so we may\ndiscover it is not as easy as I make it sound to be here), but a\nrough outline of what I think we could do is:\n\n * What you added to Documentation/po/ in these two patches becomes\n   a separate project (let's call it \"gitman-l10n\") and they will be\n   at the root level of the project, i.e. documentation.pot and\n   documentation.$LANG.po will sit at the top level of the working\n   tree of that project, without Documentation/po/ prefix.  \n\n   The idea is for some of us to have a checkout of \"gitman-l10n\"\n   project inside Documentation/po of the checkout of git.git\n   project and achieve a layout similar to what these two patches\n   from you create, but keep that optional.\n\n * In git.git, teach Documentation/Makefile to enable \"make\n   doc-l10n\" and \"make install-l10n\" targets in \"Documentation/\" if\n   and only if Documentation/po/Makefile exists, and delegate these\n   two targets to it, i.e. something like:\n\n   (in Documentation/Makefile)\n   ifeq ($(wildcard po/Makefile),po/Makefile)\n   doc-l10n install-l10n::\n\t$(MAKE) -C po $@\n   endif\n\n   Certain Makefile macros Documentation/Makefile knows aboute\n   (e.g. location to install, list of pages in the man1 section) may\n   have to be exported down to Documentation/po/Makefile.\n\n * Some other Makefile targets to help i18n coordinator, e.g.\n   updating Documentation/po/documentation.pot by using the latest\n   set of Documentation/*.txt files, may also have to be added to\n   Documentation/Makefile and conditionally enabled the same way\n   (i.e. keying off of the presence of po/Makefile).\n\n * Those who work on the documentation translation and those who\n   want to build and install localized documentation will have a\n   checkout of the \"gitman-l10n\" project at \"Documentation/po\".\n   This will _eventually_ be done by making \"gitman-l10n\" a\n   submodule that git.git project uses, but it can start as a manual\n   \"clone and checkout\" without making it a submodule.  Those who do\n   not deal with localized manpages can just work with git.git\n   proper without even knowing anything about the gitman-l10n\n   project.\n\nI'd prefer to start with the \"optional gitman-l10n repository is\nchecked out at Documentation/po only by convention\" approach, before\ncommitting to bind it as a submodule.  Once we got comfortable with\ncooperating between these two projects, we do want to bind them\nusing the submodule mechanism, but not before.\n\nOnce git.git starts binding the \"gitman-l10n\" project as its\nsubmodule at \"Documentation/po\", we may want to start using \"git\narchive --recurse-submodules\" when cutting a release tarball, when\nthat option becomes usable.\n\nI'd prefer to start with the \"main tarball\" with \"optional language\npack tarball\" approach for releases, which is more flexible to the\nend users (and less change to the workflow).  Once we gain more\nexperience, we may want to produce a single ball of wax tarball as\nwell (or \"only a single one\").\n\n"},{"id":"314940","messageId":"CAGZ79kZBq+dL7hEj108DPU5KbVeJX2nYEw88jS0Eq78GxzCabA@mail.gmail.com","threadId":"45362","inReplyTo":"xmqqpoh9kx5q.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2017-03-22T18:41:23Z","receivedAt":"2017-03-22T18:41:29Z","isPatch":true,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Wed, Mar 22, 2017 at 11:02 AM, Junio C Hamano <gitster@pobox.com> wrote:\n> Jean-Noël Avila <jn.avila@free.fr> writes:\n>\n>>> I am wondering if Documentation/po part should be a separate\n>>> repository, with a dedicated i18n/l10n coordinator.  Would it make\n>>> it easier for (1) those who write code and doc without knowing other\n>>> languages, (2) those who update .pot and coordinate the l10n effort\n>>> for the documentation and (3) those who translate them if we keep\n>>> them in a single repository?\n>>\n>> This is one of the points raised in the first RFC mail. Splitting this\n>> part would help a lot manage the translations with their own workflow,\n>> would not clutter the main repo with files not really needed for\n>> packaging and would simplify dealing with the interaction with crowd\n>> translation websites which can directly push translation content to a\n>> git repo.\n>\n> As I was in favor of splitting it out, I was trying to gauge what\n> the downside of doing so would be, especially for those who are\n> doing the translation work (it is obvious that it would help\n> developers who are not translators, as nothing will change for them\n> if we keep this new thing as a separate project).\n>\n> We may still want to fill in the details (and by doing so we may\n> discover it is not as easy as I make it sound to be here), but a\n> rough outline of what I think we could do is:\n>\n>  * What you added to Documentation/po/ in these two patches becomes\n>    a separate project (let's call it \"gitman-l10n\") and they will be\n>    at the root level of the project, i.e. documentation.pot and\n>    documentation.$LANG.po will sit at the top level of the working\n>    tree of that project, without Documentation/po/ prefix.\n>\n>    The idea is for some of us to have a checkout of \"gitman-l10n\"\n>    project inside Documentation/po of the checkout of git.git\n>    project and achieve a layout similar to what these two patches\n>    from you create, but keep that optional.\n>\n>  * In git.git, teach Documentation/Makefile to enable \"make\n>    doc-l10n\" and \"make install-l10n\" targets in \"Documentation/\" if\n>    and only if Documentation/po/Makefile exists, and delegate these\n>    two targets to it, i.e. something like:\n>\n>    (in Documentation/Makefile)\n>    ifeq ($(wildcard po/Makefile),po/Makefile)\n>    doc-l10n install-l10n::\n>         $(MAKE) -C po $@\n>    endif\n>\n>    Certain Makefile macros Documentation/Makefile knows aboute\n>    (e.g. location to install, list of pages in the man1 section) may\n>    have to be exported down to Documentation/po/Makefile.\n>\n>  * Some other Makefile targets to help i18n coordinator, e.g.\n>    updating Documentation/po/documentation.pot by using the latest\n>    set of Documentation/*.txt files, may also have to be added to\n>    Documentation/Makefile and conditionally enabled the same way\n>    (i.e. keying off of the presence of po/Makefile).\n>\n>  * Those who work on the documentation translation and those who\n>    want to build and install localized documentation will have a\n>    checkout of the \"gitman-l10n\" project at \"Documentation/po\".\n>    This will _eventually_ be done by making \"gitman-l10n\" a\n>    submodule that git.git project uses, but it can start as a manual\n>    \"clone and checkout\" without making it a submodule.  Those who do\n>    not deal with localized manpages can just work with git.git\n>    proper without even knowing anything about the gitman-l10n\n>    project.\n\nI wonder if we could have partial functionality for these \"clone and checkout\"\nfake submodules, by having e.g. the .gitmodules file telling you the URL\nand path, but no recorded gitlink in the tree.\n\n> I'd prefer to start with the \"optional gitman-l10n repository is\n> checked out at Documentation/po only by convention\" approach, before\n> committing to bind it as a submodule.  Once we got comfortable with\n> cooperating between these two projects, we do want to bind them\n> using the submodule mechanism, but not before.\n\nYay, submodules in git.git!  Another aspect besides the git-archive\ncommand supporting submodules is the URL management.\n\nThe URL for the canonical git.git ought to not change in the near future,\nbut for proper support we'd need to have a mechanism to have the URL\ndefault and configuration outside the tracked content. The configuration\nis already outside the tracked content, but the default is not.\n\nIIUC Jonathan Nieder has a proposal for that (though not in written\nform, easy to point at), which consists of having an additional\" .gitmodules\"\nfile stored in another ref, e.g. \"refs/superproject/master\" (Maybe we do not\nneed it to be branch specific? then a refs/meta/superproject would do).\n\nThat branch can be changed\n* over time\n  This is useful when the canonical URL where to obtain the submodules\n  changes. Also when going back in history and then getting the submodules\n  would be covered with this as the new ref would not go back in history.\n* across people\n  Some people prefer the submodules to be fetched from an internal mirror\n  (in a company). Or in a fork of an open source project the submodules are also\n  forked, hence need a different URL. for that such a branch would also help.\n\n> Once git.git starts binding the \"gitman-l10n\" project as its\n> submodule at \"Documentation/po\", we may want to start using \"git\n> archive --recurse-submodules\" when cutting a release tarball, when\n> that option becomes usable\n>\n> I'd prefer to start with the \"main tarball\" with \"optional language\n> pack tarball\" approach for releases, which is more flexible to the\n> end users (and less change to the workflow).  Once we gain more\n> experience, we may want to produce a single ball of wax tarball as\n> well (or \"only a single one\").\n\nThis may hint at git-archive to need more options in its\n--recurse-submodules switch. We had the same discussion\nfor \"git push --recurse-submodules\" which needs an easy\nmechanism to select from the powerset of\n(superproject, submoduleA, submoduleB).\n\nSo we'd want to be able to say:\n  \"get a tarball including all submodules except the superproject\"\n  (This would produce the \"optional language pack tarball\")\n  \"get a tarball including the superproject and only one submodule\"\n  (This would produce the \"I can distribute this in locally as everyone\n  speaks the same language in the organisation\" tarball)\n\nThanks,\nStefan\n"},{"id":"314944","messageId":"xmqq1stpkun7.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"CAGZ79kZBq+dL7hEj108DPU5KbVeJX2nYEw88jS0Eq78GxzCabA@mail.gmail.com","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-22T18:56:28Z","receivedAt":"2017-03-22T18:56:35Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Stefan Beller <sbeller@google.com> writes:\n\n> I wonder if we could have partial functionality for these \"clone and checkout\"\n> fake submodules, by having e.g. the .gitmodules file telling you the URL\n> and path, but no recorded gitlink in the tree.\n\nYou can have such a comment in any file including .gitmodules but\nwould that even be a feature?  \n\nA comment in the INSTALL file was what I had in mind, at least while\nwe are getting more familiar with the proposed two project structure\nand before we commit to use the submodule mechanism to bind them\ntogether.\n\n> So we'd want to be able to say:\n>   \"get a tarball including all submodules except the superproject\"\n>   (This would produce the \"optional language pack tarball\")\n\nYou do not need that.  Just go to the gitman-l10n project and grab a\ntarball out of it.\n\n>   \"get a tarball including the superproject and only one submodule\"\n>   (This would produce the \"I can distribute this in locally as everyone\n>   speaks the same language in the organisation\" tarball)\n\nWe don't need that, either, even though some other project would.\n\"git archive --recurse-submodules\" with properly implemented\npathspec support will solve that.\n"},{"id":"314945","messageId":"CAGZ79kZUAQ1sR0d0=KtkbWprO9VmpHO2SFFW7AYMS=wwaKjLtw@mail.gmail.com","threadId":"45362","inReplyTo":"xmqq1stpkun7.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2017-03-22T18:59:04Z","receivedAt":"2017-03-22T18:59:15Z","isPatch":true,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Wed, Mar 22, 2017 at 11:56 AM, Junio C Hamano <gitster@pobox.com> wrote:\n>> So we'd want to be able to say:\n>>   \"get a tarball including all submodules except the superproject\"\n>>   (This would produce the \"optional language pack tarball\")\n>\n> You do not need that.  Just go to the gitman-l10n project and grab a\n> tarball out of it.\n\nOh, I misunderstood your proposal.\nYou said: We have *one* submodule for all languages, but I understood\nwe'd have a submodule for *each* language.\n\nThanks,\nStefan\n"},{"id":"315251","messageId":"29db2bb2-e244-6848-32fd-9ea5434c55e9@grubix.eu","threadId":"45362","inReplyTo":"CAGZ79kZUAQ1sR0d0=KtkbWprO9VmpHO2SFFW7AYMS=wwaKjLtw@mail.gmail.com","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Michael J Gruber","fromEmail":"git@grubix.eu","sentAt":"2017-03-24T14:21:29Z","receivedAt":"2017-03-24T14:21:55Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Stefan Beller venit, vidit, dixit 22.03.2017 19:59:\n> On Wed, Mar 22, 2017 at 11:56 AM, Junio C Hamano <gitster@pobox.com> wrote:\n>>> So we'd want to be able to say:\n>>>   \"get a tarball including all submodules except the superproject\"\n>>>   (This would produce the \"optional language pack tarball\")\n>>\n>> You do not need that.  Just go to the gitman-l10n project and grab a\n>> tarball out of it.\n> \n> Oh, I misunderstood your proposal.\n> You said: We have *one* submodule for all languages, but I understood\n> we'd have a submodule for *each* language.\n\nIn general, submodules would remove the major gripe that I have with the\ncurrent organization, that is carrying out-of-date translations in tree.\nsubmodules make it clear that git.git refers to a specific revision of\nthe translations.\n\nNow, since not even git.pot is insync with the l10n mark-up in the code\nbase, I'm afraid everything in po qualifies for being externalized.\nJunio's current \"pull l10n\" would be substituted by updating the l10n\nsubmodule version that git.git references.\n\nIn turn, the l10n coordinator may want to update submodule versions for\neach language rather than pulling updates. That would allow the space\nsavings for the common uni- or bilingual developper that we are after.\nRecursive submodules, yeah ;)\n\nI'm unsure whether we should/can treat translations of git and the man\npages the same. I tend to say yes (being unsure about the consequences),\nas I would hope that translators would be the same so that we keep\nconsistency across several tranlations in one language.\n\nMichael\n"},{"id":"315266","messageId":"CACBZZX51BskROyC_Kp=-PHuqzJ4uaDpu277R0Y4qCvz=6vLUiA@mail.gmail.com","threadId":"45362","inReplyTo":"xmqqpohbtxi3.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-03-24T15:58:14Z","receivedAt":"2017-03-24T15:59:10Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Mon, Mar 20, 2017 at 11:05 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> But more importantly, aren't we essentially adding an equivalent of\n>\n>         cd Documentation && cat git-*.txt\n>\n> to our codebase?\n>\n> Surely we cannot avoid having a copy of all messages that are to be\n> translated using msgid/msgstr based approach, and we already do so\n> for end-user-facing in-program strings, but it just feels a bit too\n> much having to carry a duplicate (and slightly a stale) copy of the\n> entire documentation set around.  For N languages, we'll have an\n> equivalent for N copies of the English text, in addition to the\n> translated documentation.\n\nAs someone reading this thread from the sidelines you never elaborate\non why this is a problem worth solving (other than \"a bit too much\")\nbefore everyone downthread jumped on trying to figure out how to solve\nthis out-of tree somehow.\n\nSo I thought I'd do a basic test of what it would mean to have this\nin-tree. For every git version (every tag) since v1.0.0 I created a\nparallel version of all our git-*.txt documentation, applied rot13 to\nit, and dropped it in Documentation/po/rot13[1].\n\nThe end result after repack is:\n\n    $ du -sh git-*/.git\n    88M     git-orig/.git\n    89M     git-po4a/.git\n\nNow of course this isn't equivalent to the *.po files we're talking\nabout, which'll also contain the original English version, so let's\nsay that's at least 2x the size, or just assume 2.5x for extra\noverhead because the translation is longer / uses higher Unicode\ncharacters or whatever.\n\nThat's still only an extra 2.5MB per-language for 10 years of history,\nand an extra 3.75MB to the checkout.\n\nEven if we had 10 languages with a 100% translation (a stretch, since\nthe core translations in po/ only have 12 languages) the .git\ndirectory would grow from the current 88MB to 113MB, and the checkout\nfrom 33MB to 70MB (for comparison the existing po/ directory is\n5.3MB).\n\nMaybe I've just become desensitized to bigger repos but that seems\nlike nothing to me. For comparison the linux.git repository has a\n1.9GB .git and an 800MB checkout.\n\nThere's always going to be some inconvenience cost to pay when cloning\ndoesn't Just Work. Right now grabbing any tar'd up git.git from any\nservice it's on will give you something you can fully build. This'll\nno longer be the case for the po4a assets.\n\nIf there's a good reason to break that kind of stuff fine, but the\ngrowth in repo/checkout size noted above seems tiny to me compared to\ndisks & hardware these days.\n\n1. rm -rfv Documentation/po; mkdir -p Documentation/po/rot13; for\nversion in $(git tag -l --contains v1.0.0 'v[0-9]*.[0-9]*.[0-9]'\n--sort=version:refname); do for file in $(git ls-tree $version --\n./Documentation/|awk '{print $4}'|grep '^Documentation/git-.*\\.txt');\ndo git show $version:$file | perl -pe 'tr/A-Za-z/N-ZA-Mn-za-m/' >\n${file/git-/po/rot13/git-}; done; git add Documentation/po && git\ncommit -m\"Bump rot13 for $version\"; done\n"},{"id":"315289","messageId":"xmqqziga7e2g.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"CACBZZX51BskROyC_Kp=-PHuqzJ4uaDpu277R0Y4qCvz=6vLUiA@mail.gmail.com","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-24T17:57:27Z","receivedAt":"2017-03-24T17:57:34Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n> On Mon, Mar 20, 2017 at 11:05 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> But more importantly, aren't we essentially adding an equivalent of\n>>\n>>         cd Documentation && cat git-*.txt\n>>\n>> to our codebase?\n>>\n>> Surely we cannot avoid having a copy of all messages that are to be\n>> translated using msgid/msgstr based approach, and we already do so\n>> for end-user-facing in-program strings, but it just feels a bit too\n>> much having to carry a duplicate (and slightly a stale) copy of the\n>> entire documentation set around.  For N languages, we'll have an\n>> equivalent for N copies of the English text, in addition to the\n>> translated documentation.\n>\n> As someone reading this thread from the sidelines you never elaborate\n> on why this is a problem worth solving (other than \"a bit too much\")\n> before everyone downthread jumped on trying to figure out how to solve\n> this out-of tree somehow.\n\nI do not particularly see the size as an issue that must be solved;\nto me, it is \"nice to solve\".\n\nBut going back and finding this from Jean-Noel in an earlier\nmessage:\n\n    ... This is one of the points raised in the first RFC mail. Splitting this\n    part would help a lot manage the translations with their own workflow,\n    would not clutter the main repo with files not really needed for\n    packaging and would simplify dealing with the interaction with crowd\n    translation websites which can directly push translation content to a\n    git repo.\n\nthere may be other benefits we may be able to reap from such a\nsplit.\n"},{"id":"315392","messageId":"4046320.m2qk9b67WH@cayenne","threadId":"45362","inReplyTo":"xmqqpoh9kx5q.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Jean-Noël AVILA","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-25T15:40:39Z","receivedAt":"2017-03-25T15:40:48Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Le mercredi 22 mars 2017 11:02:09 CET, vous avez écrit :\n> Jean-Noël Avila <jn.avila@free.fr> writes:\n> >> I am wondering if Documentation/po part should be a separate\n> >> repository, with a dedicated i18n/l10n coordinator.  Would it make\n> >> it easier for (1) those who write code and doc without knowing other\n> >> languages, (2) those who update .pot and coordinate the l10n effort\n> >> for the documentation and (3) those who translate them if we keep\n> >> them in a single repository?\n> > \n> > This is one of the points raised in the first RFC mail. Splitting this\n> > part would help a lot manage the translations with their own workflow,\n> > would not clutter the main repo with files not really needed for\n> > packaging and would simplify dealing with the interaction with crowd\n> > translation websites which can directly push translation content to a\n> > git repo.\n> \n> As I was in favor of splitting it out, I was trying to gauge what\n> the downside of doing so would be, especially for those who are\n> doing the translation work (it is obvious that it would help\n> developers who are not translators, as nothing will change for them\n> if we keep this new thing as a separate project).\n\nThere's one big downside of  this splitting. The gitman-l10n project would not \nbe autonomous without the specific cloning at the particular place in the git \nproject. po4a needs the original asciidoc files to perform the transclusion of \nthe translated content into the structure of the documents. The setup that you \nare proposing would rule out simple CI checks and would make it complicated \nfor the translators to set up their working copy and check the resulting man \npages.\n\nAs I see it, there's the need for the Documentation folder to be contained in \nboth project (while remaining the property of the git project). So I would \nthink the other way around: for those interested in translated the \ndocumentation, some script would allow to checkout the git project inside the \ngitman-l10n project (like a kind of library).\n\nThis would be mainly transparent for the git developers.\n\n> I'd prefer to start with the \"optional gitman-l10n repository is\n> checked out at Documentation/po only by convention\" approach, before\n> committing to bind it as a submodule.  Once we got comfortable with\n> cooperating between these two projects, we do want to bind them\n> using the submodule mechanism, but not before.\n\nObviously, my proposition would not allow to evolve towards such a setup, but \nis it really needed anyway ?\n\n"},{"id":"315486","messageId":"xmqqshlz4pfs.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"4046320.m2qk9b67WH@cayenne","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-26T22:56:55Z","receivedAt":"2017-03-26T22:57:18Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noël AVILA <jn.avila@free.fr> writes:\n\n> ... So I would \n> think the other way around: for those interested in translated the \n> documentation, some script would allow to checkout the git project inside the \n> gitman-l10n project (like a kind of library).\n>\n> This would be mainly transparent for the git developers.\n\nAs long as the resulting layout would help all groups (1) developers\nwho do not worry about documentation l10n (2) documentation i18n\ncoordinator and transltors (3) those who build and ship binary\npackages, I personally am OK either way.\n\nHaving said that, I am not sure if I understand your \"translators do\nnot have a fixed version of git.git to work with and po4a cannot\nwork well\" as a real concern.  Wouldn't the l10n of documentation\nuse a similar workflow as used for the translation of in-code\nstrings we do in po/?  Namely, *.pot files are *NOT* updated by\nindividual translators by picking up a random version of git.git and\nrunning xgettext.  Instead, i18n coordinator is the only person who\nruns xgettext to update *.pot for the upcoming release of Git being\nprepared, and then translators work off of that *.pot file.  Which\nmeans they do not have to worry about in-code strings that gets\nupdated in the meantime; instead they work on a stable known\nsnapshot of *.pot and wait for the next sync with i18n coordinator\nwhose running of xgettext would update *.pot files with updated\nin-code strings.  Doesn't that workflow apply equally well for the\ndocumentation l10n?\n\n"},{"id":"315526","messageId":"7770933.gyQYXQhLOc@cayenne","threadId":"45362","inReplyTo":"xmqqshlz4pfs.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Jean-Noël AVILA","fromEmail":"jn.avila@free.fr","sentAt":"2017-03-27T20:12:16Z","receivedAt":"2017-03-27T20:12:48Z","isPatch":true,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"Le dimanche 26 mars 2017, 15:56:55 CEST Junio C Hamano a écrit :\n> Jean-Noël AVILA <jn.avila@free.fr> writes:\n> > ... So I would\n> > think the other way around: for those interested in translated the\n> > documentation, some script would allow to checkout the git project inside\n> > the gitman-l10n project (like a kind of library).\n> > \n> > This would be mainly transparent for the git developers.\n> \n> As long as the resulting layout would help all groups (1) developers\n> who do not worry about documentation l10n (2) documentation i18n\n> coordinator and transltors (3) those who build and ship binary\n> packages, I personally am OK either way.\n> \n> Having said that, I am not sure if I understand your \"translators do\n> not have a fixed version of git.git to work with and po4a cannot\n> work well\" as a real concern.  Wouldn't the l10n of documentation\n> use a similar workflow as used for the translation of in-code\n> strings we do in po/?  Namely, *.pot files are *NOT* updated by\n> individual translators by picking up a random version of git.git and\n> running xgettext.  Instead, i18n coordinator is the only person who\n> runs xgettext to update *.pot for the upcoming release of Git being\n> prepared, and then translators work off of that *.pot file.  Which\n> means they do not have to worry about in-code strings that gets\n> updated in the meantime; instead they work on a stable known\n> snapshot of *.pot and wait for the next sync with i18n coordinator\n> whose running of xgettext would update *.pot files with updated\n> in-code strings.  Doesn't that workflow apply equally well for the\n> documentation l10n?\n\nTheoretically, this workflow should apply to the documentation, so that a \nversion of the documentation can be cut at each release of git. I still have \nto convince po4a not to update the *.pot and *.po files each time it is run, \nwhile at the same time allow translators to produce the output file for \nproofreading.\n\n\n"},{"id":"315528","messageId":"xmqqefxi1n14.fsf@gitster.mtv.corp.google.com","threadId":"45362","inReplyTo":"7770933.gyQYXQhLOc@cayenne","subject":"Re: [PATCH v3 2/2] l10n: Add git-add.txt to localized man pages","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-03-27T20:29:27Z","receivedAt":"2017-03-27T20:29:34Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noël AVILA <jn.avila@free.fr> writes:\n\n>> ...  Doesn't that workflow apply equally well for the\n>> documentation l10n?\n>\n> Theoretically, this workflow should apply to the documentation, so that a \n> version of the documentation can be cut at each release of git. I still have \n> to convince po4a not to update the *.pot and *.po files each time it is run, \n> while at the same time allow translators to produce the output file for \n> proofreading.\n\nAhh, OK, that does sound like a meaningful difference that may make\nthe workflow we use for in-code strings not applicable for the\ndocumentation l10n project.  As I said already, I am not married to\nthe \"gitman-l10n at Documentation/po\" approach at all, and if the\nlayout you brought up to turn the containment relationship the other\nway around works better, that is perfectly fine by me.\n\nThanks.\n\n\n\n"}]}