After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 775548 - Capitalize month names
Capitalize month names
Status: RESOLVED OBSOLETE
Product: gnome-calendar
Classification: Applications
Component: User Interface
3.22.x
Other Linux
: Low minor
: 3.26
Assigned To: GNOME Calendar maintainers
GNOME Calendar maintainers
Depends on: 658807
Blocks:
 
 
Reported: 2016-12-03 02:44 UTC by Jean-François Fortin Tam
Modified: 2017-11-24 22:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Capitalise month names (1.15 KB, patch)
2016-12-04 18:45 UTC, chinhanglun
none Details | Review
screenshot (14.92 KB, image/png)
2016-12-05 17:16 UTC, Jean-François Fortin Tam
  Details
Capitalise month names (5.82 KB, patch)
2017-03-29 18:52 UTC, chinhanglun
needs-work Details | Review

Description Jean-François Fortin Tam 2016-12-03 02:44:46 UTC
Essentially the silliest request I have, so low priority, but… month names are all lowercase everywhere, which just looks a bit weird considering that weekdays are ALLCAPS and the rest of UI elements have Sentence capitalization.

Apparently one would need to wrangle the output given by glib to do that conversion.
Comment 1 chinhanglun 2016-12-04 18:45:42 UTC
Created attachment 341360 [details] [review]
Capitalise month names

The days of the week in month view are in ALLCAPS and so to keep the style
consistent the name of the months have been changed to ALLCAPS as well.
Comment 2 Jean-François Fortin Tam 2016-12-04 23:16:49 UTC
That would be a bit too much in my opinion, having only the first letter capitalized would be better. Typographic conventions do not encourage the use of "all caps" unless you really have no choice. It's harder to read and just looks bad in general.
Comment 3 chinhanglun 2016-12-05 11:02:34 UTC
The name of the months in both month view and year view already have the first letter capitalised before I have changed anything. Can you provide a screenshot of where you found the month names to be all lowercase?
Comment 4 Jean-François Fortin Tam 2016-12-05 17:16:45 UTC
Created attachment 341414 [details]
screenshot

That's odd... maybe something locale-related? I'm using fr_CA.UTF8 (for some reason, launching with en_US.UTF8, the month names were still showing up in French for me)
Comment 5 chinhanglun 2016-12-05 18:19:23 UTC
I tested it using fr_CA.UTF8 and indeed the month names are all lowercase. New bug?
Comment 6 Jean-François Fortin Tam 2016-12-05 22:00:10 UTC
> New bug?

Well FWIW I think it's always been that way for me since the beginning.
Comment 7 chinhanglun 2016-12-08 21:24:30 UTC
gnome-calendar does not format the month names and just displays whatever the locale gives it. I've looked at the fr_CA file and indeed all the month names start with a lowercase and I later learned that in French month names are not capitalised unless it is at the beginning of a sentence. From a quick search on Google I found examples of French calendars with the month names all in lowercase so it is not uncommon.
Comment 8 Jean-François Fortin Tam 2016-12-08 21:41:52 UTC
Indeed month names in French are not capitalized when they're in the middle of a sentence... but when they stand alone, they sometimes/often are. Arguably, a single word is the same as a sentence (except it doesn't have words after the first word).

But then I suppose this might complicate things too much. C.c.'ing a French translator just to be sure if this can/should be left "all lowercase" here.
Comment 9 Rafal Luzynski 2017-03-27 23:19:00 UTC
Review of attachment 341360 [details] [review]:

Hi, although I am not a gnome-calendar developer I'd like to contribute a little so I dare to review this.

::: src/gcal-month-view.c
@@ +1681,3 @@
   gtk_style_context_get_padding (context, state, &padding);
 
+  header_str = g_strdup_printf ("%s", g_ascii_strup (gcal_get_month_name (self->date->month - 1), -1));

There are two things wrong here:

1. g_ascii_strup() works good only for plain ASCII characters. For example, the word "décembre" as in the screenshot would be capitalized as "DéCEMBRE" while probably you'd like "DÉCEMBRE". You should use g_utf8_strup() instead.
2. No matter if you use g_ascii_strup() or g_utf8_strup() they return the newly allocated string which should be freed. This patch would leak memory.

Also I agree with Jean-François that all uppercase WOULD BE TOO SHOUTING and converting only the first letter to uppercase would be sufficient. AFAIK there is no such function delivered by glib2 so you have to write your own. Also I suggest converting the first letter not to uppercase but to titlecase: I mean use g_unichar_totitle() because there are some Unicode codepoints which are digraphs or ligatures. The correct conversion for them is a titlecase: the first letter is uppercase and the second is lowercase.

