Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLDR-8823 Don't use Jan, Feb, for non-gregorian calendar systems #3861

Merged
merged 2 commits into from
Jul 23, 2024

Conversation

srl295
Copy link
Member

@srl295 srl295 commented Jul 10, 2024

  • update PathHeader with a %G, a list of calendars which use the Gregorian month names.

CLDR-8823

  • This PR completes the ticket.
image

Includes a test. The test catches some issues.

ALLOW_MANY_COMMITS=true

@srl295 srl295 self-assigned this Jul 10, 2024
…ake sense.

- update PathHeader with a %G which is just Gregorian
- add a test
@srl295 srl295 force-pushed the cldr-8823/nongrego-months branch from 8d0fc71 to 1195c9b Compare July 10, 2024 18:59
@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • tools/cldr-code/src/main/resources/org/unicode/cldr/util/data/PathHeader.txt is different
  • tools/cldr-code/src/test/java/org/unicode/cldr/util/TestPathHeader.java is now changed in the branch

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@srl295 srl295 marked this pull request as ready for review July 10, 2024 19:01
@pedberg-icu
Copy link
Contributor

Changes look good so far but there is a test failure...

@AEApple
Copy link
Contributor

AEApple commented Jul 11, 2024

Does this mean it will show the month names of the default calendar for that locale?

@pedberg-icu
Copy link
Contributor

Does this mean it will show the month names of the default calendar for that locale?

This is about the key in the left column (not the English name, which will remain as is). Instead of the key showing Jan, Feb, Mar... for non-gregorian calendars, it will show M1, M2, M3....

@AEApple
Copy link
Contributor

AEApple commented Jul 11, 2024

Does this mean it will show the month names of the default calendar for that locale?

This is about the key in the left column (not the English name, which will remain as is). Instead of the key showing Jan, Feb, Mar... for non-gregorian calendars, it will show M1, M2, M3....

Okay in the ticket the "English" showed "Month 1", "Month 2" etc.

@macchiati
Copy link
Member

macchiati commented Jul 11, 2024 via email

%O = (gregorian|chinese|coptic|dangi|ethiopic|hebrew|indian|islamic|persian)
# calendar systems that should use Gregorian months (just Gregorian)
# We don't list roc, etc here because their months are hidden.
%G = (gregorian)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should support not only gregorian, but also gregorian-based calendars. (Those that use the same 12 month solar calendar: Thai Buddhist, Julian, etc.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are the calendars. Unfortunately, we don't have data here as to which is gregorian-based.

            <type name="buddhist" description="Thai Buddhist calendar"/>
            <type name="chinese" description="Traditional Chinese calendar"/>
            <type name="coptic" description="Coptic calendar"/>
            <type name="dangi" description="Traditional Korean calendar" since="22.1"/>
            <type name="ethioaa" description="Ethiopic calendar, Amete Alem (epoch approx. 5493 B.C.E)" alias="ethiopic-amete-alem"/>
            <type name="ethiopic" description="Ethiopic calendar, Amete Mihret (epoch approx, 8 C.E.)"/>
            <type name="gregory" description="Gregorian calendar" alias="gregorian"/>
            <type name="hebrew" description="Traditional Hebrew calendar"/>
            <type name="indian" description="Indian calendar"/>
            <type name="islamic" description="Hijri calendar"/>
            <type name="islamic-umalqura" description="Hijri calendar, Umm al-Qura" since="24"/>
            <type name="islamic-tbla" description="Hijri calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - astronomical epoch)" since="24"/>
            <type name="islamic-civil" description="Hijri calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - civil epoch)" since="24"/>
            <type name="islamic-rgsa" description="Hijri calendar, Saudi Arabia sighting" since="24"/>
            <type name="iso8601" description="ISO calendar (Gregorian calendar using the ISO 8601 calendar week rules)" since="2.0"/>
            <type name="japanese" description="Japanese Imperial calendar"/>
            <type name="persian" description="Persian calendar"/>
            <type name="roc" description="Republic of China calendar"/>
            <type name="islamicc" description="Civil (algorithmic) Arabic calendar" deprecated="true" preferred="islamic-civil"  alias="islamic-civil"/>

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran a quick check, and it appears that the following are gregorian-based:
[gregoriy, iso8601, buddhist, japanese, roc]

Also filed a ticket to add metadata to cldr, so that this can be unhardcoded

Copy link
Member Author

@srl295 srl295 Jul 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So actually it seems the pre existing "intent" was to hide those so that you don't have a Japanese month January with a different translation than Gregorian January. That mystified me too but I think that's why %G is just one and not the others

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pedberg-icu should also weigh in on this.

  • It clearly should not be limited to exactly 'gregory', since iso8601 uses the same months, etc.
  • In the case of thai buddhist, japanese, roc, M2, M2 etc seem ok.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's here, then it's visible for editing. Do we want users giving a different translation for January in 8601 than for gregorian?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@macchiati Specifically, this PR does not make any changes to the visibility (HIDE) or textual content for these calendars: iso8601, buddhist, japanese, roc.

All that it does is change the following calendars to no longer have month codes based on Gregorian:

chinese|coptic|dangi|ethiopic|hebrew|indian|islamic|persian

@srl295
Copy link
Member Author

srl295 commented Jul 12, 2024

OK the test failure was because I dropped Chinese inadvertently. I was just trying to subdivide %O into %G + %O, with different text.

The err message was accurate but didn't quite give me enough context. I updated it.

- Also update a test err message for clarity and to make actionable
@srl295 srl295 requested a review from macchiati July 12, 2024 13:43
@srl295
Copy link
Member Author

srl295 commented Jul 13, 2024

Maybe we should discuss in a future meeting.

# We don't list roc, etc here because their months are hidden.
%G = (gregorian)
# all others use M## form months.
%O = (chinese|coptic|dangi|ethiopic|hebrew|indian|islamic|persian)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't working, I think, because what we want is that every calendar falls into one of these groups.

  • Certain calendars are hidden.
  • Certain calendars are non-gregorian-based, and use M1
  • Certain calendars are gregorian-based, and use Jan

Because we NEVER want to miss a calendar, exactly one of these groups should be "any", and that needs to come last. That should not be the Hidden one, because we want to be safe, and better to show a calendar that we shouldn't, than hide a calendar that should be shown.

So it should be:

So

all the calendars that should be hidden

...%XXX...

all the calendars that should use M1

...%O...

all the calendars that should use Jan

...%A...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you detail what "isn't working"?

@srl295
Copy link
Member Author

srl295 commented Jul 15, 2024

@macchiati a concrete question.

Currently, (with OR without this PR), Survey Tool does not allow the user to translate "January" differently in the Japanese calendar than in the Gregorian.

Are you saying that users should be able to change the translation of "January" for the Japanese calendar?

@macchiati
Copy link
Member

macchiati commented Jul 16, 2024 via email

@srl295 srl295 merged commit b30345b into unicode-org:main Jul 23, 2024
10 checks passed
@srl295 srl295 deleted the cldr-8823/nongrego-months branch July 23, 2024 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants