*

Just add it to Qt, if it is useful. I don't think

we should accept obsolete, fictional, or similar calendars, but if your

proposal of Chinese Lunar calendar actually has uses, we should simply have it

in QtCore.

*
*

Agree! Chinese lunar calendar is widely used in mainland China and

all major calendar application like Google Calendar and Outlook both

support set Chinese lunar calendar as alternate calendar system to

make the date display under the main calendar, so I guess it could

be great to get Chinese calendar support directly from QtCore :)

*
*

Actually the reason I wish there is a public API to add custom calendar

system is because implement a Chinese calendar system from scratch seems

not be a very simple work to do, if the goal is do a quick implementation

for my need, then I could just use other libraries which already support

Chinese calendar system and use that to implement the Qt APIs. ICU

already supports Chinese calendar and I am using ICU currently. It

could be good if we can push such support into Qt (and KDE) but obviously

we'll need a clean implementation than a random dirty-but-works one.

*
*

The question there is where we'd get the l10n data in the first place. Is it

in ICU?

*
*

Sadly the localized day name isn't in ICU. I found there is a proposal in CLDR [1]

but seems not get approved/implemented yet. ICU do support get the Cyclic

year name, though.

*
*

To get a chinese calendar instance from ICU for testing, we can use the following

code:

*
*

Locale locale("en_US", 0, 0, "calendar=chinese");

UErrorCode errorCode = U_ZERO_ERROR;

m_cal = Calendar::createInstance(TimeZone::createTimeZone("GMT+8:00"), locale, errorCode);

*
*

Then `SimpleDateFormat` can be used to get localized strings, "U" can be used

**

for Cyclic year name for example [2], but there are no patterns for getting a localized

**

day name at this moment.

*
*

Since the initial goal is adding Alternate Calendar display support for KDE, I

did a test repo which uses ICU4C for Chinese calendar system support to create

the KDE applet [3]. The code may be useful to do some quick tests.

*
**
*

[1]: http://cldr.unicode.org/development/development-process/design-proposals/chinese-calendar-support

[2]: https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1SimpleDateFormat.html#details

[3]: https://github.com/BLumia/pineapple-calendar

*

_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to