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

List:       kde-i18n-doc
Subject:    Re: Puzzle in libplasma?
From:       "Sveinn í Felli (IMAP)" <sveinki () nett ! is>
Date:       2008-11-12 11:14:39
Message-ID: 20081112111624.7018.qmail () ktown ! kde ! org
[Download RAW message or body]

Thanks a lot Chusslove for this overview, and the link.

Sveinn í Felli

Chusslove Illich wrote:
>> [: Enrique Matías Sánchez (Quique) :]
>> The problem is that "this" should be translated as "esta" or "este"
>> depending on what %1 is.
>>
>> I hope it can be coded in a different way.
> 
> The problem is that %1 is an applet name, and comes from any of the .desktop
> files. So it is not possible to "unpuzzle" it. Furthermore, pronoun "this"
> is needed because there may be two or more instances of the same applet, and
> leaving out "this" may cause confusion whether just the clicked instance is
> removed, or all instances of that applet.
> 
> On a more general level, given that the string cannot be unpuzzled, and
> given that it has context (since recently, added after Ihar requested it),
> it's *perfect*. This means: if a string is good English, not a word puzzle
> (as much as possible), and has nice context, then it's as good as it's upon
> the programmer to make it. Everything past that is translators' playfield.
> E.g., in this case, even if pronoun "this" wouldn't have been necessary, I
> think there's no place asking for it to be removed due to translation --
> it's upon the translator, sufficiently informed by the context, to do the
> best for the language. Perhaps translate it to the equivalent of "Remove
> this applet instance (%1)". Or just leave it with wrong grammar, as Sveinn
> notes KDE is full of such stuff (and not due to bad original messages), so
> users may have already been accustomed. Or, perhaps...
> 
> If neither wrong grammar, nor adding needless words just to work around it,
> is satisfactory, in KDE4 translators can always invest some time to make it
> both succint and correct. The message in question is translated something
> like this in Serbian:
> 
>   msgid "Remove this %1"
>   msgstr ""
>   "Ukloni ovaj %1"
>   "|/|"
>   "Ukloni $[by-gender-number %1 ovaj ovu ovo ove ove ova] $[acussative %1]"
> 
> Here, both the pronoun has to match the gender and number of the noun, and
> the noun itself must change the case away from nominative. Thus, in the
> scripted part above, after |/|, the by-gender-number call selects one of ov*
> pronouns based on gender and number of %1, and accusative picks the direct-
> object case of %1.
> 
> The remaining question is where do the cases, gender, and number come from
> for a given phrase (such as "Picture Frame", "Fuzzy Clock", etc.) If they
> were coming from another dynamic KDE4 PO, than in that PO their properties
> could be set with the respective message:
> 
>   # Hypothetically!
>   msgid "Picture Frame"
>   msgstr ""
>   "uramljena slika"
>   "|/|"
>   "$[properties gender 'fem' number 'sing' accusative 'uramljenu sliku']"
> 
> However, in this case the phrases come from .desktop files, which are a dead
> beat; desktop_* POs are static, used only to fill out .desktop files, so
> messages in them cannot be scripted like this. Translators therefore have to
> maintain a special, property map file, which would have entries like this:
> 
>   =;Picture Frame;uramljena slika;
>       gender=fem;
>       number=sing;
>       accusative=uramljenu sliku;
>       ;
> 
> with the associated difficulty of finding out current applet names and
> keeping in sync with additions of new applets (on my to-do list to formalize
> somehow...)
> 
> So, if anyone's interested, most of the ingredients mentioned here are
> described at http://techbase.kde.org/Localization/Concepts/Transcript, and I
> would add the few extra recipes (e.g. definition of by-gender-number
> function) that complete the construct. (For some motivation, note that this
> makes translation tighter than the original; e.g. there is an applet named
> "Notes", so the English message will be "Remove this Notes" instead of
> "Remove these Notes".)
> 


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

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