On Wed, 31 Oct 2012 08:52:19 +0900
Carsten Haitzler (The Rasterman) <raster@...> wrote:
> On Wed, 31 Oct 2012 01:03:48 +0400 Igor Murzov <e-mail@...> said:
>
> > On Tue, 30 Oct 2012 20:47:49 +0200
> > "Ag. Systems Administrator - Danny" <sysadmin@...> wrote:
> >
> > > Hi,
> > >
> > > Actually, this comes from plurals definition (which is widely recommended
> > > for Russian language):
> >
> > "Recommended"? Yes, there are a single form + two plural forms in russian.
> > There is nothing bad in it. That how it is.
> >
> > > "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
> > > "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
> > >
> > > Then, when it comes to plurals, it expects 3 translations (as defined in
> > > plurals statement), but gets 2 or less...
> >
> > What gets 2 or less translations? Can you clarify your statement?
> >
> > > Outsmarted it by adding third line of translation:
> > >
> > > : src/bin/e_fm.c:3648
> > > #, c-format
> > > msgid "%i file"
> > > msgid_plural "%i files"
> > > msgstr[0] "%i файл"
> > > msgstr[1] "%i файлов"
> > > msgstr[2] "%i файлов"
> >
> > What do you want to "outsmart"? There is no problem with multiple
> > plural forms -- gettext handles this just fine. And your example is
> > actually wrong -- it should be 'msgstr[1] "%i файла"' here.
> >
> > > Thank you,
> > > Daniel
> > >
> > > PS: I understand good intention of plurals statement, but it should not be
> > > such hell :)
> >
> > What makes you think that having two plural forms is a "hell"?
> > You just need to learn how to handle them properly with gettext,
> > but that's not difficult. The real problem as i see it is
> > that zmike doesn't care much about non-english speakers, so
> > he codes gettext stuff anyhow; raster seems to not care about
>
> niet tovarish. i happen to speak several languages (english, german, my french
> is rusty, japanese, some portuguese, ...). i care. i actually set up all the
> orifinal .po and gettext stuff for e and got it started. i wrote the language
> selector dialog... i ensured efl was 100% utf8 SO we could support lots of
> languages. i do care. even more so that you probably i know of the pain of
> input methods for complex langs like japanes, chinese and korean (and i can
> even type in korean and japanese). i happen to care and understand. i just
> don't have time to address every single aspect of e and efl at all times for
> everyone.
Horosho. Togda prosti za nagovory :*
> right now i have other priorities that are more expansive than
> covering just your language case. the issue massimo is speaking of literally
> stops compilation. you are internationalizing a format string, and thus you
> can't CHANGE the %i, %s, %li, %u etc. format entries because this is the kind
> of thing that makes code break and segfault. i fixed it last night after it
> broke compilation. msgfmt refuses to compile the po file because the format
> strings dont match.... what I saw and had to fix is:
>
> msgid "%i aaa"
> msgid_plural "%i bbbb"
> msgstr[0] "xxx"
> msgstr[1] "%i yyy"
> msgstr[2] "%i zzz"
>
> notice msgstr[0] is missing the %i... this causes compilation to totally fail
> and it has a very good point about forcing it to fail as this kind of
> translation changing is asking for bugs.
Thanks for explanation, i now realize what was the actual problem.
But the problem with reviewing and applying patches still remains.
I don't know who should i talk to about gettext stuff, Massimo
doesn't want to touch it. But who then? He doesn't want to apply
even trivial patches with fixing typos like removing stray colon
in MPDule's configuration dialog:
[x] Show popup:
And I blame Massimo for bad commit with russian translation update.
Looks like he forgot to add new files (translation for mpdule,
evertything-websearch).
-- Igor
> > translations at all; and Massimo is scared of touching the code,
> > even if a patch doesn't alter program behaviour and just fixes
> > some gettext related stuff.
> >
> >
> > -- Igor
> >
> > > 2012/10/30 Massimo Maiurana <maiurana@...>
> > >
> > > > Igor Murzov, il 30/10/2012 01:27, ha scritto:
> > > >
> > > > > These two patches, i've sent yesterday to the ML depend on
> > > > > the other patches i've sent to the ML about half an hour
> > > > > before. Following patches should be applied first to get
> > > > > correct translation:
> > > > >
> > > > > E-MODULES-EXTRA-mpdule-gettextize.patch
> > > > > E-MODULES-EXTRA-mpdule-Remove-stray-semicolon-from-a-control-label.patch
> > > > > E-Properly-use-gettext-for-handling-plural-forms.patch
> > > >
> > > > I'm afraid it's still not enough.
> > > >
> > > > I've tried applying the third patch but the errors are still there as I
> > > > was expecting, because nothing changed in the process of generating
> > > > enlightenment.pot and updating po files. only e_utils is affected by that
> > > > patch.
> > > >
> > > > for now I've committed your translations because the failing part of ru.po
> > > > will be stripped by msgmerge during compilation, but it will be unuseful
> > > > until
> > > > you submit a patch which takes that part into account.
> > > >
> > > > as for the other patches, I'll leave them to developers as I usually
> > > > commit only translations, so for now even the mpdule ru.po file isn't
> > > > actually used
> > > > (but present anyway).
> > > >
|