Bug 23140 - More languages need two forms of month names
Summary: More languages need two forms of month names
Status: RESOLVED FIXED
Alias: None
Product: glibc
Classification: Unclassified
Component: localedata (show other bugs)
Version: 2.27
: P2 normal
Target Milestone: 2.28
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-04 20:55 UTC by Rafal Luzynski
Modified: 2018-07-18 22:44 UTC (History)
7 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:
fweimer: security-


Attachments
Asturian (ast_ES) (703 bytes, patch)
2018-05-11 09:44 UTC, Rafal Luzynski
Details | Diff
Kashubian (csb_PL) (690 bytes, patch)
2018-05-11 09:45 UTC, Rafal Luzynski
Details | Diff
Finnish (fi_FI) (651 bytes, patch)
2018-05-11 09:48 UTC, Rafal Luzynski
Details | Diff
Scottish Gaelic (gd_GB) (772 bytes, patch)
2018-05-11 09:52 UTC, Rafal Luzynski
Details | Diff
Upper Sorbian (hsb_DE) (607 bytes, patch)
2018-05-11 09:53 UTC, Rafal Luzynski
Details | Diff
Ossetian (os_RU) (653 bytes, patch)
2018-05-11 09:56 UTC, Rafal Luzynski
Details | Diff
Slovak (sk_SK) (622 bytes, patch)
2018-05-11 10:00 UTC, Rafal Luzynski
Details | Diff
Walloon (wa_BE) (850 bytes, patch)
2018-05-11 10:03 UTC, Rafal Luzynski
Details | Diff
Occitan (oc_FR) (1.17 KB, patch)
2018-05-17 23:24 UTC, Rafal Luzynski
Details | Diff
Kashubian (csb_PL) version 2 (692 bytes, patch)
2018-06-06 23:56 UTC, Rafal Luzynski
Details | Diff
Walloon (wa_BE) version 2 (990 bytes, patch)
2018-06-06 23:58 UTC, Rafal Luzynski
Details | Diff
Armenian (hy_AM) (727 bytes, patch)
2018-06-12 20:53 UTC, Rafal Luzynski
Details | Diff
Kashubian (csb_PL) version 3 (1011 bytes, patch)
2018-06-21 10:53 UTC, Rafal Luzynski
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rafal Luzynski 2018-05-04 20:55:44 UTC
The aim of this bug report is to gather the changes for all languages which need two forms of month names.  As a result of fixing the bug 10871 this feature is now supported by glibc but originally the locale data for only 7 languages have been updated (Belarusian, Croatian, Greek, Lithuanian, Polish, Russian, Ukrainian) followed by two more: Catalan (bug 22848) and Czech (bug 22963).  Here is a more complete list of languages which need update or at least an attention:

* Asturian,
* Finnish (most probably the local community does not want this because a workaround exists and has been adapted),
* Kashubian,
* Lower Sorbian (currently not supported by glibc, either its support is added to glibc first or please ignore this entry),
* Occitan (new in this list),
* Ossetian,
* Scottish Gaelic,
* Serbian (must be discussed with the local community),
* Silesian (not supported by CLDR, I have no reliable source of locale data),
* Slovak (must be discussed with the local community),
* Upper Sorbian,
* Walloon.

