blob: 96335255d0f4da4911a0d6ac1593b14e95652ba8 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001/*
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
53import java.util.*;
54import 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 */
61public 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
285data from ftp://dkuug.dk on March 4, 1999
286verified by http://www.triacom.com/archive/iso639-2.en.html
287
288iso 639 data
289aa Afar
290ab Abkhazian
291af Afrikaans
292am Amharic
293ar Arabic
294as Assamese
295ay Aymara
296az Azerbaijani
297ba Bashkir
298be Belarussian
299bg Bulgarian
300bh Bihari
301bi Bislama
302bn Bengali
303bo Tibetan
304br Breton
305ca Catalan
306co Corsican
307cs Czech
308cy Welsh
309da Danish
310de German
311dz Bhutani
312el Greek
313en English
314eo Esperanto
315es Spanish
316et Estonian
317eu Basque
318fa Persian
319fi Finnish
320fj Fijian
321fo Faroese
322fr French
323fy Frisian
324ga Irish
325gd Gaelic
326gl Galician
327gn Guarani
328gu Gujarati
329ha Hausa
330he Hebrew
331hi Hindi
332hr Croatian
333hu Hungarian
334hy Armenian
335ia Interlingua
336id Indonesian
337ie Interlingue
338ik Inupiak
339is Icelandic
340it Italian
341iu Inuktitut
342ja Japanese
343jw Javanese
344ka Georgian
345kk Kazakh
346kl Greenlandic
347km Cambodian
348kn Kannada
349ko Korean
350ks Kashmiri
351ku Kurdish
352ky Kirghiz
353la Latin
354ln Lingala
355lo Laothian
356lt Lithuanian
357lv Latvian
358mg Malagasy
359mi Maori
360mk Macedonian
361ml Malayalam
362mn Mongolian
363mo Moldavian
364mr Marathi
365ms Malay
366mt Maltese
367my Burmese
368na Nauru
369ne Nepali
370nl Dutch
371no Norwegian
372oc Occitan
373om Oromo
374or Oriya
375pa Punjabi
376pl Polish
377ps Pushto
378pt Portuguese
379qu Quechua
380rm Raeto-Romance
381rn Kirundi
382ro Romanian
383ru Russian
384rw Kinyarwanda
385sa Sanskrit
386sd Sindhi
387sg Sangho
388sh Croatian (Serbo)
389si Sinhalese
390sk Slovak
391sl Slovenian
392sm Samoan
393sn Shona
394so Somali
395sq Albanian
396sr Serbian
397ss Siswati
398st Sesotho
399su Sundanese
400sv Swedish
401sw Swahili
402ta Tamil
403te Telugu
404tg Tajik
405th Thai
406ti Tigrinya
407tk Turkmen
408tl Tagalog
409tn Setswana
410to Tonga
411tr Turkish
412ts Tsonga
413tt Tatar
414tw Twi
415ug Uighur
416uk Ukrainian
417ur Urdu
418uz Uzbek
419vi Vietnamese
420vo Volapuk
421wo Wolof
422xh Xhosa
423yi Yiddish
424yo Yoruba
425za Zhuang
426zh Chinese
427zu Zulu
428
429ISO 639-2 data
430
431aar aar Afar
432abk abk Abkhazian
433ace ace Achinese
434ach ach Acoli
435ada ada Adangme
436afa afa Afro-Asiatic (Other)
437afh afh Afrihili
438afr afr Afrikaans
439aka aka Akan
440akk akk Akkadian
441ale ale Aleut
442alg alg Algonquian languages
443amh amh Amharic
444ang ang English-Old (ca. 450-1100)
445apa apa Apache languages
446ara ara Arabic
447arc arc Aramaic
448arn arn Araucanian
449arp arp Arapaho
450art art Artificial (Other)
451arw arw Arawak
452asm asm Assamese
453ath ath Athapascan languages
454aus aus Australian languages
455ava ava Avaric
456ave ave Avestan
457awa awa Awadhi
458aym aym Aymara
459aze aze Azerbaijani
460bad bad Banda
461bai bai Bamileke languages
462bak bak Bashkir
463bal bal Baluchi
464bam bam Bambara
465ban ban Balinese
466bas bas Basa
467bat bat Baltic (Other)
468bej bej Beja
469bel bel Belarussian
470bem bem Bemba
471ben ben Bengali
472ber ber Berber (Other)
473bho bho Bhojpuri
474bih bih Bihari
475bik bik Bikol
476bin bin Bini
477bis bis Bislama
478bla bla Siksika
479bnt bnt Bantu (Other)
480bod tib Tibetan
481bra bra Braj
482bre bre Breton
483btk btk Batak (Indonesia)
484bua bua Buriat
485bug bug Buginese
486bul bul Bulgarian
487cad cad Caddo
488cai cai Central-American-Indian (Other)
489car car Carib
490cat cat Catalan
491cau cau Caucasian (Other)
492ceb ceb Cebuano
493cel cel Celtic (Other)
494ces cze Czech
495cha cha Chamorro
496chb chb Chibcha
497che che Chechen
498chg chg Chagatai
499chk chk Chuukese
500chm chm Mari
501chn chn Chinook-jargon
502cho cho Choctaw
503chp chp Chipewyan
504chr chr Cherokee
505chu chu Church-Slavic
506chv chv Chuvash
507chy chy Cheyenne
508cmc cmc Chamic languages
509cop cop Coptic
510cor cor Cornish
511cos cos Corsican
512cpe cpe Creoles-and-pidgins-English-based (Other)
513cpf cpf Creoles-and-pidgins-French-based (Other)
514cpp cpp Creoles-and-pidgins-Portuguese-based (Other)
515cre cre Cree
516crp crp Creoles-and-pidgins (Other)
517cus cus Cushitic (Other)
518cym wel Welsh
519dak dak Dakota
520dan dan Danish
521day day Dayak
522del del Delaware
523den den Slave (Athapascan)
524deu ger German
525dgr dgr Dogrib
526din din Dinka
527div div Divehi
528doi doi Dogri
529dra dra Dravidian (Other)
530dua dua Duala
531dum dum Dutch-Middle (ca. 1050-1350)
532dyu dyu Dyula
533dzo dzo Dzongkha
534efi efi Efik
535egy egy Egyptian (Ancient)
536eka eka Ekajuk
537ell gre Greek Modern (post 1453)
538elx elx Elamite
539eng eng English
540enm enm English-Middle (1100-1500)
541epo epo Esperanto
542est est Estonian
543eus baq Basque
544ewe ewe Ewe
545ewo ewo Ewondo
546fan fan Fang
547fao fao Faroese
548fas per Persian
549fat fat Fanti
550fij fij Fijian
551fin fin Finnish
552fiu fiu Finno-Ugrian (Other)
553fon fon Fon
554fra fre French
555frm frm French-Middle (ca. 1400-1600)
556fro fro French-Old (842-ca. 1400)
557fry fry Frisian
558ful ful Fulah
559fur fur Friulian
560gaa gaa Ga
561gay gay Gayo
562gba gba Gbaya
563gem gem Germanic (Other)
564gez gez Geez
565gil gil Gilbertese
566gdh gae Gaelic
567gai iri Irish
568glg glg Gallegan
569glv glv Manx
570gmh gmh German-Middle High (ca. 1050-1500)
571goh goh German-Old High (ca. 750-1050)
572gon gon Gondi
573gor gor Gorontalo
574got got Gothic
575grb grb Grebo
576grc grc Greek-Ancient (to 1453)
577grn grn Guarani
578guj guj Gujarati
579gwi gwi Gwich'in
580hai hai Haida
581hau hau Hausa
582haw haw Hawaiian
583heb heb Hebrew
584her her Herero
585hil hil Hiligaynon
586him him Himachali
587hin hin Hindi
588hit hit Hittite
589hmn hmn Hmong
590hmo hmo Hiri Motu
591hrv scr Croatian
592hun hun Hungarian
593hup hup Hupa
594hye arm Armenian
595iba iba Iban
596ibo ibo Igbo
597ijo ijo Ijo
598iku iku Inuktitut
599ile ile Interlingue
600ilo ilo Iloko
601ina ina Interlingua (International Auxilary Language Association)
602inc inc Indic (Other)
603ind ind Indonesian
604ine ine Indo-European (Other)
605ipk ipk Inupiak
606ira ira Iranian (Other)
607iro iro Iroquoian languages
608isl ice Icelandic
609ita ita Italian
610jaw jav Javanese
611jpn jpn Japanese
612jpr jpr Judeo-Persian
613jrb jrb Judeo-Arabic
614kaa kaa Kara-Kalpak
615kab kab Kabyle
616kac kac Kachin
617kal kal Kalaallisut
618kam kam Kamba
619kan kan Kannada
620kar kar Karen
621kas kas Kashmiri
622kat geo Georgian
623kau kau Kanuri
624kaw kaw Kawi
625kaz kaz Kazakh
626kha kha Khasi
627khi khi Khoisan (Other)
628khm khm Khmer
629kho kho Khotanese
630kik kik Kikuyu
631kin kin Kinyarwanda
632kir kir Kirghiz
633kmb kmb Kimbundu
634kok kok Konkani
635kom kom Komi
636kon kon Kongo
637kor kor Korean
638kos kos Kosraean
639kpe kpe Kpelle
640kro kro Kru
641kru kru Kurukh
642kua kua Kuanyama
643kum kum Kumyk
644kur kur Kurdish
645kut kut Kutenai
646lad lad Ladino
647lah lah Lahnda
648lam lam Lamba
649lao lao Lao
650lat lat Latin
651lav lav Latvian
652lez lez Lezghian
653lin lin Lingala
654lit lit Lithuanian
655lol lol Mongo
656loz loz Lozi
657ltz ltz Letzeburgesch
658lua lua Luba-Lulua
659lub lub Luba-Katanga
660lug lug Ganda
661lui lui Luiseno
662lun lun Lunda
663luo luo Luo (Kenya and Tanzania)
664lus lus Lushai
665mad mad Madurese
666mag mag Magahi
667mah mah Marshall
668mai mai Maithili
669mak mak Makasar
670mal mal Malayalam
671man man Mandingo
672map map Austronesian (Other)
673mar mar Marathi
674mas mas Masai
675mdr mdr Mandar
676men men Mende
677mga mga Irish-Middle (900-1200)
678mic mic Micmac
679min min Minangkabau
680mis mis Miscellaneous languages
681mkd mac Macedonian
682mkh mkh Mon-Khmer (Other)
683mlg mlg Malagasy
684mlt mlt Maltese
685mni mni Manipuri
686mno mno Manobo languages
687moh moh Mohawk
688mol mol Moldavian
689mon mon Mongolian
690mos mos Mossi
691mri mao Maori
692msa may Malay
693mul mul Multiple languages
694mun mun Munda languages
695mus mus Creek
696mwr mwr Marwari
697mya bur Burmese
698myn myn Mayan languages
699nah nah Nahuatl
700nai nai North American Indian (Other)
701nau nau Nauru
702nav nav Navajo
703nbl nbl Ndebele, South
704nde nde Ndebele, North
705ndo ndo Ndonga
706nep nep Nepali
707new new Newari
708nia nia Nias
709nic nic Niger-Kordofanian (Other)
710niu niu Niuean
711nld dut Dutch
712non non Norse, Old
713nor nor Norwegian
714nso nso Sohto, Northern
715nub nub Nubian languages
716nya nya Nyanja
717nym nym Nyamwezi
718nyn nyn Nyankole
719nyo nyo Nyoro
720nzi nzi Nzima
721oci oci Occitan (post 1500)
722oji oji Ojibwa
723ori ori Oriya
724orm orm Oromo
725osa osa Osage
726oss oss Ossetic
727ota ota Turkish, Ottoman (1500-1928)
728oto oto Otomian languages
729paa paa Papuan (Other)
730pag pag Pangasinan
731pal pal Pahlavi
732pam pam Pampanga
733pan pan Panjabi
734pap pap Papiamento
735pau pau Palauan
736peo peo Persian, Old (ca. 600-400 B.C.)
737phi phi Philippine (Other)
738phn phn Phoenician
739pli pli Pali
740pol pol Polish
741pon pon Pohnpeian
742por por Portuguese
743pra pra Prakrit languages
744pro pro Provençal, Old (to 1500)
745pus pus Pushto
746qaa-qtz qaa-qtz Reserved for local use
747que que Quechua
748raj raj Rajasthani
749rap rap Rapanui
750rar rar Rarotongan
751roa roa Romance (Other)
752roh roh Raeto-Romance
753rom rom Romany
754ron rum Romanian
755run run Rundi
756rus rus Russian
757sad sad Sandawe
758sag sag Sango
759sah sah Yakut
760sai sai South American Indian (Other)
761sal sal Salishan languages
762sam sam Samaritan Aramaic
763san san Sanskrit
764sas sas Sasak
765sat sat Santali
766sco sco Scots
767sel sel Selkup
768sem sem Semitic (Other)
769sga sga Irish-Old (to 900)
770shn shn Shan
771sid sid Sidamo
772sin sin Sinhalese
773sio sio Siouan languages
774sit sit Sino-Tibetan (Other)
775sla sla Slavic (Other)
776slk slo Slovak
777slv slv Slovenian
778smi smi Sami languages
779smo smo Samoan
780sna sna Shona
781snd snd Sindhi
782snk snk Soninke
783sog sog Sogdian
784som som Somali
785son son Songhai
786sot sot Sotho Southern
787spa spa Spanish
788sqi alb Albanian
789srd srd Sardinian
790srp scc Serbian
791srr srr Serer
792ssa ssa Nilo-Saharan (Other)
793ssw ssw Swati
794suk suk Sukuma
795sun sun Sundanese
796sus sus Susu
797sux sux Sumerian
798swa swa Swahili
799swe swe Swedish
800syr syr Syriac
801tah tah Tahitian
802tai tai Tai (Other)
803tam tam Tamil
804tat tat Tatar
805tel tel Telugu
806tem tem Timne
807ter ter Tereno
808tet tet Tetum
809tgk tgk Tajik
810tgl tgl Tagalog
811tha tha Thai
812tig tig Tigre
813tir tir Tigrinya
814tiv tiv Tiv
815tkl tkl Tokelau
816tli tli Tlingit
817tmh tmh Tamashek
818tog tog Tonga (Nyasa)
819ton ton Tonga (Tonga Islands)
820tpi tpi Tok Pisin
821tsi tsi Tsimshian
822tsn tsn Tswana
823tso tso Tsonga
824tuk tuk Turkmen
825tum tum Tumbuka
826tur tur Turkish
827tut tut Altaic
828tvl tvl Tuvalu
829twi twi Twi
830tyv tyv Tuvinian
831uga uga Ugaritic
832uig uig Uighur
833ukr ukr Ukrainian
834umb umb Umbundu
835und und Undetermined
836urd urd Urdu
837uzb uzb Uzbek
838vai vai Vai
839ven ven Venda
840vie vie Vietnamese
841vol vol Volapuk
842vot vot Votic
843wak wak Wakashan
844wal wal Walamo
845war war Waray
846was was Washo
847wen wen Sorbian
848wol wol Wolof
849xho xho Xhosa
850yao yao Yao
851yap yap Yapese
852yid yid Yiddish
853yor yor Yoruba
854ypk ypk Yupik
855zap zap Zapotec
856zen zen Zenaga
857zha zha Zhuang
858zho chi Chinese
859znd znd Zande
860zul zul Zulu
861zun zun Zuni
862
863*/