Summary: | konversation: Wrong French translation for "%2 sets the channel limit to %1 nicks." | ||
---|---|---|---|
Product: | [Translations] i18n | Reporter: | Philippe Cloutier <chealer> |
Component: | fr | Assignee: | KDE Francophone <kde-francophone> |
Status: | RESOLVED MOVED | ||
Severity: | normal | CC: | annma, renard |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Bug Depends on: | 336256 | ||
Bug Blocks: | |||
Attachments: | French po file with Spanish strings used for the problematic translation |
Description
Philippe Cloutier
2012-02-02 03:56:20 UTC
SVN commit 1277629 by annma: Fix singular - I hope this is what you expect, the bug report is a bit confusing... M +5 -5 konversation.po WebSVN link: http://websvn.kde.org/?view=rev&revision=1277629 SVN commit 1277630 by annma: backport to branch M +5 -5 konversation.po WebSVN link: http://websvn.kde.org/?view=rev&revision=1277630 SVN commit 1278369 by annma: fix %1 and %2 which were reversed M +4 -4 konversation.po WebSVN link: http://websvn.kde.org/?view=rev&revision=1278369 SVN commit 1278370 by annma: forward port: fix %1 and %2 which were reversed M +4 -4 konversation.po WebSVN link: http://websvn.kde.org/?view=rev&revision=1278370 Still buggy in 1.5: [2014-02-28 05:47:01] *** debhelper a défini la limite du canal à 1 pseudo. Hello, It seems correct in current translations: msgid "%2 sets the channel limit to 1 nick." msgid_plural "%2 sets the channel limit to %1 nicks." msgstr[0] "%2 a défini la limite du canal à 1 pseudo." msgstr[1] "%2 a défini la limite du canal à %1 pseudos." The name was fixed but not the number, even if the translation looks OK. I tested in English and Spanish and the bug does not happen there. While r1277629 didn't improve, it allows to notice what's going wrong now that msgstr[0] and msgstr[1] cannot generate identical sentences. Konversation uses msgstr[0] when it should use msgstr[1]. I have no idea why this only affects French (but I'm not familiar with gettext). I tried to use the Spanish translation in French to see if the problem is with the French strings, but I still get the singular form with the Spanish strings: [2014-03-17 12:17:01] *** debhelper establece el límite del canal a 1 apodo. I'll attach the po file I used to do this test. Created attachment 85617 [details]
French po file with Spanish strings used for the problematic translation
The problem also happens with this file.
Ah. Before doing that test, I carefully compared how the translation is done in es.po vs fr.po: chealer@vinci:~$ msgunfmt --color=never /usr/share/locale/fr/LC_MESSAGES/konversation.mo|grep -A2 'sets the channel limit' msgid "%2 sets the channel limit to 1 nick." msgid_plural "%2 sets the channel limit to %1 nicks." msgstr[0] "%2 a défini la limite du canal à 1 pseudo." msgstr[1] "%2 a défini la limite du canal à %1 pseudos." chealer@vinci:~$ msgunfmt --color=never /usr/share/locale/es/LC_MESSAGES/konversation.mo|grep -A2 'sets the channel limit' msgid "%2 sets the channel limit to 1 nick." msgid_plural "%2 sets the channel limit to %1 nicks." msgstr[0] "%2 establece el límite del canal a 1 apodo." msgstr[1] "%2 establece el límite del canal a %1 apodos." I don't understand your comment. Is the bug still here with last release of .po file ? Thanks for your help Setting status to needs info I'm not sure I understand your question. As I said, this happens with 1.5, and I'm not aware of an ulterior Konversation release. Same bug in english (with konversation 1.4 et 1.5-master #4303), i got : "You set the channel limit to 1 nicks." Bug is on source code that give the parameter as a string instead of a number. It fools gettext plural stuff. I made a (very) dirty patch with a simple toInt() and it works. I closed this bug and open a new one for konversation devs. See 336256. |