The list can be extended by the languages which do not need two grammatical forms but want to use this feature to begin the month names with upper or lower case letter depending on whether they are standalone or in full date context.  CLDR provides such data for 13 locales.
Comment 1 Rafal Luzynski 2018-05-04 20:56:35 UTC
s/adapted/adopted
Comment 2 Egmont Koblinger 2018-05-04 21:11:51 UTC
(In reply to Rafal Luzynski from comment #0)

> The list can be extended by the languages which do not need two grammatical
> forms but want to use this feature to begin the month names with upper or
> lower case letter [...]

Could we pretty please have a different notation for this?

Languages that do have different nominative and genitive forms might also want to have lowercase and uppercase variants (for both kinds), why not allow it for them too? 

If the same syntax is overloaded, how could any piece of software safely decide whether to use %B or %OB (or: %b or %Ob) and be sure that it's going to be okay? You'd need to pick one based on the characteristics of the language, based on the meaning of the "O" modifier for that particular language, which is practically a no-go.

Plus, by the way, lowercase/uppercase variants might be relevant for the AM/PM strings as well.

Different semantics should be achieved using a different syntax.

Thanks!
Comment 3 Rafal Luzynski 2018-05-04 22:10:51 UTC
I absolutely agree.  This idea is already reflected in these bug reports:

* bug 21370: introduce a "convert to titlecase" flag;
* bug 15527: make the combination of existing flags "^#" work correctly and convert to lowercase;
* optionally: specify that all locale data must be titlecased and convert them to all uppercase/all lowercase only on an explicit demand.

Providing the upper/lowercase variant would be meant only as a workaround or a temporary solution; also it is suggested by CLDR as a good use of the software feature which is actually used by only a minority of languages.
Comment 4 Michael Bauer 2018-05-05 10:28:25 UTC
This applies to Scottish Gaelic indeed (gd-GB) but they're not genitives though, they're partitives - and I think other languages will be using other grammatical patterns too, so perhaps the naming should be more general, like "inflected month name" rather than genitive?

Anyway, starting with January, the inflected forms are as follows:

dhen Fhaoilleach
dhen Ghearran
dhen Mhàrt
dhen Ghiblean
dhen Chèitean
dhen Ògmhios
dhen Iuchar
dhen Lùnastal
dhen t-Sultain
dhen Dàmhair
dhen t-Samhain
dhen Dùbhlachd
Comment 5 Michael Wolf 2018-05-05 13:15:57 UTC
Upper Sorbian:

Nominative             Accusative                Genitive

januar                 januar                    januara
februar                februar                   februar
měrc                   měrc                      měrca
apryl                  apryl                     apryla
meja                   meju                      meje
junij                  junij                     junija
julij                  julij                     julija
awgust                 awgust                    awgusta
september              september                 septembra
oktober                oktober                   oktobra
nowember               nowember                  nowembra
december               december                  decembra

Meja "May" is an exceptional case: It is the only month name that has feminine gender. Therefore its nominative and accusative are not identical. Besides it has the ending -e in genitive instead of -a. With the month names for september, oktober, nowember and december, the vowel "e" is elided before the consonant "r".

Lower Sorbian:

Nominative             Accusative                Genitive

januar                 januar                    januara
februar                februar                   februar
měrc                   měrc                      měrca
apryl                  apryl                     apryla
maj                    maj                       maja
junij                  junij                     junija
julij                  julij                     julija
awgust                 awgust                    awgusta
september              september                 septembra
oktober                oktober                   oktobra
nowember               nowember                  nowembra
december               december                  decembra

The most Lower Sorbian month names are identical to the Upper Sorbian ones with one exception: maj "May". Maj is masculine and therefore nominative and accusative are identical here. The Upper Sorbian exceptional case does not exist in Lower Sorbian.

There is a fourth grammatical case that often occurs: The locative. It mainly occurs behind the preposition w "in":

w januarje "in January"
w februarje "in February"
w měrcu "in March"
w aprylu "in April"
w meji (Upper Sorbian), w maju (Lower Sorbian) "in May"
w juniju "in June"
w juliju "in July"
w awgusće "in August"
w septembrje "in September"
w oktobrje "in October"
w nowembrje "in November"
w decembrje "in December"
Comment 6 Michael Wolf 2018-05-05 13:22:11 UTC
Sorry, a typo: The genitive of "februar" must be "februara", of course, both for Upper Sorbian and Lower Sorbian.
Comment 7 Rafal Luzynski 2018-05-05 18:03:59 UTC
(In reply to Michael Bauer from comment #4)
> This applies to Scottish Gaelic indeed (gd-GB) but they're not genitives
> though, they're partitives - and I think other languages will be using other
> grammatical patterns too, so perhaps the naming should be more general, like
> "inflected month name" rather than genitive?

Thank you for this update. The documentation never uses the term "genitive" nor "nominative". I often use the term "genitive" because: (1) it is shorter than "a  form used when the month name forms part of the date"; (2) so far I have not known about any language which requires other case than genitive; (3) a genitive case is a good example of a form required to format a date.

> Anyway, starting with January, the inflected forms are as follows:
> [ cut ]

Thank you. This is already provided by CLDR and I have patches ready for Scottish Gaelic and several other languages as well. I am going to attach them in the beginning of the next week. I will appreciate a final review, though.


(In reply to Michael Wolf from comment #5)
> Upper Sorbian:
> 
> Nominative             Accusative                Genitive
> [...]

Thank you. Unfortunately, we are unable to support more than 2 cases. This is a minimum required to format a date. I guess that the correct case for Upper Sorbian when formatting a date is genitive. Supporting more cases is a task for a natural language translating and processing tool, not for strftime() function from glibc. Again, I have a patch for the Upper Sorbian and I am going to attach it next week.

> Meja "May" is an exceptional case: It is the only month name that has
> feminine gender. Therefore its nominative and accusative are not identical.
> Besides it has the ending -e in genitive instead of -a.

That's very interesting, thank you.

> With the month names
> for september, oktober, nowember and december, the vowel "e" is elided
> before the consonant "r".

OK, I am familiar with these phenomenons because they are the same in my native language.

> Lower Sorbian:
> 
> Nominative             Accusative                Genitive
> [...]

As I said above, Lower Sorbian is not supported by glibc. I'll be happy to add it, though, especially since I see it supported by CLDR. Can you please open a separate ticket and (even better) provide a patch? If you can't then tell me so I will do it but I will need an assistance to complete the task.

> [...]
> There is a fourth grammatical case that often occurs: The locative. It
> mainly occurs behind the preposition w "in":
> 
> w januarje "in January"
> [...]

As I said above, we can't support more than two cases. This would be useful to generate natural language sentences and maybe in some more applications but it is not absolutely necessary for strftime() function to display dates correctly.
Comment 8 Michael Wolf 2018-05-05 19:13:32 UTC
Hi Rafał,

thank you for your reply.

Well, you are right, Sorbian languages use the month names in genitive in dates if the day is specified:

Dźensa je 05. meje 2018. (Upper Sorbian)
Źinsa jo 05. maja 2018. (Lower Sorbian)
Today is 5th May, 2018.

Locative is always used with prepositions. There would be a problem only if month name placeholders are used because placeholders cannot be inflected. Strftime() uses such placeholders: %d. %B %Y. %B cannot be inflected so "w %B" would result in "w meja" instead in correct "w meji". 

Another problem would occur if any software is intended to use the OS locale for date and time. There is no operating system in Sorbian languages until now. That's a problem of many minority languages.
Comment 9 Rafal Luzynski 2018-05-05 21:31:46 UTC
(In reply to Michael Wolf from comment #8)
> Hi Rafał,
> 
> thank you for your reply.
> 
> Well, you are right, Sorbian languages use the month names in genitive in
> dates if the day is specified:
> [ cut ]

OK, count them as about to be supported.

> [...]
> Strftime() uses such placeholders: %d. %B %Y. %B cannot be inflected so "w
> %B" would result in "w meja" instead in correct "w meji". 

True, this is not supported. But please note that this is a sentence, or almost a sentence rather than just a date. This does not work in any inflected language. We need a place where we say "this is too complex for glibc, please use a translation software or an AI instead". :-)

> Another problem would occur if any software is intended to use the OS locale
> for date and time. There is no operating system in Sorbian languages until
> now. That's a problem of many minority languages.

You are just invited to create one. :-) Really not much is left to do. In fact, HSB has been supported in glibc for a long time now except this bug with a correct grammar of dates.
Comment 10 Rafal Luzynski 2018-05-11 09:19:28 UTC
(In reply to Michael Wolf from comment #5)
> Upper Sorbian:
> 
> Nominative             Accusative                Genitive
> 
> januar                 januar                    januara
> februar                februar                   februar
> [...]

Shouldn't the genitive case be "februara"?

http://st.unicode.org/cldr-apps/v#/hsb/Gregorian/

And the same in Lower Sorbian.
Comment 11 Rafal Luzynski 2018-05-11 09:44:29 UTC
Created attachment 11003 [details]
Asturian (ast_ES)

Here I include a set of patches for easier review by the respective language teams. I think that eventually all (or almost all) of these patches will be squashed and pushed together unless we get a negative feedback. I'd like to push them in a month. Also they can be pushed individually earlier if a language team wishes. Unfortunately, I suspect that for some of these languages it will be difficult to reach actual translators.
Comment 12 Rafal Luzynski 2018-05-11 09:45:46 UTC
Created attachment 11004 [details]
Kashubian (csb_PL)

This is not supported by CLDR, I collected the data from Wikipedia.
Comment 13 Michael Wolf 2018-05-11 09:46:07 UTC
Hi Rafał,

thanks, yes, you are right, I wrote (and copied) februar first :-( but I've already corrected it in comment #6. :-)
Comment 14 Rafal Luzynski 2018-05-11 09:48:50 UTC
Created attachment 11005 [details]
Finnish (fi_FI)

I think we have sufficient negative feedback for this language (i.e., the native speakers don't want this change) but here I attach it for the last chance in case they change their minds. The reason is that the inflection rule in Finnish language is simple: append "ta" at the end of every month name and we get a correct genitive case. This is a currently used workaround.
Comment 15 Rafal Luzynski 2018-05-11 09:52:13 UTC
Created attachment 11006 [details]
Scottish Gaelic (gd_GB)

I think we have a sufficient positive feedback and a very responsive language team. If you wish the patch to be committed now and reach the prerelease distros (like Fedora Rawhide) then please say. Otherwise it will be committed in a month.
Comment 16 Rafal Luzynski 2018-05-11 09:53:59 UTC
Created attachment 11007 [details]
Upper Sorbian (hsb_DE)

The same case here.
Comment 17 Rafal Luzynski 2018-05-11 09:56:27 UTC
Created attachment 11008 [details]
Ossetian (os_RU)

Decoded:

diff --git a/localedata/locales/os_RU b/localedata/locales/os_RU
index fcd72ef..9a4ce03 100644
--- a/localedata/locales/os_RU
+++ b/localedata/locales/os_RU
@@ -116,7 +116,7 @@ abmon   "Янв";/
 "Ноя";/
 "Дек"
 
-mon     "Январь";/
+alt_mon "Январь";/
 "Февраль";/
 "Мартъи";/
 "Апрель";/
@@ -128,6 +128,19 @@ mon     "Январь";/
 "Октябрь";/
 "Ноябрь";/
 "Декабрь"
+
+mon     "январы";/
+"февралы";/
+"мартъийы";/
+"апрелы";/
+"майы";/
+"июны";/
+"июлы";/
+"августы";/
+"сентябры";/
+"октябры";/
+"ноябры";/
+"декабры"
 d_t_fmt "%a %d %b %Y %T"
 d_fmt     "%d.%m.%Y"
 t_fmt     "%T"
-- 
2.7.5
Comment 18 Rafal Luzynski 2018-05-11 10:00:39 UTC
Created attachment 11009 [details]
Slovak (sk_SK)

This change is controversial (same as Czech and Serbian) because, as far as I understand the grammar rules, while a genitive case of a month name is sometimes required the normal date format is day_number + ". " + month_name_nominative. I will not commit without a positive feedback from the language team. However, I hope the change will be useful and I offer my help when adopting it.
Comment 19 Rafal Luzynski 2018-05-11 10:03:46 UTC
Created attachment 11010 [details]
Walloon (wa_BE)

The support of this language in CLDR is very incomplete [1] but I've reconstructed the content thanks to Wikipedia and the original comments inside the file which already contained complaints about this missing feature.

[1] http://st.unicode.org/cldr-apps/v#/wa/Gregorian/
Comment 20 Rafal Luzynski 2018-05-17 23:24:00 UTC
Created attachment 11025 [details]
Occitan (oc_FR)

I've just received this recently.
Comment 21 Soslan Khubulov 2018-05-21 18:11:22 UTC
(In reply to Rafal Luzynski from comment #17)
> Created attachment 11008 [details]
> Ossetian (os_RU)

Grammar is correct, but it would be better to capitalize alt_mon strings too for consistency.
Comment 22 Michael Wolf 2018-05-21 19:58:11 UTC
Lower Sorbian can be ignored by this bug now. Meanwhile bug 23208 exists with the complete new locale file dsb_DE which already contains the genitive month names for dates.
Comment 23 Rafal Luzynski 2018-05-22 22:54:46 UTC
(In reply to Soslan Khubulov from comment #21)
> (In reply to Rafal Luzynski from comment #17)
> > Created attachment 11008 [details]
> > Ossetian (os_RU)
> 
> Grammar is correct, but it would be better to capitalize alt_mon strings too
> for consistency.

Thank you for your review. alt_mon is currently capitalized in this patch. Did you mean anything different?

BTW, what do you think about abbreviated month names? Currently in glibc we have all Ossetian month names abbreviated to 3 letters. CLDR [1] provides 3-4 letters plus a dot unless whole word is 3 or 4 letters long. As a consequence some "abbreviated" month names have their inflection visible: "Май" -> "майы", "Июнь" -> "июны" and so on. Also, the abbreviated standalone (nominative?) forms are all capitalized.

[1] http://st.unicode.org/cldr-apps/v#/os/Gregorian/

While at this, what is the correct English name: Ossetian (Wikipedia says so) or Ossetic (CLDR says so)?
Comment 24 Soslan Khubulov 2018-05-24 10:08:07 UTC
(In reply to Rafal Luzynski from comment #23)
> Thank you for your review. alt_mon is currently capitalized in this patch.
> Did you mean anything different?

I meant mon. Sorry for that.

> BTW, what do you think about abbreviated month names? Currently in glibc we
> have all Ossetian month names abbreviated to 3 letters. CLDR [1] provides
> 3-4 letters plus a dot unless whole word is 3 or 4 letters long. As a
> consequence some "abbreviated" month names have their inflection visible:
> "Май" -> "майы", "Июнь" -> "июны" and so on. Also, the abbreviated
> standalone (nominative?) forms are all capitalized.

I think consistency is more important. If other locales in glibc use 3 letter abbreviations then Ossetian locale should use 3 letters too. As for usability, both styles are equally recognizable.
 
> While at this, what is the correct English name: Ossetian (Wikipedia says
> so) or Ossetic (CLDR says so)?

Both are correct, but IMO Ossetian is more modern.
Comment 25 Egmont Koblinger 2018-05-24 11:35:05 UTC
(In reply to Soslan Khubulov from comment #24)

> If other locales in glibc use 3 letter abbreviations [...]

That's not the case, see e.g. bug 192 and bug 22848. IMO use whichever is grammatically correct / better / more typically used etc. in the given language.
Comment 26 keld@keldix.com 2018-05-24 12:10:27 UTC
On Thu, May 24, 2018 at 11:35:05AM +0000, egmont at gmail dot com wrote:
> https://sourceware.org/bugzilla/show_bug.cgi?id=23140
> 
> --- Comment #25 from Egmont Koblinger <egmont at gmail dot com> ---
> (In reply to Soslan Khubulov from comment #24)
> 
> > If other locales in glibc use 3 letter abbreviations [...]
> 
> That's not the case, see e.g. bug 192 and bug 22848. IMO use whichever is
> grammatically correct / better / more typically used etc. in the given
> language.

IMHO as we are speaking about POSIX locales, so we should use POSIX style names, that
is, oriented towards POSIX utilities use. CLDR is not oriented towards POSIX use.

Actually we should also allow for more grammatically oriented names.
But that should be new functionality, using new keywords. In that way we will
have POSIX functionality which is still functional

And I am still uncertain that what glibc is doing now is following the POSIX standard.
POSIX has recently (within the last couple of years) adressed the genitive month names problem,
in a way compatible with BSD. I have not yet gotten around to verifying that glibc is
following POSIX here.

best regards
keld
Comment 27 Rafal Luzynski 2018-05-26 12:23:09 UTC
(In reply to Soslan Khubulov from comment #24)
> (In reply to Rafal Luzynski from comment #23)
> > Thank you for your review. alt_mon is currently capitalized in this patch.
> > Did you mean anything different?
> 
> I meant mon. Sorry for that.

Locale data should follow the grammar rules of respective languages.  Are there rules in Ossetian which say that the month name should always be capitalized, like in English, German and few more languages?  This page: https://os.wikipedia.org/wiki/26_%D0%BC%D0%B0%D0%B9%D1%8B says "26 майы" which is lowercase.  If this is correct then mon should be lowercase, same as CLDR provides.  Uppercasing alt_mon is not obligatory but both glibc and CLDR provide so and I will not change it without need.

> > BTW, what do you think about abbreviated month names? Currently in glibc we
> > have all Ossetian month names abbreviated to 3 letters. CLDR [1] provides
> > 3-4 letters plus a dot unless whole word is 3 or 4 letters long. As a
> > consequence some "abbreviated" month names have their inflection visible:
> > "Май" -> "майы", "Июнь" -> "июны" and so on. Also, the abbreviated
> > standalone (nominative?) forms are all capitalized.
> 
> I think consistency is more important. If other locales in glibc use 3
> letter abbreviations then Ossetian locale should use 3 letters too. As for
> usability, both styles are equally recognizable.

There is no requirement that they should be 3 letters.  Some languages follow that rule, some do not.  But if this is recognizable then I will not change it unless you request.

> > While at this, what is the correct English name: Ossetian (Wikipedia says
> > so) or Ossetic (CLDR says so)?
> 
> Both are correct, but IMO Ossetian is more modern.

I will not change it for now, either.

(In reply to Egmont Koblinger from comment #25)
> [...]
> That's not the case, see e.g. bug 192 and bug 22848. IMO use whichever is
> grammatically correct / better / more typically used etc. in the given
> language.

I fully agree, the locale data should follow the grammar rules.

(In reply to keld@keldix.com from comment #26)
> [...]
> IMHO as we are speaking about POSIX locales, so we should use POSIX style
> names, that
> is, oriented towards POSIX utilities use. CLDR is not oriented towards POSIX
> use.

I don't remember where I read this but someone wrote that those POSIX rules apply to English language, not to other languages.  POSIX authors are not aware of every language in the world, therefore the rules are occasionally amended to support more languages.

> [...]
> And I am still uncertain that what glibc is doing now is following the POSIX
> standard.
> POSIX has recently (within the last couple of years) adressed the genitive
> month names problem,
> in a way compatible with BSD. I have not yet gotten around to verifying that
> glibc is
> following POSIX here.

If you mean the bug 10871 then in a part which refers to the full month names it strictly follows the rules of BSD, also follows the update which has been accepted by POSIX in 2010 but not yet published.  Therefore until it is published we call it "GNU extension" rather than "POSIX compatible".

Regarding the part which refers to the abbreviated month names the rules are similar but nobody except glibc so far implemented or proposed it.  POSIX has been asked to accept this as part of their standard but it may take another 10 years.  For now we call it a genuine GNU extension. :-)
Comment 28 keld@keldix.com 2018-05-26 13:10:54 UTC
On Sat, May 26, 2018 at 12:23:09PM +0000, digitalfreak at lingonborough dot com wrote:
> https://sourceware.org/bugzilla/show_bug.cgi?id=23140
> (In reply to keld@keldix.com from comment #26)
> > [...]
> > IMHO as we are speaking about POSIX locales, so we should use POSIX style
> > names, that
> > is, oriented towards POSIX utilities use. CLDR is not oriented towards POSIX
> > use.
> 
> I don't remember where I read this but someone wrote that those POSIX rules
> apply to English language, not to other languages.  POSIX authors are not aware
> of every language in the world, therefore the rules are occasionally amended to
> support more languages.

Well,I have been around with POSIX locales for a long time, more than 25 years, and the
locales were always meant to be it support anything else than English.
So many other languages have these rules. POSIX authors at that time, including myself,
were quite aware of the requirements for many languages - but not for all.
This is still the case, POSIX i18n authors don't know everything in the world, but we are getting better.



> > [...]
> > And I am still uncertain that what glibc is doing now is following the POSIX
> > standard.
> > POSIX has recently (within the last couple of years) adressed the genitive
> > month names problem,
> > in a way compatible with BSD. I have not yet gotten around to verifying that
> > glibc is
> > following POSIX here.
> 
> If you mean the bug 10871 then in a part which refers to the full month names
> it strictly follows the rules of BSD, also follows the update which has been
> accepted by POSIX in 2010 but not yet published.  Therefore until it is
> published we call it "GNU extension" rather than "POSIX compatible".
> 
> Regarding the part which refers to the abbreviated month names the rules are
> similar but nobody except glibc so far implemented or proposed it.  POSIX has
> been asked to accept this as part of their standard but it may take another 10
> years.  For now we call it a genuine GNU extension. :-)

I agree that POSIX may be slow sometimes. As said, it is my plan to check up on this.

Best regards
keld
Comment 29 Rafal Luzynski 2018-05-26 13:49:45 UTC
(In reply to keld@keldix.com from comment #28)
> [...]
> Well,I have been around with POSIX locales for a long time, more than 25
> years, and the
> locales were always meant to be it support anything else than English.
> So many other languages have these rules. POSIX authors at that time,
> including myself,
> were quite aware of the requirements for many languages - but not for all.
> This is still the case, POSIX i18n authors don't know everything in the
> world, but we are getting better.

I appreciate your work.  I did not mean you are totally unaware but not aware of every language because this is impossible.  In this context we are discussing Ossetian language.

> 
> > [...]  POSIX has
> > been asked to accept this as part of their standard but it may take another 10
> > years.  For now we call it a genuine GNU extension. :-)
> 
> I agree that POSIX may be slow sometimes. As said, it is my plan to check up
> on this.
> 
> Best regards
> keld

Thank you. Links:

http://austingroupbugs.net/view.php?id=258
http://austingroupbugs.net/view.php?id=1166
Comment 30 Rafal Luzynski 2018-06-06 23:56:15 UTC
Created attachment 11059 [details]
Kashubian (csb_PL) version 2

Updates and typo fixes:

"łżëkwiôta" -> "łżëkwiata"
"môja" -> "maja"
"lëpinca" -> "lëpińca"
Comment 31 Rafal Luzynski 2018-06-06 23:58:20 UTC
Created attachment 11060 [details]
Walloon (wa_BE) version 2

1. Non-breaking spaces used to ensure that "d’" does not appear at the end of a line.
2. Reworded country_name: "Beljike" -> "Beldjike".
Comment 32 cvs-commit@gcc.gnu.org 2018-06-11 23:37:37 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  c4ad5782c44f4fa23d3ca9bec1e288c24cf2e6df (commit)
      from  ca121b117f2c9c97a4c121334481a96c94fef3a0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c4ad5782c44f4fa23d3ca9bec1e288c24cf2e6df

commit c4ad5782c44f4fa23d3ca9bec1e288c24cf2e6df
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Tue Jan 30 12:31:12 2018 +0100

    gd_GB, hsb_DE, wa_BE: Add alternative month names (bug 23140).
    
    As a followup of fixing bug 10871, these three languages now support two
    grammatical cases of the month names.
    
    This commit does not resolve the bug because there are more languages
    to be committed.
    
    	[BZ #23140]
    	* localedata/locales/gd_GB (mon): Rename to...
    	(alt_mon): This.
    	(mon): Import from CLDR (genitive case).
    	* localedata/locales/hsb_DE (mon): Rename to...
    	(alt_mon): This.
    	(mon): Import from CLDR (genitive case).
    	* localedata/locales/wa_BE (mon): Rename to...
    	(alt_mon): This.
    	(mon): Add, fill with the proper genitive forms, but CLDR data
    	is incomplete; completed according to the comments in this file.
    	(d_t_fmt): Do not use "di" before the month name, no longer needed.
    
    	* localedata/locales/wa_BE (country_name): Reword
    	"Beljike" -> "Beldjike".

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                 |   18 ++++++++++++++++++
 NEWS                      |    7 ++++---
 localedata/locales/gd_GB  |   17 ++++++++++++++++-
 localedata/locales/hsb_DE |   14 +++++++++++++-
 localedata/locales/wa_BE  |   24 ++++++++++++++++--------
 5 files changed, 67 insertions(+), 13 deletions(-)
Comment 33 Rafal Luzynski 2018-06-12 20:53:20 UTC
Created attachment 11067 [details]
Armenian (hy_AM)

I've found this in my computer and I think it is worth attention.  However, I can't read Armenian script.  Thoughts?

Here is a decoded version:

diff --git a/localedata/locales/hy_AM b/localedata/locales/hy_AM
index 805c327..74e1b77 100644
--- a/localedata/locales/hy_AM
+++ b/localedata/locales/hy_AM
@@ -130,18 +130,30 @@ abmon       "Հնվ";/
             "Հոկ";/
             "Նմբ";/
             "Դեկ"
-mon         "Հունվարի";/
-            "Փետրվարի";/
-            "Մարտի";/
-            "Ապրիլի";/
-            "Մայիսի";/
-            "Հունիսի";/
-            "Հուլիսի";/
-            "Օգոստոսի";/
-            "Սեպտեմբերի";/
-            "Հոկտեմբերի";/
-            "Նոյեմբերի";/
-            "Դեկտեմբերի"
+alt_mon     "հունվար";/
+            "փետրվար";/
+            "մարտ";/
+            "ապրիլ";/
+            "մայիս";/
+            "հունիս";/
+            "հուլիս";/
+            "օգոստոս";/
+            "սեպտեմբեր";/
+            "հոկտեմբեր";/
+            "նոյեմբեր";/
+            "դեկտեմբեր"
+mon         "հունվարի";/
+            "փետրվարի";/
+            "մարտի";/
+            "ապրիլի";/
+            "մայիսի";/
+            "հունիսի";/
+            "հուլիսի";/
+            "օգոստոսի";/
+            "սեպտեմբերի";/
+            "հոկտեմբերի";/
+            "նոյեմբերի";/
+            "դեկտեմբերի"
 d_t_fmt     "%a %d %b %Y %r %Z"
 d_fmt       "%m//%d//%y"
 t_fmt       "%r"
--
Comment 34 Rafal Luzynski 2018-06-18 10:04:25 UTC
I can't even read Armenian script but I'm trying to figure out what's going on here.  Armenian alphabet seems to have upper and lowercase, same as Latin, Cyrillic, and Greek.  Glibc currently seems to provide the month names starting with uppercase.  It is easy to convert between uppercase and lowercase: uppercase code points are 0x30 less than lowercase.  For example, current March:

"<U0544><U0561><U0580><U057F><U056B>"

Decoded:

"Մարտի"

Should be transliterated as:

"Marti"

My patch which is an import from CLDR converts it to:

alt_mon: "<U0574><U0561><U0580><U057F>"        => "մարտ"  => "mart"
mon:     "<U0574><U0561><U0580><U057F><U056B>" => "մարտի" => "marti"

So it looks like the locale data currently contain the month names in a genitive case (or whatever is correct to use in a full date) starting with uppercase while CLDR uses lowercase exclusively.  Please note that we had a similar case in Lithuanian language already.

But Armenian language seems to use "month day" order, same as English, so the month name may tend to appear at the beginning of a sentence and it may be reasonable to start it with an uppercase even if there is no rule in a language which says that the month names should be always titlecased.  If mon array is titlecased then alt_mon should be as well (CLDR suggest that alt_mon may be titlecased and mon lowercased but not the reverse) so maybe we should use a titlecase for alt_mon as well.

Converting this to a titlecase the decoded patch for hy_AM would look like this:

diff --git a/localedata/locales/hy_AM b/localedata/locales/hy_AM
index 805c327..30033a9 100644
--- a/localedata/locales/hy_AM
+++ b/localedata/locales/hy_AM
@@ -130,6 +130,18 @@ abmon       "Հնվ";/
             "Հոկ";/
             "Նմբ";/
             "Դեկ"
+alt_mon     "Հունվար";/
+            "Փետրվար";/
+            "Մարտ";/
+            "Ապրիլ";/
+            "Մայիս";/
+            "Հունիս";/
+            "Հուլիս";/
+            "Օգոստոս";/
+            "Սեպտեմբեր";/
+            "Հոկտեմբեր";/
+            "Նոյեմբեր";/
+            "Դեկտեմբեր"
 mon         "Հունվարի";/
             "Փետրվարի";/
             "Մարտի";/

I'm still looking for the people to confirm this.

Links:

http://st.unicode.org/cldr-apps/v#/hy/Gregorian/
https://www.fileformat.info/info/unicode/block/armenian/list.htm
https://en.wikipedia.org/wiki/Armenian_alphabet
https://hy.wikipedia.org/wiki/%D5%84%D5%A1%D6%80%D5%BF%D5%AB_1 (this is an example of an Armenian date)
Comment 35 keld@keldix.com 2018-06-18 11:59:42 UTC
If month (and day) names are not capitalized, then the should not be capitalized in our
locales, even if they often appear first in a sentence. This is damaging the culture in question.
I see a lot of instances in my own language, where people wrongly spell month (and day) names
with a capitalized first letter, and that is really not correct. Using the argumentation
below is not helping the language.

Best regards
Keld

On Mon, Jun 18, 2018 at 10:04:25AM +0000, digitalfreak at lingonborough dot com wrote:
> https://sourceware.org/bugzilla/show_bug.cgi?id=23140
> 
> --- Comment #34 from Rafal Luzynski <digitalfreak at lingonborough dot com> ---
> I can't even read Armenian script but I'm trying to figure out what's going on
> here.  Armenian alphabet seems to have upper and lowercase, same as Latin,
> Cyrillic, and Greek.  Glibc currently seems to provide the month names starting
> with uppercase.  It is easy to convert between uppercase and lowercase:
> uppercase code points are 0x30 less than lowercase.  For example, current
> March:
> 
> "<U0544><U0561><U0580><U057F><U056B>"
> 
> Decoded:
> 
> "??????????"
> 
> Should be transliterated as:
> 
> "Marti"
> 
> My patch which is an import from CLDR converts it to:
> 
> alt_mon: "<U0574><U0561><U0580><U057F>"        => "????????"  => "mart"
> mon:     "<U0574><U0561><U0580><U057F><U056B>" => "??????????" => "marti"
> 
> So it looks like the locale data currently contain the month names in a
> genitive case (or whatever is correct to use in a full date) starting with
> uppercase while CLDR uses lowercase exclusively.  Please note that we had a
> similar case in Lithuanian language already.
> 
> But Armenian language seems to use "month day" order, same as English, so the
> month name may tend to appear at the beginning of a sentence and it may be
> reasonable to start it with an uppercase even if there is no rule in a language
> which says that the month names should be always titlecased.  If mon array is
> titlecased then alt_mon should be as well (CLDR suggest that alt_mon may be
> titlecased and mon lowercased but not the reverse) so maybe we should use a
> titlecase for alt_mon as well.
> 
> Converting this to a titlecase the decoded patch for hy_AM would look like
> this:
> 
> diff --git a/localedata/locales/hy_AM b/localedata/locales/hy_AM
> index 805c327..30033a9 100644
> --- a/localedata/locales/hy_AM
> +++ b/localedata/locales/hy_AM
> @@ -130,6 +130,18 @@ abmon       "??????";/
>              "??????";/
>              "??????";/
>              "??????"
> +alt_mon     "??????????????";/
> +            "??????????????";/
> +            "????????";/
> +            "??????????";/
> +            "??????????";/
> +            "????????????";/
> +            "????????????";/
> +            "??????????????";/
> +            "??????????????????";/
> +            "??????????????????";/
> +            "????????????????";/
> +            "??????????????????"
>  mon         "????????????????";/
>              "????????????????";/
>              "??????????";/
> 
> I'm still looking for the people to confirm this.
> 
> Links:
> 
> http://st.unicode.org/cldr-apps/v#/hy/Gregorian/
> https://www.fileformat.info/info/unicode/block/armenian/list.htm
> https://en.wikipedia.org/wiki/Armenian_alphabet
> https://hy.wikipedia.org/wiki/%D5%84%D5%A1%D6%80%D5%BF%D5%AB_1 (this is an
> example of an Armenian date)
> 
> -- 
> You are receiving this mail because:
> You are on the CC list for the bug.
Comment 36 Rafal Luzynski 2018-06-18 22:56:59 UTC
(In reply to keld@keldix.com from comment #35)
> If month (and day) names are not capitalized, then the should not be
> capitalized in our
> locales, even if they often appear first in a sentence.

I think we are repeating the discussion from comment 2 and comment 3.  In short terms: it would be nice to have flags allowing to select uppercase/lowercase/titlecase but such feature does not exist yet.

> This is damaging the
> culture in question.
> I see a lot of instances in my own language, where people wrongly spell
> month (and day) names
> with a capitalized first letter, and that is really not correct. Using the
> argumentation
> below is not helping the language.

I think I understand you.  But we can't fix the people wrongly spelling the month names (capitalizing where it is not correct), we can only fix software here (e.g., not capitalizing where it should).

Regarding the particular case of Armenian language I would like to leave the decision to the actual language community but I'm afraid that the community will not speak up here.  As we are not sure what to do and none of us has a sufficient knowledge I suggest not touching this language at all.
Comment 37 Rafal Luzynski 2018-06-21 10:53:04 UTC
Created attachment 11093 [details]
Kashubian (csb_PL) version 3

It seems that Kashubian language also needs the ab_alt_mon feature.
Comment 38 cvs-commit@gcc.gnu.org 2018-06-25 10:45:02 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  189699ab375111a25dac19f1b4f89e38d31c8b3d (commit)
       via  0ea3f13cceaecdb3fb2219611876fdd49485e64d (commit)
      from  d93f4ff16b75f77b99cb095c3e83c9b8281261f2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=189699ab375111a25dac19f1b4f89e38d31c8b3d

commit 189699ab375111a25dac19f1b4f89e38d31c8b3d
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Tue Jan 30 12:31:12 2018 +0100

    csb_PL: Add alternative month names (bug 23140).
    
    Kashubian language is not supported by CLDR, data copied from Wikipedia
    and documents released by RJK (official Kashubian Language Council),
    also consulted with a native speaker.
    
    Note that this language also needs ab_alt_mon feature due to the month
    May: nominative "môj", genitive "maja"; abbreviated nominative "môj",
    abbreviated genitive "maj".
    
    	[BZ #23140]
    	* localedata/locales/csb_PL (mon): Rename to...
    	(alt_mon): This.
    	(abmon): Rename to...
    	(ab_alt_mon): This.
    	(mon): Add with proper genitive forms, copy from Wikipedia.
    	(abmon): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0ea3f13cceaecdb3fb2219611876fdd49485e64d

commit 0ea3f13cceaecdb3fb2219611876fdd49485e64d
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Thu Jun 21 12:29:13 2018 +0200

    csb_PL: Update month translations + add yesstr/nostr (bug 19485).
    
    Thank you Michal Ostrowski for the feedback.
    
    	[BZ #19485]
    	* localedata/locales/csb_PL (mon): Fix typos:
    	"łżëkwiôt" -> "łżëkwiat" (April); "lëpinc" -> "lëpińc" (July).
    	(yesstr): Add, value is "jo".
    	(nostr): Add, value is "nié".

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                 |   18 ++++++++++++++++++
 NEWS                      |    6 +++---
 localedata/locales/csb_PL |   28 ++++++++++++++++++++++++----
 3 files changed, 45 insertions(+), 7 deletions(-)
Comment 39 Rafal Luzynski 2018-06-25 22:43:23 UTC
(In reply to keld@keldix.com from comment #35)
> If month (and day) names are not capitalized, then the should not be
> capitalized in our
> locales, even if they often appear first in a sentence. [...]

OK, good news: I have managed to contact an Armenian native speaker and he agrees that the month names should be lowercased.  This convinces me and I will proceed with the patch.
Comment 40 keld@keldix.com 2018-06-26 05:28:37 UTC
On Mon, Jun 25, 2018 at 10:43:23PM +0000, digitalfreak at lingonborough dot com wrote:
> https://sourceware.org/bugzilla/show_bug.cgi?id=23140
> 
> --- Comment #39 from Rafal Luzynski <digitalfreak at lingonborough dot com> ---
> (In reply to keld@keldix.com from comment #35)
> > If month (and day) names are not capitalized, then the should not be
> > capitalized in our
> > locales, even if they often appear first in a sentence. [...]
> 
> OK, good news: I have managed to contact an Armenian native speaker and he
> agrees that the month names should be lowercased.  This convinces me and I will
> proceed with the patch.

Good. You are of cause rigth in saying that we do not have a way to capitalize such
names. But then let us make a way to do it. My thoughts are to make some 
format specifier to change the first character til uppercase, both for
month and day names, and their abbreviations. I don't have a specific
proposal - but maybe a + somewhere could  do it. What do you think?

Best regards
keld
Comment 41 cvs-commit@gcc.gnu.org 2018-06-29 10:38:39 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  339124ab429ce917dfbcd75e2acc4299d27340f9 (commit)
      from  c1f86a33ca32e26a9d6e29fc961e5ecb5e2e5eb4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=339124ab429ce917dfbcd75e2acc4299d27340f9

commit 339124ab429ce917dfbcd75e2acc4299d27340f9
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Tue Jan 30 12:31:12 2018 +0100

    ast_ES: Add alternative month names (bug 23140).
    
    	[BZ #23140]
    	* localedata/locales/ast_ES (mon): Rename to...
    	(alt_mon): This.
    	(mon): Import from CLDR (genitive case).

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                 |    7 +++++++
 NEWS                      |    6 +++---
 localedata/locales/ast_ES |   17 ++++++++++++++++-
 3 files changed, 26 insertions(+), 4 deletions(-)
Comment 42 cvs-commit@gcc.gnu.org 2018-06-29 20:22:11 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  2e0c5de622749a5e1f2b01afa19ec58199cc0bdf (commit)
      from  cdb52c71821d8d7d814daf7d01fbd003daef9c22 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2e0c5de622749a5e1f2b01afa19ec58199cc0bdf

commit 2e0c5de622749a5e1f2b01afa19ec58199cc0bdf
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Fri Feb 24 03:13:15 2017 +0100

    hy_AM: Add alternative month names (bug 23140).
    
    This locale already contained correct data in mon array.  Updated from
    CLDR to start the month names with the lowercase letters.
    
    alt_mon is a new import from CLDR.  The change has been consulted
    off-list with a native speaker.
    
    	[BZ #23140]
    	* localedata/locales/hy_AM (mon): Synchronize with CLDR (lowercase,
    	genitive case).
    	(alt_mon): New entry, import from CLDR (nominative case).

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                |    7 +++++++
 NEWS                     |    2 +-
 localedata/locales/hy_AM |   36 ++++++++++++++++++++++++------------
 3 files changed, 32 insertions(+), 13 deletions(-)
Comment 43 cvs-commit@gcc.gnu.org 2018-07-17 22:01:34 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  9145f0333d11683cb3d796246d1395c84b4a3516 (commit)
      from  ba2ea23d053e293baeb39554b2e9fc56f8ef335b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9145f0333d11683cb3d796246d1395c84b4a3516

commit 9145f0333d11683cb3d796246d1395c84b4a3516
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Tue Jan 30 12:31:12 2018 +0100

    os_RU: Add alternative month names (bug 23140).
    
    	[BZ #23140]
    	* localedata/locales/os_RU (mon): Rename to...
    	(alt_mon): This.
    	(mon): Import from CLDR (genitive case).
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                |    7 +++++++
 NEWS                     |    6 +++---
 localedata/locales/os_RU |   15 ++++++++++++++-
 3 files changed, 24 insertions(+), 4 deletions(-)
Comment 44 cvs-commit@gcc.gnu.org 2018-07-18 21:21:17 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  df467d229ac53098d06ffd7b86322a1e22bf6013 (commit)
      from  5c112f1b62b6fca7348c64a004e9fc4cfdaca1ad (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=df467d229ac53098d06ffd7b86322a1e22bf6013

commit df467d229ac53098d06ffd7b86322a1e22bf6013
Author: Quentin PAGÈS <provaires@quentino.fr>
Date:   Sat May 19 17:59:08 2018 +0200

    oc_FR locale: Multiple updates (bug 23140, bug 23422).
    
    Multiple updates for Occitan language including alternative month names,
    update abday and abmon, fix typos in day, fix d_fmt, correct LC_NAME,
    and use “copy "ca_ES"” as LC_COLLATE.
    
    	[BZ #23140]
    	* localedata/locales/oc_FR (mon): Rename to...
    	(alt_mon): This, then update October (typo fix).
    	(mon): New content (genitive case, month names preceded by
    	"de" or "d’").
    
    	[BZ #23422]
    	* localedata/locales/oc_FR (abday): Update all items.
    	(day): Update Wednesday and Saturday (typo fixes).
    	(abmon): Update all items, except May.
    	(d_fmt): Update "%d.%m.%Y" -> "%d/%m/%Y".
    	(LC_IDENTIFICATION): Bump the revision number and date.
    	Keep the "category" entries in alphabetic order.
    	(LC_ADDRESS): Remove no longer needed comment.
    	(LC_COLLATE): Use “copy "ca_ES"”.
    	(LC_NAME): Set the correct values of "name_fmt", "name_mr", and
    	"name_mrs".
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                |   20 ++++++++++++++
 NEWS                     |    2 +-
 localedata/locales/oc_FR |   64 ++++++++++++++++++++++++++++-----------------
 3 files changed, 61 insertions(+), 25 deletions(-)
Comment 45 Rafal Luzynski 2018-07-18 21:27:51 UTC
Fixed all I was able to fix.  Here is what remains not fixed:

* Finnish: I think it would be good but the existing workaround seems to be sufficient for the actual native speakers.
* Slovak: I would like to consult the actual native community because their rules of nominative/genitive cases seem to be different than in other languages.
* Serbian: the same as in Slovak + I don't have a reliable list of translated month names.
* Silesian: definitely needs an update but I don't have a reliable list of month names.
Comment 46 Rafal Luzynski 2018-07-18 22:44:31 UTC
(In reply to keld@keldix.com from comment #40)
> Good. You are of cause rigth in saying that we do not have a way to
> capitalize such
> names. But then let us make a way to do it. My thoughts are to make some 
> format specifier to change the first character til uppercase, both for
> month and day names, and their abbreviations. I don't have a specific
> proposal - but maybe a + somewhere could  do it. What do you think?

This may be a good idea.  Let's continue this discussion in bug 21370 which I've created in order to handle this.