On Wednesday 17 August 2005 05:03, Chusslove Illich wrote: > >>> [: Krzysztof Lichota :] > >>> Programmers could use i18n("%1 files").arg(numFiles) and the rest would > >>> be translators task :) > >> > >> [: Nicolas Goutte :] > >> That would mean that everybody needs scripting. That does not really > >> to be wanted. > > > > [: Krzysztof Lichota :] > > Current plurals handling code is just such scripting. And if you are > > worried [...] > > I might have a solution which suits both of your points, and solves one > other long standing problem :) Since I just thought of it, there might be > some holes, but here it goes. > > Programmer writes: > > i18n("Found %1 files").arg(numFiles) > > and Highinflexish translator, needing 3 forms, does this: > > msgid "Found %1 files" > msgstr "" > "#>Found %1 file" > "#>Found %1 files" > "#>Found %1 filess" What I do not like is the problem of how many plurals do you have. And the solution does not seem to mix well with a normal Gettext plural. What I mean is that KDE's plural count or Gettext's plural formula do not give any hint of how many additional pseudo-plurals would be needed. Is the "0" case needed? Or the "1" case? Or both? Or none? Because you might have languages, where it barely makes a difference, so you would well need not any. In others like English, the "1" case is already in the singular form. In others, like the Slavic languages, you would need "0" and "1". The only idea I have is to have: msgstr "#0>Zero#1>One#>singular#>plural1#>plural2" Where #0> would introduce the "0", #1> would introduce "1" and #> the normal plural forms. Also if you create new notations be careful that a \n at start and a \n at end must remain there in the translation or "msgfmt --check" will complain. > Have a nice day! (...)