[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search
 
Modify

CLDR Ticket #1507(closed defect: duplicate)

Opened 8 years ago

Last modified 4 years ago

intercalary marker missing from chinese calendar (refile)

Reported by: srl(at)icu-project.org Owned by: pedberg
Component: xxx-dtd Data Locale:
Phase: Review:
Weeks: 1 Data Xpath:
Xref:

ticket:1335

ticket:1337

ticket:2430

ticket:2558

ticket:4230

Description (last modified by pedberg) (diff)

Full_Name: Steven R. Loomis
Version: cvs
special: on

verdy_p says: "Translating these Chinese months as "January".."December" or
even
simple numbers like "1".."12" is completely wrong without the indication of the
intercalary month qualifier"

The intercalary month qualifer is in ICU's data but is not currently in CLDR

for chinese calendar. The original author of the Chinese calendar calculation
code and data used an asterisk (*) for the qualifier.

http://source.icu-project.org/repos/icu/icu/trunk/source/data/xml/main/root.xml

<ldml>

<dates>

<calendars>

<calendar type="chinese">

<special xmlns:icu="http://www.icu-project.org/">

<icu:isLeapMonth>

<icu:nonLeapSymbol/>
<icu:leapSymbol>*</icu:leapSymbol>

</icu:isLeapMonth>

...

this should have been put into CLDR somehow earlier. it also needs a
formatting
character to specify the 'leap symbol' and 'nonleap symbol'. note that the
nonleap symbol is 0-length.
Reply 1

Resend
From: Steven R. Loomis <srl(at)icu-project.org>
To: srl(at)icu-project.org
Subject: Re: intercalary marker missing from chinese calendar (PR#1335)
Date: Tue Jul 10 11:02:59 2007
from old notes-

  • Besides the intercalary month marker [

http://www.unicode.org/cldr/bugs/locale-bugs?findid=1335 ] ,
Chinese Calendar needs to have data to display the 60 year ( 12&10 )
marker: http://en.wikipedia.org/wiki/
Chinese_Calendar#The_stem-branch_cycle - one is (year%10) and the other is
(year%12)

  • need "year names" - either 60 separate strings, or 2 sets of strings ( 12

strings & 10 strings )

Reply 2

Resend
From: srl(at)icu-project.org
To: srl(at)icu-project.org
Subject: Re: intercalary marker missing from chinese calendar (PR#1335)
Date: Tue Jul 10 11:03:11 2007
from old notes-

  • Besides the intercalary month marker [

http://www.unicode.org/cldr/bugs/locale-bugs?findid=1335 ] ,
Chinese Calendar needs to have data to display the 60 year ( 12&10 )
marker: http://en.wikipedia.org/wiki/
Chinese_Calendar#The_stem-branch_cycle - one is (year%10) and the other is
(year%12)

  • need "year names" - either 60 separate strings, or 2 sets of strings ( 12

strings & 10 strings )

Reply 3

Resend
From: Steven R. Loomis <srl(at)icu-project.org>
To: srl(at)icu-project.org
Subject: Re: intercalary marker missing from chinese calendar (PR#1335)
Date: Tue Jul 10 11:05:28 2007
From #1419:

Default, i.e., root chinese calendar full, long, medium and short date formats
all contain the subpattern y'x'G-Ml-d

I don't recognize date pattern Ml -- its not defined in UTS#35. Moreover
literal 'x' looks suspicious.

You can witness this at
http://unicode.org/cldr/apps/survey?_=root&forum=root&xpath=84747

Attachments

Change History

comment:1 Changed 46 years ago by notes2

Code was checked in against 1335 accidentally. Re-opening this bug.
chris: removing from 1.6, does not seem critical

comment:2 Changed 46 years ago by old_notes2

Code was checked in against 1335 accidentally. Re-opening this bug.
chris: removing from 1.6, does not seem critical

comment:3 Changed 8 years ago by srl

changed notes2

comment:4 Changed 8 years ago by srl

moved from data to dtd

comment:5 Changed 8 years ago by Steven R. Loomis <srl(at)icu-project.org>

http://en.wikipedia.org/wiki/Chinese_calendar#The_stem-branch_cycle

LDML:

<calendars>

<calendar type='chinese'>

<monthMarkers>

<monthMarker type='leap'>闰</monthMarker> <!-- '*' in root-->
<monthMarker type='non-leap'/> <!-- empty element -->

</monthMarkers>

<years>

<yearKind type='stem'>

<!-- there are 10 years (heavenly stems) in this cycle -->
<yearContext type='format'>

<yearWidth type='abbreviated'>

...

<year type='4'>丁</year> <!-- fire -->
<year type='5'>戊</year> <!-- earth -->

...

</yearWidth>

</yearContext>

</yearKind>

<yearKind type='branch'>

<!-- 12 years (earthly branch) in this cycle -->

<yearContext type='format'>
<yearWidth type='abbreviated'>

<year type='1'>子</year> <!-- Rat -->

...

<year type='12'>亥</year> <!-- Pig -->

</yearWidth>

</yearContext>

</yearKind>

</calendar>

</calendars>

Format chars:

l: month marker ( already in use in the data .. l for leapmonth?)
%: branch ( I don't know which ones are in use )
#: stem ( I don't know which ones are in use )

Possible date format

#%, lMMM月d日 -> "丁亥 闰二月18日"

comment:6 Changed 8 years ago by srl

sent reply 1

comment:7 Changed 8 years ago by chrish

changed notes2

comment:8 Changed 8 years ago by pedberg

changed notes2

comment:9 Changed 8 years ago by srl

changed notes2

comment:10 Changed 7 years ago by mark

changed notes2

comment:11 Changed 7 years ago by verdy_p(at)wanadoo.fr

(Guest Reply)

Note also that the notation of intercalary months should be also used in the Hebrew calendar:

  • all Hebrew years have, 12 months, months are numbered according to their name.
  • depending on years, one of the 12 months (not 13 as currently computed) will occur once or twice (about every 3-years): the last month of the Chinese year is always numbered 12, even if the year contains 13 lunar months.
  • when a year contains only one such month, the month keeps its default name.
  • when a year contains two such months (Hebrew leap years), each one is indexed by an additional marker.
  • so there are three month types, and during Hebrew non leap years, all of them have the default name and don't need any "marker"; during leap years, one month gets two distinctive names based on the non-leap month name, along with a required indication of the marker for BOTH months.

This means that the complete month name can have three forms. Currently the CLDR contains oly TWO forms: the name of the first lunar month in dual months during leap year, and the name of the default month during non-leap years (but it is incorrect for use as the name for the second month during leap years, because it is missing the marker.)

In numeric formats, for the Hebrew calendar, there's not much difficulty to add this marker however it cannot be only a single asterisk, but it should translate the index (it can be written using Roman numerals, or as a Latin letter; in hebrew texts, the traditional RTL Hebrew letter denoting 1 or 2, is preferably used for this marker after the month number, i.e. on the left of the two Arabo-European digits).

The position of the marker, relative to the month number is locale-dependant in numeric format and in named formats for dates.

This problem is general for all luni-solar calendars, where intercalary months are added: there's always the need to qualify the month name or month number with a marker or an ordinal index. However, in some locales, this is not formatted by just appending the marker to the month name; in fact it is the pair (month order in year, month index) that is translated as a whole with a distinctive name.

To generalize the concept, this means that intercalary months in the Chinese calendar should be treated identically using the (month order in year, month qualifier) pair as the key to select the month names and abbrevs.

The mark should only be used separately for the numeric format (i.e. Ml or MMl) but not for abbreviations (MMM or MMMMM) or full month names (MMMM) where the "l" specifier should be completely ignored from format strings. Instead, MMM will directly seek in the CLDR data the month names keyed by the complete pair (month number, month qualifier).

All calendars will contain full month names (or qualified abbrev's) keyed by the default (empty) month qualifier; they will also contain the full month names (including the qulifier itself) keyed by a non empty month qualifier. Note that in the Hebrew calendar, this means: 12 "normal" months + 2 special months, i.e. 14 entries. For the Chinese calendar, all 12 months (except one according to Chinese rules!) may be followed by an intercalary month. So this means 12 "normal" months + 11 entries for possible "leap" months, i.e. a total of 23 entries (12 or 13 of them will be used per Chinese year).

Such rule can then work to format any lunisolar calendar. It also works with all calendars with a constant number of months per year (including Gregorian, Julian, Coptic, Egyptian, Roman, where there are intercalary days that are added at end of the year or in the middle of the year, or just a few days before the end of the year in the middle of another month, within a pseudo-month that can still be named).

Note that the Roman Republican calendar is very special here: the intercalary days occur in the middle of the last month od the year, by interrupting it temporarily, then resuming it where it was stop for the 'Kalends', i.e. the 9-10 days before the 'Kalend' of the next month and new year in March). Formatting Republican Roman dates numerically is not a big issue, but formatting them in plain text requires subdividing the month into 3 periods, the third one beoing counted backward in reference to the next month that must be named instead of the name of the current month....

Note that days are counted starting at midday in the Julian and Roman calendars (so the 24-hour notation makes little sense in those calendars!) and some minutes after the fall of the sun in traditional Semitic calendars (the exact time is variable and depends on seasons and locations, the date changes normally when the light becomes insufficient to allow the distinction between a single white thread and a single black thread of textile, i.e. when the Sun is about 5 degrees below the horizon, due to the refraction through the atmosphere: this time occurs after the very short "green ray" that is only visible by reflection on the upper atmosphere id there's no clouds, 2-3 degrees above the horizon, after the sun is already invisible).

comment:12 Changed 7 years ago by guest

sent reply 2

comment:13 Changed 7 years ago by verdy_p(at)wanadoo.fr

(Guest Reply)

Note that the 60-years cycle (stem and branch) is not unique to the traditional Chinese calendar. It also exists in other countries with Buddhist traditions, including in India, for several of its calendars.
I don't know where the literal 'x' comes from in the notation "yy'x'G" where "G" is the cycle number and "y", "yy", and even "yyyy" will display only the year in the current 60-years cycle.
If "yyyy" is suposed to show the full year, it should not display just the position of the year in the year cycle, but also the cycle number, currently in "G". Anyway the "x" literal is localisable so this is not a real problem. However the root should preferably use a consistant order for date elements: from the largest to the smallest, so "yy'x'G" seems incorrect for the default, as it does not allow sorting years correctly (all cycles will be merged together in a list of dates spanning several cycles represented by the era)
Shouldn't it be instead "G'x'yy" ?

Finally I would like to suggest that in the notation "MMl" or "Ml" or even "LLl" or "Ll" the preence of the "l" just acts as a flag modifying the display for the fully qualified month name instead of just the month number (or abbreviation or names) The actual position of the "mark" will depend on how each fully qualified month names is localized individually (and it won't necessarily be after or before but it may completely change the name or abbreviation.)

comment:14 Changed 7 years ago by guest

sent reply 3

comment:15 Changed 7 years ago by verdy_p(at)wanadoo.fr

(Guest Reply)

The stem and branch system is also part of a more general numeric system that is not used just for months. It is used for various astronomical measures, or for the measure of angles and in geography or on Chinese compasses for the navigation (instead of degrees or the Western 4 cardinal orientations) to refer to sectors centered on the associated angles. it is also associated with the Yin and Yang system (Stems are alternating Yn and Yang, as well as Branches; Stems and Branchs or necessarily of the same Yin or Yang type).

So they really defined a complete numeric system; for "naming" the years they are in fact used cinsistantly for their numeric value in the 60 year cycle that defines the Chinese eras.

This stem and branch system is also used for the 12 months of the year, for the time of the day, for the days in months, for the says in 10-days "weeks"...

I don't think that this should be set in CLDR in a restricted way that can apply only to years. For this reason, you could as well define only ageneric flag (like %) to indicate that a month number will be formated with this branch-and-stem system, and that could be added to any other date element written after it.

The specification of branch-&-stem elements and their localisation would then go outside of date formats, and could be reused in several calendars sharing the same names for them.

comment:16 Changed 7 years ago by guest

sent reply 4

comment:17 Changed 7 years ago by pedberg

changed notes2

comment:18 Changed 6 years ago by pedberg

changed notes2

comment:19 Changed 6 years ago by pedberg

  • Weeks set to 1

comment:20 Changed 6 years ago by pedberg

  • Xref changed from 1335 1337 to 1335, 1337, 2430
  • Description modified (diff)

comment:21 Changed 6 years ago by pedberg

  • Xref changed from 1335, 1337, 2430 to 1335, 1337, 2430, 2558

See also cldrbug 2558:

comment:22 Changed 6 years ago by pedberg

  • Milestone changed from 1.8 to 1.9

comment:23 Changed 5 years ago by pedberg

  • Milestone changed from 1.9RC to 2.0m1

comment:24 Changed 5 years ago by pedberg

  • Milestone changed from 2.0m1 to 2.0

comment:25 Changed 4 years ago by pedberg

  • Milestone changed from 2.0 to 2.1m1

comment:26 Changed 4 years ago by pedberg

  • Status changed from new to accepted
  • Milestone changed from 21m1 to 21m2

comment:27 Changed 4 years ago by pedberg

  • Status changed from accepted to closed
  • Xref changed from 1335, 1337, 2430, 2558 to 1335, 1337, 2430, 2558, 4230
  • Resolution set to duplicate

See the new proposal in
https://sites.google.com/site/cldr/development/development-process/design-proposals/chinese-calendar-support?pli=1

Per that proposal, the new CLDR bugs for Chinese calendar support (including the intercalary marker) are cldrbug 4230:, cldrbug 4231:, and cldrbug 4232:. This bug is now superseded by cldrbug 4230: (which addresses the intercalary marker).

View

Add a comment

Modify Ticket

Action
as closed
The ticket will be disowned. The resolution will be deleted. Next status will be 'new'
Next status will be 'closed'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.