Fwd: [HEADS UP] Changes in date formatting (strftime, nl_langinfo)

6 views
Skip to first unread message

vi...@eq.by

unread,
Jan 23, 2018, 11:22:18 PM1/23/18
to debian-l10n...@lists.debian.org, i18n-be...@googlegroups.com
Трэба дапамога прынамсі ад карыстальнікаў лацінкі.


Begin forwarded message:

From: Rafal Luzynski <digita...@lingonborough.com>
Date: January 23, 2018 at 6:31:42 PM GMT+3
To: vi...@fsfe.org
Subject: Re: [HEADS UP] Changes in date formatting (strftime, nl_langinfo)
Reply-To: Rafal Luzynski <digita...@lingonborough.com>

23.01.2018 06:49 vi...@fsfe.org wrote:

On Jan 23, 2018, at 1:58 AM, Rafal Luzynski <digita...@lingonborough.com>
wrote:

you want this feature to be supported in your
language please notify me ASAP

I would like this feature be supported in Belarusian. I am going to
look at the po file at translationproject.org, what should I do in
addition for that to happen?

Thank you for responding. Indeed, Belarusian language is a special
case because with Russian they are the only languages which actually
need the %Ob feature. [1] The short answer to the question how you
can help is: just tell me that you want this feature in your language
and I will push the trigger, that's all. Belarusian patches are
waiting here, [2] you must search for the commit titled "Genitive
month names imported from CLDR (bug 10871)." and be_BY is there
along with other languages.

However, the Belarusian language is more tricky. Although be_BY
(Cyrillic) is in CLDR [3] so I can copy/paste/import/whatever,
be_BY@latin is not there but it is supported by glibc [4] and should
be updated. Could you please send me a list of Belarusian month names
in genitive case in Latin script so I can fix them? Something like
"studzenia", "lutaga" and so on, I am not sure if my transcription
is correct. This should also include the abbreviated month names
but I guess there will be no difference between abbreviated month
names in genitive case and in nominative case in be_BY@latin: "maj"
in genitive case is "maja" which will be abbreviated to "maj"; this
is different from the Cyrillic where the genitive case "мая" will
remain "мая" even in the abbreviated version.

What else you can do: you can contact other Belarusian translators
and ask for their opinion. However, you may skip this step if you
are the only translator or if you think they will all agree.

Also please explain the uppercase/lowercase issue: in be_BY@latin
all month names start with the uppercase. I guess this looks nice
if the month name is standalone so I'd rather leave it as is;
OTOH I guess that the genitive month names (as used in dates)
should start with a lowercase letter.

Actually, the sooner they are pushed the better; glibc is about
to be released on February 1.

One more thing: since you have mentioned the translationproject.org,
please grep over all files (which I hope you have as a local
copy) and find all occurrences of %B or %b or %h without
the day number (%e or %d). Please verify that they are arguments
of strftime() or anything similar. They all should be replaced with
%OB, %Ob, and %Oh, respectively. I think that someone already did
this on libc-alpha list and found about 2 or 3 occurrences.
But that belongs to the general programming, not limited to
Belarusian language.

Regards,

Rafal


[1] http://austingroupbugs.net/view.php?id=1166
[2] https://github.com/rluzynski/glibc/commits/master
[3] http://st.unicode.org/cldr-apps/v#/be/Gregorian/
[4]
https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/locales/be_BY@latin;hb=HEAD

Андрэй Захарэвіч

unread,
Jan 24, 2018, 12:33:44 AM1/24/18
to i18n-be...@googlegroups.com
Што трэба бачу. Прабач, з ліста не ўцяміў навошта гэта.

24 січ. 2018 р. 7:22 дп <vi...@eq.by> пише:
Трэба дапамога прынамсі ад карыстальнікаў лацінкі.


Begin forwarded message:

From: Rafal Luzynski <digitalfreak@lingonborough.com>
Date: January 23, 2018 at 6:31:42 PM GMT+3
To: vi...@fsfe.org
Subject: Re: [HEADS UP] Changes in date formatting (strftime, nl_langinfo)
Reply-To: Rafal Luzynski <digitalfreak@lingonborough.com>

