New tests.
[mono.git] / tools / locale-builder / README
1 * purpose
2
3         This tool is to generate globalization information from Unicode CLDR, with some changes
4         to fill the gap between .NET(Windows)-ism and the global standard.
5
6 * input resources
7
8         There is only an external resource: unicode CLDR. I used version 1.7, the latest one as of
9         May, 2009:
10         http://unicode.org/Public/cldr/1.7.0/core.zip
11
12         There is a couple of extra mono resources included in this directory:
13         - lcids.xml for LCIDs.
14         - textinfos.xml for TextInfo.
15         - supplementalData.xml and supp/*.xml for .NET(Windows)-ism fixup.
16
17 * generated file
18
19         culture-info-table.h contains the following sections:
20
21         - datetime_format_entries
22           See DateTimeFormatEntry.AppendTableRow() in DateTimeFormatEntry.cs.
23         - number_format_entries
24           See NumberFormatEntry.AppendTableRow() in NumberFormatEntry.cs.
25         - culture_entries
26           See CultureInfoEntry.AppendTableRow() in CultureInfoEntry.cs.
27         - culture_name_entries
28           See Driver.Run() in Driver.cs.
29         - region_entries
30           See RegionInfoEntry.AppendTableRow() in RegionInfoEntry.cs.
31         - region_name_entries
32           See Driver.Run() in Driver.cs.
33         - locale_strings
34           See Driver.Run() in Driver.cs.
35
36         In each entry, strings are extracted to locale_strings table, and in each structure they are
37         represented as an index to the string.
38
39 * updating the data
40
41         Currently, when we need to fix or update data, we need to modify or
42         add the proper file in the supp directory (if it's a new file it must be added
43         in Makefile.am as well to supp_data_files).
44         To create the files used by the runtime after an update, run:
45                 make culture-table
46                 make install-culture-table
47         At the start of Makefile.am there are additional instructions for specific builds.
48