On Sat, Sep 9, 2017 at 6:50 PM, Paul Licameli <[email protected]>
wrote:

>
>
> On Sat, Sep 9, 2017 at 3:53 PM, Yuri Chornoivan <[email protected]> wrote:
>
>> субота, 9 вересня 2017 р. 22:18:59 EEST Paul Licameli написано:
>> > But I see you, Yuri, didn't bother with the distinction:
>> >
>> > Час початку = %2d годин, %2d хвилин, %.2f секунд.
>> >
>> > But then again here is another example where you did:
>> >
>> > Successfully exported the following %lld file(s).
>> > Успішно експортовано %lld файл(ів) з наведеного нижче списку.
>> >
>> > So perhaps in your judgment one rule applies for time, which is
>> continuous,
>> > but another for a count of files.  Is the last a sufficiently acceptable
>> > un-stupid-looking convention?  (Even though файл and файлів are not the
>> > only possible forms?)
>>
>> No. That was the trade-off. All cases are wrong in some way, so I chose
>> the
>> most likely values (0 hours, > 4 minutes, > 4 seconds) when the string
>> should
>> be concise and alternative with two of three possible cases when it is
>> not.
>>
>> > Perhaps trying to vary "hour" with "hours" in code is too much and too
>> > English-biased and should just be avoided everywhere.
>> > Perhaps what really should be done is consistent use of the "(s)"
>> >  convention wherever we have "%d".  Leave it to translator's discretion
>> > what to do with it.
>> >
>> > And such problems can hardly be unique to Audacity.  If you have
>> experience
>> > contributing to translations of other programs, tell me something about
>> > their approaches to this.
>>
>> This should be something like wxPLURAL as I mentioned earlier
>>
>> http://docs.wxwidgets.org/3.0/group__group__funcmacro__string.html
>>
>> wxPLURAL( "%d Channel", "%d Channels", i+1) instead of _()
>>
>> Other projects (Gtk+- or Qt-based) handle this cases fine as well.
>>
>> Gettext/Gtk+:
>>
>> https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/ht
>> ml_node/Plural-forms.html
>>
>> Qt/KDE:
>>
>> http://doc.qt.io/qt-5/i18n-source-translation.html#handling-plurals
>>
>> https://techbase.kde.org/Development/Tutorials/Localization/i18n#Plurals
>>
>> It would be good if Audacity can handle this as well. ;)
>>
>> Anyway, thanks for your help to make things better.
>>
>
> The "(s)" convention was invented before computers for filling in blanks
> in paper forms, and I thought other languages might have similarly old and
> well accepted conventions, like "(ів)", even if they don't read quite as
> good prose would.
>
> It seems to me that wxPLURAL is still an imperfect thing for Ukrainian,
> still biased to Western European languages that never need more than two
> number forms of a noun, and not better or worse than a "(s)" (or "(ів)")
> convention.
>
> And I also recall that some languages have a distinct dual number.  Is
> using plural for exactly two bad in modern Arabic?
> https://en.wikipedia.org/wiki/Dual_(grammatical_number)
> #Use_in_modern_languages
>
> The ideal would seem to be a function from the number to one of a list
> forms, the size of the list varying with the language, and each translator
> programming that little function!
>
> Of course we can't go there.  So your vote is for more consistent usage of
> wxPLURAL in our code, and the Basque example from Osoitz E would suggest
> the same.  A cleanup project for us in the next version.
>
> There are only two uses of wxPLURAL in Audacity now, and I notice that the
> .pot file omitted the strings, but now I see that was not the fault of the
> wxPLURAL macro, but rather that _() was omitted around the arguments of
> it.  So, I can at least add those few strings to the list to be translated.
>
> PRL
>

I see hadn't looked deeply enough into wxPLURAL!  It is not simply for
choice between two strings. The wxWidgets documentation links to this:

https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms

There are indeed ways for a translator to encode a mapping from numerals to
a choice among three or more forms.

I must study this and see how we can apply it next version.

PRL



>
>
>
>>
>> Best regards,
>> Yuri
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Audacity-translation mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/audacity-translation
>>
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-translation mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-translation

Reply via email to