23.01.2018 06:49 vi...@fsfe.org wrote:

On Jan 23, 2018, at 1:58 AM, Rafal Luzynski <digitalfreak@lingonborough.com>

--
You received this message because you are subscribed to the Google Groups "i18n-bel-gnome" group.
To unsubscribe from this group and stop receiving emails from it, send an email to i18n-bel-gnome+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

vi...@eq.by

unread,
Jan 24, 2018, 12:47:02 AM1/24/18
to i18n-be...@googlegroups.com
On Jan 24, 2018, at 8:33 AM, Андрэй Захарэвіч <zaha...@gmail.com> wrote:

Што трэба бачу. Прабач, з ліста не ўцяміў навошта гэта.

Выбачаюся, што не даў кантэксту, перадгісторыя тут: https://lists.fedoraproject.org/archives/list/tr...@lists.fedoraproject.org/thread/7JRN4PQ3QGCDD43EW6DU7XHDJS2YYMB6/

Viktar Siarheichyk

unread,
Jan 24, 2018, 6:46:21 AM1/24/18
to Rafal Luzynski, debian-l10n...@lists.debian.org, i18n-be...@googlegroups.com
On Tue, Jan 23, 2018 at 04:31:42PM +0100, Rafal Luzynski wrote:
> 23.01.2018 06:49 vi...@fsfe.org wrote:
> >
> > On Jan 23, 2018, at 1:58 AM, Rafal Luzynski <digita...@lingonborough.com>
> > wrote:
> > >
> > > you want this feature to be supported in your
> > > language please notify me ASAP
> >
> > I would like this feature be supported in Belarusian. I am going to
> > look at the po file at translationproject.org, what should I do in
> > addition for that to happen?
>
> Thank you for responding. Indeed, Belarusian language is a special
> case because with Russian they are the only languages which actually
> need the %Ob feature. [1] The short answer to the question how you
> can help is: just tell me that you want this feature in your language
> and I will push the trigger, that's all. Belarusian patches are
> waiting here, [2] you must search for the commit titled "Genitive
> month names imported from CLDR (bug 10871)." and be_BY is there
> along with other languages.

Is there an easy way to convert strings like
"<U0441><U0442><U0443><U0434><U0437><U0435><U043D><U044C>" to readable UTF?


> However, the Belarusian language is more tricky. Although be_BY
> (Cyrillic) is in CLDR [3] so I can copy/paste/import/whatever,
> be_BY@latin is not there but it is supported by glibc [4] and should
> be updated. Could you please send me a list of Belarusian month names
> in genitive case in Latin script so I can fix them? Something like
> "studzenia", "lutaga" and so on, I am not sure if my transcription
> is correct. This should also include the abbreviated month names
> but I guess there will be no difference between abbreviated month
> names in genitive case and in nominative case in be_BY@latin: "maj"
> in genitive case is "maja" which will be abbreviated to "maj"; this
> is different from the Cyrillic where the genitive case "мая" will
> remain "мая" even in the abbreviated version.

As for "Maj" there is a distinction. Belarusian latin script uses a different
name for month may:

$ LANG=be_BY@latin date -d 20180501 +%B
Travień


Thus the list of Belarusian month names in genitive case in Latin script is
the following:

studzienia
lutaha
sakavika
krasavika
traŭnia
červienia
lipienia
žniŭnia
vierasnia
kastryčnika
listapada
śniežnia

AFAIK there is no "official" abbreviated names for months in Belarusian, and
CLDR [2] provides the initial 3 letters as abbreviated names so should we use for
the Latin script.


> What else you can do: you can contact other Belarusian translators
> and ask for their opinion. However, you may skip this step if you
> are the only translator or if you think they will all agree.

CCing the related mailing lists.


> Also please explain the uppercase/lowercase issue: in be_BY@latin
> all month names start with the uppercase. I guess this looks nice
> if the month name is standalone so I'd rather leave it as is;
> OTOH I guess that the genitive month names (as used in dates)
> should start with a lowercase letter.

You are totally right.


