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