Version: (using KDE Devel) Installed from: Compiled sources There are several places in akregator code that don't use KDE infrastructure for plural forms handling (i.e. assuming that only "one" and "many" exist). Examples: src/propertieswidgetbase.ui: 1) Delete articles older than %1 days. 2) Limit archive to: ... article(s) 3) Fetch feeds every ... minute(s) trayicon.cpp: aKregator - %1 unread That breaks translation for most of the languages that use different number of plurals.
What's wrong in that trayicon one? Isn't "aKregator - 1 unread" proper?
Of course, not. In languages other than English translation for the "unread" depends on the number. This is called "Plural handling". http://developer.kde.org/documentation/library/kdeqt/kde3arch/kde-i18n-howto.html#SECTION00031000000000000000 Read the short section on Plural handling. Here is the reference for the correct form of i18n() for plural handling. http://developer.kde.org/documentation/library/cvs-api/kdecore/html/classKLocale.html#m4
CVS commit by lukas: handle plural properly BUG: 96797 M +6 -6 trayicon.cpp 1.27 --- kdepim/akregator/src/trayicon.cpp #1.26:1.27 @@ -124,14 +124,14 @@ void TrayIcon::slotSetUnread(int unread) m_unread=unread; + QToolTip::remove(this); + QToolTip::add(this, i18n("aKregator - 1 unread article", "aKregator - %n unread articles", unread)); + if (unread == 0) { - QToolTip::add(this, i18n("aKregator - No unread articles")); setPixmap(m_defaultIcon); } else { - QToolTip::add(this, i18n("aKregator - %1 unread").arg(unread)); - // from KMSystemTray int oldW = pixmap()->size().width();
Cool, thanks. What about fixing issues in .ui file?
Umh, well, at least "no unread articles" sounds better than "0 unread articles" in Finnish, but okay, that's fine for me.
the ui file was fixed 9 month ago: http://webcvs.kde.org/kdepim/akregator/src/propertieswidgetbase.ui?r1=1.15&r2=1.16
Do you think that "one" and "many" are the only two possibilities for plural? I'd recommend you to read again i18n HOWTO. This bug hits two bad practices of i18n-illiterate developers: splitting the translatable sentence into separate strings and being ignorant of the fact that most of the languages have several plural forms. Reopening the bug - it still exists in trunk.
sorry, i don't see the point. can you please be more specific where the problem is currently.
http://developer.kde.org/documentation/library/kdeqt/kde3arch/kde-i18n-howto.html
and where exactly is it not handled this way? point 1,2 and 3 of the reporter do it correctly.
They do it correctly in English. English has two forms for plurals. In Russian there are 3 forms for plurals, so the translations for 21 days, 22 days, 28 days are all different. Other languages can have up to 6 plural forms, I guess.
so in the end it's no bug in agregator but a feature request for kintspinbox
I can confirm it in my version. In configuration I can specify frequency of fetching RSSes. In my (Polish) language I have 3 plural forms, but in translation source I can see only one form (msgstr: minute). What is weird, though, that 1 minute is in its separate msgstr :\ I would expect rather something like: msgstr: _n: 1 minute\n %n minutes which would then be translated into: 1 minutę\n %n minuty\n %n minut\n I hope my comment would be useful.
The points mentioned by the bug reporter are fixed since ages now. If you find other plural issues with recent versions, please open a new report.