Hi, while translating Guix po file to french, i noticed a strange thing. Thetranslation doesn't fit. don't know whether it's just a translationproblem or a gettextize issue. #+NAME: po/guix/de.po#+BEGIN_SRC #: guix/scripts/package.scm:520#, fuzzymsgid """\n"" --show=PACKAGE show details about PACKAGE"msgstr """\n"" -i, --install=PAKET PAKET installieren"#+END_SRC #+NAME: guix/po/guix/eo.po#+BEGIN_SRC #: guix/scripts/package.scm:520#, fuzzymsgid """\n"" --show=PACKAGE show details about PACKAGE"msgstr """\n"" -i, --install=PAKO instali PAKOn"#+END_SRC --Mathieu Lirzin
Toggle quote (14 lines)> i noticed a strange thing. The translation doesn't fit. don't know> whether it's just a translation problem or a gettextize issue.>> #+NAME: po/guix/de.po> #+BEGIN_SRC > #: guix/scripts/package.scm:520> #, fuzzy> msgid ""> "\n"> " --show=PACKAGE show details about PACKAGE"> msgstr ""> "\n"> " -i, --install=PAKET PAKET installieren"
There’s nothing wrong here: it’s just the normal syntax for multi-linestrings (info "(gettext) PO Files"): When the time comes to write multi-line strings, one should not use escaped newlines. Instead, a closing quote should follow the last character on the line to be continued, and an opening quote should resume the string at the beginning of the following PO file line. For example: msgid "" "Here is an example of how one might continue a very long string\n" "for the common case the string represents multi-line output.\n" In this example, the empty string is used on the first line, to allow better alignment of the ‘H’ from the word ‘Here’ over the ‘f’ from the word ‘for’. In this example, the ‘msgid’ keyword is followed by three strings, which are meant to be concatenated. Concatenating the empty string does not change the resulting overall string, but it is a way for us to comply with the necessity of ‘msgid’ to be followed by a string on the same line, while keeping the multi-line presentation left-justified, as we find this to be a cleaner disposition. The empty string could have been omitted, but only if the string starting with ‘Here’ was promoted on the first line, right after ‘msgid’.(1) It was not really necessary either to switch between the two last quoted strings immediately after the newline ‘\n’, the switch could have occurred after _any_ other character, we just did it this way because it is neater. So I’m closing this bug. Let me know if there’s something I overlooked. Thanks,Ludo’.
Toggle quote (2 lines)> There’s nothing wrong here: it’s just the normal syntax for multi-line
I think you have missed the fact that the translation doesn't match thestring. The translation correspond to "-i --install..." whereas thestring to translate is "--show=...". My first thought have been that's just a mistake done by the translator,but then I have checked another po file (the eo.po) which have the exactsame mistake (in a different language). So I thought it maybe hassomething to do with i18n, and that the mistake has appeared while the.pot file was updated, because `guix/scripts/package.scm:520' and`guix/scripts/package.scm:487' translations are exactly the same whichshoudn't happen in a po file I guess. I don't know much about i18n, so i let you decide who between thedevelopper or the translator, is the sinner! ;-) --Mathieu Lirzin
Toggle quote (4 lines)> I think you have missed the fact that the translation doesn't match the> string. The translation correspond to "-i --install..." whereas the> string to translate is "--show=...".
Oh, indeed. But these have the ‘fuzzy’ flag, which means (info"(gettext) PO Files"): ‘fuzzy’ This flag can be generated by the ‘msgmerge’ program or it can be inserted by the translator herself. It shows that the ‘msgstr’ string might not be a correct translation (anymore). Only the So as I understand it that’s OK, and it will be revised next time wesend POT files to the TP. Thanks,Ludo’.