[glib][GDateTime] API and string freeze break request



I'd like to ask for the freeze break approval in order to add
a missing functionality as described in bug 749206. [1]

Also, as the patches are not yet accepted and committed, I'd
like to ask for more reviews and to commit.


Planned changes
===============

* API: g_date_time_format() function will support the new format
specifiers: %OB, %Ob, and %Oh. Also the meaning of %B, %b, %h will
be slightly changed (actually: will be specified more precisely).

* String changes: new forms of month names will have to be added.
Bad news: for all (really all) languages. Good news: in 90% of languages
it will be just a copy of existing month names; also these month names
will be actually used only on those systems which do not yet provide
them (the latest glibc 2.27 supports all, BSD partially). Does anybody
have a superpower to insert the month names if the translators are
inactive?


Why this change is important and why it is so late
==================================================

This change follows the latest change in glibc strftime() function.
[2] [3] The aim of the change is to support two grammatical cases
of month names, as required by some eastern European languages.
This is included in the most recent glibc 2.27 released on February 1
(1 week ago) while the change has been finally accepted and applied
upstream only on January 22 (2.5 weeks ago). As a result,
g_date_strftime() (being just a wrapper for stftime() ) supports the
new format specifiers already if its underlying platform's C library
is glibc 2.27. g_date_time_format() currently does not support %OB,
%Ob, and %Oh format specifiers while it has already switched to
displaying %B, %b, %h in a genitive case (in selected languages only)
which is correct in most cases but incorrect in few, and that's why
we need this change. The patch falls back to the underlying platform
if it supports all forms of the month names correctly (glibc 2.27 only)
and provides a correct implementation for the platforms which support
the feature incompletely (BSD) or incorrectly (older glibc). There is
also another patch which provides the same functionality for MS Windows.

If these patches are not applied GNOME will remain in the middle of
transition.


Followups
=========

This freeze break request will be followed by more freeze break
requests (string only):

* in gnome-shell (calendar widget), [4] [5]
* in gnome-calendar, [6]
* in shotwell (not yet reported anywhere)

Thanks in advance,

Rafal


[1] https://bugzilla.gnome.org/show_bug.cgi?id=749206
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=10871
[3] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;hb=HEAD
[4] https://bugzilla.gnome.org/show_bug.cgi?id=781329
[5] https://bugzilla.gnome.org/show_bug.cgi?id=780957
[6] https://gitlab.gnome.org/GNOME/gnome-calendar/issues/125


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]