2017-04-19 0:19 GMT+02:00 Rafal Luzynski <digitalfreak@lingonborough.I just wanted to say that I fully agree with your proposed solution.com >:
> Hello,
>
> I was told that GNOME i18n is the right place to discuss this issue
> because it gathers translators from more languages than any other
> place in this part of the net. The problem has been reported to GNOME
> bugzilla as bug 749206 [1] but in fact it's not a GNOME bug but glibc
> bug. [2]
>
> What is the issue: in many languages, mostly from eastern Europe,
> including my native language, a correct grammatical form of the month
> name when used in the full date context is genitive. A literal
> translation to English applying the same rule would be "18 of April".
> Also we still need the nominative case when the month name appears
> standalone (for example sometimes we just want to say "April").
>
> The proposed solution is to change strftime() function and anything
> that is backed by or compatible with strftime(): in glib2 the
> functions are g_date_time_format() and g_date_strftime(). These
> functions besides "%B" (full month name) should start supporting
> "%OB" (alternative month name). Also nl_langinfo() function would
> be modified: as now MON_1, MON_2, ..., MON_12 return the data to
> be used as the result of "%B" format specifiers the new set of
> constants ALTMON_1, ALTMON_2, ..., ALTMON_12 would be introduced
> to provide the data for "%OB" format specifier.
>
> This exact solution:
>
> - has been implemented in *BSD systems (FreeBSD, OpenBSD etc.) in
> 1990s;
> - is also supported in Apple systems (OS X and iOS) except exposing
> ALTMON_n constants in nl_langinfo();
> - has been accepted by POSIX as the future change of the
> specification but has not yet released it. [3]
>
> Now the controversial part: in all those solutions nl_langinfo(MON_n)
> and strftime("%B") return the genitive case of the month name and
> the newly introduced nl_langinfo(ALTMON_n) and strftime("%OB") return
> the nominative form. It's controversial because now in Linux
> nl_langinfo(MON_n) and strftime("%B") return the nominative case
> while the other case is simply not supported. This would require
> somehow incompatible change. (Note: the backward compatibility feature
> can be introduced.)
>
> Also it should be emphasized that "genitive and nominative" is
> a little unprecise misleading. Correctly it should be named "the
> correct form when using the month in the full date context, together
> with the day number" vs. "standalone, without the day number".
> For example, the languages which have the genitive form but don't
> use it in the full date context would use their own proper form
> instead.
>
> Why did BSD, Apple, and POSIX choose that counterintuitive approach?
> One should make a bigger survey before answering this question but
> I believe that it's because the date formats are more often used to
> format the date with the day of the month number than to format the
> month name standalone. This change would fix all applications which
> display the dates without any change in their source code so I think
> it is good even if it would break those few applications which
> display the month names standalone. By "break" I mean "they would
> start displaying the month names in an incorrect form (similarly
> as all other applications display the month names incorrectly now)".
>
> Note that a similar approach has been chosen by ICU and CLDR with
> their own date formats: MMMM represents the month name in a genitive
> case while LLLL is used when they need a nominative case explicitly.
>
> glibc maintainers hesitate to accept this solution. I believe they
> need some feedback from the people who actually are going to use this
> feature. So far they agreed [4] to accept this solution but only if
> it is documented as the new experimental feature and if it is not
> yet documented which of "%B" and "%OB" is genitive (full date format)
> and which is nominative (standalone). The idea was that it should
> be decided by the language communities which is which. Also sometimes
> they suggest that BSD implementation is wrong and should be switched.
>
> So, language communities, what is your opinion about it?
>
> GNOME is a multiplatform project, it is intended to work correctly
> on Linux but also Windows, OS X, BSD and many other platforms. I think
> it will be easier for the application developers if Linux follows
> other platforms as well as the future POSIX specification.
>
> You may be also interested in seeing my slides about the issue: [5]
>
It’s an important fix that every other platform (be it proprietary,
like Windows or macOS, or free, like KDE or *BSDs) already have.
Best regards,
--
Piotr Drąg
https://piotrdrag.fedorapeople.org
_______________________________________________
gnome-i18n mailing list
gnome-i18n gnome org
https://mail.gnome.org/mailman/listinfo/gnome-i18n