xgettext
ajoute l'entrée #, fuzzy
en haut lorsqu'il génère automatiquement un en-tête de projet dans le fichier de messages. Le commentaire n'a pas de signification particulière en soi: il suffit de noter qu'un humain doit venir et combler les lacunes.
Faisons un peu plus attention à la source.
Lorsque vous créez un fichier de message, xgettext
ajoute des informations de projet au début du fichier de message généré (sauf si vous passez --omit-header
):
$ cat hello.c
int main() {
printf(gettext("Hello World\n"));
return 0;
}
$ xgettext -o- hello.c
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <[email protected]>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-08 11:51-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <[email protected]>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.c:3
#, c-format
msgid "Hello World\n"
msgstr ""
Le support logique cela se trouve dans xgettext.c:construct_header()
. Chemin vers le bas au fond de cette fonction, les informations d'en-tête nouvellement généré est marquée floue:
mp->is_fuzzy = true;
Depuis ce texte a été marqué comme floue, l'étiquette #, fuzzy
commentaire est ajouté au texte. L'intention ici est de sensibiliser: un programme informatique a ajouté du texte au fichier de message, et un humain doit agir. En particulier, un humain doit venir compléter les blancs: date de révision, nom du traducteur, langue, etc.
Utilisation du "#, floue" annotation est logique dans ce contexte, selon les docs:
[entrées Fuzzy] généralement appel à la révision par le traducteur.
S'il y a une réponse, je pense qu'elle est enterrée quelque part ici: https://www.gnu.org/software/gettext/manual/gettext.html –