Will you rework this, chinhanglun?
Comment 10 chinhanglun 2017-03-28 08:37:12 UTC
Yes, I will rework this.
Comment 11 chinhanglun 2017-03-29 18:52:51 UTC
Created attachment 348947 [details] [review]
Capitalise month names

There was a problem with the name of the months being in all lowercase in week/month/year view when using certain locales such as fr_FR. The code has now been changed so that the first character of each month name is converted to titlecase.
Comment 12 Rafal Luzynski 2017-03-29 23:32:45 UTC
Review of attachment 348947 [details] [review]:

Thank you for the next patch and I hope you don't mind if I review again.

First of all, the patch comment should be wrapped manually, the lines
should not exceed 72 characters. See more:
https://wiki.gnome.org/Newcomers/CodeContributionWorkflow#Commit_guidelines

::: src/gcal-utils.c
@@ +175,2 @@
 gchar*
+gcal_first_letter_to_titlecase (gchar* src)

Good idea!

@@ +176,3 @@
+gcal_first_letter_to_titlecase (gchar* src)
+{
+  gchar* result;

I think the formatting style here should be "gchar *result".

@@ +179,3 @@
+
+  result = g_strdup (src);
+  *result = g_unichar_totitle (*result);

Sorry, again this will not work. g_unichar_totitle() accepts and returns gunichar which is a 32-bit Unicode character while str and result are UTF-8. This will work fine with plain US ASCII letters but may corrupt even some western European characters and definitely will corrupt if we move to Cyrillic or Greek or Asian scripts. You should do something like:

  gunichar first_char;
  first_char = g_utf8_get_char (str);
  first_char = g_unichar_to_title (first_char);

then:

- use g_unichar_to_utf8() to convert first_char back to UTF-8;
- use g_utf8_find_next_char() g_utf8_next_char() to determine where the second character of src starts, it's not always just src+1;
- concatenate the new first character with the rest of the original string and return this as a result.

Yes, this is that complex.

::: src/gcal-utils.h
@@ +73,3 @@
 
+gchar*          gcal_first_letter_to_titlecase                  (gchar                 *src);
+

Correct!

::: src/views/gcal-month-view.c
@@ +1572,3 @@
   gtk_style_context_get_padding (context, state, &padding);
 
+  header_str = gcal_first_letter_to_titlecase (gcal_get_month_name (self->date->month - 1));

Correct here! gcal_first_letter_to_titlecase() returns a newly allocated string and header_str is g_free()'d later.

@@ +1575,3 @@
   pango_layout_set_text (layout, header_str, -1);
   pango_layout_set_font_description (layout, font_desc);
   pango_layout_get_pixel_size (layout, &font_width, NULL);

This file has one more occurrence of gcal_get_month_name() which you should titlecase, in line 224.

::: src/views/gcal-week-header.c
@@ +844,3 @@
 update_title (GcalWeekHeader *self)
 {
+  g_autofree gchar *month_start, *month_end;

Correct but probably you will not need it, see the comments below.

@@ +859,3 @@
+      month_start = gcal_first_letter_to_titlecase (gcal_get_month_name (g_date_time_get_month (week_start) - 1));
+      month_end = NULL;
+      month_label = g_strdup_printf ("%s", month_start);

Kinda correct: you are trying not to leak the memory. But in this place this would be sufficient:

    month_label = gcal_first_letter_to_titlecase (gcal_get_month_name (...

@@ +865,3 @@
+      month_start = gcal_first_letter_to_titlecase (gcal_get_month_name (g_date_time_get_month (week_start) - 1));
+      month_end = gcal_first_letter_to_titlecase (gcal_get_month_name (g_date_time_get_month (week_end) - 1));
+      month_label = g_strdup_printf("%s - %s ", month_start, month_end);

Now here is the core of misunderstanding. I believe that what Jean-François meant is not "convert all month names to starting with uppercase everywhere" but rather "convert them when (and because) they are in the beginning of the sentence". These are the rules for most (all?) European languages. Otherwise, if we wanted all months titlecased always and everywhere they would be titlecased in locale database already, as in English and German. So, actually this should be:

    month_label = g_strdup_printf("%s - %s", ... /* this is not changed */
    month_label = gcal_first_letter_to_titlecase (month_label);
    /* this is absolutely wrong because leaks memory but explains what I mean. */

The result should be, for example "Janvier - février" rather than "Janvier - Février".

While at this, will anybody advise if we should mark "%s - %s" for translation? Are there languages which need a different character(s) than "space-dash-space"? What about Asian scripts? Wouldn't English typography prefer "%s–%s" (en-dash and no spaces)? Of course, if yes then translators' comment will be necessary to explain what those "%s"'s mean.

::: src/views/gcal-year-view.c
@@ +283,2 @@
                                year_view->start_selected_date->day,
                                has_range ? "…" : "");

The same problem again. In bug 780629 I have already suggested that "%s %d%s" should be translatable because many (most?) languages want the day number first and the month name second so it's not even obvious that the label will start with the month name. And the month name should be capitalized only when it is in the beginning of the sentence. For example, "Janvier" is correct, "1 janvier" is correct, "1 Janvier" is incorrect. So correctly it should be:

    title = g_strdup_printf ("%s %d%s",  /* or maybe: _("%s %d%s)  */
                             month_name, /* and so on, not changed */
                             ...
    title = gcal_first_letter_to_titlecase (title);
    /* again, this leaks memory, it is here only to illustrate the idea */

And, in most cases, the capitalized string will be exactly the same as the original one. Shouldn't we optimize it to avoid unnecessary memory allocation/deallocation?

@@ +505,3 @@
       else
+        {
+          g_autofree gchar *month_name;

Good, you are trying not to leak the memory.

@@ +508,3 @@
+
+          month_name = gcal_first_letter_to_titlecase (gcal_get_month_name (date.month  - 1));
+          label_str = g_strdup_printf ("%s %d", month_name, date.day);

Again, should rather be:

    month_name = g_strdup_printf ("%s %d", ... /* or _("%s %d")? */
    label_str = gcal_first_letter_to_titlecase (month_name);

Of course, month_name is no longer a correct variable name.

@@ +782,3 @@
   gtk_style_context_add_class (context, "header");
 
+  str = gcal_first_letter_to_titlecase (gcal_get_month_name (month_nr));

This is correct.

@@ +785,3 @@
   gtk_style_context_get (context, state_flags, "font", &font_desc, NULL);
 
   layout = gtk_widget_create_pango_layout (widget, str);

Also, please take a look at gcal-date-chooser.c. The month names in the calendar widget should be titlecased because they appear standalone. But, OTOH, those in gcal-quick-add-popover.c should not because they all appear in the middle of the sentence.

Again, thank you for your patch and I hope that you are close to the correct solution.
Comment 13 Marinus Schraal 2017-03-31 08:20:03 UTC
(In reply to Rafal Luzynski from comment #12)
> Also, please take a look at gcal-date-chooser.c. The month names in the
> calendar widget should be titlecased because they appear standalone.

I think we should go back to the premise of this bug first and question if this is wanted. A lone word is not a sentence by definition, it is just a word and should be treated as such. So it should follow the regular rules and nothing needs to be changed.

If you want to change anything you should look at the abbreviations for weekdays in gcal-month-view.c . Those are forced uppercase which is likely the problem here.
Comment 14 chinhanglun 2017-03-31 22:29:19 UTC
Thanks for the review.

I understood that not all instances of month names should have the first letter capitalised which is why I didn't change the ones in gcal-quick-add-popover.c :) I actually considered "Janvier - Février" as a heading rather than a normal sentence which is why I chose to capitalise the second month as well. I guess this is getting a bit complicated now as different languages will probably have different rules regarding the capitalisation of each word in a heading/title. Also should a standalone month name be capitalised? For French I've seen examples of both so it may be just a aesthetic choice?
Comment 15 Rafal Luzynski 2017-04-01 21:06:21 UTC
(In reply to Marinus Schraal from comment #13)
> I think we should go back to the premise of this bug first and question if
> this is wanted.

I think the NEEDINFO flag does not work here the way people think it does. I think the question was directed to afranke and I'm not sure he's even aware that it's been asked.

> A lone word is not a sentence by definition, it is just a
> word and should be treated as such.

Definitely, I should speak only on behalf on my own native language, maybe also sometimes on behalf of a foreign language which I know. But what you wrote here is a little confusing for me. I assume you speak about your own native language. Do the rules of your language say that a word standalone should start with lowercase and it's an error to start them with uppercase? Can you provide some links to the scientific articles about it?

Now you say that a lone word is not a sentence. Different languages have different definitions of a sentence, also if you translate the English word "sentence" to your native language the translation may not fully reflect the original term. Let's look at this Wikipedia article: https://en.wikipedia.org/wiki/Sentence_%28linguistics%29 - it says that a sentence "is a textual unit consisting of one or more words" so one word is a sentence. Further the article explain that people often think that a sentence must be more complex and contain at least one verb. This is not true, that more complex unit having at least one verb is called a verbal sentence. The opposite, a sentence without a verb or just a single noun is called a nominal sentence.

But, again, please confirm because if there are languages where the month names in this context must be all lowercase then we may have a problem.

> So it should follow the regular rules
> and nothing needs to be changed.
> 
> If you want to change anything you should look at the abbreviations for
> weekdays in gcal-month-view.c . Those are forced uppercase which is likely
> the problem here.

Sure, there is no reason that the weekday abbreviations must be all uppercase but I think this is also not prohibited. They are short so for me it's OK to leave them as they are, they are not shouting. Of course we can move to lowercase but this will lead us to more questions: should the first letter be uppercase or lowercase?

(In reply to chinhanglun from comment #14)
> Thanks for the review.
> 
> I understood that not all instances of month names should have the first
> letter capitalised which is why I didn't change the ones in
> gcal-quick-add-popover.c :) I actually considered "Janvier - Février" as a
> heading rather than a normal sentence which is why I chose to capitalise the
> second month as well.

Ah, you probably think about the rule which says that (almost) every word should be capitalized in a title. I think you don't have to worry because that rule is for English only (any other languages with the same rule?) and this bug is for non-English languages.

> I guess this is getting a bit complicated now as
> different languages will probably have different rules regarding the
> capitalisation of each word in a heading/title. Also should a standalone
> month name be capitalised? For French I've seen examples of both so it may
> be just a aesthetic choice?

If you mean the computer calendars (as opposed by printed paper calendars) you probably spotted the same bug as it is very common and indeed gnome-calendar is not the only affected application.
Comment 16 Marinus Schraal 2017-04-02 10:21:53 UTC
(In reply to Rafal Luzynski from comment #15) 
> > A lone word is not a sentence by definition, it is just a
> > word and should be treated as such.
> 
> Definitely, I should speak only on behalf on my own native language, maybe
> also sometimes on behalf of a foreign language which I know. But what you
> wrote here is a little confusing for me. I assume you speak about your own
> native language. Do the rules of your language say that a word standalone
> should start with lowercase and it's an error to start them with uppercase?
> Can you provide some links to the scientific articles about it?
> 
> Now you say that a lone word is not a sentence. Different languages have
> different definitions of a sentence, also if you translate the English word
> "sentence" to your native language the translation may not fully reflect the
> original term. Let's look at this Wikipedia article:
> https://en.wikipedia.org/wiki/Sentence_%28linguistics%29 - it says that a
> sentence "is a textual unit consisting of one or more words" so one word is
> a sentence. Further the article explain that people often think that a
> sentence must be more complex and contain at least one verb. This is not
> true, that more complex unit having at least one verb is called a verbal
> sentence. The opposite, a sentence without a verb or just a single noun is
> called a nominal sentence.

I think you're going too much in territory that doesn't matter to calendar. Look a bit beyond wikipedia in actual relevant resources and a sentence is not a single word in western languages. Nor is it used here as a sentence, it is used as a word.

I don't want to dive in a discussion about semantics here. The point is that it is gnome-calendar is not the place to figure what to capitalize or not, there are library calls for that which do the right thing most of the time. And if they don't, it's a bug and should be fixed in the library (glib or glibc). It is handed off, because it's hard to get right and a lot of people with a lot more knowledge about it have worked on that.

I think having this NEEDINFO is misleading and should be closed as NOTABUG. Having people work on patches for this is just wasting time.
Comment 17 chinhanglun 2017-04-03 14:41:41 UTC
(In reply to Rafal Luzynski from comment #15)

> Ah, you probably think about the rule which says that (almost) every word
> should be capitalized in a title. I think you don't have to worry because
> that rule is for English only (any other languages with the same rule?) and
> this bug is for non-English languages.

According to https://www.thoughtco.com/capitalize-french-titles-4086495 capitalisation depends on the position and importance of the words in the title, in particular if the title consists of two words of equal value then they would both be capitalised so "Janvier - Février" would be correct in French. Anyway what I'm trying to say is that different languages have different rules on which words should be capitalised so there is no one size fits all solution to this. 

But I think a single word title would always have the first letter capitalised for (all?) European languages. So the month names in the calendar widget would need changing.

The question is should I change all the standalone month names here in gnome-calendar or leave it to the people working on the libraries?
Comment 18 Rafal Luzynski 2017-04-04 10:05:56 UTC
(In reply to chinhanglun from comment #17)
> According to https://www.thoughtco.com/capitalize-french-titles-4086495
> capitalisation depends on the position and importance of the words in the
> title, in particular if the title consists of two words of equal value then
> they would both be capitalised so "Janvier - Février" would be correct in
> French.

This is more complex than I initially thought. Actually this article says that there are multiple sets of rules and there seem not to exist a single correct rule for French language. I'd like to hear more from French people, I really regret there is no recent feedback from them.

> But I think a single word title would always have the first letter
> capitalised for (all?) European languages. So the month names in the
> calendar widget would need changing.

That's what I assume but:

(In reply to Marinus Schraal from comment #16)
> Look a bit beyond wikipedia in actual relevant resources and a sentence is
> not a single word in western languages. Nor is it used here as a sentence,
> it is used as a word.

Marinus, it would be easier if you explained what particular language you mean. I may take a closer look at one language but depending on the definition "western languages" may include 20 or 40 languages. Also it would be easier if you explained what you mean by sentence because from the context it seems to me you mean a verbal sentence. Aside from that, it's less important if it is a sentence or not (and what is a sentence at all), more important it is whether it should be capitalized. Have you seen a calendar in your native language where month names are standalone and not capitalized? I mean a printed paper calendar, not another calendar software, because this bug is common and gnome-calendar is not an exception.

(In reply to chinhanglun from comment #17)
> The question is should I change all the standalone month names here in
> gnome-calendar or leave it to the people working on the libraries?

Here is a suggestion:

(In reply to Marinus Schraal from comment #16)
> The point is that
> it is gnome-calendar is not the place to figure what to capitalize or not,
> there are library calls for that which do the right thing most of the time.
> And if they don't, it's a bug and should be fixed in the library (glib or
> glibc). It is handed off, because it's hard to get right and a lot of people
> with a lot more knowledge about it have worked on that.

I've been working on a single glib2 and glibc bug for 1.5 year already and believe me they do not do the right thing. Or rather you don't have to believe me, I'll provide links.

So I think we have these cases here:
- Some languages always capitalize month names, like English, and they provide month names capitalized in glibc locale database. No problem for them.
- Some want to capitalize not always but apparently they capitalize all words in a title (like a title capitalization in English). So they want them uppercase here not because this is a general rule but it happened that it is always in this context. Example: "Janvier - Février". This is difficult to implement because we would have to parse the string, detect the word boundaries and decide which word is important.
- Some want to capitalize only the first letter (a sentence capitalization). Example: "Janvier - février". This is easy to implement and the patch is (almost) ready here thanks to chinhanglun.
- Some don't want any capitalization at all: want always lowercase. Marinus, did I understand correctly that this is your case? So it is both easy and difficult. Easy because this is the current situation and we don't have to do anything, and difficult because once we implement capitalization we will need a way to mark the cases where they don't want capitalization.

I think it would be easier if we had a format specifier in strftime() which would control whether we want all lowercase, all uppercase, or the first letter capitalized. This feature does not exist (except converting to all uppercase). The extension has been proposed here: https://sourceware.org/bugzilla/show_bug.cgi?id=15527. I discussed it here: https://sourceware.org/ml/libc-alpha/2016-12/msg00034.html and suggested that it would be very useful if locale database contained all data titlecased and the application (or actually the translator) would decide whether they want a month name Titlecased (default "%B"), ALL UPPERCASE ("%^B") or just lowercase ("%^#B").

However, this work is not finished. If there is a simple rule that non-English languages want the first letter of the header to be capitalized then it's easy to implement. But if some languages want more letters capitalized (and they are not capitalized by default) and at the same time some languages want no uppercase at all then it's going to be too complex.
Comment 19 Marinus Schraal 2017-04-04 12:06:44 UTC
(In reply to Rafal Luzynski from comment #18)
> I've been working on a single glib2 and glibc bug for 1.5 year already and
> believe me they do not do the right thing. Or rather you don't have to
> believe me, I'll provide links.

Then work with them, it is the only proper place.

You want to fill calendar with pointless language specific hacks? It is not the place.

The only correct thing to do is to not do any particular upper/lower/capitalization in the application and let the i18n calls handle it. I've given an example before where this was the case.

You shouldn't be encouraging people to create patches that make zero sense to commit, wasting people's time which can be used for real issues.
Comment 20 Alexandre Franke 2017-04-04 14:58:06 UTC
(In reply to Jean-François Fortin Tam from comment #8)
> Arguably, a single word is the same as a sentence (except it doesn't have
> words after the first word).

Those single words here are titles, so they should be treated as such. In French, a title should start with an upper case character. I don’t know whether any other language has a different rule for that though. I guess it could happen. :-(


> But then I suppose this might complicate things too much. C.c.'ing a French
> translator just to be sure if this can/should be left "all lowercase" here.

Said French translator finally got some Internet access and time to reply.

(In reply to chinhanglun from comment #14)
> I actually considered "Janvier - Février" as a
> heading rather than a normal sentence

A title is just a special type of sentence, which can have no conjugated verb and no period (unless your title is a complete sentence in which case you should have a period).

It should be "Janvier — février" (with a dash, not a minus sign).
Comment 21 Marinus Schraal 2017-04-04 22:50:57 UTC
(In reply to Alexandre Franke from comment #20)
> (In reply to Jean-François Fortin Tam from comment #8)
> > Arguably, a single word is the same as a sentence (except it doesn't have
> > words after the first word).
> 
> Those single words here are titles, so they should be treated as such. In
> French, a title should start with an upper case character. I don’t know
> whether any other language has a different rule for that though. I guess it
> could happen. :-(

It's not a title, it's the name of a month. Just because it's a bigger UI element doesn't make it a title (whatever that means anyway to you or your specific take on language) or a sentence (whatever that means anyway to you or your specific take on language).

It is not alright to just randomly capitalize (or not) stuff that is an application because it's right in some languages. That's why we got libraries that handle i18n calls. Can the madness please stop?

I even started looking at what apple and google do (was thinking I might be going insane reading this stuff), they do the right thing and let i18n decide in their calendar apps (so upper/lowercase names depending on language). Does that make a simple thing more acceptable?
Comment 22 Rafal Luzynski 2017-04-05 20:37:37 UTC
A similar problem was reported against gnome-shell and its default calendar: bug 658686. It's been said there that the feature should be implemented in glib2 (bug 658807) or better in glibc (at the moment of writing I'm not aware of any relevant bug report but I'll consider reporting it).
Comment 23 Bastien Nocera 2017-07-01 20:11:45 UTC
(In reply to Rafal Luzynski from comment #22)
> A similar problem was reported against gnome-shell and its default calendar:
> bug 658686. It's been said there that the feature should be implemented in
> glib2 (bug 658807) or better in glibc (at the moment of writing I'm not
> aware of any relevant bug report but I'll consider reporting it).

And it's pretty much the same problem that's in a bug you're involved in:
https://sourceware.org/bugzilla/show_bug.cgi?id=10871

Here, instead of genitive or nominative, it's whether to use an upper-case letter as the first letter of the name (when it's the first word in a sentence, or use "alone") or not (when it's in the middle of a sentence).

The glibc/locale implementers thought of month names as proper nouns, with no opportunity for them not to be.
Comment 24 Rafal Luzynski 2017-07-01 21:04:29 UTC
(In reply to Bastien Nocera from comment #23)
> [...]
> And it's pretty much the same problem that's in a bug you're involved in:
> https://sourceware.org/bugzilla/show_bug.cgi?id=10871

No, actually this is more https://sourceware.org/bugzilla/show_bug.cgi?id=21370. Although CLDR suggests: "If stand-alone forms are not needed for any grammatical reasons such as the above, and if your language would always capitalize a date symbol such as month name or weekday name when it appears by itself on a calendar page or as a menu item (but not when it appears in the middle of a sentence), then stand-alone forms may be used for capitalized versions of date symbols." http://cldr.unicode.org/translation/date-time#TOC-Stand-Alone-vs.-Format-Styles
Think about the languages which need genitive and nominative case: they may need genitive titlecase, genitive lowercase, nominative titlecase, and nominative lowercase. So indeed nominative/genitive case may help in some languages but not in all languages.

> [...]
> The glibc/locale implementers thought of month names as proper nouns, with
> no opportunity for them not to be.

I think that the root cause is that according to English language rules month names always begin with the uppercase and the implementers did not think it may be different in other languages. Maybe I'm wrong about guessing the cause but no matter what is the history behind this the problem is that the feature is missing and indeed is not limited to GNOME Calendar and not even to GNOME.
Comment 25 Georges Basile Stavracas Neto 2017-11-24 22:05:11 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-calendar/issues/95.