> Actually, the sooner they are pushed the better; glibc is about
> to be released on February 1.
>
> One more thing: since you have mentioned the translationproject.org,
> please grep over all files (which I hope you have as a local
> copy) and find all occurrences of %B or %b or %h without
> the day number (%e or %d). Please verify that they are arguments
> of strftime() or anything similar. They all should be replaced with
> %OB, %Ob, and %Oh, respectively. I think that someone already did
> this on libc-alpha list and found about 2 or 3 occurrences.
> But that belongs to the general programming, not limited to
> Belarusian language.

You mean .po files? I was only translating libc po for Belarusion at the
translationproject.org, I am not familiar with the libc sources.


Best regards,

Viktar


[1] https://en.wikipedia.org/wiki/Belarusian_Latin_alphabet
[2] http://st.unicode.org/cldr-apps/v#/be/Gregorian/

vi...@fsfe.org

unread,
Jan 25, 2018, 2:07:58 PM1/25/18
to Rafal Luzynski, i18n-be...@googlegroups.com, debian-l10n...@lists.debian.org
On 25.01.2018 04:58, Rafal Luzynski wrote:

> Hm... only now I can see it is converting all month names to > lowercase but this is a direct import from CLDR. Do you prefer >
standalone uppercase (as it is in glibc now) or lowercase (as it is > in
CLDR)? Hint: we usually treat CLDR as an authoritative source.
Let it be lowercase (as it is in CLDR). I suppose it is always possible
to convert the case appropriately programmatically when needed.


>> $ LANG=be_BY@latin date -d 20180501 +%B Travień > > Most probably this is because your glibc is older than 2.26 because
> we have changed this last summer:
Then let's follow these recent changes as well as CLDR (maj).


> Yes, I mean *.po files. I didn't mean glibc sources and didn't mean > *.po files for just glibc. AFAIK translationproject.org provides >
translations for multiple programs. If you have a local copy of all >
those *.po files (in Belarusian or in any language) then I will >
appreciate if you notify me of any occurrences of "%B" or "%b" or > "%h"
without the day number ("%d" or "%e") which either is a format >
specifier for stftime() or it seems to be so.
Sorry, I did not manage to check that yet.

Ihar Hrachyshka

unread,
Jan 27, 2018, 6:23:50 PM1/27/18
to i18n-be...@googlegroups.com, Rafal Luzynski, Debian Belarusian
^ there is a mistake here, it's vieraśnia, not vierasnia. Other names are fine.

> kastryčnika
> listapada
> śniežnia
>
> AFAIK there is no "official" abbreviated names for months in Belarusian, and
> CLDR [2] provides the initial 3 letters as abbreviated names so should we use for
> the Latin script.
>

Yes, I think just using first three letters is the best.

>
>> What else you can do: you can contact other Belarusian translators
>> and ask for their opinion. However, you may skip this step if you
>> are the only translator or if you think they will all agree.
>
> CCing the related mailing lists.
>
>
>> Also please explain the uppercase/lowercase issue: in be_BY@latin
>> all month names start with the uppercase. I guess this looks nice
>> if the month name is standalone so I'd rather leave it as is;
>> OTOH I guess that the genitive month names (as used in dates)
>> should start with a lowercase letter.
>
> You are totally right.
>

I don't think there is preference for one or another, so I guess
sticking to status quo (upper case) is better at this point.

>
>> Actually, the sooner they are pushed the better; glibc is about
>> to be released on February 1.
>>
>> One more thing: since you have mentioned the translationproject.org,
>> please grep over all files (which I hope you have as a local
>> copy) and find all occurrences of %B or %b or %h without
>> the day number (%e or %d). Please verify that they are arguments
>> of strftime() or anything similar. They all should be replaced with
>> %OB, %Ob, and %Oh, respectively. I think that someone already did
>> this on libc-alpha list and found about 2 or 3 occurrences.
>> But that belongs to the general programming, not limited to
>> Belarusian language.
>
> You mean .po files? I was only translating libc po for Belarusion at the
> translationproject.org, I am not familiar with the libc sources.
>
>
> Best regards,
>
> Viktar
>
>
> [1] https://en.wikipedia.org/wiki/Belarusian_Latin_alphabet
> [2] http://st.unicode.org/cldr-apps/v#/be/Gregorian/
>
> --
> You received this message because you are subscribed to the Google Groups "i18n-bel-gnome" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to i18n-bel-gnom...@googlegroups.com.

