Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMarek Safar <marek.safar@gmail.com>2013-03-26 22:17:10 +0400
committerMarek Safar <marek.safar@gmail.com>2013-03-26 22:18:55 +0400
commit888e9acdbb5360c9522a032e67b62ae13e65f1c3 (patch)
tree3b464acb075a59d32fe1f09905c07202b29166d3 /tools
parent0b62a137ab85ab36bb200c8e1024f4ac391553a6 (diff)
Update number separators for mexican and similar locales. Fixes #8084
Diffstat (limited to 'tools')
-rw-r--r--tools/locale-builder/Driver.cs26
1 files changed, 25 insertions, 1 deletions
diff --git a/tools/locale-builder/Driver.cs b/tools/locale-builder/Driver.cs
index 0cbf1101499..11b0980667b 100644
--- a/tools/locale-builder/Driver.cs
+++ b/tools/locale-builder/Driver.cs
@@ -71,6 +71,7 @@ namespace Mono.Tools.LocaleBuilder
List<CultureInfoEntry> cultures;
Dictionary<string, string> region_currency;
Dictionary<string, string> currency_fractions;
+ Dictionary<string, string> extra_parent_locales;
// The lang is the language that display names will be displayed in
public string Lang
@@ -261,6 +262,19 @@ namespace Mono.Tools.LocaleBuilder
region_currency.Add (entry.Attributes["iso3166"].Value, child.Attributes["iso4217"].Value);
}
+ // Parent locales
+ extra_parent_locales = new Dictionary<string, string> (StringComparer.OrdinalIgnoreCase);
+ foreach (XmlNode entry in supplemental.SelectNodes ("supplementalData/parentLocales/parentLocale")) {
+ var parent = entry.Attributes["parent"].Value;
+
+ if (parent == "root")
+ continue;
+
+ var locales = entry.Attributes["locales"].Value;
+ foreach (var locale in locales.Split (' '))
+ extra_parent_locales.Add (locale, parent);
+ }
+
var lcdids = GetXmlDocument ("lcids.xml");
foreach (XmlNode lcid in lcdids.SelectNodes ("lcids/lcid")) {
var name = lcid.Attributes["name"].Value;
@@ -837,7 +851,17 @@ namespace Mono.Tools.LocaleBuilder
fname += part;
- var xml = GetXmlDocument (Path.Combine (data_root, "main", fname + ".xml"));
+ XmlDocument xml;
+ string extra;
+ if (extra_parent_locales.TryGetValue (fname, out extra)) {
+ xml = GetXmlDocument (Path.Combine (data_root, "main", extra + ".xml"));
+ if (doc == null)
+ doc = xml;
+
+ Import (xml, data);
+ }
+
+ xml = GetXmlDocument (Path.Combine (data_root, "main", fname + ".xml"));
if (doc == null)
doc = xml;