jdk/test/java/util/Locale/Bug4175998Test.java
author mfang
Wed, 17 Aug 2011 14:18:26 -0700
changeset 10294 8fcdae2a7ec7
parent 5506 202f599c92aa
child 22277 1d3a2cb3552f
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
/*
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5285
diff changeset
     2
 * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
 * published by the Free Software Foundation.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
 * accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
 *
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5285
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5285
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5285
diff changeset
    21
 * questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
/*
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
    @test
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
    @summary test ISO639-2 language codes
4347
ab0a9f495844 6907177: Update jdk tests to remove unncessary -source and -target options
darcy
parents: 2
diff changeset
    26
    @compile -encoding ascii -source 5 Bug4175998Test.java
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
    @run main Bug4175998Test
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
    @bug 4175998
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
*/
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
/*
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
 * (C) Copyright IBM Corp. 1998 - All Rights Reserved
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
 * The original version of this source code and documentation is
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
 * copyrighted and owned by IBM. These materials are provided
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
 * under terms of a License Agreement between IBM and Sun.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
 * This technology is protected by multiple US and International
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
 * patents. This notice and attribution to IBM may not be removed.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
import java.util.*;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
import java.io.*;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
/**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
 *  Bug4175998Test verifies that the following bug has been fixed:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
 *  Bug 4175998 - The java.util.Locale.getISO3Language() returns wrong result for a locale with
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
 *           language code 'ta'(Tamil).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
public class Bug4175998Test extends LocaleTestFmwk {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
    public static void main(String[] args) throws Exception {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
        new Bug4175998Test().run(args);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
        //generateTables();    //uncomment this to regenerate data tables
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
    public void testIt() throws Exception {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
        boolean bad = false;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
        for (int i = 0; i < CODES.length; i++) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
            final String[] localeCodes = CODES[i];
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
            final Locale l = new Locale(localeCodes[0], "");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
            final String iso3 = l.getISO3Language();
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
            if (!iso3.equals(localeCodes[1]) /*&& !iso3.equals(localeCodes[2])*/) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
                logln("Locale("+l+") returned bad ISO3 language code."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
                        +"   Got '"+iso3+"' instead of '"+localeCodes[1]+"'"/*+" or '"+localeCodes[2]+"'"*/);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
                bad = true;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
            }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
        }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
        if (bad) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
            errln("Bad ISO3 language codes detected.");
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
        }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
     private static final String[][] CODES = {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
        {"pt","por","por"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
        {"eu","eus","baq"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
        {"ps","pus","pus"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
        {"et","est","est"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
        {"ka","kat","geo"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
        {"es","spa","spa"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
        {"eo","epo","epo"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
        {"en","eng","eng"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
        {"pl","pol","pol"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
        {"el","ell","gre"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
        {"uz","uzb","uzb"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
        {"jv","jav","jav"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
        {"ur","urd","urd"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
        {"uk","ukr","ukr"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
        {"ug","uig","uig"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
        {"zu","zul","zul"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
        {"ja","jpn","jpn"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
        {"or","ori","ori"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
        {"om","orm","orm"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
        {"zh","zho","chi"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
        {"tw","twi","twi"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
        {"de","deu","ger"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
        {"oc","oci","oci"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
        {"za","zha","zha"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
        {"tt","tat","tat"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
        {"iu","iku","iku"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
        {"ts","tso","tso"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
        {"it","ita","ita"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
        {"tr","tur","tur"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
        {"da","dan","dan"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
        {"is","isl","ice"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
        {"to","ton","ton"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
        {"tl","tgl","tgl"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
        {"tk","tuk","tuk"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
        {"ik","ipk","ipk"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
        {"ti","tir","tir"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
        {"th","tha","tha"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
        {"tg","tgk","tgk"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
        {"te","tel","tel"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
        {"cy","cym","wel"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
        {"ie","ile","ile"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
        {"id","ind","ind"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
        {"ta","tam","tam"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
        {"ia","ina","ina"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
        {"cs","ces","cze"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
        {"yo","yor","yor"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
        {"no","nor","nor"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
        {"co","cos","cos"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
        {"nl","nld","dut"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
        {"yi","yid","yid"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
        {"hy","hye","arm"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
        {"sw","swa","swa"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
        {"ne","nep","nep"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
        {"sv","swe","swe"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
        {"su","sun","sun"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
        {"hu","hun","hun"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
        {"na","nau","nau"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
        {"sr","srp","scc"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
        {"ca","cat","cat"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
        {"sq","sqi","alb"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
        {"hr","hrv","scr"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
        {"so","som","som"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
        {"sn","sna","sna"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
        {"sm","smo","smo"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
        {"sl","slv","slv"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
        {"sk","slk","slo"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
        {"si","sin","sin"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
        {"hi","hin","hin"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
        {"my","mya","bur"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
        {"sd","snd","snd"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
        {"he","heb","heb"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
        {"sa","san","san"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
        {"mt","mlt","mlt"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
        {"ms","msa","may"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
        {"ha","hau","hau"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
        {"mr","mar","mar"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
        {"br","bre","bre"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
        {"mo","mol","mol"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
        {"bo","bod","tib"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
        {"mn","mon","mon"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
        {"bn","ben","ben"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
        {"ml","mal","mal"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
        {"mk","mkd","mac"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
        {"xh","xho","xho"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
        {"mi","mri","mao"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
        {"bi","bis","bis"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
        {"bh","bih","bih"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
        {"mg","mlg","mlg"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
        {"bg","bul","bul"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
        {"rw","kin","kin"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
        {"be","bel","bel"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
        {"ru","rus","rus"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
        {"gu","guj","guj"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
        {"ba","bak","bak"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
        {"ro","ron","rum"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
        {"rm","roh","roh"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
        {"gn","grn","grn"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
        {"az","aze","aze"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
        {"ay","aym","aym"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
        {"gd","gla","gla"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
        {"lv","lav","lav"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
        {"lt","lit","lit"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
        {"ga","gle","gle"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
        {"as","asm","asm"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
        {"ar","ara","ara"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
        {"wo","wol","wol"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
        {"ln","lin","lin"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
        {"am","amh","amh"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
        {"fy","fry","fry"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
        {"af","afr","afr"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
        {"qu","que","que"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
        {"ab","abk","abk"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
        {"la","lat","lat"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
        {"aa","aar","aar"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
        {"fr","fra","fre"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
        {"fo","fao","fao"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
        {"fj","fij","fij"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
        {"fi","fin","fin"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
        {"ky","kir","kir"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
        {"ku","kur","kur"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
        {"fa","fas","per"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
        {"ks","kas","kas"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
        {"vo","vol","vol"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
        {"ko","kor","kor"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
        {"kn","kan","kan"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
        {"kk","kaz","kaz"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
        {"vi","vie","vie"},
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
    };
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
/*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
    The following code was used to generate the table above from the two ISO standards.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
    It matches the language names (not the codes) from both standards to associate
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
    the two and three letter codes.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
    private static final String ISO639 = "d:\\temp\\iso639.txt";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
    private static final String ISO6392 = "d:\\temp\\iso-639-2.txt";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
    private static void generateTables() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
        try {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
            BufferedReader ISO639File = new BufferedReader(new FileReader(ISO639));
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
            Hashtable i639 = new Hashtable();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
            for (String line = ISO639File.readLine(); line != null; line = ISO639File.readLine()) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
                if (!line.startsWith("#")) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
                    final int ndx = line.indexOf(' ');
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
                    final String arg1 = line.substring(0, ndx);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
                    final int ndx2 = line.indexOf(' ', ndx+1);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
                    final String arg2 = line.substring(ndx+1, ndx2 < 0 ? line.length() : ndx2);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
                    i639.put(arg1, arg2);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
                }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
            }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
            BufferedReader ISO6392File = new BufferedReader(new FileReader(ISO6392));
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
            Hashtable i6392 = new Hashtable();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
            for (String line = ISO6392File.readLine(); line != null; line = ISO6392File.readLine()) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
                final int ndx = line.indexOf(' ');
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
                final int ndx2 = line.indexOf(' ', ndx+1);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
                int ndx3 = line.indexOf(' ', ndx2+1);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
                if (ndx3 < 0) ndx3 = line.length();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
                final String arg1 = line.substring(0, ndx);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
                final String arg2 = line.substring(ndx+1, ndx2);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
                final String arg3 = line.substring(ndx2+1, ndx3);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
                i6392.put(arg3, new ISO6392Entry(arg1, arg2));
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
            }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
            Enumeration keys = i639.keys();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
            while (keys.hasMoreElements()) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
                final Object key = keys.nextElement();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
                final Object name = i639.get(key);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
                final Object value = i6392.get(name);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
                if (value != null) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
                    System.out.print("{");
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
                    System.out.print("\""+key+"\",");
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
                    System.out.print(value);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
                    System.out.println("},");
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
                }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
            }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
        } catch (Exception e) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
            System.out.println(e);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
        }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
    private static final class ISO6392Entry {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
        public final String code;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
        public final String name;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
        public ISO6392Entry(String code, String name) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
            this.code = code;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
            this.name = name;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
        }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
        public String toString() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
            return "\""+code+"\",\""+name+"\"";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
        }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
*/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
}
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
/*
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
data from ftp://dkuug.dk on March 4, 1999
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
verified by http://www.triacom.com/archive/iso639-2.en.html
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
iso 639 data
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
aa Afar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
ab Abkhazian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
af Afrikaans
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
am Amharic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
ar Arabic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
as Assamese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
ay Aymara
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
az Azerbaijani
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
ba Bashkir
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
be Belarussian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
bg Bulgarian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
bh Bihari
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
bi Bislama
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
bn Bengali
90ce3da70b43 Initial load
duke
parents:
diff changeset
   293
bo Tibetan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
br Breton
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
ca Catalan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
co Corsican
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
cs Czech
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
cy Welsh
90ce3da70b43 Initial load
duke
parents:
diff changeset
   299
da Danish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
de German
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
dz Bhutani
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
el Greek
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
en English
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
eo Esperanto
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
es Spanish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
et Estonian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
eu Basque
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
fa Persian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
fi Finnish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
fj Fijian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
fo Faroese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
fr French
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
fy Frisian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
ga Irish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
gd Gaelic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
gl Galician
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
gn Guarani
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
gu Gujarati
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
ha Hausa
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
he Hebrew
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
hi Hindi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
hr Croatian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
hu Hungarian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
hy Armenian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
ia Interlingua
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
id Indonesian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
ie Interlingue
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
ik Inupiak
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
is Icelandic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
it Italian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
iu Inuktitut
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
ja Japanese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
jw Javanese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
ka Georgian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
kk Kazakh
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
kl Greenlandic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
km Cambodian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
kn Kannada
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
ko Korean
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
ks Kashmiri
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
ku Kurdish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
ky Kirghiz
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
la Latin
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
ln Lingala
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
lo Laothian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
lt Lithuanian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
lv Latvian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
mg Malagasy
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349
mi Maori
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
mk Macedonian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351
ml Malayalam
90ce3da70b43 Initial load
duke
parents:
diff changeset
   352
mn Mongolian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   353
mo Moldavian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   354
mr Marathi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   355
ms Malay
90ce3da70b43 Initial load
duke
parents:
diff changeset
   356
mt Maltese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   357
my Burmese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   358
na Nauru
90ce3da70b43 Initial load
duke
parents:
diff changeset
   359
ne Nepali
90ce3da70b43 Initial load
duke
parents:
diff changeset
   360
nl Dutch
90ce3da70b43 Initial load
duke
parents:
diff changeset
   361
no Norwegian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   362
oc Occitan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   363
om Oromo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   364
or Oriya
90ce3da70b43 Initial load
duke
parents:
diff changeset
   365
pa Punjabi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   366
pl Polish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   367
ps Pushto
90ce3da70b43 Initial load
duke
parents:
diff changeset
   368
pt Portuguese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   369
qu Quechua
90ce3da70b43 Initial load
duke
parents:
diff changeset
   370
rm Raeto-Romance
90ce3da70b43 Initial load
duke
parents:
diff changeset
   371
rn Kirundi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   372
ro Romanian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   373
ru Russian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   374
rw Kinyarwanda
90ce3da70b43 Initial load
duke
parents:
diff changeset
   375
sa Sanskrit
90ce3da70b43 Initial load
duke
parents:
diff changeset
   376
sd Sindhi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   377
sg Sangho
90ce3da70b43 Initial load
duke
parents:
diff changeset
   378
sh Croatian (Serbo)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   379
si Sinhalese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   380
sk Slovak
90ce3da70b43 Initial load
duke
parents:
diff changeset
   381
sl Slovenian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   382
sm Samoan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   383
sn Shona
90ce3da70b43 Initial load
duke
parents:
diff changeset
   384
so Somali
90ce3da70b43 Initial load
duke
parents:
diff changeset
   385
sq Albanian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   386
sr Serbian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   387
ss Siswati
90ce3da70b43 Initial load
duke
parents:
diff changeset
   388
st Sesotho
90ce3da70b43 Initial load
duke
parents:
diff changeset
   389
su Sundanese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   390
sv Swedish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   391
sw Swahili
90ce3da70b43 Initial load
duke
parents:
diff changeset
   392
ta Tamil
90ce3da70b43 Initial load
duke
parents:
diff changeset
   393
te Telugu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   394
tg Tajik
90ce3da70b43 Initial load
duke
parents:
diff changeset
   395
th Thai
90ce3da70b43 Initial load
duke
parents:
diff changeset
   396
ti Tigrinya
90ce3da70b43 Initial load
duke
parents:
diff changeset
   397
tk Turkmen
90ce3da70b43 Initial load
duke
parents:
diff changeset
   398
tl Tagalog
90ce3da70b43 Initial load
duke
parents:
diff changeset
   399
tn Setswana
90ce3da70b43 Initial load
duke
parents:
diff changeset
   400
to Tonga
90ce3da70b43 Initial load
duke
parents:
diff changeset
   401
tr Turkish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   402
ts Tsonga
90ce3da70b43 Initial load
duke
parents:
diff changeset
   403
tt Tatar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   404
tw Twi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   405
ug Uighur
90ce3da70b43 Initial load
duke
parents:
diff changeset
   406
uk Ukrainian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   407
ur Urdu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   408
uz Uzbek
90ce3da70b43 Initial load
duke
parents:
diff changeset
   409
vi Vietnamese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   410
vo Volapuk
90ce3da70b43 Initial load
duke
parents:
diff changeset
   411
wo Wolof
90ce3da70b43 Initial load
duke
parents:
diff changeset
   412
xh Xhosa
90ce3da70b43 Initial load
duke
parents:
diff changeset
   413
yi Yiddish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   414
yo Yoruba
90ce3da70b43 Initial load
duke
parents:
diff changeset
   415
za Zhuang
90ce3da70b43 Initial load
duke
parents:
diff changeset
   416
zh Chinese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   417
zu Zulu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   418
90ce3da70b43 Initial load
duke
parents:
diff changeset
   419
ISO 639-2 data
90ce3da70b43 Initial load
duke
parents:
diff changeset
   420
90ce3da70b43 Initial load
duke
parents:
diff changeset
   421
aar aar Afar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   422
abk abk Abkhazian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   423
ace ace Achinese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   424
ach ach Acoli
90ce3da70b43 Initial load
duke
parents:
diff changeset
   425
ada ada Adangme
90ce3da70b43 Initial load
duke
parents:
diff changeset
   426
afa afa Afro-Asiatic (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   427
afh afh Afrihili
90ce3da70b43 Initial load
duke
parents:
diff changeset
   428
afr afr Afrikaans
90ce3da70b43 Initial load
duke
parents:
diff changeset
   429
aka aka Akan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   430
akk akk Akkadian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   431
ale ale Aleut
90ce3da70b43 Initial load
duke
parents:
diff changeset
   432
alg alg Algonquian languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   433
amh amh Amharic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   434
ang ang English-Old (ca. 450-1100)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   435
apa apa Apache languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   436
ara ara Arabic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   437
arc arc Aramaic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   438
arn arn Araucanian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   439
arp arp Arapaho
90ce3da70b43 Initial load
duke
parents:
diff changeset
   440
art art Artificial (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   441
arw arw Arawak
90ce3da70b43 Initial load
duke
parents:
diff changeset
   442
asm asm Assamese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   443
ath ath Athapascan languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   444
aus aus Australian languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   445
ava ava Avaric
90ce3da70b43 Initial load
duke
parents:
diff changeset
   446
ave ave Avestan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   447
awa awa Awadhi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   448
aym aym Aymara
90ce3da70b43 Initial load
duke
parents:
diff changeset
   449
aze aze Azerbaijani
90ce3da70b43 Initial load
duke
parents:
diff changeset
   450
bad bad Banda
90ce3da70b43 Initial load
duke
parents:
diff changeset
   451
bai bai Bamileke languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   452
bak bak Bashkir
90ce3da70b43 Initial load
duke
parents:
diff changeset
   453
bal bal Baluchi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   454
bam bam Bambara
90ce3da70b43 Initial load
duke
parents:
diff changeset
   455
ban ban Balinese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   456
bas bas Basa
90ce3da70b43 Initial load
duke
parents:
diff changeset
   457
bat bat Baltic (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   458
bej bej Beja
90ce3da70b43 Initial load
duke
parents:
diff changeset
   459
bel bel Belarussian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   460
bem bem Bemba
90ce3da70b43 Initial load
duke
parents:
diff changeset
   461
ben ben Bengali
90ce3da70b43 Initial load
duke
parents:
diff changeset
   462
ber ber Berber (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   463
bho bho Bhojpuri
90ce3da70b43 Initial load
duke
parents:
diff changeset
   464
bih bih Bihari
90ce3da70b43 Initial load
duke
parents:
diff changeset
   465
bik bik Bikol
90ce3da70b43 Initial load
duke
parents:
diff changeset
   466
bin bin Bini
90ce3da70b43 Initial load
duke
parents:
diff changeset
   467
bis bis Bislama
90ce3da70b43 Initial load
duke
parents:
diff changeset
   468
bla bla Siksika
90ce3da70b43 Initial load
duke
parents:
diff changeset
   469
bnt bnt Bantu (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   470
bod tib Tibetan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   471
bra bra Braj
90ce3da70b43 Initial load
duke
parents:
diff changeset
   472
bre bre Breton
90ce3da70b43 Initial load
duke
parents:
diff changeset
   473
btk btk Batak (Indonesia)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   474
bua bua Buriat
90ce3da70b43 Initial load
duke
parents:
diff changeset
   475
bug bug Buginese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   476
bul bul Bulgarian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   477
cad cad Caddo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   478
cai cai Central-American-Indian (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   479
car car Carib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   480
cat cat Catalan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   481
cau cau Caucasian (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   482
ceb ceb Cebuano
90ce3da70b43 Initial load
duke
parents:
diff changeset
   483
cel cel Celtic (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   484
ces cze Czech
90ce3da70b43 Initial load
duke
parents:
diff changeset
   485
cha cha Chamorro
90ce3da70b43 Initial load
duke
parents:
diff changeset
   486
chb chb Chibcha
90ce3da70b43 Initial load
duke
parents:
diff changeset
   487
che che Chechen
90ce3da70b43 Initial load
duke
parents:
diff changeset
   488
chg chg Chagatai
90ce3da70b43 Initial load
duke
parents:
diff changeset
   489
chk chk Chuukese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   490
chm chm Mari
90ce3da70b43 Initial load
duke
parents:
diff changeset
   491
chn chn Chinook-jargon
90ce3da70b43 Initial load
duke
parents:
diff changeset
   492
cho cho Choctaw
90ce3da70b43 Initial load
duke
parents:
diff changeset
   493
chp chp Chipewyan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   494
chr chr Cherokee
90ce3da70b43 Initial load
duke
parents:
diff changeset
   495
chu chu Church-Slavic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   496
chv chv Chuvash
90ce3da70b43 Initial load
duke
parents:
diff changeset
   497
chy chy Cheyenne
90ce3da70b43 Initial load
duke
parents:
diff changeset
   498
cmc cmc Chamic languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   499
cop cop Coptic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   500
cor cor Cornish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   501
cos cos Corsican
90ce3da70b43 Initial load
duke
parents:
diff changeset
   502
cpe cpe Creoles-and-pidgins-English-based (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   503
cpf cpf Creoles-and-pidgins-French-based (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   504
cpp cpp Creoles-and-pidgins-Portuguese-based (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   505
cre cre Cree
90ce3da70b43 Initial load
duke
parents:
diff changeset
   506
crp crp Creoles-and-pidgins (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   507
cus cus Cushitic (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   508
cym wel Welsh
90ce3da70b43 Initial load
duke
parents:
diff changeset
   509
dak dak Dakota
90ce3da70b43 Initial load
duke
parents:
diff changeset
   510
dan dan Danish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   511
day day Dayak
90ce3da70b43 Initial load
duke
parents:
diff changeset
   512
del del Delaware
90ce3da70b43 Initial load
duke
parents:
diff changeset
   513
den den Slave (Athapascan)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   514
deu ger German
90ce3da70b43 Initial load
duke
parents:
diff changeset
   515
dgr dgr Dogrib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   516
din din Dinka
90ce3da70b43 Initial load
duke
parents:
diff changeset
   517
div div Divehi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   518
doi doi Dogri
90ce3da70b43 Initial load
duke
parents:
diff changeset
   519
dra dra Dravidian (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   520
dua dua Duala
90ce3da70b43 Initial load
duke
parents:
diff changeset
   521
dum dum Dutch-Middle (ca. 1050-1350)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   522
dyu dyu Dyula
90ce3da70b43 Initial load
duke
parents:
diff changeset
   523
dzo dzo Dzongkha
90ce3da70b43 Initial load
duke
parents:
diff changeset
   524
efi efi Efik
90ce3da70b43 Initial load
duke
parents:
diff changeset
   525
egy egy Egyptian (Ancient)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   526
eka eka Ekajuk
90ce3da70b43 Initial load
duke
parents:
diff changeset
   527
ell gre Greek Modern (post 1453)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   528
elx elx Elamite
90ce3da70b43 Initial load
duke
parents:
diff changeset
   529
eng eng English
90ce3da70b43 Initial load
duke
parents:
diff changeset
   530
enm enm English-Middle (1100-1500)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   531
epo epo Esperanto
90ce3da70b43 Initial load
duke
parents:
diff changeset
   532
est est Estonian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   533
eus baq Basque
90ce3da70b43 Initial load
duke
parents:
diff changeset
   534
ewe ewe Ewe
90ce3da70b43 Initial load
duke
parents:
diff changeset
   535
ewo ewo Ewondo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   536
fan fan Fang
90ce3da70b43 Initial load
duke
parents:
diff changeset
   537
fao fao Faroese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   538
fas per Persian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   539
fat fat Fanti
90ce3da70b43 Initial load
duke
parents:
diff changeset
   540
fij fij Fijian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   541
fin fin Finnish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   542
fiu fiu Finno-Ugrian (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   543
fon fon Fon
90ce3da70b43 Initial load
duke
parents:
diff changeset
   544
fra fre French
90ce3da70b43 Initial load
duke
parents:
diff changeset
   545
frm frm French-Middle (ca. 1400-1600)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   546
fro fro French-Old (842-ca. 1400)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   547
fry fry Frisian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   548
ful ful Fulah
90ce3da70b43 Initial load
duke
parents:
diff changeset
   549
fur fur Friulian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   550
gaa gaa Ga
90ce3da70b43 Initial load
duke
parents:
diff changeset
   551
gay gay Gayo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   552
gba gba Gbaya
90ce3da70b43 Initial load
duke
parents:
diff changeset
   553
gem gem Germanic (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   554
gez gez Geez
90ce3da70b43 Initial load
duke
parents:
diff changeset
   555
gil gil Gilbertese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   556
gdh gae Gaelic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   557
gai iri Irish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   558
glg glg Gallegan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   559
glv glv Manx
90ce3da70b43 Initial load
duke
parents:
diff changeset
   560
gmh gmh German-Middle High (ca. 1050-1500)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   561
goh goh German-Old High (ca. 750-1050)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   562
gon gon Gondi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   563
gor gor Gorontalo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   564
got got Gothic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   565
grb grb Grebo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   566
grc grc Greek-Ancient (to 1453)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   567
grn grn Guarani
90ce3da70b43 Initial load
duke
parents:
diff changeset
   568
guj guj Gujarati
90ce3da70b43 Initial load
duke
parents:
diff changeset
   569
gwi gwi Gwich'in
90ce3da70b43 Initial load
duke
parents:
diff changeset
   570
hai hai Haida
90ce3da70b43 Initial load
duke
parents:
diff changeset
   571
hau hau Hausa
90ce3da70b43 Initial load
duke
parents:
diff changeset
   572
haw haw Hawaiian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   573
heb heb Hebrew
90ce3da70b43 Initial load
duke
parents:
diff changeset
   574
her her Herero
90ce3da70b43 Initial load
duke
parents:
diff changeset
   575
hil hil Hiligaynon
90ce3da70b43 Initial load
duke
parents:
diff changeset
   576
him him Himachali
90ce3da70b43 Initial load
duke
parents:
diff changeset
   577
hin hin Hindi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   578
hit hit Hittite
90ce3da70b43 Initial load
duke
parents:
diff changeset
   579
hmn hmn Hmong
90ce3da70b43 Initial load
duke
parents:
diff changeset
   580
hmo hmo Hiri Motu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   581
hrv scr Croatian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   582
hun hun Hungarian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   583
hup hup Hupa
90ce3da70b43 Initial load
duke
parents:
diff changeset
   584
hye arm Armenian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   585
iba iba Iban
90ce3da70b43 Initial load
duke
parents:
diff changeset
   586
ibo ibo Igbo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   587
ijo ijo Ijo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   588
iku iku Inuktitut
90ce3da70b43 Initial load
duke
parents:
diff changeset
   589
ile ile Interlingue
90ce3da70b43 Initial load
duke
parents:
diff changeset
   590
ilo ilo Iloko
90ce3da70b43 Initial load
duke
parents:
diff changeset
   591
ina ina Interlingua (International Auxilary Language Association)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   592
inc inc Indic (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   593
ind ind Indonesian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   594
ine ine Indo-European (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   595
ipk ipk Inupiak
90ce3da70b43 Initial load
duke
parents:
diff changeset
   596
ira ira Iranian (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   597
iro iro Iroquoian languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   598
isl ice Icelandic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   599
ita ita Italian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   600
jaw jav Javanese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   601
jpn jpn Japanese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   602
jpr jpr Judeo-Persian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   603
jrb jrb Judeo-Arabic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   604
kaa kaa Kara-Kalpak
90ce3da70b43 Initial load
duke
parents:
diff changeset
   605
kab kab Kabyle
90ce3da70b43 Initial load
duke
parents:
diff changeset
   606
kac kac Kachin
90ce3da70b43 Initial load
duke
parents:
diff changeset
   607
kal kal Kalaallisut
90ce3da70b43 Initial load
duke
parents:
diff changeset
   608
kam kam Kamba
90ce3da70b43 Initial load
duke
parents:
diff changeset
   609
kan kan Kannada
90ce3da70b43 Initial load
duke
parents:
diff changeset
   610
kar kar Karen
90ce3da70b43 Initial load
duke
parents:
diff changeset
   611
kas kas Kashmiri
90ce3da70b43 Initial load
duke
parents:
diff changeset
   612
kat geo Georgian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   613
kau kau Kanuri
90ce3da70b43 Initial load
duke
parents:
diff changeset
   614
kaw kaw Kawi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   615
kaz kaz Kazakh
90ce3da70b43 Initial load
duke
parents:
diff changeset
   616
kha kha Khasi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   617
khi khi Khoisan (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   618
khm khm Khmer
90ce3da70b43 Initial load
duke
parents:
diff changeset
   619
kho kho Khotanese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   620
kik kik Kikuyu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   621
kin kin Kinyarwanda
90ce3da70b43 Initial load
duke
parents:
diff changeset
   622
kir kir Kirghiz
90ce3da70b43 Initial load
duke
parents:
diff changeset
   623
kmb kmb Kimbundu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   624
kok kok Konkani
90ce3da70b43 Initial load
duke
parents:
diff changeset
   625
kom kom Komi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   626
kon kon Kongo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   627
kor kor Korean
90ce3da70b43 Initial load
duke
parents:
diff changeset
   628
kos kos Kosraean
90ce3da70b43 Initial load
duke
parents:
diff changeset
   629
kpe kpe Kpelle
90ce3da70b43 Initial load
duke
parents:
diff changeset
   630
kro kro Kru
90ce3da70b43 Initial load
duke
parents:
diff changeset
   631
kru kru Kurukh
90ce3da70b43 Initial load
duke
parents:
diff changeset
   632
kua kua Kuanyama
90ce3da70b43 Initial load
duke
parents:
diff changeset
   633
kum kum Kumyk
90ce3da70b43 Initial load
duke
parents:
diff changeset
   634
kur kur Kurdish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   635
kut kut Kutenai
90ce3da70b43 Initial load
duke
parents:
diff changeset
   636
lad lad Ladino
90ce3da70b43 Initial load
duke
parents:
diff changeset
   637
lah lah Lahnda
90ce3da70b43 Initial load
duke
parents:
diff changeset
   638
lam lam Lamba
90ce3da70b43 Initial load
duke
parents:
diff changeset
   639
lao lao Lao
90ce3da70b43 Initial load
duke
parents:
diff changeset
   640
lat lat Latin
90ce3da70b43 Initial load
duke
parents:
diff changeset
   641
lav lav Latvian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   642
lez lez Lezghian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   643
lin lin Lingala
90ce3da70b43 Initial load
duke
parents:
diff changeset
   644
lit lit Lithuanian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   645
lol lol Mongo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   646
loz loz Lozi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   647
ltz ltz Letzeburgesch
90ce3da70b43 Initial load
duke
parents:
diff changeset
   648
lua lua Luba-Lulua
90ce3da70b43 Initial load
duke
parents:
diff changeset
   649
lub lub Luba-Katanga
90ce3da70b43 Initial load
duke
parents:
diff changeset
   650
lug lug Ganda
90ce3da70b43 Initial load
duke
parents:
diff changeset
   651
lui lui Luiseno
90ce3da70b43 Initial load
duke
parents:
diff changeset
   652
lun lun Lunda
90ce3da70b43 Initial load
duke
parents:
diff changeset
   653
luo luo Luo (Kenya and Tanzania)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   654
lus lus Lushai
90ce3da70b43 Initial load
duke
parents:
diff changeset
   655
mad mad Madurese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   656
mag mag Magahi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   657
mah mah Marshall
90ce3da70b43 Initial load
duke
parents:
diff changeset
   658
mai mai Maithili
90ce3da70b43 Initial load
duke
parents:
diff changeset
   659
mak mak Makasar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   660
mal mal Malayalam
90ce3da70b43 Initial load
duke
parents:
diff changeset
   661
man man Mandingo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   662
map map Austronesian (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   663
mar mar Marathi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   664
mas mas Masai
90ce3da70b43 Initial load
duke
parents:
diff changeset
   665
mdr mdr Mandar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   666
men men Mende
90ce3da70b43 Initial load
duke
parents:
diff changeset
   667
mga mga Irish-Middle (900-1200)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   668
mic mic Micmac
90ce3da70b43 Initial load
duke
parents:
diff changeset
   669
min min Minangkabau
90ce3da70b43 Initial load
duke
parents:
diff changeset
   670
mis mis Miscellaneous languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   671
mkd mac Macedonian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   672
mkh mkh Mon-Khmer (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   673
mlg mlg Malagasy
90ce3da70b43 Initial load
duke
parents:
diff changeset
   674
mlt mlt Maltese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   675
mni mni Manipuri
90ce3da70b43 Initial load
duke
parents:
diff changeset
   676
mno mno Manobo languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   677
moh moh Mohawk
90ce3da70b43 Initial load
duke
parents:
diff changeset
   678
mol mol Moldavian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   679
mon mon Mongolian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   680
mos mos Mossi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   681
mri mao Maori
90ce3da70b43 Initial load
duke
parents:
diff changeset
   682
msa may Malay
90ce3da70b43 Initial load
duke
parents:
diff changeset
   683
mul mul Multiple languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   684
mun mun Munda languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   685
mus mus Creek
90ce3da70b43 Initial load
duke
parents:
diff changeset
   686
mwr mwr Marwari
90ce3da70b43 Initial load
duke
parents:
diff changeset
   687
mya bur Burmese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   688
myn myn Mayan languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   689
nah nah Nahuatl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   690
nai nai North American Indian (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   691
nau nau Nauru
90ce3da70b43 Initial load
duke
parents:
diff changeset
   692
nav nav Navajo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   693
nbl nbl Ndebele, South
90ce3da70b43 Initial load
duke
parents:
diff changeset
   694
nde nde Ndebele, North
90ce3da70b43 Initial load
duke
parents:
diff changeset
   695
ndo ndo Ndonga
90ce3da70b43 Initial load
duke
parents:
diff changeset
   696
nep nep Nepali
90ce3da70b43 Initial load
duke
parents:
diff changeset
   697
new new Newari
90ce3da70b43 Initial load
duke
parents:
diff changeset
   698
nia nia Nias
90ce3da70b43 Initial load
duke
parents:
diff changeset
   699
nic nic Niger-Kordofanian (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   700
niu niu Niuean
90ce3da70b43 Initial load
duke
parents:
diff changeset
   701
nld dut Dutch
90ce3da70b43 Initial load
duke
parents:
diff changeset
   702
non non Norse, Old
90ce3da70b43 Initial load
duke
parents:
diff changeset
   703
nor nor Norwegian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   704
nso nso Sohto, Northern
90ce3da70b43 Initial load
duke
parents:
diff changeset
   705
nub nub Nubian languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   706
nya nya Nyanja
90ce3da70b43 Initial load
duke
parents:
diff changeset
   707
nym nym Nyamwezi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   708
nyn nyn Nyankole
90ce3da70b43 Initial load
duke
parents:
diff changeset
   709
nyo nyo Nyoro
90ce3da70b43 Initial load
duke
parents:
diff changeset
   710
nzi nzi Nzima
90ce3da70b43 Initial load
duke
parents:
diff changeset
   711
oci oci Occitan (post 1500)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   712
oji oji Ojibwa
90ce3da70b43 Initial load
duke
parents:
diff changeset
   713
ori ori Oriya
90ce3da70b43 Initial load
duke
parents:
diff changeset
   714
orm orm Oromo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   715
osa osa Osage
90ce3da70b43 Initial load
duke
parents:
diff changeset
   716
oss oss Ossetic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   717
ota ota Turkish, Ottoman (1500-1928)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   718
oto oto Otomian languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   719
paa paa Papuan (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   720
pag pag Pangasinan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   721
pal pal Pahlavi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   722
pam pam Pampanga
90ce3da70b43 Initial load
duke
parents:
diff changeset
   723
pan pan Panjabi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   724
pap pap Papiamento
90ce3da70b43 Initial load
duke
parents:
diff changeset
   725
pau pau Palauan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   726
peo peo Persian, Old (ca. 600-400 B.C.)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   727
phi phi Philippine (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   728
phn phn Phoenician
90ce3da70b43 Initial load
duke
parents:
diff changeset
   729
pli pli Pali
90ce3da70b43 Initial load
duke
parents:
diff changeset
   730
pol pol Polish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   731
pon pon Pohnpeian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   732
por por Portuguese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   733
pra pra Prakrit languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   734
pro pro Provençal, Old (to 1500)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   735
pus pus Pushto
90ce3da70b43 Initial load
duke
parents:
diff changeset
   736
qaa-qtz qaa-qtz Reserved for local use
90ce3da70b43 Initial load
duke
parents:
diff changeset
   737
que que Quechua
90ce3da70b43 Initial load
duke
parents:
diff changeset
   738
raj raj Rajasthani
90ce3da70b43 Initial load
duke
parents:
diff changeset
   739
rap rap Rapanui
90ce3da70b43 Initial load
duke
parents:
diff changeset
   740
rar rar Rarotongan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   741
roa roa Romance (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   742
roh roh Raeto-Romance
90ce3da70b43 Initial load
duke
parents:
diff changeset
   743
rom rom Romany
90ce3da70b43 Initial load
duke
parents:
diff changeset
   744
ron rum Romanian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   745
run run Rundi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   746
rus rus Russian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   747
sad sad Sandawe
90ce3da70b43 Initial load
duke
parents:
diff changeset
   748
sag sag Sango
90ce3da70b43 Initial load
duke
parents:
diff changeset
   749
sah sah Yakut
90ce3da70b43 Initial load
duke
parents:
diff changeset
   750
sai sai South American Indian (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   751
sal sal Salishan languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   752
sam sam Samaritan Aramaic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   753
san san Sanskrit
90ce3da70b43 Initial load
duke
parents:
diff changeset
   754
sas sas Sasak
90ce3da70b43 Initial load
duke
parents:
diff changeset
   755
sat sat Santali
90ce3da70b43 Initial load
duke
parents:
diff changeset
   756
sco sco Scots
90ce3da70b43 Initial load
duke
parents:
diff changeset
   757
sel sel Selkup
90ce3da70b43 Initial load
duke
parents:
diff changeset
   758
sem sem Semitic (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   759
sga sga Irish-Old (to 900)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   760
shn shn Shan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   761
sid sid Sidamo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   762
sin sin Sinhalese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   763
sio sio Siouan languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   764
sit sit Sino-Tibetan (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   765
sla sla Slavic (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   766
slk slo Slovak
90ce3da70b43 Initial load
duke
parents:
diff changeset
   767
slv slv Slovenian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   768
smi smi Sami languages
90ce3da70b43 Initial load
duke
parents:
diff changeset
   769
smo smo Samoan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   770
sna sna Shona
90ce3da70b43 Initial load
duke
parents:
diff changeset
   771
snd snd Sindhi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   772
snk snk Soninke
90ce3da70b43 Initial load
duke
parents:
diff changeset
   773
sog sog Sogdian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   774
som som Somali
90ce3da70b43 Initial load
duke
parents:
diff changeset
   775
son son Songhai
90ce3da70b43 Initial load
duke
parents:
diff changeset
   776
sot sot Sotho Southern
90ce3da70b43 Initial load
duke
parents:
diff changeset
   777
spa spa Spanish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   778
sqi alb Albanian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   779
srd srd Sardinian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   780
srp scc Serbian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   781
srr srr Serer
90ce3da70b43 Initial load
duke
parents:
diff changeset
   782
ssa ssa Nilo-Saharan (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   783
ssw ssw Swati
90ce3da70b43 Initial load
duke
parents:
diff changeset
   784
suk suk Sukuma
90ce3da70b43 Initial load
duke
parents:
diff changeset
   785
sun sun Sundanese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   786
sus sus Susu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   787
sux sux Sumerian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   788
swa swa Swahili
90ce3da70b43 Initial load
duke
parents:
diff changeset
   789
swe swe Swedish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   790
syr syr Syriac
90ce3da70b43 Initial load
duke
parents:
diff changeset
   791
tah tah Tahitian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   792
tai tai Tai (Other)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   793
tam tam Tamil
90ce3da70b43 Initial load
duke
parents:
diff changeset
   794
tat tat Tatar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   795
tel tel Telugu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   796
tem tem Timne
90ce3da70b43 Initial load
duke
parents:
diff changeset
   797
ter ter Tereno
90ce3da70b43 Initial load
duke
parents:
diff changeset
   798
tet tet Tetum
90ce3da70b43 Initial load
duke
parents:
diff changeset
   799
tgk tgk Tajik
90ce3da70b43 Initial load
duke
parents:
diff changeset
   800
tgl tgl Tagalog
90ce3da70b43 Initial load
duke
parents:
diff changeset
   801
tha tha Thai
90ce3da70b43 Initial load
duke
parents:
diff changeset
   802
tig tig Tigre
90ce3da70b43 Initial load
duke
parents:
diff changeset
   803
tir tir Tigrinya
90ce3da70b43 Initial load
duke
parents:
diff changeset
   804
tiv tiv Tiv
90ce3da70b43 Initial load
duke
parents:
diff changeset
   805
tkl tkl Tokelau
90ce3da70b43 Initial load
duke
parents:
diff changeset
   806
tli tli Tlingit
90ce3da70b43 Initial load
duke
parents:
diff changeset
   807
tmh tmh Tamashek
90ce3da70b43 Initial load
duke
parents:
diff changeset
   808
tog tog Tonga (Nyasa)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   809
ton ton Tonga (Tonga Islands)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   810
tpi tpi Tok Pisin
90ce3da70b43 Initial load
duke
parents:
diff changeset
   811
tsi tsi Tsimshian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   812
tsn tsn Tswana
90ce3da70b43 Initial load
duke
parents:
diff changeset
   813
tso tso Tsonga
90ce3da70b43 Initial load
duke
parents:
diff changeset
   814
tuk tuk Turkmen
90ce3da70b43 Initial load
duke
parents:
diff changeset
   815
tum tum Tumbuka
90ce3da70b43 Initial load
duke
parents:
diff changeset
   816
tur tur Turkish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   817
tut tut Altaic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   818
tvl tvl Tuvalu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   819
twi twi Twi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   820
tyv tyv Tuvinian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   821
uga uga Ugaritic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   822
uig uig Uighur
90ce3da70b43 Initial load
duke
parents:
diff changeset
   823
ukr ukr Ukrainian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   824
umb umb Umbundu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   825
und und Undetermined
90ce3da70b43 Initial load
duke
parents:
diff changeset
   826
urd urd Urdu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   827
uzb uzb Uzbek
90ce3da70b43 Initial load
duke
parents:
diff changeset
   828
vai vai Vai
90ce3da70b43 Initial load
duke
parents:
diff changeset
   829
ven ven Venda
90ce3da70b43 Initial load
duke
parents:
diff changeset
   830
vie vie Vietnamese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   831
vol vol Volapuk
90ce3da70b43 Initial load
duke
parents:
diff changeset
   832
vot vot Votic
90ce3da70b43 Initial load
duke
parents:
diff changeset
   833
wak wak Wakashan
90ce3da70b43 Initial load
duke
parents:
diff changeset
   834
wal wal Walamo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   835
war war Waray
90ce3da70b43 Initial load
duke
parents:
diff changeset
   836
was was Washo
90ce3da70b43 Initial load
duke
parents:
diff changeset
   837
wen wen Sorbian
90ce3da70b43 Initial load
duke
parents:
diff changeset
   838
wol wol Wolof
90ce3da70b43 Initial load
duke
parents:
diff changeset
   839
xho xho Xhosa
90ce3da70b43 Initial load
duke
parents:
diff changeset
   840
yao yao Yao
90ce3da70b43 Initial load
duke
parents:
diff changeset
   841
yap yap Yapese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   842
yid yid Yiddish
90ce3da70b43 Initial load
duke
parents:
diff changeset
   843
yor yor Yoruba
90ce3da70b43 Initial load
duke
parents:
diff changeset
   844
ypk ypk Yupik
90ce3da70b43 Initial load
duke
parents:
diff changeset
   845
zap zap Zapotec
90ce3da70b43 Initial load
duke
parents:
diff changeset
   846
zen zen Zenaga
90ce3da70b43 Initial load
duke
parents:
diff changeset
   847
zha zha Zhuang
90ce3da70b43 Initial load
duke
parents:
diff changeset
   848
zho chi Chinese
90ce3da70b43 Initial load
duke
parents:
diff changeset
   849
znd znd Zande
90ce3da70b43 Initial load
duke
parents:
diff changeset
   850
zul zul Zulu
90ce3da70b43 Initial load
duke
parents:
diff changeset
   851
zun zun Zuni
90ce3da70b43 Initial load
duke
parents:
diff changeset
   852
90ce3da70b43 Initial load
duke
parents:
diff changeset
   853
*/