Following a discussion during the IRC meeting today [1]
and my previous announcements [2] I'd like to ask you to test how
the dates are displayed in the most recent versions of Fedora
and Linux in general. If you find an error you should most probably
report it upstream or ask someone else to do it. My time is limited,
I am unable to test and fix everything.

Where the change is visible

Versions involved: any Linux containing glibc 2.27 or newer
(that means Fedora 28, Fedora Rawhide etc.)

Architectures, spins, etc.: all. KDE is probably not affected
but worth testing as well.

Applications: I don't know, probably anything which displays dates,
mostly calendars.

Languages: this is important, the changes are visible in only
7 languages: Belarusian, Croatian, Greek, Lithuanian, Polish, Russian,
Ukrainian. We are also considering to add Catalan [3] and Czech [4]
but it has not yet been added (well, Czech partially). For other
languages there should be no visible change.

Locales: be_BY.utf8, be_BY.utf8@latin, hr_HR.utf8, el_CY.utf8, el_GR.utf8,
lt_LT.utf8, pl_PL.utf8, ru_RU.utf8, ru_UA.utf8, uk_UA.utf8. There
are more locales than languages because some languages have variants
or are spoken in multiple countries. Other charsets have the same
changes but their contents should be the same and utf8 seems to be
the most popular nowadays.

I'm afraid that the testing requires some knowledge of at least one
of those languages. But, we are skilled people, some of us already
can speak English as a foreign language so it won't be a problem
to learn one or few more words in one or few more languages.
Here is a table explaining how to write March in these languages
and how to use it correctly to display a date of today, March 6. Note
that these are inflected languages, they have complex grammar systems
and a month name must be in a genitive case if used in a date but in
a nominative case if it appears standalone:

Language   Nominative   Genitive   Exmaple
be         сакавік      сакавіка   6 сакавіка
be@latin   sakavik      sakavika   6 sakavika
hr         ožujak       ožujka     6 ožujka
el         Μάρτιος      Μαρτίου    6 Μαρτίου
lt         kovas        kovo       6 kovo
pl         marzec       marca      6 marca
ru         март         марта      6 марта
ua         березень     березня    6 березня

Note: Some languages may require a different order of day and month,
some may require a dot after a day number or other punctuation characters,
they are easy to add and are beyond the scope of this test.

Also note that the rule saying "standalone" vs. "in date" is not precise.
Fully precise rule is: if a month name appears together with a day
number then it must be genitive (as in English: "6 of March"), otherwise
it is nominative. Examples: day + month + year - of course, this is a
full date, so the month name is genitive; day + month - still the same;
Just month - nominative. month + year - this still counts as the month
standalone, should be nominative.

If you doubt how to write dates correctly in a specific language
use Wikipedia: click the link to the date in English or in your
native language, for example [5] and then select the specific language
from the list of languages. The page should display the current date
and usually a calendar.

Test cases

You will have to work from the command line. If your system is not
switched to any of the locales above or you want to test multiple
locales then you will have to prepend every command with
LC_ALL=<selected_locale>, for example LC_ALL=be_BY.utf8, or simply
type this command: export LC_ALL=be_BY.utf8 and from this moment all
commands will work in Belarusian until you change it.

Command line utilities


most probably the date will be displayed with the month name
abbreviated so you won't see any difference between the nominative
and the genitive case

    date +"%d %B"

Make sure the month name is in a genitive case. Incorrect: the month
name in a nominative case.

    date +"%d %OB"

(Note: this is an uppercase O letter, not 0, zero digit!)
Correct result: the month name appears in a nominative case. This is
incorrect from the grammar point of view but we asked for this.
Garbage in, garbage out, just make sure this is the garbage we asked
for. Incorrect: the month name in a genitive case, or not a month name
at all (an empty string, OB or %OB literally).

    cal 2018
    cal 2017

Displays the calendar for this month, this year, and the previous
year, respectively. Correct result: all month names in the headers
must be displayed in a nominative case. Incorrect result: a genitive
case appears, month names are in English, month names are not displayed.

   ls -l

Displays the list of the files in the current directory with some
details including the modification date. Some dates contain the
month name. Make sure the month name is in a genitive case. If the
month name is abbreviated or it is just a number then its cases
are most probably indistinguishable. Incorrect result: a nominative
case appears.

GUI applications

Some tests assume that you are using GNOME. Skip them if you can't
or don't want to use GNOME.

Here is how to run gnome-shell in a different locale:

    LC_ALL=hr_HR.utf8 gnome-shell --replace &

(of course, you can use a different locale, also you can use the
export command and you won't have to repeat it every time).

GNOME Shell contains a calendar widget which gets opened when
you click the date in the top of the screen. Make sure the month
name in a date is in a genitive case but it is in a nominative case
in the header displaying just a month name. Click a different
day. Its date should appear in the left panel. Make sure that
the month name is in a genitive case. Click the "<" and ">" buttons
to switch to a different month, make sure it is still in a nominative
case but the month name in a date appears in a genitive case when
you click a date in a different month. Switch to a different year.
Make sure the header of the month displays a month name in a
nominative case + the year number and a month name in a date is
in a genitive case. Incorrect result: nominative case in dates,
genitive case in the header.

Launch Nautilus (a.k.a. Files). Display the details of any file,
make sure that the month name in a date is in a genitive case.

Launch GNOME Software. Find an application which has ever been
updates in this machine. Display its history. Make sure the month
names are in a genitive case.

Launch GNOME Calendar. Make sure the month cases are correct:
nominative when standalone (or with a year number), genitive if
in a full date (with a day number).

Launch this application (a part of gtk3-devel):


Find "Popovers" in the left panel. Double-click it. It should
display a calendar. Make sure the month header is in a nominative
case. Switch to a different month, make sure this is still
a nominative case.

Use a different desktop environment (Cinnamon, KDE, MATE, XFCE,
insert more here). If it has a builtin calendar widget test it.
If it has its own default calendar application test as well.

Note: most probably KDE and Qt applications are not affected.

Test more applications here. I am not aware of all applications
which may be involved.

I am aware that some of these tests will fail. Some applications
have been fixed upstream but not yet pushed to Fedora. Some have
not yet been fixed.

Advanced issues

1. In most cases the difference between an abbreviated nominative
case and an abbreviated genitive case is not visible. Probably
the only case is May in Belarusian and Russian: as the name is
very short it cannot be abbreviated and therefore the abbreviated
form equals the full form and the difference between the nominative
and the genitive case is visible. The nominative case in both
languages is "май", the genitive case is "мая".

2. The rules of the Czech language are more complex than explained
above. Probably they require the nominative case more often than
other Slavic languages. But I'd like to leave it to the native
Czech speakers.

Best regards,


[3] https://sourceware.org/bugzilla/show_bug.cgi?id=22848
[5] https://en.wikipedia.org/wiki/March_6
test mailing list -- test@lists.fedoraproject.org
To unsubscribe send an email to test-le...@lists.fedoraproject.org

Reply via email to