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