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

List:       kde-i18n-doc
Subject:    Re: Should an application uses framework translations if it is not itself translated?
From:       Aurélien Gâteau <agateau () kde ! org>
Date:       2014-04-24 15:01:32
Message-ID: ljb90d$jpe$1 () ger ! gmane ! org
[Download RAW message or body]

Albert Astals Cid wrote:

> El Dimarts, 22 d'abril de 2014, a les 17:06:11, Aurélien Gâteau va
> escriure:
>> While working on KI18n-translated frameworks, I discovered KI18n does not
>> translate any string if the application itself is not translated. This
> 
> Correct.
> 
>> means
>> if application A uses, say, KIconThemes and does not have any translation
>> available in the user language (but KIconThemes does), then any dialog or
>> window coming from KIconThemes won't be translated.
>> 
>> It feels wrong to me, especially since if A uses any Qt-translated
>> framework, strings from the Qt-translated framework will be translated.
> 
> Those are quite small in most of our applications.

Mmm, what do you mean with "those are quite small"?
 
>> I filed a review request to fix this:
>> https://git.reviewboard.kde.org/r/117688/ but Chusslove says there are
>> good reasons against supporting partial translations, dating from before
>> he was involved and this topic should be discussed. Are those reasons
>> still valid?
> 
> Since nothing i can see has changed I'd say they still are.
> 
> Namely it gives a translation team the hability to not have a program
> translated (i.e. having no .po for it) unless they think it has a
> reasonable amount of quality/quantity/whatever.

Oh. Where do translators keep their .po files until it is good enough then?

Slightly related: Assuming the code stays this way, 
KLocalizedString::isApplicationTranslatedInto() should probably be changed  
to cache its result. Right now it checks if .mo files exist every time 
i18n() is called. (Call chain is i18n() -> isApplicationTranslatedInto() -> 
KCatalog::catalogLocalDir() -> QStandardPaths::locate())

Aurélien

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

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