Ihar Hrachyshka

unread,
Jan 27, 2018, 7:25:44 PM1/27/18
to Rafal Luzynski, i18n-be...@googlegroups.com, Debian Belarusian
On Sat, Jan 27, 2018 at 3:58 PM, Rafal Luzynski
<digita...@lingonborough.com> wrote:
> 28.01.2018 00:23 Ihar Hrachyshka <ihar.hr...@gmail.com> wrote:
>> On Wed, Jan 24, 2018 at 3:46 AM, Viktar Siarheichyk <vi...@fsfe.org> wrote:
>> > [...]
>> > Thus the list of Belarusian month names in genitive case in Latin script is
>> > the following:
>> >
>> > studzienia
>> > lutaha
>> > sakavika
>> > krasavika
>> > traŭnia
>
> This should be "maja", shouldn't it?

Oh right, I totally missed that one. Yes. 'Travien' is an alternative
variant that is not as widely used, and we should stick to existing
terminology (so 'maja').

>
>> > červienia
>> > lipienia
>> > žniŭnia
>
> OK, here I was asking if "Žnivień" -> "žniŭnia" is correct but now I can see
> the same in Cyrillic in CLDR: "жнівень" -> "жніўня" which confirms that this
> is correct.

Yes, it's correct. The upper/lower case letter depends on where the
word is in the sentence. If it's the first word, it's upper case,
otherwise lower (it's of course obvious, but it's better to be
explicit). I don't know if Žnivień is always the first word, or not.

>
>> > vierasnia
>>
>> ^ there is a mistake here, it's vieraśnia, not vierasnia. Other names are
>> fine.
>
> OK, I'm fixing locally and in github:
>
> https://github.com/rluzynski/glibc/commits/master
>
> Please review and... it looks that we can prepare the patch and push
> it on Monday? Seems like we are going to fix the largest (by the number
> of speakers) and the most affected languages.

I think what should be fixed is:

https://github.com/rluzynski/glibc/blob/master/localedata/locales/be_BY%40latin#L108
Also this one is weird:
https://github.com/rluzynski/glibc/blob/master/localedata/locales/be_BY%40latin#L159
because if we apply Belarusian Latin script, it would be: biełaruskaja
mova, but maybe I miss something.

As for Cyrillic versions, it's not easy to parse it, so I haven't
checked. I actually think that the files should contain proper unicode
strings that, if needed, would be converted back to U-notation for
machine parsing, but maybe that's just me.

>
> Regards,
>
> Rafal

vi...@fsfe.org

unread,
Jan 28, 2018, 7:53:03 AM1/28/18
to Rafal Luzynski, Ihar Hrachyshka, i18n-be...@googlegroups.com, Debian Belarusian
On Jan 28, 2018, at 5:05 AM, Rafal Luzynski <digita...@lingonborough.com> wrote:
>
> 28.01.2018 02:46 Rafal Luzynski <digita...@lingonborough.com> wrote:
>>
>>
>> 28.01.2018 01:25 Ihar Hrachyshka <ihar.hr...@gmail.com> wrote:
>>>
>>> [...]l
>>> As for Cyrillic versions, it's not easy to parse it, so I haven't
>>> checked.
>>
>> It is imported from CLDR so most probably correct. If not please file a ticket
>> in CLDR. Also I'm going to post the decoded version online to simplify the
>> review.
>
> Here: https://sourceware.org/ml/libc-alpha/2018-01/msg01008.html

Looks good.

Ihar Hrachyshka

unread,
Jan 29, 2018, 12:40:32 AM1/29/18
to Viktar Siarheichyk, Rafal Luzynski, i18n-be...@googlegroups.com, Debian Belarusian
Indeed! Rafal, thanks a lot for taking care of all the languages. I
can only imagine how painful it is to collect all the feedback from
language natives and get it right and ready in time for release. It's
also warming to see that libc features are added to accommodate
languages like ours.

Thanks for great work,
Ihar
Reply all
Reply to author
Forward
0 new messages