29/07/2013 07:56, sgrìobh Ingo Bauersachs:
Normally, a non-static text/message should look like "{0} is calling...", where {0} would be replaced by the caller's name. There might be certain strings where this pattern hasn't been followed and we need to fix that. Please write an e-mail to the list with resource-name of such string and we will fix them in the code.
Ok, I will collect them and mail them to the list. I'll finish most of the translation first so I can collect them all in one go, I'm already at 41% so it shouldn't take too long.
There are a few issues here which aren't easy at all to solve:
- We use Java's resource bundle technology which isn't aware of plural forms
- Even if PO could handle these situations correctly, they would be lost
during the conversion
- PO's capabilities for multiple plurals or generally limited
That's not true - at least the bit about PO. I guess it depends on how the source was prepared in terms of getxt (and I'm no expert) but PO is perfectaly capable of handling all sorts of crazy plural rules. Generally what happens (from the translators point of view) that when you open a PO which has a plural rule specified in the header, it offers the right number of fields for a given string. For example Wordpress specifies the following in the header:
"Plural-Forms: nplurals=3; plural=n < 2 ? 0 : n == 2 ? 1 : 2;\n"
And the getxt looks like this:
#: wp-content/admin-plugins/wpcom-billing/class.my-upgrades.php:823
#: wp-content/mu-plugins/subscriptions.php:1238
msgid "%s month"
msgid_plural "%s months"
msgstr[0] "%s mhìos"
msgstr[1] "%s mhìos"
msgstr[2] "%s mìosan"
msgstr[3] "%s mìos"
I can't speak for Java but somehow, given the complex plural systems in Slavonic languages, I can't imagine they're just forcing "All your bases is belong to us" type plurals on users of Russian and Polish?
When you asked to open the Gaelic translation, we had a short discussion
about using a different localization system (in the code) to cover such
problems. The problem is that this would be a HUGE change and we currently
simply don't have the resources to handle this (well, maybe the "backend"
change, but not all the repetitive tasks of replacing the calls to the
backend).
I know that Polish also has four plurals, so maybe Paweł can help us out
here how this was done for the Polish translation?
I understand the issue of resources - and if the plurals are currently broken, I understand that a fix may take a long time. But I think it's worthwhile considering the issue and dedicating a certain amount of developer time to it because it has a strong impact on the GUI and won't simply go away and the more localizations join, the more languages will fall foul of this.
Michael