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".) >