Marius Ungureanu 32318db8cf Fixup to ef94fbfd9c93ea5702e0a855bc01104217c75fa4 %!s(int64=11) %!d(string=hai) anos
..
CLDR 200682ac78 Update CLDR to version 2.4. Fixes #17615 %!s(int64=12) %!d(string=hai) anos
tests 22f03e5a22 Update locale builder tool %!s(int64=13) %!d(string=hai) anos
.gitattributes b293948fb7 EOL handling %!s(int64=15) %!d(string=hai) anos
.gitignore 2e290094d7 Update locale builder tool %!s(int64=13) %!d(string=hai) anos
CalendarType.cs 22f03e5a22 Update locale builder tool %!s(int64=13) %!d(string=hai) anos
ChangeLog 7a82f197cc 2010-05-07 Marek Habersack <[email protected]> %!s(int64=15) %!d(string=hai) anos
Constants.cs 22f03e5a22 Update locale builder tool %!s(int64=13) %!d(string=hai) anos
CultureInfoEntry.cs ff631b91cc Extract CurrencyDecimalDigits using currency and not territory info. Fixes #15895 %!s(int64=12) %!d(string=hai) anos
DateTimeFormatEntry.cs 2e290094d7 Update locale builder tool %!s(int64=13) %!d(string=hai) anos
Driver.cs 32318db8cf Fixup to ef94fbfd9c93ea5702e0a855bc01104217c75fa4 %!s(int64=11) %!d(string=hai) anos
Entry.cs 2e290094d7 Update locale builder tool %!s(int64=13) %!d(string=hai) anos
Makefile.am 200682ac78 Update CLDR to version 2.4. Fixes #17615 %!s(int64=12) %!d(string=hai) anos
NumberFormatEntry.cs f52f10ef4f Add localized infinity symbols. Fixes #9052 %!s(int64=13) %!d(string=hai) anos
Patterns.cs 65f5704a2c [corlib] Update datetime patters. Fixes #17044 %!s(int64=12) %!d(string=hai) anos
README f406340a9d Flush documentation update %!s(int64=13) %!d(string=hai) anos
RegionInfoEntry.cs 2e290094d7 Update locale builder tool %!s(int64=13) %!d(string=hai) anos
TextInfoEntry.cs 2e290094d7 Update locale builder tool %!s(int64=13) %!d(string=hai) anos
lcids.xml 2e290094d7 Update locale builder tool %!s(int64=13) %!d(string=hai) anos
locale-builder.csproj 0f49fd1f6a Fix default infinity symbol to match closely .net %!s(int64=13) %!d(string=hai) anos

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 21.

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.