提交 55983072 编写于 作者: A andrew

8040211: Update LSR datafile for BCP 47

Reviewed-by: okutsu, peytoia
上级 e7c56a5f
/* /*
* Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -43,12 +43,16 @@ final class LocaleEquivalentMaps { ...@@ -43,12 +43,16 @@ final class LocaleEquivalentMaps {
regionVariantEquivMap = new HashMap<>(); regionVariantEquivMap = new HashMap<>();
// This is an auto-generated file and should not be manually edited. // This is an auto-generated file and should not be manually edited.
// LSR Revision: 2013-09-23 // LSR Revision: 2016-02-10
singleEquivMap.put("aam", "aas");
singleEquivMap.put("aas", "aam");
singleEquivMap.put("acn", "xia"); singleEquivMap.put("acn", "xia");
singleEquivMap.put("adp", "dz");
singleEquivMap.put("adx", "pcr"); singleEquivMap.put("adx", "pcr");
singleEquivMap.put("ami", "i-ami"); singleEquivMap.put("ami", "i-ami");
singleEquivMap.put("art-lojban", "jbo"); singleEquivMap.put("art-lojban", "jbo");
singleEquivMap.put("ase", "sgn-us"); singleEquivMap.put("ase", "sgn-us");
singleEquivMap.put("aue", "ktz");
singleEquivMap.put("ayx", "nun"); singleEquivMap.put("ayx", "nun");
singleEquivMap.put("bfi", "sgn-gb"); singleEquivMap.put("bfi", "sgn-gb");
singleEquivMap.put("bjd", "drl"); singleEquivMap.put("bjd", "drl");
...@@ -67,12 +71,17 @@ final class LocaleEquivalentMaps { ...@@ -67,12 +71,17 @@ final class LocaleEquivalentMaps {
singleEquivMap.put("drl", "bjd"); singleEquivMap.put("drl", "bjd");
singleEquivMap.put("dse", "sgn-nl"); singleEquivMap.put("dse", "sgn-nl");
singleEquivMap.put("dsl", "sgn-dk"); singleEquivMap.put("dsl", "sgn-dk");
singleEquivMap.put("dz", "adp");
singleEquivMap.put("ema", "uok");
singleEquivMap.put("en-gb-oed", "en-gb-oxendict");
singleEquivMap.put("en-gb-oxendict", "en-gb-oed");
singleEquivMap.put("fsl", "sgn-fr"); singleEquivMap.put("fsl", "sgn-fr");
singleEquivMap.put("gal", "ilw"); singleEquivMap.put("gal", "ilw");
singleEquivMap.put("gan", "zh-gan"); singleEquivMap.put("gan", "zh-gan");
singleEquivMap.put("gav", "dev"); singleEquivMap.put("gav", "dev");
singleEquivMap.put("gsg", "sgn-de"); singleEquivMap.put("gsg", "sgn-de");
singleEquivMap.put("gss", "sgn-gr"); singleEquivMap.put("gss", "sgn-gr");
singleEquivMap.put("gti", "nyc");
singleEquivMap.put("he", "iw"); singleEquivMap.put("he", "iw");
singleEquivMap.put("hle", "sca"); singleEquivMap.put("hle", "sca");
singleEquivMap.put("hrr", "jal"); singleEquivMap.put("hrr", "jal");
...@@ -102,28 +111,46 @@ final class LocaleEquivalentMaps { ...@@ -102,28 +111,46 @@ final class LocaleEquivalentMaps {
singleEquivMap.put("kgh", "kml"); singleEquivMap.put("kgh", "kml");
singleEquivMap.put("khk", "drh"); singleEquivMap.put("khk", "drh");
singleEquivMap.put("kml", "kgh"); singleEquivMap.put("kml", "kgh");
singleEquivMap.put("koj", "kwv");
singleEquivMap.put("ktz", "aue");
singleEquivMap.put("kwq", "yam");
singleEquivMap.put("kwv", "koj");
singleEquivMap.put("kxe", "tvd");
singleEquivMap.put("lb", "i-lux"); singleEquivMap.put("lb", "i-lux");
singleEquivMap.put("lcq", "ppr"); singleEquivMap.put("lcq", "ppr");
singleEquivMap.put("lii", "raq");
singleEquivMap.put("lmm", "rmx");
singleEquivMap.put("lrr", "yma"); singleEquivMap.put("lrr", "yma");
singleEquivMap.put("meg", "cir"); singleEquivMap.put("meg", "cir");
singleEquivMap.put("mfs", "sgn-mx"); singleEquivMap.put("mfs", "sgn-mx");
singleEquivMap.put("mo", "ro"); singleEquivMap.put("mo", "ro");
singleEquivMap.put("mom", "cjr"); singleEquivMap.put("mom", "cjr");
singleEquivMap.put("mtm", "ymt");
singleEquivMap.put("nan", "zh-min-nan"); singleEquivMap.put("nan", "zh-min-nan");
singleEquivMap.put("nb", "no-bok"); singleEquivMap.put("nb", "no-bok");
singleEquivMap.put("ncs", "sgn-ni"); singleEquivMap.put("ncs", "sgn-ni");
singleEquivMap.put("ngv", "nnx");
singleEquivMap.put("nn", "no-nyn"); singleEquivMap.put("nn", "no-nyn");
singleEquivMap.put("nnx", "ngv");
singleEquivMap.put("no-bok", "nb"); singleEquivMap.put("no-bok", "nb");
singleEquivMap.put("no-nyn", "nn"); singleEquivMap.put("no-nyn", "nn");
singleEquivMap.put("nsl", "sgn-no"); singleEquivMap.put("nsl", "sgn-no");
singleEquivMap.put("nun", "ayx"); singleEquivMap.put("nun", "ayx");
singleEquivMap.put("nv", "i-navajo"); singleEquivMap.put("nv", "i-navajo");
singleEquivMap.put("nyc", "gti");
singleEquivMap.put("opa", "ibi"); singleEquivMap.put("opa", "ibi");
singleEquivMap.put("oyb", "thx");
singleEquivMap.put("pcr", "adx"); singleEquivMap.put("pcr", "adx");
singleEquivMap.put("phr", "pmu");
singleEquivMap.put("pmu", "phr");
singleEquivMap.put("ppr", "lcq"); singleEquivMap.put("ppr", "lcq");
singleEquivMap.put("psr", "sgn-pt"); singleEquivMap.put("psr", "sgn-pt");
singleEquivMap.put("pub", "puz");
singleEquivMap.put("puz", "pub");
singleEquivMap.put("pwn", "i-pwn"); singleEquivMap.put("pwn", "i-pwn");
singleEquivMap.put("raq", "lii");
singleEquivMap.put("ras", "tie"); singleEquivMap.put("ras", "tie");
singleEquivMap.put("rmx", "lmm");
singleEquivMap.put("ro", "mo"); singleEquivMap.put("ro", "mo");
singleEquivMap.put("sca", "hle"); singleEquivMap.put("sca", "hle");
singleEquivMap.put("sfb", "sgn-be-fr"); singleEquivMap.put("sfb", "sgn-be-fr");
...@@ -152,24 +179,35 @@ final class LocaleEquivalentMaps { ...@@ -152,24 +179,35 @@ final class LocaleEquivalentMaps {
singleEquivMap.put("sgn-us", "ase"); singleEquivMap.put("sgn-us", "ase");
singleEquivMap.put("sgn-za", "sfs"); singleEquivMap.put("sgn-za", "sfs");
singleEquivMap.put("ssp", "sgn-es"); singleEquivMap.put("ssp", "sgn-es");
singleEquivMap.put("suj", "xsj");
singleEquivMap.put("swl", "sgn-se"); singleEquivMap.put("swl", "sgn-se");
singleEquivMap.put("taj", "tsf");
singleEquivMap.put("tao", "i-tao"); singleEquivMap.put("tao", "i-tao");
singleEquivMap.put("tay", "i-tay"); singleEquivMap.put("tay", "i-tay");
singleEquivMap.put("thx", "oyb");
singleEquivMap.put("tie", "ras"); singleEquivMap.put("tie", "ras");
singleEquivMap.put("tkk", "twm"); singleEquivMap.put("tkk", "twm");
singleEquivMap.put("tlh", "i-klingon"); singleEquivMap.put("tlh", "i-klingon");
singleEquivMap.put("tlw", "weo"); singleEquivMap.put("tlw", "weo");
singleEquivMap.put("tsf", "taj");
singleEquivMap.put("tsu", "i-tsu"); singleEquivMap.put("tsu", "i-tsu");
singleEquivMap.put("tvd", "kxe");
singleEquivMap.put("twm", "tkk"); singleEquivMap.put("twm", "tkk");
singleEquivMap.put("uok", "ema");
singleEquivMap.put("vgt", "sgn-be-nl"); singleEquivMap.put("vgt", "sgn-be-nl");
singleEquivMap.put("weo", "tlw"); singleEquivMap.put("weo", "tlw");
singleEquivMap.put("wuu", "zh-wuu"); singleEquivMap.put("wuu", "zh-wuu");
singleEquivMap.put("xch", "cmk"); singleEquivMap.put("xch", "cmk");
singleEquivMap.put("xia", "acn"); singleEquivMap.put("xia", "acn");
singleEquivMap.put("xsj", "suj");
singleEquivMap.put("yam", "kwq");
singleEquivMap.put("yi", "ji"); singleEquivMap.put("yi", "ji");
singleEquivMap.put("yma", "lrr"); singleEquivMap.put("yma", "lrr");
singleEquivMap.put("ymt", "mtm");
singleEquivMap.put("yos", "zom"); singleEquivMap.put("yos", "zom");
singleEquivMap.put("yue", "zh-yue"); singleEquivMap.put("yue", "zh-yue");
singleEquivMap.put("yug", "yuu");
singleEquivMap.put("yuu", "yug");
singleEquivMap.put("zh-cmn-hans", "cmn-hans"); singleEquivMap.put("zh-cmn-hans", "cmn-hans");
singleEquivMap.put("zh-cmn-hant", "cmn-hant"); singleEquivMap.put("zh-cmn-hant", "cmn-hant");
singleEquivMap.put("zh-gan", "gan"); singleEquivMap.put("zh-gan", "gan");
...@@ -182,14 +220,18 @@ final class LocaleEquivalentMaps { ...@@ -182,14 +220,18 @@ final class LocaleEquivalentMaps {
multiEquivsMap.put("ccq", new String[] {"rki", "ybd"}); multiEquivsMap.put("ccq", new String[] {"rki", "ybd"});
multiEquivsMap.put("cmn", new String[] {"zh-guoyu", "zh-cmn"}); multiEquivsMap.put("cmn", new String[] {"zh-guoyu", "zh-cmn"});
multiEquivsMap.put("drw", new String[] {"prs", "tnf"}); multiEquivsMap.put("drw", new String[] {"prs", "tnf"});
multiEquivsMap.put("gfx", new String[] {"vaj", "mwj", "oun"});
multiEquivsMap.put("hak", new String[] {"i-hak", "zh-hakka"}); multiEquivsMap.put("hak", new String[] {"i-hak", "zh-hakka"});
multiEquivsMap.put("i-hak", new String[] {"hak", "zh-hakka"}); multiEquivsMap.put("i-hak", new String[] {"hak", "zh-hakka"});
multiEquivsMap.put("mry", new String[] {"mst", "myt"}); multiEquivsMap.put("mry", new String[] {"mst", "myt"});
multiEquivsMap.put("mst", new String[] {"mry", "myt"}); multiEquivsMap.put("mst", new String[] {"mry", "myt"});
multiEquivsMap.put("mwj", new String[] {"vaj", "gfx", "oun"});
multiEquivsMap.put("myt", new String[] {"mry", "mst"}); multiEquivsMap.put("myt", new String[] {"mry", "mst"});
multiEquivsMap.put("oun", new String[] {"vaj", "gfx", "mwj"});
multiEquivsMap.put("prs", new String[] {"drw", "tnf"}); multiEquivsMap.put("prs", new String[] {"drw", "tnf"});
multiEquivsMap.put("rki", new String[] {"ccq", "ybd"}); multiEquivsMap.put("rki", new String[] {"ccq", "ybd"});
multiEquivsMap.put("tnf", new String[] {"prs", "drw"}); multiEquivsMap.put("tnf", new String[] {"prs", "drw"});
multiEquivsMap.put("vaj", new String[] {"gfx", "mwj", "oun"});
multiEquivsMap.put("ybd", new String[] {"rki", "ccq"}); multiEquivsMap.put("ybd", new String[] {"rki", "ccq"});
multiEquivsMap.put("zh-cmn", new String[] {"cmn", "zh-guoyu"}); multiEquivsMap.put("zh-cmn", new String[] {"cmn", "zh-guoyu"});
multiEquivsMap.put("zh-guoyu", new String[] {"cmn", "zh-cmn"}); multiEquivsMap.put("zh-guoyu", new String[] {"cmn", "zh-cmn"});
......
/*
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 8040211
* @summary Checks the IANA language subtag registry data updation
* (LSR Revision: 2016-02-10) with Locale and Locale.LanguageRange
* class methods.
* @run main Bug8040211
*/
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Locale;
import java.util.List;
import java.util.Locale.LanguageRange;
import java.util.Locale.FilteringMode;
import static java.util.Locale.FilteringMode.EXTENDED_FILTERING;
public class Bug8040211 {
static boolean err = false;
public static void main(String[] args) {
testLanguageRange();
testLocale();
if (err) {
throw new RuntimeException("Failed.");
}
}
private static void testLanguageRange() {
System.out.println("Test LanguageRange class parse method...");
test_parse();
}
private static void testLocale() {
System.out.println("Test Locale class methods...");
test_filter();
test_filterTags();
test_lookup();
test_lookupTag();
}
private static void test_parse() {
boolean error = false;
String str = "Accept-Language: aam, adp, aue, ema, en-gb-oed,"
+ " gti, koj, kwq, kxe, lii, lmm, mtm, ngv, oyb, phr, pub,"
+ " suj, taj;q=0.9, yug;q=0.5, gfx;q=0.4";
ArrayList<LanguageRange> expected = new ArrayList<>();
expected.add(new LanguageRange("aam", 1.0));
expected.add(new LanguageRange("aas", 1.0));
expected.add(new LanguageRange("adp", 1.0));
expected.add(new LanguageRange("dz", 1.0));
expected.add(new LanguageRange("aue", 1.0));
expected.add(new LanguageRange("ktz", 1.0));
expected.add(new LanguageRange("ema", 1.0));
expected.add(new LanguageRange("uok", 1.0));
expected.add(new LanguageRange("en-gb-oed", 1.0));
expected.add(new LanguageRange("en-gb-oxendict", 1.0));
expected.add(new LanguageRange("gti", 1.0));
expected.add(new LanguageRange("nyc", 1.0));
expected.add(new LanguageRange("koj", 1.0));
expected.add(new LanguageRange("kwv", 1.0));
expected.add(new LanguageRange("kwq", 1.0));
expected.add(new LanguageRange("yam", 1.0));
expected.add(new LanguageRange("kxe", 1.0));
expected.add(new LanguageRange("tvd", 1.0));
expected.add(new LanguageRange("lii", 1.0));
expected.add(new LanguageRange("raq", 1.0));
expected.add(new LanguageRange("lmm", 1.0));
expected.add(new LanguageRange("rmx", 1.0));
expected.add(new LanguageRange("mtm", 1.0));
expected.add(new LanguageRange("ymt", 1.0));
expected.add(new LanguageRange("ngv", 1.0));
expected.add(new LanguageRange("nnx", 1.0));
expected.add(new LanguageRange("oyb", 1.0));
expected.add(new LanguageRange("thx", 1.0));
expected.add(new LanguageRange("phr", 1.0));
expected.add(new LanguageRange("pmu", 1.0));
expected.add(new LanguageRange("pub", 1.0));
expected.add(new LanguageRange("puz", 1.0));
expected.add(new LanguageRange("suj", 1.0));
expected.add(new LanguageRange("xsj", 1.0));
expected.add(new LanguageRange("taj", 0.9));
expected.add(new LanguageRange("tsf", 0.9));
expected.add(new LanguageRange("yug", 0.5));
expected.add(new LanguageRange("yuu", 0.5));
expected.add(new LanguageRange("gfx", 0.4));
expected.add(new LanguageRange("oun", 0.4));
expected.add(new LanguageRange("mwj", 0.4));
expected.add(new LanguageRange("vaj", 0.4));
List<LanguageRange> got = LanguageRange.parse(str);
if (!areEqual(expected, got)) {
error = true;
System.err.println(" language parse() test failed.");
}
if (error) {
err = true;
System.err.println(" test_parse() failed.");
} else {
System.out.println(" test_parse() passed.");
}
}
private static boolean areEqual(List<LanguageRange> expected,
List<LanguageRange> got) {
boolean error = false;
int expectedSize = expected.size();
int actualSize = got.size();
if (expectedSize != actualSize) {
error = true;
System.err.println(" Expected size=" + expectedSize);
for (LanguageRange lr : expected) {
System.err.println(" range=" + lr.getRange()
+ ", weight=" + lr.getWeight());
}
System.out.println(" Actual size=" + actualSize);
for (LanguageRange lr : got) {
System.err.println(" range=" + lr.getRange()
+ ", weight=" + lr.getWeight());
}
} else {
for (int i = 0; i < expectedSize; i++) {
LanguageRange lr1 = expected.get(i);
LanguageRange lr2 = got.get(i);
if (!lr1.getRange().equals(lr2.getRange())
|| lr1.getWeight() != lr2.getWeight()) {
error = true;
System.err.println(" " + i + ": Expected: range=" + lr1.getRange()
+ ", weight=" + lr1.getWeight());
System.err.println(" " + i + ": Actual: range=" + lr2.getRange()
+ ", weight=" + lr2.getWeight());
}
}
}
return !error;
}
private static void test_filter() {
boolean error = false;
String ranges = "mtm-RU, en-gb-oed";
String tags = "de-DE, en, mtm-RU, ymt-RU, en-gb-oxendict, ja-JP";
FilteringMode mode = EXTENDED_FILTERING;
List<LanguageRange> priorityList = LanguageRange.parse(ranges);
List<Locale> tagList = generateLocales(tags);
String actualLocales
= showLocales(Locale.filter(priorityList, tagList, mode));
String expectedLocales = "mtm-RU, ymt-RU, en-GB-oxendict";
if (!expectedLocales.equals(actualLocales)) {
error = true;
showErrorMessage("#1 filter(" + mode + ")",
ranges, tags, expectedLocales, actualLocales);
}
ranges = "phr-*-IN, ja-JP";
tags = "en, pmu-Guru-IN, ja-Latn-JP, iw";
mode = EXTENDED_FILTERING;
priorityList = LanguageRange.parse(ranges);
tagList = generateLocales(tags);
actualLocales = showLocales(Locale.filter(priorityList, tagList, mode));
expectedLocales = "pmu-Guru-IN, ja-Latn-JP";
if (!expectedLocales.equals(actualLocales)) {
error = true;
showErrorMessage("#2 filter(" + mode + ")",
ranges, tags, expectedLocales, actualLocales);
}
if (error) {
err = true;
System.out.println(" test_filter() failed.");
} else {
System.out.println(" test_filter() passed.");
}
}
private static void test_filterTags() {
boolean error = false;
String ranges = "gti;q=0.2, gfx";
String tags = "de-DE, gti, he, nyc, mwj, vaj";
List<LanguageRange> priorityList = LanguageRange.parse(ranges);
List<String> tagList = generateLanguageTags(tags);
String actualTags
= showLanguageTags(Locale.filterTags(priorityList, tagList));
String expectedTags = "mwj, vaj, gti, nyc";
if (!expectedTags.equals(actualTags)) {
error = true;
showErrorMessage("filterTags()",
ranges, tags, expectedTags, actualTags);
}
if (error) {
err = true;
System.out.println(" test_filterTags() failed.");
} else {
System.out.println(" test_filterTags() passed.");
}
}
private static void test_lookup() {
boolean error = false;
String ranges = "en;q=0.2, yam, rmx;q=0.9";
String tags = "de-DE, en, kwq, lmm";
List<LanguageRange> priorityList = LanguageRange.parse(ranges);
List<Locale> localeList = generateLocales(tags);
String actualLocale
= Locale.lookup(priorityList, localeList).toLanguageTag();
String expectedLocale = "kwq";
if (!expectedLocale.equals(actualLocale)) {
error = true;
showErrorMessage("lookup()", ranges, tags, expectedLocale, actualLocale);
}
if (error) {
err = true;
System.out.println(" test_lookup() failed.");
} else {
System.out.println(" test_lookup() passed.");
}
}
private static void test_lookupTag() {
boolean error = false;
String ranges = "en, tsf;q=0.2";
String tags = "es, ja-JP, taj";
List<LanguageRange> priorityList = LanguageRange.parse(ranges);
List<String> tagList = generateLanguageTags(tags);
String actualTag = Locale.lookupTag(priorityList, tagList);
String expectedTag = "taj";
if (!expectedTag.equals(actualTag)) {
error = true;
showErrorMessage("lookupTag()", ranges, tags, expectedTag, actualTag);
}
if (error) {
err = true;
System.out.println(" test_lookupTag() failed.");
} else {
System.out.println(" test_lookupTag() passed.");
}
}
private static List<Locale> generateLocales(String tags) {
if (tags == null) {
return null;
}
List<Locale> localeList = new ArrayList<>();
if (tags.equals("")) {
return localeList;
}
String[] t = tags.split(", ");
for (String tag : t) {
localeList.add(Locale.forLanguageTag(tag));
}
return localeList;
}
private static List<String> generateLanguageTags(String tags) {
List<String> tagList = new ArrayList<>();
String[] t = tags.split(", ");
for (String tag : t) {
tagList.add(tag);
}
return tagList;
}
private static String showLanguageTags(List<String> tags) {
StringBuilder sb = new StringBuilder();
Iterator<String> itr = tags.iterator();
if (itr.hasNext()) {
sb.append(itr.next());
}
while (itr.hasNext()) {
sb.append(", ");
sb.append(itr.next());
}
return sb.toString().trim();
}
private static String showLocales(List<Locale> locales) {
StringBuilder sb = new StringBuilder();
java.util.Iterator<Locale> itr = locales.iterator();
if (itr.hasNext()) {
sb.append(itr.next().toLanguageTag());
}
while (itr.hasNext()) {
sb.append(", ");
sb.append(itr.next().toLanguageTag());
}
return sb.toString().trim();
}
private static void showErrorMessage(String methodName,
String priorityList,
String tags,
String expectedTags,
String actualTags) {
System.out.println("\nIncorrect " + methodName + " result.");
System.out.println(" Priority list : " + priorityList);
System.out.println(" Language tags : " + tags);
System.out.println(" Expected value : " + expectedTags);
System.out.println(" Actual value : " + actualTags);
}
}
/* /*
* Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
* questions. * questions.
*/ */
import java.io.*;
import java.nio.charset.*; import java.nio.charset.*;
import java.nio.file.*; import java.nio.file.*;
import java.util.*; import java.util.*;
...@@ -156,13 +155,10 @@ public class EquivMapsGenerator { ...@@ -156,13 +155,10 @@ public class EquivMapsGenerator {
if (subtags.length == 2) { if (subtags.length == 2) {
sortedLanguageMap1.put(subtags[0], subtags[1]); sortedLanguageMap1.put(subtags[0], subtags[1]);
sortedLanguageMap1.put(subtags[1], subtags[0]); sortedLanguageMap1.put(subtags[1], subtags[0]);
} else if (subtags.length == 3) { } else if (subtags.length > 2) {
sortedLanguageMap2.put(subtags[0], for (int i = 0; i < subtags.length; i++) {
new String[]{subtags[1], subtags[2]}); sortedLanguageMap2.put(subtags[i], createLangArray(i, subtags));
sortedLanguageMap2.put(subtags[1], }
new String[]{subtags[0], subtags[2]});
sortedLanguageMap2.put(subtags[2],
new String[]{subtags[0], subtags[1]});
} else { } else {
throw new RuntimeException("New case, need implementation." throw new RuntimeException("New case, need implementation."
+ " A language subtag \"" + preferred + " A language subtag \"" + preferred
...@@ -191,8 +187,9 @@ public class EquivMapsGenerator { ...@@ -191,8 +187,9 @@ public class EquivMapsGenerator {
+ sortedLanguageMap2.size()); + sortedLanguageMap2.size());
for (String key : sortedLanguageMap2.keySet()) { for (String key : sortedLanguageMap2.keySet()) {
String[] s = sortedLanguageMap2.get(key); String[] s = sortedLanguageMap2.get(key);
System.out.println(" " + key + ": \"" if (s.length >= 2) {
+ s[0] + "\", \"" + s[1] + "\""); System.out.println(" " + key + ": " + generateValuesString(s) + "");
}
} }
System.out.println("\n Sorted map for region and variant subtags. Size=" System.out.println("\n Sorted map for region and variant subtags. Size="
...@@ -205,6 +202,30 @@ public class EquivMapsGenerator { ...@@ -205,6 +202,30 @@ public class EquivMapsGenerator {
System.out.println(); System.out.println();
} }
/* create the array of subtags excluding the subtag at index location */
private static String[] createLangArray(int index, String[] subtags) {
List<String> list = new ArrayList<>();
for (int i = 0; i < subtags.length; i++) {
if (i != index) {
list.add(subtags[i]);
}
}
return list.toArray(new String[list.size()]);
}
private static String generateValuesString(String[] values) {
String outputStr = "";
for (int i = 0; i < values.length; i++) {
if (i != values.length - 1) {
outputStr = outputStr + "\"" + values[i] + "\", ";
} else {
outputStr = outputStr + "\"" + values[i] + "\"";
}
}
return outputStr;
}
private final static String headerText = private final static String headerText =
"final class LocaleEquivalentMaps {\n\n" "final class LocaleEquivalentMaps {\n\n"
+ " static final Map<String, String> singleEquivMap;\n" + " static final Map<String, String> singleEquivMap;\n"
...@@ -232,9 +253,11 @@ public class EquivMapsGenerator { ...@@ -232,9 +253,11 @@ public class EquivMapsGenerator {
System.out.println(); System.out.println();
for (String key : sortedLanguageMap2.keySet()) { for (String key : sortedLanguageMap2.keySet()) {
String[] values = sortedLanguageMap2.get(key); String[] values = sortedLanguageMap2.get(key);
if (values.length >= 2) {
System.out.println(" multiEquivsMap.put(\"" System.out.println(" multiEquivsMap.put(\""
+ key + "\", new String[] {\"" + values[0] + "\", \"" + key + "\", new String[] {" + generateValuesString(values) + "});");
+ values[1] + "\"});"); }
} }
System.out.println(); System.out.println();
for (String key : sortedRegionVariantMap.keySet()) { for (String key : sortedRegionVariantMap.keySet()) {
......
File-Date: 2013-09-23 File-Date: 2016-02-10
%% %%
Type: language Type: language
Subtag: aa Subtag: aa
...@@ -1214,6 +1214,8 @@ Type: language ...@@ -1214,6 +1214,8 @@ Type: language
Subtag: aam Subtag: aam
Description: Aramanik Description: Aramanik
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: aas
%% %%
Type: language Type: language
Subtag: aan Subtag: aan
...@@ -1580,6 +1582,8 @@ Type: language ...@@ -1580,6 +1582,8 @@ Type: language
Subtag: adp Subtag: adp
Description: Adap Description: Adap
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: dz
%% %%
Type: language Type: language
Subtag: adq Subtag: adq
...@@ -1651,6 +1655,7 @@ Added: 2009-07-29 ...@@ -1651,6 +1655,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: aee Subtag: aee
Description: Northeast Pashai
Description: Northeast Pashayi Description: Northeast Pashayi
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -1744,6 +1749,7 @@ Added: 2005-10-16 ...@@ -1744,6 +1749,7 @@ Added: 2005-10-16
Type: language Type: language
Subtag: afi Subtag: afi
Description: Akrukay Description: Akrukay
Description: Chini
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -2734,6 +2740,7 @@ Added: 2009-07-29 ...@@ -2734,6 +2740,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: aot Subtag: aot
Description: Atong (India)
Description: A'tong Description: A'tong
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -2933,6 +2940,11 @@ Description: Arhâ ...@@ -2933,6 +2940,11 @@ Description: Arhâ
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: aqt
Description: Angaité
Added: 2014-02-28
%%
Type: language
Subtag: aqz Subtag: aqz
Description: Akuntsu Description: Akuntsu
Added: 2010-03-11 Added: 2010-03-11
...@@ -3252,7 +3264,7 @@ Added: 2009-07-29 ...@@ -3252,7 +3264,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: ato Subtag: ato
Description: Atong Description: Atong (Cameroon)
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -3334,6 +3346,8 @@ Type: language ...@@ -3334,6 +3346,8 @@ Type: language
Subtag: aue Subtag: aue
Description: =/Kx'au//'ein Description: =/Kx'au//'ein
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: ktz
%% %%
Type: language Type: language
Subtag: auf Subtag: auf
...@@ -4452,6 +4466,7 @@ Added: 2009-07-29 ...@@ -4452,6 +4466,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: bfc Subtag: bfc
Description: Panyi Bai
Description: Northern Bai Description: Northern Bai
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -5463,6 +5478,7 @@ Type: language ...@@ -5463,6 +5478,7 @@ Type: language
Subtag: bmy Subtag: bmy
Description: Bemba (Democratic Republic of Congo) Description: Bemba (Democratic Republic of Congo)
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
%% %%
Type: language Type: language
Subtag: bmz Subtag: bmz
...@@ -6832,6 +6848,7 @@ Type: language ...@@ -6832,6 +6848,7 @@ Type: language
Subtag: bxx Subtag: bxx
Description: Borna (Democratic Republic of Congo) Description: Borna (Democratic Republic of Congo)
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
%% %%
Type: language Type: language
Subtag: bxz Subtag: bxz
...@@ -6959,6 +6976,7 @@ Type: language ...@@ -6959,6 +6976,7 @@ Type: language
Subtag: byy Subtag: byy
Description: Buya Description: Buya
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
%% %%
Type: language Type: language
Subtag: byz Subtag: byz
...@@ -7292,6 +7310,12 @@ Description: Izora ...@@ -7292,6 +7310,12 @@ Description: Izora
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: cbq
Description: Tsucuba
Description: Cuba
Added: 2015-02-12
%%
Type: language
Subtag: cbr Subtag: cbr
Description: Cashibo-Cacataibo Description: Cashibo-Cacataibo
Added: 2009-07-29 Added: 2009-07-29
...@@ -9296,8 +9320,8 @@ Macrolanguage: mwr ...@@ -9296,8 +9320,8 @@ Macrolanguage: mwr
%% %%
Type: language Type: language
Subtag: dhg Subtag: dhg
Description: Djangu
Description: Dhangu Description: Dhangu
Description: Djangu
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -10320,6 +10344,7 @@ Type: language ...@@ -10320,6 +10344,7 @@ Type: language
Subtag: dzd Subtag: dzd
Description: Daza Description: Daza
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
%% %%
Type: language Type: language
Subtag: dze Subtag: dze
...@@ -10613,6 +10638,7 @@ Type: language ...@@ -10613,6 +10638,7 @@ Type: language
Subtag: emo Subtag: emo
Description: Emok Description: Emok
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2014-02-28
%% %%
Type: language Type: language
Subtag: emp Subtag: emp
...@@ -10676,6 +10702,11 @@ Description: Tundra Enets ...@@ -10676,6 +10702,11 @@ Description: Tundra Enets
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: enl
Description: Enlhet
Added: 2014-02-28
%%
Type: language
Subtag: enm Subtag: enm
Description: Middle English (1100-1500) Description: Middle English (1100-1500)
Added: 2005-10-16 Added: 2005-10-16
...@@ -10717,6 +10748,11 @@ Description: Enwan (Akwa Ibom State) ...@@ -10717,6 +10748,11 @@ Description: Enwan (Akwa Ibom State)
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: enx
Description: Enxet
Added: 2014-02-28
%%
Type: language
Subtag: eot Subtag: eot
Description: Beti (Côte d'Ivoire) Description: Beti (Côte d'Ivoire)
Added: 2009-07-29 Added: 2009-07-29
...@@ -10840,6 +10876,11 @@ Added: 2009-07-29 ...@@ -10840,6 +10876,11 @@ Added: 2009-07-29
Scope: collection Scope: collection
%% %%
Type: language Type: language
Subtag: esy
Description: Eskayan
Added: 2014-04-06
%%
Type: language
Subtag: etb Subtag: etb
Description: Etebi Description: Etebi
Added: 2009-07-29 Added: 2009-07-29
...@@ -11158,6 +11199,7 @@ Added: 2009-07-29 ...@@ -11158,6 +11199,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: fly Subtag: fly
Description: Flaaitaal
Description: Tsotsitaal Description: Tsotsitaal
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -11881,6 +11923,11 @@ Description: Geser-Gorom ...@@ -11881,6 +11923,11 @@ Description: Geser-Gorom
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: gev
Description: Eviya
Added: 2014-02-28
%%
Type: language
Subtag: gew Subtag: gew
Description: Gera Description: Gera
Added: 2009-07-29 Added: 2009-07-29
...@@ -11914,6 +11961,8 @@ Type: language ...@@ -11914,6 +11961,8 @@ Type: language
Subtag: gfx Subtag: gfx
Description: Mangetti Dune !Xung Description: Mangetti Dune !Xung
Added: 2012-08-12 Added: 2012-08-12
Deprecated: 2015-02-12
Preferred-Value: vaj
%% %%
Type: language Type: language
Subtag: gga Subtag: gga
...@@ -11966,7 +12015,7 @@ Subtag: ggr ...@@ -11966,7 +12015,7 @@ Subtag: ggr
Description: Aghu Tharnggalu Description: Aghu Tharnggalu
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2013-09-10 Deprecated: 2013-09-10
Comments: see ggm, gtu, ikr Comments: see gtu, ikr
%% %%
Type: language Type: language
Subtag: ggt Subtag: ggt
...@@ -12195,6 +12244,12 @@ Added: 2009-07-29 ...@@ -12195,6 +12244,12 @@ Added: 2009-07-29
Macrolanguage: kpe Macrolanguage: kpe
%% %%
Type: language Type: language
Subtag: gku
Description: ǂUngkue
Description: =/Ungkue
Added: 2015-02-12
%%
Type: language
Subtag: glc Subtag: glc
Description: Bon Gula Description: Bon Gula
Added: 2009-07-29 Added: 2009-07-29
...@@ -12206,6 +12261,7 @@ Added: 2009-07-29 ...@@ -12206,6 +12261,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: glh Subtag: glh
Description: Northwest Pashai
Description: Northwest Pashayi Description: Northwest Pashayi
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -12276,6 +12332,11 @@ Added: 2009-07-29 ...@@ -12276,6 +12332,11 @@ Added: 2009-07-29
Scope: collection Scope: collection
%% %%
Type: language Type: language
Subtag: gmg
Description: Magɨyi
Added: 2014-02-28
%%
Type: language
Subtag: gmh Subtag: gmh
Description: Middle High German (ca. 1050-1500) Description: Middle High German (ca. 1050-1500)
Added: 2005-10-16 Added: 2005-10-16
...@@ -12376,6 +12437,7 @@ Added: 2009-07-29 ...@@ -12376,6 +12437,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: gnk Subtag: gnk
Description: //Gana Description: //Gana
Description: ǁGana
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -12765,6 +12827,8 @@ Type: language ...@@ -12765,6 +12827,8 @@ Type: language
Subtag: gti Subtag: gti
Description: Gbati-ri Description: Gbati-ri
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: nyc
%% %%
Type: language Type: language
Subtag: gtu Subtag: gtu
...@@ -13003,6 +13067,7 @@ Added: 2005-10-16 ...@@ -13003,6 +13067,7 @@ Added: 2005-10-16
Type: language Type: language
Subtag: gwj Subtag: gwj
Description: /Gwi Description: /Gwi
Description: ǀGwi
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -13330,6 +13395,7 @@ Added: 2009-07-29 ...@@ -13330,6 +13395,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: hgm Subtag: hgm
Description: Hai//om Description: Hai//om
Description: Haiǁom
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -13668,6 +13734,7 @@ Added: 2009-07-29 ...@@ -13668,6 +13734,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: hnh Subtag: hnh
Description: //Ani Description: //Ani
Description: ǁAni
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -13815,6 +13882,7 @@ Added: 2009-07-29 ...@@ -13815,6 +13882,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: hps Subtag: hps
Description: Hawai'i Sign Language (HSL)
Description: Hawai'i Pidgin Sign Language Description: Hawai'i Pidgin Sign Language
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -13946,6 +14014,7 @@ Added: 2009-07-29 ...@@ -13946,6 +14014,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: huc Subtag: huc
Description: =/Hua Description: =/Hua
Description: ǂHua
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -14452,6 +14521,11 @@ Description: Ikaranggal ...@@ -14452,6 +14521,11 @@ Description: Ikaranggal
Added: 2013-09-10 Added: 2013-09-10
%% %%
Type: language Type: language
Subtag: iks
Description: Inuit Sign Language
Added: 2015-02-12
%%
Type: language
Subtag: ikt Subtag: ikt
Description: Inuinnaqtun Description: Inuinnaqtun
Description: Western Canadian Inuktitut Description: Western Canadian Inuktitut
...@@ -14544,6 +14618,7 @@ Type: language ...@@ -14544,6 +14618,7 @@ Type: language
Subtag: ime Subtag: ime
Description: Imeraguen Description: Imeraguen
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
%% %%
Type: language Type: language
Subtag: imi Subtag: imi
...@@ -15331,6 +15406,11 @@ Description: Buyuan Jinuo ...@@ -15331,6 +15406,11 @@ Description: Buyuan Jinuo
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: jje
Description: Jejueo
Added: 2015-02-12
%%
Type: language
Subtag: jjr Subtag: jjr
Description: Bankal Description: Bankal
Added: 2012-08-12 Added: 2012-08-12
...@@ -15471,6 +15551,11 @@ Description: Wojenaka ...@@ -15471,6 +15551,11 @@ Description: Wojenaka
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: jog
Description: Jogi
Added: 2015-05-27
%%
Type: language
Subtag: jor Subtag: jor
Description: Jorá Description: Jorá
Added: 2009-07-29 Added: 2009-07-29
...@@ -15789,6 +15874,7 @@ Type: language ...@@ -15789,6 +15874,7 @@ Type: language
Subtag: kbf Subtag: kbf
Description: Kakauhua Description: Kakauhua
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
%% %%
Type: language Type: language
Subtag: kbg Subtag: kbg
...@@ -16890,6 +16976,11 @@ Description: Kashaya ...@@ -16890,6 +16976,11 @@ Description: Kashaya
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: kjv
Description: Kaikavian Literary Language
Added: 2015-02-12
%%
Type: language
Subtag: kjx Subtag: kjx
Description: Ramopa Description: Ramopa
Added: 2009-07-29 Added: 2009-07-29
...@@ -17471,6 +17562,8 @@ Type: language ...@@ -17471,6 +17562,8 @@ Type: language
Subtag: koj Subtag: koj
Description: Sara Dunjo Description: Sara Dunjo
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: kwv
%% %%
Type: language Type: language
Subtag: kok Subtag: kok
...@@ -18184,6 +18277,7 @@ Added: 2009-07-29 ...@@ -18184,6 +18277,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: ktz Subtag: ktz
Description: Ju/'hoan Description: Ju/'hoan
Description: Juǀʼhoan
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -18203,7 +18297,7 @@ Added: 2009-07-29 ...@@ -18203,7 +18297,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: kue Subtag: kue
Description: Kuman Description: Kuman (Papua New Guinea)
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -18525,6 +18619,8 @@ Type: language ...@@ -18525,6 +18619,8 @@ Type: language
Subtag: kwq Subtag: kwq
Description: Kwak Description: Kwak
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: yam
%% %%
Type: language Type: language
Subtag: kwr Subtag: kwr
...@@ -18598,6 +18694,8 @@ Type: language ...@@ -18598,6 +18694,8 @@ Type: language
Subtag: kxe Subtag: kxe
Description: Kakihum Description: Kakihum
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: tvd
%% %%
Type: language Type: language
Subtag: kxf Subtag: kxf
...@@ -19070,7 +19168,7 @@ Added: 2009-07-29 ...@@ -19070,7 +19168,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: lay Subtag: lay
Description: Lama (Myanmar) Description: Lama Bai
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -19352,6 +19450,8 @@ Type: language ...@@ -19352,6 +19450,8 @@ Type: language
Subtag: leg Subtag: leg
Description: Lengua Description: Lengua
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2014-02-28
Comments: see enl, enx
%% %%
Type: language Type: language
Subtag: leh Subtag: leh
...@@ -19624,6 +19724,8 @@ Type: language ...@@ -19624,6 +19724,8 @@ Type: language
Subtag: lii Subtag: lii
Description: Lingkhim Description: Lingkhim
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: raq
%% %%
Type: language Type: language
Subtag: lij Subtag: lij
...@@ -19987,6 +20089,8 @@ Type: language ...@@ -19987,6 +20089,8 @@ Type: language
Subtag: lmm Subtag: lmm
Description: Lamam Description: Lamam
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2014-02-28
Preferred-Value: rmx
%% %%
Type: language Type: language
Subtag: lmn Subtag: lmn
...@@ -21596,6 +21700,7 @@ Type: language ...@@ -21596,6 +21700,7 @@ Type: language
Subtag: mhh Subtag: mhh
Description: Maskoy Pidgin Description: Maskoy Pidgin
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2014-02-28
%% %%
Type: language Type: language
Subtag: mhi Subtag: mhi
...@@ -23496,6 +23601,8 @@ Type: language ...@@ -23496,6 +23601,8 @@ Type: language
Subtag: mwj Subtag: mwj
Description: Maligo Description: Maligo
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: vaj
%% %%
Type: language Type: language
Subtag: mwk Subtag: mwk
...@@ -24052,6 +24159,7 @@ Added: 2005-10-16 ...@@ -24052,6 +24159,7 @@ Added: 2005-10-16
%% %%
Type: language Type: language
Subtag: naq Subtag: naq
Description: Khoekhoe
Description: Nama (Namibia) Description: Nama (Namibia)
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -24067,6 +24175,7 @@ Added: 2009-07-29 ...@@ -24067,6 +24175,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: nat Subtag: nat
Description: Ca̱hungwa̱rya̱
Description: Hungworo Description: Hungworo
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -24632,6 +24741,7 @@ Added: 2009-07-29 ...@@ -24632,6 +24741,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: ngh Subtag: ngh
Description: N/u Description: N/u
Description: Nǀu
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -25340,6 +25450,7 @@ Added: 2009-07-29 ...@@ -25340,6 +25450,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: nmn Subtag: nmn
Description: !Xóõ Description: !Xóõ
Description: ǃXóõ
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -25385,6 +25496,7 @@ Added: 2009-07-29 ...@@ -25385,6 +25496,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: nmw Subtag: nmw
Description: Nimoa Description: Nimoa
Description: Rifao
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -25516,6 +25628,8 @@ Type: language ...@@ -25516,6 +25628,8 @@ Type: language
Subtag: nnx Subtag: nnx
Description: Ngong Description: Ngong
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: ngv
%% %%
Type: language Type: language
Subtag: nny Subtag: nny
...@@ -25758,6 +25872,12 @@ Description: Southern Rengma Naga ...@@ -25758,6 +25872,12 @@ Description: Southern Rengma Naga
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: nrf
Description: Jèrriais
Description: Guernésiais
Added: 2015-02-12
%%
Type: language
Subtag: nrg Subtag: nrg
Description: Narango Description: Narango
Added: 2009-07-29 Added: 2009-07-29
...@@ -26267,6 +26387,11 @@ Description: Ngawun ...@@ -26267,6 +26387,11 @@ Description: Ngawun
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: nxo
Description: Ndambomo
Added: 2015-02-12
%%
Type: language
Subtag: nxq Subtag: nxq
Description: Naxi Description: Naxi
Added: 2011-08-16 Added: 2011-08-16
...@@ -26788,6 +26913,11 @@ Description: Olrat ...@@ -26788,6 +26913,11 @@ Description: Olrat
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: olt
Description: Old Lithuanian
Added: 2014-02-28
%%
Type: language
Subtag: oma Subtag: oma
Description: Omaha-Ponca Description: Omaha-Ponca
Added: 2009-07-29 Added: 2009-07-29
...@@ -27264,6 +27394,8 @@ Type: language ...@@ -27264,6 +27394,8 @@ Type: language
Subtag: oun Subtag: oun
Description: !O!ung Description: !O!ung
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: vaj
%% %%
Type: language Type: language
Subtag: owi Subtag: owi
...@@ -27507,7 +27639,7 @@ Added: 2009-07-29 ...@@ -27507,7 +27639,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: pby Subtag: pby
Description: Pyu Description: Pyu (Papua New Guinea)
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -27763,6 +27895,11 @@ Added: 2009-07-29 ...@@ -27763,6 +27895,11 @@ Added: 2009-07-29
Macrolanguage: ar Macrolanguage: ar
%% %%
Type: language Type: language
Subtag: pgd
Description: Gāndhārī
Added: 2015-02-12
%%
Type: language
Subtag: pgg Subtag: pgg
Description: Pangwali Description: Pangwali
Added: 2009-07-29 Added: 2009-07-29
...@@ -28157,6 +28294,7 @@ Added: 2009-07-29 ...@@ -28157,6 +28294,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: pls Subtag: pls
Description: San Marcos Tlacoyalco Popoloca
Description: San Marcos Tlalcoyalco Popoloca Description: San Marcos Tlalcoyalco Popoloca
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -28285,6 +28423,8 @@ Type: language ...@@ -28285,6 +28423,8 @@ Type: language
Subtag: pmu Subtag: pmu
Description: Mirpur Panjabi Description: Mirpur Panjabi
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: phr
Macrolanguage: lah Macrolanguage: lah
%% %%
Type: language Type: language
...@@ -28779,11 +28919,13 @@ Added: 2009-07-29 ...@@ -28779,11 +28919,13 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: psh Subtag: psh
Description: Southwest Pashai
Description: Southwest Pashayi Description: Southwest Pashayi
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: psi Subtag: psi
Description: Southeast Pashai
Description: Southeast Pashayi Description: Southeast Pashayi
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -28879,6 +29021,11 @@ Description: Patep ...@@ -28879,6 +29021,11 @@ Description: Patep
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: ptq
Description: Pattapu
Added: 2014-04-06
%%
Type: language
Subtag: ptr Subtag: ptr
Description: Piamatsina Description: Piamatsina
Added: 2009-07-29 Added: 2009-07-29
...@@ -29012,6 +29159,8 @@ Type: language ...@@ -29012,6 +29159,8 @@ Type: language
Subtag: puz Subtag: puz
Description: Purum Naga Description: Purum Naga
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2014-02-28
Preferred-Value: pub
%% %%
Type: language Type: language
Subtag: pwa Subtag: pwa
...@@ -30114,6 +30263,11 @@ Description: Rotuman ...@@ -30114,6 +30263,11 @@ Description: Rotuman
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: rts
Description: Yurats
Added: 2015-02-12
%%
Type: language
Subtag: rtw Subtag: rtw
Description: Rathawi Description: Rathawi
Added: 2009-07-29 Added: 2009-07-29
...@@ -30317,6 +30471,8 @@ Type: language ...@@ -30317,6 +30471,8 @@ Type: language
Subtag: sap Subtag: sap
Description: Sanapaná Description: Sanapaná
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2014-02-28
Comments: see aqt, spn
%% %%
Type: language Type: language
Subtag: saq Subtag: saq
...@@ -30395,6 +30551,7 @@ Added: 2009-07-29 ...@@ -30395,6 +30551,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: sbf Subtag: sbf
Description: Chabu
Description: Shabo Description: Shabo
Added: 2009-07-29 Added: 2009-07-29
%% %%
...@@ -30926,6 +31083,7 @@ Type: language ...@@ -30926,6 +31083,7 @@ Type: language
Subtag: sgo Subtag: sgo
Description: Songa Description: Songa
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
%% %%
Type: language Type: language
Subtag: sgp Subtag: sgp
...@@ -31385,6 +31543,7 @@ Added: 2009-07-29 ...@@ -31385,6 +31543,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: skr Subtag: skr
Description: Saraiki
Description: Seraiki Description: Seraiki
Added: 2009-07-29 Added: 2009-07-29
Macrolanguage: lah Macrolanguage: lah
...@@ -31940,6 +32099,11 @@ Description: Akukem ...@@ -31940,6 +32099,11 @@ Description: Akukem
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: spn
Description: Sanapaná
Added: 2014-02-28
%%
Type: language
Subtag: spo Subtag: spo
Description: Spokane Description: Spokane
Added: 2009-07-29 Added: 2009-07-29
...@@ -32804,6 +32968,11 @@ Description: Kagate ...@@ -32804,6 +32968,11 @@ Description: Kagate
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: syx
Description: Samay
Added: 2015-02-12
%%
Type: language
Subtag: syy Subtag: syy
Description: Al-Sayyid Bedouin Sign Language Description: Al-Sayyid Bedouin Sign Language
Added: 2009-07-29 Added: 2009-07-29
...@@ -33694,6 +33863,8 @@ Type: language ...@@ -33694,6 +33863,8 @@ Type: language
Subtag: thx Subtag: thx
Description: The Description: The
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: oyb
%% %%
Type: language Type: language
Subtag: thy Subtag: thy
...@@ -33963,6 +34134,11 @@ Description: Upper Necaxa Totonac ...@@ -33963,6 +34134,11 @@ Description: Upper Necaxa Totonac
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: tkv
Description: Mur Pano
Added: 2014-02-28
%%
Type: language
Subtag: tkw Subtag: tkw
Description: Teanu Description: Teanu
Added: 2009-07-29 Added: 2009-07-29
...@@ -34796,6 +34972,8 @@ Type: language ...@@ -34796,6 +34972,8 @@ Type: language
Subtag: tsf Subtag: tsf
Description: Southwestern Tamang Description: Southwestern Tamang
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: taj
%% %%
Type: language Type: language
Subtag: tsg Subtag: tsg
...@@ -35340,6 +35518,11 @@ Description: Ikpeng ...@@ -35340,6 +35518,11 @@ Description: Ikpeng
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: txj
Description: Tarjumo
Added: 2015-02-12
%%
Type: language
Subtag: txm Subtag: txm
Description: Tomini Description: Tomini
Added: 2009-07-29 Added: 2009-07-29
...@@ -35902,6 +36085,8 @@ Type: language ...@@ -35902,6 +36085,8 @@ Type: language
Subtag: uok Subtag: uok
Description: Uokha Description: Uokha
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: ema
%% %%
Type: language Type: language
Subtag: upi Subtag: upi
...@@ -36177,7 +36362,10 @@ Added: 2005-10-16 ...@@ -36177,7 +36362,10 @@ Added: 2005-10-16
%% %%
Type: language Type: language
Subtag: vaj Subtag: vaj
Description: Vasekela Bushman Description: Sekele
Description: Northwestern !Kung
Description: Northwestern ǃKung
Description: Vasekele
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -37778,6 +37966,11 @@ Description: Kaimbé ...@@ -37778,6 +37966,11 @@ Description: Kaimbé
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: xaj
Description: Ararandewára
Added: 2014-02-28
%%
Type: language
Subtag: xal Subtag: xal
Description: Kalmyk Description: Kalmyk
Description: Oirat Description: Oirat
...@@ -37786,6 +37979,7 @@ Added: 2005-10-16 ...@@ -37786,6 +37979,7 @@ Added: 2005-10-16
Type: language Type: language
Subtag: xam Subtag: xam
Description: /Xam Description: /Xam
Description: ǀXam
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -38037,6 +38231,7 @@ Added: 2009-07-29 ...@@ -38037,6 +38231,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: xeg Subtag: xeg
Description: //Xegwi Description: //Xegwi
Description: ǁXegwi
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
...@@ -38116,6 +38311,7 @@ Added: 2009-07-29 ...@@ -38116,6 +38311,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: xgm Subtag: xgm
Description: Dharumbal
Description: Guwinmal Description: Guwinmal
Added: 2013-09-10 Added: 2013-09-10
%% %%
...@@ -38219,6 +38415,11 @@ Description: Xiriâna ...@@ -38219,6 +38415,11 @@ Description: Xiriâna
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: xis
Description: Kisan
Added: 2014-02-28
%%
Type: language
Subtag: xiv Subtag: xiv
Description: Indus Valley Language Description: Indus Valley Language
Added: 2009-07-29 Added: 2009-07-29
...@@ -38890,6 +39091,8 @@ Type: language ...@@ -38890,6 +39091,8 @@ Type: language
Subtag: xsj Subtag: xsj
Description: Subi Description: Subi
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: suj
%% %%
Type: language Type: language
Subtag: xsl Subtag: xsl
...@@ -39539,6 +39742,7 @@ Type: language ...@@ -39539,6 +39742,7 @@ Type: language
Subtag: yds Subtag: yds
Description: Yiddish Sign Language Description: Yiddish Sign Language
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
%% %%
Type: language Type: language
Subtag: yea Subtag: yea
...@@ -39638,6 +39842,11 @@ Description: Yagaria ...@@ -39638,6 +39842,11 @@ Description: Yagaria
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: ygs
Description: Yolŋu Sign Language
Added: 2014-02-28
%%
Type: language
Subtag: ygu Subtag: ygu
Description: Yugul Description: Yugul
Added: 2013-09-10 Added: 2013-09-10
...@@ -39664,6 +39873,11 @@ Description: Hlepho Phowa ...@@ -39664,6 +39873,11 @@ Description: Hlepho Phowa
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: yhs
Description: Yan-nhaŋu Sign Language
Added: 2015-04-17
%%
Type: language
Subtag: yia Subtag: yia
Description: Yinggarda Description: Yinggarda
Added: 2009-07-29 Added: 2009-07-29
...@@ -39979,6 +40193,8 @@ Type: language ...@@ -39979,6 +40193,8 @@ Type: language
Subtag: ymt Subtag: ymt
Description: Mator-Taygi-Karagas Description: Mator-Taygi-Karagas
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: mtm
%% %%
Type: language Type: language
Subtag: ymx Subtag: ymx
...@@ -40014,6 +40230,7 @@ Type: language ...@@ -40014,6 +40230,7 @@ Type: language
Subtag: ynh Subtag: ynh
Description: Yangho Description: Yangho
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2015-02-12
%% %%
Type: language Type: language
Subtag: ynk Subtag: ynk
...@@ -40313,6 +40530,7 @@ Macrolanguage: jrb ...@@ -40313,6 +40530,7 @@ Macrolanguage: jrb
Type: language Type: language
Subtag: yue Subtag: yue
Description: Yue Chinese Description: Yue Chinese
Description: Cantonese
Added: 2009-07-29 Added: 2009-07-29
Macrolanguage: zh Macrolanguage: zh
%% %%
...@@ -40380,6 +40598,8 @@ Type: language ...@@ -40380,6 +40598,8 @@ Type: language
Subtag: yuu Subtag: yuu
Description: Yugh Description: Yugh
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2014-02-28
Preferred-Value: yug
%% %%
Type: language Type: language
Subtag: yuw Subtag: yuw
...@@ -42215,6 +42435,7 @@ Prefix: sgn ...@@ -42215,6 +42435,7 @@ Prefix: sgn
%% %%
Type: extlang Type: extlang
Subtag: hps Subtag: hps
Description: Hawai'i Sign Language (HSL)
Description: Hawai'i Pidgin Sign Language Description: Hawai'i Pidgin Sign Language
Added: 2009-07-29 Added: 2009-07-29
Preferred-Value: hps Preferred-Value: hps
...@@ -42250,6 +42471,13 @@ Preferred-Value: icl ...@@ -42250,6 +42471,13 @@ Preferred-Value: icl
Prefix: sgn Prefix: sgn
%% %%
Type: extlang Type: extlang
Subtag: iks
Description: Inuit Sign Language
Added: 2015-02-12
Preferred-Value: iks
Prefix: sgn
%%
Type: extlang
Subtag: ils Subtag: ils
Description: International Sign Description: International Sign
Added: 2009-07-29 Added: 2009-07-29
...@@ -43154,7 +43382,21 @@ Type: extlang ...@@ -43154,7 +43382,21 @@ Type: extlang
Subtag: yds Subtag: yds
Description: Yiddish Sign Language Description: Yiddish Sign Language
Added: 2009-07-29 Added: 2009-07-29
Preferred-Value: yds Deprecated: 2015-02-12
Prefix: sgn
%%
Type: extlang
Subtag: ygs
Description: Yolŋu Sign Language
Added: 2014-02-28
Preferred-Value: ygs
Prefix: sgn
%%
Type: extlang
Subtag: yhs
Description: Yan-nhaŋu Sign Language
Added: 2015-04-17
Preferred-Value: yhs
Prefix: sgn Prefix: sgn
%% %%
Type: extlang Type: extlang
...@@ -43167,6 +43409,7 @@ Prefix: sgn ...@@ -43167,6 +43409,7 @@ Prefix: sgn
Type: extlang Type: extlang
Subtag: yue Subtag: yue
Description: Yue Chinese Description: Yue Chinese
Description: Cantonese
Added: 2009-07-29 Added: 2009-07-29
Preferred-Value: yue Preferred-Value: yue
Prefix: zh Prefix: zh
...@@ -43211,6 +43454,11 @@ Prefix: ms ...@@ -43211,6 +43454,11 @@ Prefix: ms
Macrolanguage: ms Macrolanguage: ms
%% %%
Type: script Type: script
Subtag: Adlm
Description: Adlam
Added: 2014-12-11
%%
Type: script
Subtag: Afak Subtag: Afak
Description: Afaka Description: Afaka
Added: 2011-01-07 Added: 2011-01-07
...@@ -43221,11 +43469,22 @@ Description: Caucasian Albanian ...@@ -43221,11 +43469,22 @@ Description: Caucasian Albanian
Added: 2012-11-01 Added: 2012-11-01
%% %%
Type: script Type: script
Subtag: Ahom
Description: Ahom
Description: Tai Ahom
Added: 2013-12-02
%%
Type: script
Subtag: Arab Subtag: Arab
Description: Arabic Description: Arabic
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Aran
Description: Arabic (Nastaliq variant)
Added: 2014-12-11
%%
Type: script
Subtag: Armi Subtag: Armi
Description: Imperial Aramaic Description: Imperial Aramaic
Added: 2007-12-05 Added: 2007-12-05
...@@ -43266,6 +43525,11 @@ Description: Bengali ...@@ -43266,6 +43525,11 @@ Description: Bengali
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Bhks
Description: Bhaiksuki
Added: 2015-07-24
%%
Type: script
Subtag: Blis Subtag: Blis
Description: Blissymbols Description: Blissymbols
Added: 2005-10-16 Added: 2005-10-16
...@@ -43431,6 +43695,11 @@ Description: Gurmukhi ...@@ -43431,6 +43695,11 @@ Description: Gurmukhi
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Hanb
Description: Han with Bopomofo (alias for Han + Bopomofo)
Added: 2016-02-08
%%
Type: script
Subtag: Hang Subtag: Hang
Description: Hangul Description: Hangul
Description: Hangŭl Description: Hangŭl
...@@ -43462,6 +43731,11 @@ Description: Han (Traditional variant) ...@@ -43462,6 +43731,11 @@ Description: Han (Traditional variant)
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Hatr
Description: Hatran
Added: 2013-12-02
%%
Type: script
Subtag: Hebr Subtag: Hebr
Description: Hebrew Description: Hebrew
Added: 2005-10-16 Added: 2005-10-16
...@@ -43506,6 +43780,11 @@ Description: Old Italic (Etruscan, Oscan, etc.) ...@@ -43506,6 +43780,11 @@ Description: Old Italic (Etruscan, Oscan, etc.)
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Jamo
Description: Jamo (alias for Jamo subset of Hangul)
Added: 2016-02-08
%%
Type: script
Subtag: Java Subtag: Java
Description: Javanese Description: Javanese
Added: 2005-10-16 Added: 2005-10-16
...@@ -43546,6 +43825,16 @@ Description: Khojki ...@@ -43546,6 +43825,16 @@ Description: Khojki
Added: 2011-08-16 Added: 2011-08-16
%% %%
Type: script Type: script
Subtag: Kitl
Description: Khitan large script
Added: 2014-12-11
%%
Type: script
Subtag: Kits
Description: Khitan small script
Added: 2014-12-11
%%
Type: script
Subtag: Knda Subtag: Knda
Description: Kannada Description: Kannada
Added: 2005-10-16 Added: 2005-10-16
...@@ -43592,6 +43881,11 @@ Description: Latin ...@@ -43592,6 +43881,11 @@ Description: Latin
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Leke
Description: Leke
Added: 2015-07-24
%%
Type: script
Subtag: Lepc Subtag: Lepc
Description: Lepcha Description: Lepcha
Description: Róng Description: Róng
...@@ -43650,13 +43944,18 @@ Description: Manichaean ...@@ -43650,13 +43944,18 @@ Description: Manichaean
Added: 2007-07-28 Added: 2007-07-28
%% %%
Type: script Type: script
Subtag: Marc
Description: Marchen
Added: 2014-12-11
%%
Type: script
Subtag: Maya Subtag: Maya
Description: Mayan hieroglyphs Description: Mayan hieroglyphs
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Mend Subtag: Mend
Description: Mende Description: Mende Kikakui
Added: 2010-04-10 Added: 2010-04-10
%% %%
Type: script Type: script
...@@ -43675,6 +43974,12 @@ Description: Malayalam ...@@ -43675,6 +43974,12 @@ Description: Malayalam
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Modi
Description: Modi
Description: Moḍī
Added: 2013-12-02
%%
Type: script
Subtag: Mong Subtag: Mong
Description: Mongolian Description: Mongolian
Added: 2005-10-16 Added: 2005-10-16
...@@ -43701,6 +44006,11 @@ Description: Meetei ...@@ -43701,6 +44006,11 @@ Description: Meetei
Added: 2007-01-26 Added: 2007-01-26
%% %%
Type: script Type: script
Subtag: Mult
Description: Multani
Added: 2013-12-02
%%
Type: script
Subtag: Mymr Subtag: Mymr
Description: Myanmar Description: Myanmar
Description: Burmese Description: Burmese
...@@ -43718,6 +44028,14 @@ Description: Nabataean ...@@ -43718,6 +44028,14 @@ Description: Nabataean
Added: 2010-04-10 Added: 2010-04-10
%% %%
Type: script Type: script
Subtag: Newa
Description: Newa
Description: Newar
Description: Newari
Description: Nepāla lipi
Added: 2016-01-04
%%
Type: script
Subtag: Nkgb Subtag: Nkgb
Description: Nakhi Geba Description: Nakhi Geba
Description: 'Na-'Khi ²Ggŏ-¹baw Description: 'Na-'Khi ²Ggŏ-¹baw
...@@ -43760,6 +44078,11 @@ Description: Oriya ...@@ -43760,6 +44078,11 @@ Description: Oriya
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Osge
Description: Osage
Added: 2014-12-11
%%
Type: script
Subtag: Osma Subtag: Osma
Description: Osmanya Description: Osmanya
Added: 2005-10-16 Added: 2005-10-16
...@@ -43770,6 +44093,11 @@ Description: Palmyrene ...@@ -43770,6 +44093,11 @@ Description: Palmyrene
Added: 2010-04-10 Added: 2010-04-10
%% %%
Type: script Type: script
Subtag: Pauc
Description: Pau Cin Hau
Added: 2013-12-02
%%
Type: script
Subtag: Perm Subtag: Perm
Description: Old Permic Description: Old Permic
Added: 2005-10-16 Added: 2005-10-16
...@@ -43800,6 +44128,11 @@ Description: Phoenician ...@@ -43800,6 +44128,11 @@ Description: Phoenician
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Piqd
Description: Klingon (KLI pIqaD)
Added: 2016-01-04
%%
Type: script
Subtag: Plrd Subtag: Plrd
Description: Miao Description: Miao
Description: Pollard Description: Pollard
...@@ -43870,6 +44203,13 @@ Description: Śāradā ...@@ -43870,6 +44203,13 @@ Description: Śāradā
Added: 2011-01-07 Added: 2011-01-07
%% %%
Type: script Type: script
Subtag: Sidd
Description: Siddham
Description: Siddhaṃ
Description: Siddhamātṛkā
Added: 2013-12-02
%%
Type: script
Subtag: Sind Subtag: Sind
Description: Khudawadi Description: Khudawadi
Description: Sindhi Description: Sindhi
...@@ -44048,6 +44388,11 @@ Description: Mathematical notation ...@@ -44048,6 +44388,11 @@ Description: Mathematical notation
Added: 2007-12-05 Added: 2007-12-05
%% %%
Type: script Type: script
Subtag: Zsye
Description: Symbols (Emoji variant)
Added: 2016-01-04
%%
Type: script
Subtag: Zsym Subtag: Zsym
Description: Symbols Description: Symbols
Added: 2007-12-05 Added: 2007-12-05
...@@ -44360,6 +44705,7 @@ Added: 2005-10-16 ...@@ -44360,6 +44705,7 @@ Added: 2005-10-16
%% %%
Type: region Type: region
Subtag: CV Subtag: CV
Description: Cabo Verde
Description: Cape Verde Description: Cape Verde
Added: 2005-10-16 Added: 2005-10-16
%% %%
...@@ -45647,6 +45993,15 @@ Added: 2005-10-16 ...@@ -45647,6 +45993,15 @@ Added: 2005-10-16
Prefix: de Prefix: de
%% %%
Type: variant Type: variant
Subtag: abl1943
Description: Orthographic formulation of 1943 - Official in Brazil
(Formulário Ortográfico de 1943 - Oficial no Brasil)
Added: 2015-05-06
Prefix: pt-BR
Comments: Denotes conventions established by the Academia Brasileira de
Letras in 1943 and generally used in Brazil until 2009
%%
Type: variant
Subtag: alalc97 Subtag: alalc97
Description: ALA-LC Romanization, 1997 edition Description: ALA-LC Romanization, 1997 edition
Added: 2009-12-09 Added: 2009-12-09
...@@ -45665,6 +46020,16 @@ Comments: Aluku dialect of the "Busi Nenge Tongo" English-based Creole ...@@ -45665,6 +46020,16 @@ Comments: Aluku dialect of the "Busi Nenge Tongo" English-based Creole
continuum in Eastern Suriname and Western French Guiana continuum in Eastern Suriname and Western French Guiana
%% %%
Type: variant Type: variant
Subtag: ao1990
Description: Portuguese Language Orthographic Agreement of 1990 (Acordo
Ortográfico da Língua Portuguesa de 1990)
Added: 2015-05-06
Prefix: pt
Prefix: gl
Comments: Portuguese orthography conventions established in 1990 but
not brought into effect until 2009
%%
Type: variant
Subtag: arevela Subtag: arevela
Description: Eastern Armenian Description: Eastern Armenian
Added: 2006-09-18 Added: 2006-09-18
...@@ -45698,6 +46063,27 @@ Comments: Denotes alphabet used in Turkic republics/regions of the ...@@ -45698,6 +46063,27 @@ Comments: Denotes alphabet used in Turkic republics/regions of the
Jaŋalif (Janalif). Jaŋalif (Janalif).
%% %%
Type: variant Type: variant
Subtag: balanka
Description: The Balanka dialect of Anii
Added: 2014-02-15
Prefix: blo
Comments: Balanka is one of 19 Anii dialects.
%%
Type: variant
Subtag: barla
Description: The Barlavento dialect group of Kabuverdianu
Prefix: kea
Comments: Barlavento is one of the two main dialect groups of
Kabuverdianu.
Added: 2013-12-10
%%
Type: variant
Subtag: basiceng
Description: Basic English
Added: 2015-12-29
Prefix: en
%%
Type: variant
Subtag: bauddha Subtag: bauddha
Description: Buddhist Hybrid Sanskrit Description: Buddhist Hybrid Sanskrit
Added: 2010-07-28 Added: 2010-07-28
...@@ -45723,9 +46109,9 @@ Subtag: bohoric ...@@ -45723,9 +46109,9 @@ Subtag: bohoric
Description: Slovene in Bohorič alphabet Description: Slovene in Bohorič alphabet
Added: 2012-06-27 Added: 2012-06-27
Prefix: sl Prefix: sl
Comments: The subtag represents the alphabet codified by Adam Bohorič in Comments: The subtag represents the alphabet codified by Adam Bohorič
1584 and used from the first printed Slovene book and up to the mid- in 1584 and used from the first printed Slovene book and up to the
19th century. mid-19th century.
%% %%
Type: variant Type: variant
Subtag: boont Subtag: boont
...@@ -45735,6 +46121,24 @@ Prefix: en ...@@ -45735,6 +46121,24 @@ Prefix: en
Comments: Jargon embedded in American English Comments: Jargon embedded in American English
%% %%
Type: variant Type: variant
Subtag: colb1945
Description: Portuguese-Brazilian Orthographic Convention of 1945
(Convenção Ortográfica Luso-Brasileira de 1945)
Added: 2015-05-06
Prefix: pt
Comments: Portuguese orthography conventions established in 1945,
generally in effect until 2009. This reform was not ratified in
Brazil.
%%
Type: variant
Subtag: cornu
Description: Cornu-English
Description: Cornish English
Description: Anglo-Cornish
Added: 2015-12-07
Prefix: en
%%
Type: variant
Subtag: dajnko Subtag: dajnko
Description: Slovene in Dajnko alphabet Description: Slovene in Dajnko alphabet
Added: 2012-06-27 Added: 2012-06-27
...@@ -45744,6 +46148,14 @@ Comments: The subtag represents the alphabet codified by Peter Dajnko ...@@ -45744,6 +46148,14 @@ Comments: The subtag represents the alphabet codified by Peter Dajnko
Slovenia). Slovenia).
%% %%
Type: variant Type: variant
Subtag: ekavsk
Description: Serbian with Ekavian pronunciation
Prefix: sr
Prefix: sr-Latn
Prefix: sr-Cyrl
Added: 2013-12-02
%%
Type: variant
Subtag: emodeng Subtag: emodeng
Description: Early Modern English (1500-1700) Description: Early Modern English (1500-1700)
Added: 2012-02-05 Added: 2012-02-05
...@@ -45789,6 +46201,14 @@ Comments: Norwegian following Ivar Aasen's orthographical principles, ...@@ -45789,6 +46201,14 @@ Comments: Norwegian following Ivar Aasen's orthographical principles,
including modern usage. including modern usage.
%% %%
Type: variant Type: variant
Subtag: ijekavsk
Description: Serbian with Ijekavian pronunciation
Prefix: sr
Prefix: sr-Latn
Prefix: sr-Cyrl
Added: 2013-12-02
%%
Type: variant
Subtag: itihasa Subtag: itihasa
Description: Epic Sanskrit Description: Epic Sanskrit
Added: 2010-07-28 Added: 2010-07-28
...@@ -45816,6 +46236,14 @@ Added: 2008-10-14 ...@@ -45816,6 +46236,14 @@ Added: 2008-10-14
Prefix: kw Prefix: kw
%% %%
Type: variant Type: variant
Subtag: kociewie
Description: The Kociewie dialect of Polish
Added: 2014-11-27
Prefix: pl
Comments: The dialect of Kociewie is spoken in the region around
Starogard Gdański, Tczew and Świecie in northern Poland.
%%
Type: variant
Subtag: kscor Subtag: kscor
Description: Standard Cornish orthography of Revived Cornish Description: Standard Cornish orthography of Revived Cornish
Description: Kernowek Standard Description: Kernowek Standard
...@@ -45876,6 +46304,12 @@ Added: 2005-10-16 ...@@ -45876,6 +46304,12 @@ Added: 2005-10-16
Prefix: sl Prefix: sl
%% %%
Type: variant Type: variant
Subtag: newfound
Description: Newfoundland English
Added: 2015-11-25
Prefix: en-CA
%%
Type: variant
Subtag: njiva Subtag: njiva
Description: The Gniva dialect of Resian Description: The Gniva dialect of Resian
Description: The Njiva dialect of Resian Description: The Njiva dialect of Resian
...@@ -45906,6 +46340,12 @@ Comments: The dialect of Oseacco/Osojane is one of the four major local ...@@ -45906,6 +46340,12 @@ Comments: The dialect of Oseacco/Osojane is one of the four major local
dialects of Resian dialects of Resian
%% %%
Type: variant Type: variant
Subtag: oxendict
Description: Oxford English Dictionary spelling
Added: 2015-04-17
Prefix: en
%%
Type: variant
Subtag: pamaka Subtag: pamaka
Description: Pamaka dialect Description: Pamaka dialect
Added: 2009-09-05 Added: 2009-09-05
...@@ -45980,6 +46420,11 @@ Prefix: en ...@@ -45980,6 +46420,11 @@ Prefix: en
Comments: English Liverpudlian dialect known as 'Scouse' Comments: English Liverpudlian dialect known as 'Scouse'
%% %%
Type: variant Type: variant
Subtag: simple
Description: Simplified form
Added: 2015-12-29
%%
Type: variant
Subtag: solba Subtag: solba
Description: The Stolvizza dialect of Resian Description: The Stolvizza dialect of Resian
Description: The Solbica dialect of Resian Description: The Solbica dialect of Resian
...@@ -45989,6 +46434,14 @@ Comments: The dialect of Stolvizza/Solbica is one of the four major ...@@ -45989,6 +46434,14 @@ Comments: The dialect of Stolvizza/Solbica is one of the four major
local dialects of Resian local dialects of Resian
%% %%
Type: variant Type: variant
Subtag: sotav
Description: The Sotavento dialect group of Kabuverdianu
Prefix: kea
Comments: Sotavento is one of the two main dialect groups of
Kabuverdianu.
Added: 2013-12-10
%%
Type: variant
Subtag: surmiran Subtag: surmiran
Description: Surmiran idiom of Romansh Description: Surmiran idiom of Romansh
Added: 2010-06-29 Added: 2010-06-29
...@@ -46041,6 +46494,16 @@ Added: 2010-04-10 ...@@ -46041,6 +46494,16 @@ Added: 2010-04-10
Prefix: sco Prefix: sco
%% %%
Type: variant Type: variant
Subtag: unifon
Description: Unifon phonetic alphabet
Added: 2013-10-02
Prefix: en
Prefix: hup
Prefix: kyh
Prefix: tol
Prefix: yur
%%
Type: variant
Subtag: vaidika Subtag: vaidika
Description: Vedic Sanskrit Description: Vedic Sanskrit
Added: 2010-07-28 Added: 2010-07-28
...@@ -46081,11 +46544,15 @@ Type: grandfathered ...@@ -46081,11 +46544,15 @@ Type: grandfathered
Tag: cel-gaulish Tag: cel-gaulish
Description: Gaulish Description: Gaulish
Added: 2001-05-25 Added: 2001-05-25
Deprecated: 2015-03-29
Comments: see xcg, xga, xtg
%% %%
Type: grandfathered Type: grandfathered
Tag: en-GB-oed Tag: en-GB-oed
Description: English, Oxford English Dictionary spelling Description: English, Oxford English Dictionary spelling
Added: 2003-07-09 Added: 2003-07-09
Deprecated: 2015-04-17
Preferred-Value: en-GB-oxendict
%% %%
Type: grandfathered Type: grandfathered
Tag: i-ami Tag: i-ami
...@@ -46110,6 +46577,7 @@ Type: grandfathered ...@@ -46110,6 +46577,7 @@ Type: grandfathered
Tag: i-enochian Tag: i-enochian
Description: Enochian Description: Enochian
Added: 2002-07-03 Added: 2002-07-03
Deprecated: 2015-03-29
%% %%
Type: grandfathered Type: grandfathered
Tag: i-hak Tag: i-hak
...@@ -46226,6 +46694,7 @@ Tag: zh-min ...@@ -46226,6 +46694,7 @@ Tag: zh-min
Description: Min, Fuzhou, Hokkien, Amoy, or Taiwanese Description: Min, Fuzhou, Hokkien, Amoy, or Taiwanese
Added: 1999-12-18 Added: 1999-12-18
Deprecated: 2009-07-29 Deprecated: 2009-07-29
Comments: see cdo, cpx, czo, mnp, nan
%% %%
Type: grandfathered Type: grandfathered
Tag: zh-min-nan Tag: zh-min-nan
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册