Aleksey Kliger (λgeek) b3ce259316 Make install-culture-table write to mono/culture/ (#20124) 5 년 전
..
CLDR 23b8f10cb8 Update locale tables - add Tatar CLDR files tt.xml and tt_RU.xml (Fixes #18524) (#18525) 6 년 전
tests 22f03e5a22 Update locale builder tool 13 년 전
.gitattributes b293948fb7 EOL handling 15 년 전
.gitignore 2e290094d7 Update locale builder tool 13 년 전
CalendarType.cs 22f03e5a22 Update locale builder tool 13 년 전
Constants.cs 5937d3a70c [corlib] DateTimeFormatInfo and friends from reference sources 11 년 전
CultureInfoEntry.cs ff631b91cc Extract CurrencyDecimalDigits using currency and not territory info. Fixes #15895 12 년 전
DateTimeFormatEntry.cs d0b9c5ebbb [corlib] Update list of known lcids and update CLRD data. Fixes #46456 9 년 전
Driver.cs 23b8f10cb8 Update locale tables - add Tatar CLDR files tt.xml and tt_RU.xml (Fixes #18524) (#18525) 6 년 전
Entry.cs d0b9c5ebbb [corlib] Update list of known lcids and update CLRD data. Fixes #46456 9 년 전
Makefile.am b3ce259316 Make install-culture-table write to mono/culture/ (#20124) 5 년 전
NumberFormatEntry.cs d5be7eb756 [corlib] Update more decimal separators. Further fixes for #17615 10 년 전
Patterns.cs 4a1c47f4bd [corlib] Update culture data. Fixes #53334 9 년 전
README d0b9c5ebbb [corlib] Update list of known lcids and update CLRD data. Fixes #46456 9 년 전
RegionInfoEntry.cs 2e290094d7 Update locale builder tool 13 년 전
TextInfoEntry.cs 2e290094d7 Update locale builder tool 13 년 전
lcids.xml d0b9c5ebbb [corlib] Update list of known lcids and update CLRD data. Fixes #46456 9 년 전

README

* purpose

This tool is to generate globalization information from Unicode CLDR, with some changes
to fill the gap between .NET(Windows)-ism and the global standard.

* input resources

There is only an external resource: unicode CLDR. It can be downloaded from
http://www.unicode.org/Public/cldr/

CLDR specificatin can be found at http://www.unicode.org/reports/tr35/

All content has to me extracted into CLDR folder. The latest version used is 30.0.2.

There is an extra mono resource included in this directory called lcids.xml for LCIDs. It's
extracted from National Language Support (NLS) API Reference.
http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx

* generated file

culture-info-table.h contains the following sections:

- datetime_format_entries
See DateTimeFormatEntry.AppendTableRow() in DateTimeFormatEntry.cs.
- number_format_entries
See NumberFormatEntry.AppendTableRow() in NumberFormatEntry.cs.
- culture_entries
See CultureInfoEntry.AppendTableRow() in CultureInfoEntry.cs.
- culture_name_entries
See Driver.Run() in Driver.cs.
- region_entries
See RegionInfoEntry.AppendTableRow() in RegionInfoEntry.cs.
- region_name_entries
See Driver.Run() in Driver.cs.
- locale_strings
See Driver.Run() in Driver.cs.

In each entry, strings are extracted to locale_strings table, and in each structure they are
represented as an index to the string.

* updating the data

Update Makefile.am to get the latest CLDR data. However, CLDR is not complete and
it's missing data for many rarely used cultures. In such cases we provide empty value
but when someone has the knowleadge what the values should be it's recommended to
use online CLDR tool to fill the data gap.

To create the files used by the runtime after an update, run:
make culture-table
make install-culture-table

At the start of Makefile.am there are additional instructions for specific builds.