MediaWiki's date formatter can easily generates non-Gregorian calendars output.
This is a copy of the related parts of the documentation:
| Non-Gregorian calendars |
|
| Islamic |
|
| xmj |
Day of the month |
| xmF |
Full month name |
| xmn |
Month index |
| xmY |
Full year |
| Iranian (Jalaly) |
|
| xij |
Day of the month |
| xiF |
Full month name |
| xin |
Month index |
| xiY |
Full year |
| xiy |
2-digit year |
| Hebrew |
|
| xjj |
Day of the month |
| xjF |
Full month name |
| xjt |
Number of days in month |
| xjx |
Genitive form of the month name |
| xjn |
Month number |
| xjY |
Full year |
| Thai solar |
|
| xkY |
Full year |
| Minguo/Juche year |
|
| xoY |
Full year |
| Japanese nengo |
|
| xtY |
Full year |
With considering this and an example calendar algorithm from MediaWiki, this is my proposal:
- Define a separate folder/script inside moment.js project for actual calendar algorithm implementation (
xij, xiF, . . .) but don't include that on moment.js core
- Original modules of extension calendars should just include the English translation and locales modules which handle the translation of needed calendars for a locale. A fallback to English (which provided by the algorithm itself) should be done also when translation is not available on a specific locale module
- Locale module should define their default date format with their related calendars
- Similar to MediaWiki date format convention, what available on above table (or same moment-jalaali?)
With this design, using Iranian calendar on English and Gregorian calendar on Persian for example [both use-cases are important] would be easy.
I think if we decide about a design, implementing the needed change will be easier.
globalize also has support of Persian calendar for example.
Thank you and sorry about spell/grammar/facts errors available
MediaWiki's date formatter can easily generates non-Gregorian calendars output.
This is a copy of the related parts of the documentation:
With considering this and an example calendar algorithm from MediaWiki, this is my proposal:
xij,xiF, . . .) but don't include that on moment.js coreWith this design, using Iranian calendar on English and Gregorian calendar on Persian for example [both use-cases are important] would be easy.
I think if we decide about a design, implementing the needed change will be easier.
globalize also has support of Persian calendar for example.
Thank you and sorry about spell/grammar/facts errors available