[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-i18n-doc
Subject:    Re: Different formulas for plurals in Qt and KDE
From:       Sönke_Dibbern <s_dibbern () web ! de>
Date:       2014-04-09 19:19:16
Message-ID: op.xd2daekqku6xww () soe ! im ! wald
[Download RAW message or body]

Am 09.04.2014, 14:55 Uhr, schrieb Aurélien Gâteau <agateau@kde.org>:

> Sönke Dibbern wrote:
>
>> Am 08.04.2014, 10:49 Uhr, schrieb Aurélien Gâteau <agateau@kde.org>:
>>
>>> On Mon, Apr 7, 2014, at 18:07, Alexander Potashev wrote:
>>>> Good night!
>>>>
>>>> More on plurals and KF5...
>>>>
>>>> As you may know, Serbian, Ukrainian and Russian translations of KDE
>>>> software are using a new plural formula with 4 plural forms, while Qt
>>>> knows only about the traditional plural formula and only 3 plural
>>>> forms.
>>>>
>>>> [...]
>>>
>>> I am still not familiar enough with scripty to have a definitive  
>>> answer,
>>> but this could be a problem indeed. Plural formulas are indeed  
>>> hardcoded
>>> in Qt (just checked, they are in the qttools repository, in
>>> src/linguist/shared/numerus.cpp)
>>>
>>> Aurélien
>>
>> Moin tosamen,
>>
>> what does the latter mean for smaller languages not taken into account  
>> in
>> numerus.cpp, e.g. Low Saxon (nds), Upper and Lower Sorbian (hsb and nsb,
>> resp.) or North Frisian (frr), just to mention a few? Will it be  
>> possible
>> to have message catalogs for these at all?
>
> I just did some testing.
>
> 1. I created a nds .po from a .pot with:
>    msginit -l nds -i kbookmarks5.pot -o kbookmarks5.po
>
> 2. Wrote some dummy strings as translations.
>
> 3. Converted the .po into a .ts (Qt translation source format):
>    lconvert -i kbookmarks5.po -o kbookmarks5.ts -target-language nds
>
>    This created a .ts whose root element has an attribute  
> 'language="nds"'
>
> 4. Compiled this .ts in a .qm (Qt translation binary format):
>    lrelease kbookmarks5.ts
>
>    This created a kbookmarks5.qm
>
> 5. Installed kbookmarks5.qm in share/locale/nds/LC_MESSAGES
>
> 6. Tried test program kbookmarkdialogtest and... no matter how many
> environment variables I set, I was not able to get it to load my .qm.  
> Sad.
>
> If I hardcode the path to the .qm, it gets loaded and translations  
> appear,
> though I don't expect proper plural support. After much reading of Qt  
> source
> code, I found out locales are defined based on http://cldr.unicode.org/  
> so I
> think the best thing to do is to submit the missing languages to cldr and
> file a Qt bug to ask for a refresh. As of now, Qt is based on cldr v23.1.
> v25 has been released in march but still does not contain nds.

Moin Aurélien,

thank you for digging into this. I feared something like this would happen  
when I read 'hardcoded into Qt'. I fear that KDE will lose some languages  
(or at least correctly pluralised tier 1 modules in these languages, if I  
understand matters correctly*) due to this, because I don't think that  
every small language team will have the resources to push their stuff into  
the CLDR database. Hope I'm proven wrong.

As a side effect the barrier for getting new languages/language teams on  
board rises considerably. Without any warranty that Qt will take over the  
stuff submitted to CLDR any time soon, I could imagine that this  
discourages more than one enthusiastic new team.

OK, enough gloomy pictures painted.

Does anybody see any other options?


Best Gröten
Sönke

*) Tier 2,3,x stuff could use "normal" KDE i18n infrastructure, is that  
right?



-- 
Schreven mit Bregen un Fingers :D
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic