libzypp
10.5.0
|
00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #include <iostream> 00013 00014 #include "zypp/base/Logger.h" 00015 #include "zypp/base/String.h" 00016 #include "zypp/base/Gettext.h" 00017 #include "zypp/base/Tr1hash.h" 00018 00019 #include "zypp/LanguageCode.h" 00020 00021 using std::endl; 00022 00024 namespace zypp 00025 { 00026 00028 namespace 00029 { 00030 00032 struct CodeMaps // singleton 00033 { 00034 typedef std::tr1::unordered_map<std::string,std::string> CodeMap; 00035 typedef CodeMap::const_iterator Index; 00036 00038 static Index getIndex( const std::string & code_r ) 00039 { 00040 static CodeMaps _maps; // the singleton instance 00041 return _maps.lookup( code_r ); 00042 } 00043 00044 private: 00048 CodeMaps(); 00049 00051 inline Index lookup( const std::string & code_r ); 00052 00053 private: 00055 CodeMap codes; 00056 }; 00057 00058 inline CodeMaps::Index CodeMaps::lookup( const std::string & code_r ) 00059 { 00060 Index it = codes.find( code_r ); 00061 if ( it != codes.end() ) 00062 return it; 00063 00064 // not found: Remember a new code 00065 CodeMap::value_type nval( code_r, std::string() ); 00066 00067 if ( code_r.size() > 3 || code_r.size() < 2 ) 00068 WAR << "Malformed LanguageCode '" << code_r << "' (expect 2 or 3-letter)" << endl; 00069 00070 std::string lcode( str::toLower( code_r ) ); 00071 if ( lcode != code_r ) 00072 { 00073 WAR << "Malformed LanguageCode '" << code_r << "' (not lower case)" << endl; 00074 // but maybe we're lucky with the lower case code 00075 // and find a language name. 00076 it = codes.find( lcode ); 00077 if ( it != codes.end() ) 00078 nval.second = it->second; 00079 } 00080 00081 MIL << "Remember LanguageCode '" << code_r << "': '" << nval.second << "'" << endl; 00082 return codes.insert( nval ).first; 00083 } 00084 00086 } // namespace 00088 00090 // 00091 // CLASS NAME : LanguageCode::Impl 00092 // 00097 struct LanguageCode::Impl 00098 { 00099 Impl() 00100 : _index( CodeMaps::getIndex( std::string() ) ) 00101 {} 00102 00103 Impl( const std::string & code_r ) 00104 : _index( CodeMaps::getIndex( code_r ) ) 00105 {} 00106 00107 std::string code() const 00108 { return _index->first; } 00109 00110 std::string name() const { 00111 if ( _index->second.empty() ) 00112 { 00113 std::string ret( _("Unknown language: ") ); 00114 ret += "'"; 00115 ret += _index->first; 00116 ret += "'"; 00117 return ret; 00118 } 00119 return _( _index->second.c_str() ); 00120 } 00121 00122 private: 00124 CodeMaps::Index _index; 00125 00126 public: 00128 static shared_ptr<Impl> nullimpl() 00129 { 00130 static shared_ptr<Impl> _nullimpl( new Impl ); 00131 return _nullimpl; 00132 } 00133 }; 00135 00137 // 00138 // CLASS NAME : LanguageCode 00139 // 00141 00142 const LanguageCode LanguageCode::noCode; 00143 00145 // 00146 // METHOD NAME : LanguageCode::LanguageCode 00147 // METHOD TYPE : Ctor 00148 // 00149 LanguageCode::LanguageCode() 00150 : _pimpl( Impl::nullimpl() ) 00151 {} 00152 00154 // 00155 // METHOD NAME : LanguageCode::LanguageCode 00156 // METHOD TYPE : Ctor 00157 // 00158 LanguageCode::LanguageCode( const std::string & code_r ) 00159 : _pimpl( new Impl( code_r ) ) 00160 {} 00161 00163 // 00164 // METHOD NAME : LanguageCode::~LanguageCode 00165 // METHOD TYPE : Dtor 00166 // 00167 LanguageCode::~LanguageCode() 00168 {} 00169 00171 // 00172 // METHOD NAME : LanguageCode::code 00173 // METHOD TYPE : std::string 00174 // 00175 std::string LanguageCode::code() const 00176 { return _pimpl->code(); } 00177 00179 // 00180 // METHOD NAME : LanguageCode::name 00181 // METHOD TYPE : std::string 00182 // 00183 std::string LanguageCode::name() const 00184 { return _pimpl->name(); } 00185 00187 namespace 00188 { 00189 00190 CodeMaps::CodeMaps() 00191 { 00192 // Defined LanguageCode constants 00193 codes[""] = N_("No Code"); 00194 00195 struct LangInit 00196 { 00197 const char *iso639_2; 00198 const char *iso639_1; 00199 const char *name; 00200 }; 00201 00202 // some languages have more than one iso639_2 code 00203 // so there are items with duplicate names 00204 const LangInit langInit[] = { 00205 // language code: aar aa 00206 { "aar", "aa", N_( "Afar" ) }, 00207 // language code: abk ab 00208 { "abk", "ab", N_( "Abkhazian" ) }, 00209 // language code: ace 00210 { "ace", NULL, N_( "Achinese" ) }, 00211 // language code: ach 00212 { "ach", NULL, N_( "Acoli" ) }, 00213 // language code: ada 00214 { "ada", NULL, N_( "Adangme" ) }, 00215 // language code: ady 00216 { "ady", NULL, N_( "Adyghe" ) }, 00217 // language code: afa 00218 { "afa", NULL, N_( "Afro-Asiatic (Other)" ) }, 00219 // language code: afh 00220 { "afh", NULL, N_( "Afrihili" ) }, 00221 // language code: afr af 00222 { "afr", "af", N_( "Afrikaans" ) }, 00223 // language code: ain 00224 { "ain", NULL, N_( "Ainu" ) }, 00225 // language code: aka ak 00226 { "aka", "ak", N_( "Akan" ) }, 00227 // language code: akk 00228 { "akk", NULL, N_( "Akkadian" ) }, 00229 // language code: alb sqi sq 00230 { "alb", "sq", N_( "Albanian" ) }, 00231 // language code: alb sqi sq 00232 { "sqi", NULL, N_( "Albanian" ) }, 00233 // language code: ale 00234 { "ale", NULL, N_( "Aleut" ) }, 00235 // language code: alg 00236 { "alg", NULL, N_( "Algonquian Languages" ) }, 00237 // language code: alt 00238 { "alt", NULL, N_( "Southern Altai" ) }, 00239 // language code: amh am 00240 { "amh", "am", N_( "Amharic" ) }, 00241 // language code: ang 00242 { "ang", NULL, N_( "English, Old (ca.450-1100)" ) }, 00243 // language code: apa 00244 { "apa", NULL, N_( "Apache Languages" ) }, 00245 // language code: ara ar 00246 { "ara", "ar", N_( "Arabic" ) }, 00247 // language code: arc 00248 { "arc", NULL, N_( "Aramaic" ) }, 00249 // language code: arg an 00250 { "arg", "an", N_( "Aragonese" ) }, 00251 // language code: arm hye hy 00252 { "arm", "hy", N_( "Armenian" ) }, 00253 // language code: arm hye hy 00254 { "hye", NULL, N_( "Armenian" ) }, 00255 // language code: arn 00256 { "arn", NULL, N_( "Araucanian" ) }, 00257 // language code: arp 00258 { "arp", NULL, N_( "Arapaho" ) }, 00259 // language code: art 00260 { "art", NULL, N_( "Artificial (Other)" ) }, 00261 // language code: arw 00262 { "arw", NULL, N_( "Arawak" ) }, 00263 // language code: asm as 00264 { "asm", "as", N_( "Assamese" ) }, 00265 // language code: ast 00266 { "ast", NULL, N_( "Asturian" ) }, 00267 // language code: ath 00268 { "ath", NULL, N_( "Athapascan Languages" ) }, 00269 // language code: aus 00270 { "aus", NULL, N_( "Australian Languages" ) }, 00271 // language code: ava av 00272 { "ava", "av", N_( "Avaric" ) }, 00273 // language code: ave ae 00274 { "ave", "ae", N_( "Avestan" ) }, 00275 // language code: awa 00276 { "awa", NULL, N_( "Awadhi" ) }, 00277 // language code: aym ay 00278 { "aym", "ay", N_( "Aymara" ) }, 00279 // language code: aze az 00280 { "aze", "az", N_( "Azerbaijani" ) }, 00281 // language code: bad 00282 { "bad", NULL, N_( "Banda" ) }, 00283 // language code: bai 00284 { "bai", NULL, N_( "Bamileke Languages" ) }, 00285 // language code: bak ba 00286 { "bak", "ba", N_( "Bashkir" ) }, 00287 // language code: bal 00288 { "bal", NULL, N_( "Baluchi" ) }, 00289 // language code: bam bm 00290 { "bam", "bm", N_( "Bambara" ) }, 00291 // language code: ban 00292 { "ban", NULL, N_( "Balinese" ) }, 00293 // language code: baq eus eu 00294 { "baq", "eu", N_( "Basque" ) }, 00295 // language code: baq eus eu 00296 { "eus", NULL, N_( "Basque" ) }, 00297 // language code: bas 00298 { "bas", NULL, N_( "Basa" ) }, 00299 // language code: bat 00300 { "bat", NULL, N_( "Baltic (Other)" ) }, 00301 // language code: bej 00302 { "bej", NULL, N_( "Beja" ) }, 00303 // language code: bel be 00304 { "bel", "be", N_( "Belarusian" ) }, 00305 // language code: bem 00306 { "bem", NULL, N_( "Bemba" ) }, 00307 // language code: ben bn 00308 { "ben", "bn", N_( "Bengali" ) }, 00309 // language code: ber 00310 { "ber", NULL, N_( "Berber (Other)" ) }, 00311 // language code: bho 00312 { "bho", NULL, N_( "Bhojpuri" ) }, 00313 // language code: bih bh 00314 { "bih", "bh", N_( "Bihari" ) }, 00315 // language code: bik 00316 { "bik", NULL, N_( "Bikol" ) }, 00317 // language code: bin 00318 { "bin", NULL, N_( "Bini" ) }, 00319 // language code: bis bi 00320 { "bis", "bi", N_( "Bislama" ) }, 00321 // language code: bla 00322 { "bla", NULL, N_( "Siksika" ) }, 00323 // language code: bnt 00324 { "bnt", NULL, N_( "Bantu (Other)" ) }, 00325 // language code: bos bs 00326 { "bos", "bs", N_( "Bosnian" ) }, 00327 // language code: bra 00328 { "bra", NULL, N_( "Braj" ) }, 00329 // language code: bre br 00330 { "bre", "br", N_( "Breton" ) }, 00331 // language code: btk 00332 { "btk", NULL, N_( "Batak (Indonesia)" ) }, 00333 // language code: bua 00334 { "bua", NULL, N_( "Buriat" ) }, 00335 // language code: bug 00336 { "bug", NULL, N_( "Buginese" ) }, 00337 // language code: bul bg 00338 { "bul", "bg", N_( "Bulgarian" ) }, 00339 // language code: bur mya my 00340 { "bur", "my", N_( "Burmese" ) }, 00341 // language code: bur mya my 00342 { "mya", NULL, N_( "Burmese" ) }, 00343 // language code: byn 00344 { "byn", NULL, N_( "Blin" ) }, 00345 // language code: cad 00346 { "cad", NULL, N_( "Caddo" ) }, 00347 // language code: cai 00348 { "cai", NULL, N_( "Central American Indian (Other)" ) }, 00349 // language code: car 00350 { "car", NULL, N_( "Carib" ) }, 00351 // language code: cat ca 00352 { "cat", "ca", N_( "Catalan" ) }, 00353 // language code: cau 00354 { "cau", NULL, N_( "Caucasian (Other)" ) }, 00355 // language code: ceb 00356 { "ceb", NULL, N_( "Cebuano" ) }, 00357 // language code: cel 00358 { "cel", NULL, N_( "Celtic (Other)" ) }, 00359 // language code: cha ch 00360 { "cha", "ch", N_( "Chamorro" ) }, 00361 // language code: chb 00362 { "chb", NULL, N_( "Chibcha" ) }, 00363 // language code: che ce 00364 { "che", "ce", N_( "Chechen" ) }, 00365 // language code: chg 00366 { "chg", NULL, N_( "Chagatai" ) }, 00367 // language code: chi zho zh 00368 { "chi", "zh", N_( "Chinese" ) }, 00369 // language code: chi zho zh 00370 { "zho", NULL, N_( "Chinese" ) }, 00371 // language code: chk 00372 { "chk", NULL, N_( "Chuukese" ) }, 00373 // language code: chm 00374 { "chm", NULL, N_( "Mari" ) }, 00375 // language code: chn 00376 { "chn", NULL, N_( "Chinook Jargon" ) }, 00377 // language code: cho 00378 { "cho", NULL, N_( "Choctaw" ) }, 00379 // language code: chp 00380 { "chp", NULL, N_( "Chipewyan" ) }, 00381 // language code: chr 00382 { "chr", NULL, N_( "Cherokee" ) }, 00383 // language code: chu cu 00384 { "chu", "cu", N_( "Church Slavic" ) }, 00385 // language code: chv cv 00386 { "chv", "cv", N_( "Chuvash" ) }, 00387 // language code: chy 00388 { "chy", NULL, N_( "Cheyenne" ) }, 00389 // language code: cmc 00390 { "cmc", NULL, N_( "Chamic Languages" ) }, 00391 // language code: cop 00392 { "cop", NULL, N_( "Coptic" ) }, 00393 // language code: cor kw 00394 { "cor", "kw", N_( "Cornish" ) }, 00395 // language code: cos co 00396 { "cos", "co", N_( "Corsican" ) }, 00397 // language code: cpe 00398 { "cpe", NULL, N_( "Creoles and Pidgins, English-Based (Other)" ) }, 00399 // language code: cpf 00400 { "cpf", NULL, N_( "Creoles and Pidgins, French-Based (Other)" ) }, 00401 // language code: cpp 00402 { "cpp", NULL, N_( "Creoles and Pidgins, Portuguese-Based (Other)" ) }, 00403 // language code: cre cr 00404 { "cre", "cr", N_( "Cree" ) }, 00405 // language code: crh 00406 { "crh", NULL, N_( "Crimean Tatar" ) }, 00407 // language code: crp 00408 { "crp", NULL, N_( "Creoles and Pidgins (Other)" ) }, 00409 // language code: csb 00410 { "csb", NULL, N_( "Kashubian" ) }, 00411 // language code: cus 00412 { "cus", NULL, N_( "Cushitic (Other)" ) }, 00413 // language code: cze ces cs 00414 { "cze", "cs", N_( "Czech" ) }, 00415 // language code: cze ces cs 00416 { "ces", NULL, N_( "Czech" ) }, 00417 // language code: dak 00418 { "dak", NULL, N_( "Dakota" ) }, 00419 // language code: dan da 00420 { "dan", "da", N_( "Danish" ) }, 00421 // language code: dar 00422 { "dar", NULL, N_( "Dargwa" ) }, 00423 // language code: day 00424 { "day", NULL, N_( "Dayak" ) }, 00425 // language code: del 00426 { "del", NULL, N_( "Delaware" ) }, 00427 // language code: den 00428 { "den", NULL, N_( "Slave (Athapascan)" ) }, 00429 // language code: dgr 00430 { "dgr", NULL, N_( "Dogrib" ) }, 00431 // language code: din 00432 { "din", NULL, N_( "Dinka" ) }, 00433 // language code: div dv 00434 { "div", "dv", N_( "Divehi" ) }, 00435 // language code: doi 00436 { "doi", NULL, N_( "Dogri" ) }, 00437 // language code: dra 00438 { "dra", NULL, N_( "Dravidian (Other)" ) }, 00439 // language code: dsb 00440 { "dsb", NULL, N_( "Lower Sorbian" ) }, 00441 // language code: dua 00442 { "dua", NULL, N_( "Duala" ) }, 00443 // language code: dum 00444 { "dum", NULL, N_( "Dutch, Middle (ca.1050-1350)" ) }, 00445 // language code: dut nld nl 00446 { "dut", "nl", N_( "Dutch" ) }, 00447 // language code: dut nld nl 00448 { "nld", NULL, N_( "Dutch" ) }, 00449 // language code: dyu 00450 { "dyu", NULL, N_( "Dyula" ) }, 00451 // language code: dzo dz 00452 { "dzo", "dz", N_( "Dzongkha" ) }, 00453 // language code: efi 00454 { "efi", NULL, N_( "Efik" ) }, 00455 // language code: egy 00456 { "egy", NULL, N_( "Egyptian (Ancient)" ) }, 00457 // language code: eka 00458 { "eka", NULL, N_( "Ekajuk" ) }, 00459 // language code: elx 00460 { "elx", NULL, N_( "Elamite" ) }, 00461 // language code: eng en 00462 { "eng", "en", N_( "English" ) }, 00463 // language code: enm 00464 { "enm", NULL, N_( "English, Middle (1100-1500)" ) }, 00465 // language code: epo eo 00466 { "epo", "eo", N_( "Esperanto" ) }, 00467 // language code: est et 00468 { "est", "et", N_( "Estonian" ) }, 00469 // language code: ewe ee 00470 { "ewe", "ee", N_( "Ewe" ) }, 00471 // language code: ewo 00472 { "ewo", NULL, N_( "Ewondo" ) }, 00473 // language code: fan 00474 { "fan", NULL, N_( "Fang" ) }, 00475 // language code: fao fo 00476 { "fao", "fo", N_( "Faroese" ) }, 00477 // language code: fat 00478 { "fat", NULL, N_( "Fanti" ) }, 00479 // language code: fij fj 00480 { "fij", "fj", N_( "Fijian" ) }, 00481 // language code: fil 00482 { "fil", NULL, N_( "Filipino" ) }, 00483 // language code: fin fi 00484 { "fin", "fi", N_( "Finnish" ) }, 00485 // language code: fiu 00486 { "fiu", NULL, N_( "Finno-Ugrian (Other)" ) }, 00487 // language code: fon 00488 { "fon", NULL, N_( "Fon" ) }, 00489 // language code: fre fra fr 00490 { "fre", "fr", N_( "French" ) }, 00491 // language code: fre fra fr 00492 { "fra", NULL, N_( "French" ) }, 00493 // language code: frm 00494 { "frm", NULL, N_( "French, Middle (ca.1400-1600)" ) }, 00495 // language code: fro 00496 { "fro", NULL, N_( "French, Old (842-ca.1400)" ) }, 00497 // language code: fry fy 00498 { "fry", "fy", N_( "Frisian" ) }, 00499 // language code: ful ff 00500 { "ful", "ff", N_( "Fulah" ) }, 00501 // language code: fur 00502 { "fur", NULL, N_( "Friulian" ) }, 00503 // language code: gaa 00504 { "gaa", NULL, N_( "Ga" ) }, 00505 // language code: gay 00506 { "gay", NULL, N_( "Gayo" ) }, 00507 // language code: gba 00508 { "gba", NULL, N_( "Gbaya" ) }, 00509 // language code: gem 00510 { "gem", NULL, N_( "Germanic (Other)" ) }, 00511 // language code: geo kat ka 00512 { "geo", "ka", N_( "Georgian" ) }, 00513 // language code: geo kat ka 00514 { "kat", NULL, N_( "Georgian" ) }, 00515 // language code: ger deu de 00516 { "ger", "de", N_( "German" ) }, 00517 // language code: ger deu de 00518 { "deu", NULL, N_( "German" ) }, 00519 // language code: gez 00520 { "gez", NULL, N_( "Geez" ) }, 00521 // language code: gil 00522 { "gil", NULL, N_( "Gilbertese" ) }, 00523 // language code: gla gd 00524 { "gla", "gd", N_( "Gaelic" ) }, 00525 // language code: gle ga 00526 { "gle", "ga", N_( "Irish" ) }, 00527 // language code: glg gl 00528 { "glg", "gl", N_( "Galician" ) }, 00529 // language code: glv gv 00530 { "glv", "gv", N_( "Manx" ) }, 00531 // language code: gmh 00532 { "gmh", NULL, N_( "German, Middle High (ca.1050-1500)" ) }, 00533 // language code: goh 00534 { "goh", NULL, N_( "German, Old High (ca.750-1050)" ) }, 00535 // language code: gon 00536 { "gon", NULL, N_( "Gondi" ) }, 00537 // language code: gor 00538 { "gor", NULL, N_( "Gorontalo" ) }, 00539 // language code: got 00540 { "got", NULL, N_( "Gothic" ) }, 00541 // language code: grb 00542 { "grb", NULL, N_( "Grebo" ) }, 00543 // language code: grc 00544 { "grc", NULL, N_( "Greek, Ancient (to 1453)" ) }, 00545 // language code: gre ell el 00546 { "gre", "el", N_( "Greek, Modern (1453-)" ) }, 00547 // language code: gre ell el 00548 { "ell", NULL, N_( "Greek, Modern (1453-)" ) }, 00549 // language code: grn gn 00550 { "grn", "gn", N_( "Guarani" ) }, 00551 // language code: guj gu 00552 { "guj", "gu", N_( "Gujarati" ) }, 00553 // language code: gwi 00554 { "gwi", NULL, N_( "Gwich'in" ) }, 00555 // language code: hai 00556 { "hai", NULL, N_( "Haida" ) }, 00557 // language code: hat ht 00558 { "hat", "ht", N_( "Haitian" ) }, 00559 // language code: hau ha 00560 { "hau", "ha", N_( "Hausa" ) }, 00561 // language code: haw 00562 { "haw", NULL, N_( "Hawaiian" ) }, 00563 // language code: heb he 00564 { "heb", "he", N_( "Hebrew" ) }, 00565 // language code: her hz 00566 { "her", "hz", N_( "Herero" ) }, 00567 // language code: hil 00568 { "hil", NULL, N_( "Hiligaynon" ) }, 00569 // language code: him 00570 { "him", NULL, N_( "Himachali" ) }, 00571 // language code: hin hi 00572 { "hin", "hi", N_( "Hindi" ) }, 00573 // language code: hit 00574 { "hit", NULL, N_( "Hittite" ) }, 00575 // language code: hmn 00576 { "hmn", NULL, N_( "Hmong" ) }, 00577 // language code: hmo ho 00578 { "hmo", "ho", N_( "Hiri Motu" ) }, 00579 // language code: hsb 00580 { "hsb", NULL, N_( "Upper Sorbian" ) }, 00581 // language code: hun hu 00582 { "hun", "hu", N_( "Hungarian" ) }, 00583 // language code: hup 00584 { "hup", NULL, N_( "Hupa" ) }, 00585 // language code: iba 00586 { "iba", NULL, N_( "Iban" ) }, 00587 // language code: ibo ig 00588 { "ibo", "ig", N_( "Igbo" ) }, 00589 // language code: ice isl is 00590 { "ice", "is", N_( "Icelandic" ) }, 00591 // language code: ice isl is 00592 { "isl", NULL, N_( "Icelandic" ) }, 00593 // language code: ido io 00594 { "ido", "io", N_( "Ido" ) }, 00595 // language code: iii ii 00596 { "iii", "ii", N_( "Sichuan Yi" ) }, 00597 // language code: ijo 00598 { "ijo", NULL, N_( "Ijo" ) }, 00599 // language code: iku iu 00600 { "iku", "iu", N_( "Inuktitut" ) }, 00601 // language code: ile ie 00602 { "ile", "ie", N_( "Interlingue" ) }, 00603 // language code: ilo 00604 { "ilo", NULL, N_( "Iloko" ) }, 00605 // language code: ina ia 00606 { "ina", "ia", N_( "Interlingua (International Auxiliary Language Association)" ) }, 00607 // language code: inc 00608 { "inc", NULL, N_( "Indic (Other)" ) }, 00609 // language code: ind id 00610 { "ind", "id", N_( "Indonesian" ) }, 00611 // language code: ine 00612 { "ine", NULL, N_( "Indo-European (Other)" ) }, 00613 // language code: inh 00614 { "inh", NULL, N_( "Ingush" ) }, 00615 // language code: ipk ik 00616 { "ipk", "ik", N_( "Inupiaq" ) }, 00617 // language code: ira 00618 { "ira", NULL, N_( "Iranian (Other)" ) }, 00619 // language code: iro 00620 { "iro", NULL, N_( "Iroquoian Languages" ) }, 00621 // language code: ita it 00622 { "ita", "it", N_( "Italian" ) }, 00623 // language code: jav jv 00624 { "jav", "jv", N_( "Javanese" ) }, 00625 // language code: jbo 00626 { "jbo", NULL, N_( "Lojban" ) }, 00627 // language code: jpn ja 00628 { "jpn", "ja", N_( "Japanese" ) }, 00629 // language code: jpr 00630 { "jpr", NULL, N_( "Judeo-Persian" ) }, 00631 // language code: jrb 00632 { "jrb", NULL, N_( "Judeo-Arabic" ) }, 00633 // language code: kaa 00634 { "kaa", NULL, N_( "Kara-Kalpak" ) }, 00635 // language code: kab 00636 { "kab", NULL, N_( "Kabyle" ) }, 00637 // language code: kac 00638 { "kac", NULL, N_( "Kachin" ) }, 00639 // language code: kal kl 00640 { "kal", "kl", N_( "Kalaallisut" ) }, 00641 // language code: kam 00642 { "kam", NULL, N_( "Kamba" ) }, 00643 // language code: kan kn 00644 { "kan", "kn", N_( "Kannada" ) }, 00645 // language code: kar 00646 { "kar", NULL, N_( "Karen" ) }, 00647 // language code: kas ks 00648 { "kas", "ks", N_( "Kashmiri" ) }, 00649 // language code: kau kr 00650 { "kau", "kr", N_( "Kanuri" ) }, 00651 // language code: kaw 00652 { "kaw", NULL, N_( "Kawi" ) }, 00653 // language code: kaz kk 00654 { "kaz", "kk", N_( "Kazakh" ) }, 00655 // language code: kbd 00656 { "kbd", NULL, N_( "Kabardian" ) }, 00657 // language code: kha 00658 { "kha", NULL, N_( "Khasi" ) }, 00659 // language code: khi 00660 { "khi", NULL, N_( "Khoisan (Other)" ) }, 00661 // language code: khm km 00662 { "khm", "km", N_( "Khmer" ) }, 00663 // language code: kho 00664 { "kho", NULL, N_( "Khotanese" ) }, 00665 // language code: kik ki 00666 { "kik", "ki", N_( "Kikuyu" ) }, 00667 // language code: kin rw 00668 { "kin", "rw", N_( "Kinyarwanda" ) }, 00669 // language code: kir ky 00670 { "kir", "ky", N_( "Kirghiz" ) }, 00671 // language code: kmb 00672 { "kmb", NULL, N_( "Kimbundu" ) }, 00673 // language code: kok 00674 { "kok", NULL, N_( "Konkani" ) }, 00675 // language code: kom kv 00676 { "kom", "kv", N_( "Komi" ) }, 00677 // language code: kon kg 00678 { "kon", "kg", N_( "Kongo" ) }, 00679 // language code: kor ko 00680 { "kor", "ko", N_( "Korean" ) }, 00681 // language code: kos 00682 { "kos", NULL, N_( "Kosraean" ) }, 00683 // language code: kpe 00684 { "kpe", NULL, N_( "Kpelle" ) }, 00685 // language code: krc 00686 { "krc", NULL, N_( "Karachay-Balkar" ) }, 00687 // language code: kro 00688 { "kro", NULL, N_( "Kru" ) }, 00689 // language code: kru 00690 { "kru", NULL, N_( "Kurukh" ) }, 00691 // language code: kua kj 00692 { "kua", "kj", N_( "Kuanyama" ) }, 00693 // language code: kum 00694 { "kum", NULL, N_( "Kumyk" ) }, 00695 // language code: kur ku 00696 { "kur", "ku", N_( "Kurdish" ) }, 00697 // language code: kut 00698 { "kut", NULL, N_( "Kutenai" ) }, 00699 // language code: lad 00700 { "lad", NULL, N_( "Ladino" ) }, 00701 // language code: lah 00702 { "lah", NULL, N_( "Lahnda" ) }, 00703 // language code: lam 00704 { "lam", NULL, N_( "Lamba" ) }, 00705 // language code: lao lo 00706 { "lao", "lo", N_( "Lao" ) }, 00707 // language code: lat la 00708 { "lat", "la", N_( "Latin" ) }, 00709 // language code: lav lv 00710 { "lav", "lv", N_( "Latvian" ) }, 00711 // language code: lez 00712 { "lez", NULL, N_( "Lezghian" ) }, 00713 // language code: lim li 00714 { "lim", "li", N_( "Limburgan" ) }, 00715 // language code: lin ln 00716 { "lin", "ln", N_( "Lingala" ) }, 00717 // language code: lit lt 00718 { "lit", "lt", N_( "Lithuanian" ) }, 00719 // language code: lol 00720 { "lol", NULL, N_( "Mongo" ) }, 00721 // language code: loz 00722 { "loz", NULL, N_( "Lozi" ) }, 00723 // language code: ltz lb 00724 { "ltz", "lb", N_( "Luxembourgish" ) }, 00725 // language code: lua 00726 { "lua", NULL, N_( "Luba-Lulua" ) }, 00727 // language code: lub lu 00728 { "lub", "lu", N_( "Luba-Katanga" ) }, 00729 // language code: lug lg 00730 { "lug", "lg", N_( "Ganda" ) }, 00731 // language code: lui 00732 { "lui", NULL, N_( "Luiseno" ) }, 00733 // language code: lun 00734 { "lun", NULL, N_( "Lunda" ) }, 00735 // language code: luo 00736 { "luo", NULL, N_( "Luo (Kenya and Tanzania)" ) }, 00737 // language code: lus 00738 { "lus", NULL, N_( "Lushai" ) }, 00739 // language code: mac mkd mk 00740 { "mac", "mk", N_( "Macedonian" ) }, 00741 // language code: mac mkd mk 00742 { "mkd", NULL, N_( "Macedonian" ) }, 00743 // language code: mad 00744 { "mad", NULL, N_( "Madurese" ) }, 00745 // language code: mag 00746 { "mag", NULL, N_( "Magahi" ) }, 00747 // language code: mah mh 00748 { "mah", "mh", N_( "Marshallese" ) }, 00749 // language code: mai 00750 { "mai", NULL, N_( "Maithili" ) }, 00751 // language code: mak 00752 { "mak", NULL, N_( "Makasar" ) }, 00753 // language code: mal ml 00754 { "mal", "ml", N_( "Malayalam" ) }, 00755 // language code: man 00756 { "man", NULL, N_( "Mandingo" ) }, 00757 // language code: mao mri mi 00758 { "mao", "mi", N_( "Maori" ) }, 00759 // language code: mao mri mi 00760 { "mri", NULL, N_( "Maori" ) }, 00761 // language code: map 00762 { "map", NULL, N_( "Austronesian (Other)" ) }, 00763 // language code: mar mr 00764 { "mar", "mr", N_( "Marathi" ) }, 00765 // language code: mas 00766 { "mas", NULL, N_( "Masai" ) }, 00767 // language code: may msa ms 00768 { "may", "ms", N_( "Malay" ) }, 00769 // language code: may msa ms 00770 { "msa", NULL, N_( "Malay" ) }, 00771 // language code: mdf 00772 { "mdf", NULL, N_( "Moksha" ) }, 00773 // language code: mdr 00774 { "mdr", NULL, N_( "Mandar" ) }, 00775 // language code: men 00776 { "men", NULL, N_( "Mende" ) }, 00777 // language code: mga 00778 { "mga", NULL, N_( "Irish, Middle (900-1200)" ) }, 00779 // language code: mic 00780 { "mic", NULL, N_( "Mi'kmaq" ) }, 00781 // language code: min 00782 { "min", NULL, N_( "Minangkabau" ) }, 00783 // language code: mis 00784 { "mis", NULL, N_( "Miscellaneous Languages" ) }, 00785 // language code: mkh 00786 { "mkh", NULL, N_( "Mon-Khmer (Other)" ) }, 00787 // language code: mlg mg 00788 { "mlg", "mg", N_( "Malagasy" ) }, 00789 // language code: mlt mt 00790 { "mlt", "mt", N_( "Maltese" ) }, 00791 // language code: mnc 00792 { "mnc", NULL, N_( "Manchu" ) }, 00793 // language code: mni 00794 { "mni", NULL, N_( "Manipuri" ) }, 00795 // language code: mno 00796 { "mno", NULL, N_( "Manobo Languages" ) }, 00797 // language code: moh 00798 { "moh", NULL, N_( "Mohawk" ) }, 00799 // language code: mol mo 00800 { "mol", "mo", N_( "Moldavian" ) }, 00801 // language code: mon mn 00802 { "mon", "mn", N_( "Mongolian" ) }, 00803 // language code: mos 00804 { "mos", NULL, N_( "Mossi" ) }, 00805 // language code: mul 00806 { "mul", NULL, N_( "Multiple Languages" ) }, 00807 // language code: mun 00808 { "mun", NULL, N_( "Munda languages" ) }, 00809 // language code: mus 00810 { "mus", NULL, N_( "Creek" ) }, 00811 // language code: mwl 00812 { "mwl", NULL, N_( "Mirandese" ) }, 00813 // language code: mwr 00814 { "mwr", NULL, N_( "Marwari" ) }, 00815 // language code: myn 00816 { "myn", NULL, N_( "Mayan Languages" ) }, 00817 // language code: myv 00818 { "myv", NULL, N_( "Erzya" ) }, 00819 // language code: nah 00820 { "nah", NULL, N_( "Nahuatl" ) }, 00821 // language code: nai 00822 { "nai", NULL, N_( "North American Indian" ) }, 00823 // language code: nap 00824 { "nap", NULL, N_( "Neapolitan" ) }, 00825 // language code: nau na 00826 { "nau", "na", N_( "Nauru" ) }, 00827 // language code: nav nv 00828 { "nav", "nv", N_( "Navajo" ) }, 00829 // language code: nbl nr 00830 { "nbl", "nr", N_( "Ndebele, South" ) }, 00831 // language code: nde nd 00832 { "nde", "nd", N_( "Ndebele, North" ) }, 00833 // language code: ndo ng 00834 { "ndo", "ng", N_( "Ndonga" ) }, 00835 // language code: nds 00836 { "nds", NULL, N_( "Low German" ) }, 00837 // language code: nep ne 00838 { "nep", "ne", N_( "Nepali" ) }, 00839 // language code: new 00840 { "new", NULL, N_( "Nepal Bhasa" ) }, 00841 // language code: nia 00842 { "nia", NULL, N_( "Nias" ) }, 00843 // language code: nic 00844 { "nic", NULL, N_( "Niger-Kordofanian (Other)" ) }, 00845 // language code: niu 00846 { "niu", NULL, N_( "Niuean" ) }, 00847 // language code: nno nn 00848 { "nno", "nn", N_( "Norwegian Nynorsk" ) }, 00849 // language code: nob nb 00850 { "nob", "nb", N_( "Norwegian Bokmal" ) }, 00851 // language code: nog 00852 { "nog", NULL, N_( "Nogai" ) }, 00853 // language code: non 00854 { "non", NULL, N_( "Norse, Old" ) }, 00855 // language code: nor no 00856 { "nor", "no", N_( "Norwegian" ) }, 00857 // language code: nso 00858 { "nso", NULL, N_( "Northern Sotho" ) }, 00859 // language code: nub 00860 { "nub", NULL, N_( "Nubian Languages" ) }, 00861 // language code: nwc 00862 { "nwc", NULL, N_( "Classical Newari" ) }, 00863 // language code: nya ny 00864 { "nya", "ny", N_( "Chichewa" ) }, 00865 // language code: nym 00866 { "nym", NULL, N_( "Nyamwezi" ) }, 00867 // language code: nyn 00868 { "nyn", NULL, N_( "Nyankole" ) }, 00869 // language code: nyo 00870 { "nyo", NULL, N_( "Nyoro" ) }, 00871 // language code: nzi 00872 { "nzi", NULL, N_( "Nzima" ) }, 00873 // language code: oci oc 00874 { "oci", "oc", N_( "Occitan (post 1500)" ) }, 00875 // language code: oji oj 00876 { "oji", "oj", N_( "Ojibwa" ) }, 00877 // language code: ori or 00878 { "ori", "or", N_( "Oriya" ) }, 00879 // language code: orm om 00880 { "orm", "om", N_( "Oromo" ) }, 00881 // language code: osa 00882 { "osa", NULL, N_( "Osage" ) }, 00883 // language code: oss os 00884 { "oss", "os", N_( "Ossetian" ) }, 00885 // language code: ota 00886 { "ota", NULL, N_( "Turkish, Ottoman (1500-1928)" ) }, 00887 // language code: oto 00888 { "oto", NULL, N_( "Otomian Languages" ) }, 00889 // language code: paa 00890 { "paa", NULL, N_( "Papuan (Other)" ) }, 00891 // language code: pag 00892 { "pag", NULL, N_( "Pangasinan" ) }, 00893 // language code: pal 00894 { "pal", NULL, N_( "Pahlavi" ) }, 00895 // language code: pam 00896 { "pam", NULL, N_( "Pampanga" ) }, 00897 // language code: pan pa 00898 { "pan", "pa", N_( "Panjabi" ) }, 00899 // language code: pap 00900 { "pap", NULL, N_( "Papiamento" ) }, 00901 // language code: pau 00902 { "pau", NULL, N_( "Palauan" ) }, 00903 // language code: peo 00904 { "peo", NULL, N_( "Persian, Old (ca.600-400 B.C.)" ) }, 00905 // language code: per fas fa 00906 { "per", "fa", N_( "Persian" ) }, 00907 // language code: per fas fa 00908 { "fas", NULL, N_( "Persian" ) }, 00909 // language code: phi 00910 { "phi", NULL, N_( "Philippine (Other)" ) }, 00911 // language code: phn 00912 { "phn", NULL, N_( "Phoenician" ) }, 00913 // language code: pli pi 00914 { "pli", "pi", N_( "Pali" ) }, 00915 // language code: pol pl 00916 { "pol", "pl", N_( "Polish" ) }, 00917 // language code: pon 00918 { "pon", NULL, N_( "Pohnpeian" ) }, 00919 // language code: por pt 00920 { "por", "pt", N_( "Portuguese" ) }, 00921 // language code: pra 00922 { "pra", NULL, N_( "Prakrit Languages" ) }, 00923 // language code: pro 00924 { "pro", NULL, N_( "Provencal, Old (to 1500)" ) }, 00925 // language code: pus ps 00926 { "pus", "ps", N_( "Pushto" ) }, 00927 // language code: que qu 00928 { "que", "qu", N_( "Quechua" ) }, 00929 // language code: raj 00930 { "raj", NULL, N_( "Rajasthani" ) }, 00931 // language code: rap 00932 { "rap", NULL, N_( "Rapanui" ) }, 00933 // language code: rar 00934 { "rar", NULL, N_( "Rarotongan" ) }, 00935 // language code: roa 00936 { "roa", NULL, N_( "Romance (Other)" ) }, 00937 // language code: roh rm 00938 { "roh", "rm", N_( "Raeto-Romance" ) }, 00939 // language code: rom 00940 { "rom", NULL, N_( "Romany" ) }, 00941 // language code: rum ron ro 00942 { "rum", "ro", N_( "Romanian" ) }, 00943 // language code: rum ron ro 00944 { "ron", NULL, N_( "Romanian" ) }, 00945 // language code: run rn 00946 { "run", "rn", N_( "Rundi" ) }, 00947 // language code: rus ru 00948 { "rus", "ru", N_( "Russian" ) }, 00949 // language code: sad 00950 { "sad", NULL, N_( "Sandawe" ) }, 00951 // language code: sag sg 00952 { "sag", "sg", N_( "Sango" ) }, 00953 // language code: sah 00954 { "sah", NULL, N_( "Yakut" ) }, 00955 // language code: sai 00956 { "sai", NULL, N_( "South American Indian (Other)" ) }, 00957 // language code: sal 00958 { "sal", NULL, N_( "Salishan Languages" ) }, 00959 // language code: sam 00960 { "sam", NULL, N_( "Samaritan Aramaic" ) }, 00961 // language code: san sa 00962 { "san", "sa", N_( "Sanskrit" ) }, 00963 // language code: sas 00964 { "sas", NULL, N_( "Sasak" ) }, 00965 // language code: sat 00966 { "sat", NULL, N_( "Santali" ) }, 00967 // language code: scc srp sr 00968 { "scc", "sr", N_( "Serbian" ) }, 00969 // language code: scc srp sr 00970 { "srp", NULL, N_( "Serbian" ) }, 00971 // language code: scn 00972 { "scn", NULL, N_( "Sicilian" ) }, 00973 // language code: sco 00974 { "sco", NULL, N_( "Scots" ) }, 00975 // language code: scr hrv hr 00976 { "scr", "hr", N_( "Croatian" ) }, 00977 // language code: scr hrv hr 00978 { "hrv", NULL, N_( "Croatian" ) }, 00979 // language code: sel 00980 { "sel", NULL, N_( "Selkup" ) }, 00981 // language code: sem 00982 { "sem", NULL, N_( "Semitic (Other)" ) }, 00983 // language code: sga 00984 { "sga", NULL, N_( "Irish, Old (to 900)" ) }, 00985 // language code: sgn 00986 { "sgn", NULL, N_( "Sign Languages" ) }, 00987 // language code: shn 00988 { "shn", NULL, N_( "Shan" ) }, 00989 // language code: sid 00990 { "sid", NULL, N_( "Sidamo" ) }, 00991 // language code: sin si 00992 { "sin", "si", N_( "Sinhala" ) }, 00993 // language code: sio 00994 { "sio", NULL, N_( "Siouan Languages" ) }, 00995 // language code: sit 00996 { "sit", NULL, N_( "Sino-Tibetan (Other)" ) }, 00997 // language code: sla 00998 { "sla", NULL, N_( "Slavic (Other)" ) }, 00999 // language code: slo slk sk 01000 { "slo", "sk", N_( "Slovak" ) }, 01001 // language code: slo slk sk 01002 { "slk", NULL, N_( "Slovak" ) }, 01003 // language code: slv sl 01004 { "slv", "sl", N_( "Slovenian" ) }, 01005 // language code: sma 01006 { "sma", NULL, N_( "Southern Sami" ) }, 01007 // language code: sme se 01008 { "sme", "se", N_( "Northern Sami" ) }, 01009 // language code: smi 01010 { "smi", NULL, N_( "Sami Languages (Other)" ) }, 01011 // language code: smj 01012 { "smj", NULL, N_( "Lule Sami" ) }, 01013 // language code: smn 01014 { "smn", NULL, N_( "Inari Sami" ) }, 01015 // language code: smo sm 01016 { "smo", "sm", N_( "Samoan" ) }, 01017 // language code: sms 01018 { "sms", NULL, N_( "Skolt Sami" ) }, 01019 // language code: sna sn 01020 { "sna", "sn", N_( "Shona" ) }, 01021 // language code: snd sd 01022 { "snd", "sd", N_( "Sindhi" ) }, 01023 // language code: snk 01024 { "snk", NULL, N_( "Soninke" ) }, 01025 // language code: sog 01026 { "sog", NULL, N_( "Sogdian" ) }, 01027 // language code: som so 01028 { "som", "so", N_( "Somali" ) }, 01029 // language code: son 01030 { "son", NULL, N_( "Songhai" ) }, 01031 // language code: sot st 01032 { "sot", "st", N_( "Sotho, Southern" ) }, 01033 // language code: spa es 01034 { "spa", "es", N_( "Spanish" ) }, 01035 // language code: srd sc 01036 { "srd", "sc", N_( "Sardinian" ) }, 01037 // language code: srr 01038 { "srr", NULL, N_( "Serer" ) }, 01039 // language code: ssa 01040 { "ssa", NULL, N_( "Nilo-Saharan (Other)" ) }, 01041 // language code: ssw ss 01042 { "ssw", "ss", N_( "Swati" ) }, 01043 // language code: suk 01044 { "suk", NULL, N_( "Sukuma" ) }, 01045 // language code: sun su 01046 { "sun", "su", N_( "Sundanese" ) }, 01047 // language code: sus 01048 { "sus", NULL, N_( "Susu" ) }, 01049 // language code: sux 01050 { "sux", NULL, N_( "Sumerian" ) }, 01051 // language code: swa sw 01052 { "swa", "sw", N_( "Swahili" ) }, 01053 // language code: swe sv 01054 { "swe", "sv", N_( "Swedish" ) }, 01055 // language code: syr 01056 { "syr", NULL, N_( "Syriac" ) }, 01057 // language code: tah ty 01058 { "tah", "ty", N_( "Tahitian" ) }, 01059 // language code: tai 01060 { "tai", NULL, N_( "Tai (Other)" ) }, 01061 // language code: tam ta 01062 { "tam", "ta", N_( "Tamil" ) }, 01063 // language code: tat tt 01064 { "tat", "tt", N_( "Tatar" ) }, 01065 // language code: tel te 01066 { "tel", "te", N_( "Telugu" ) }, 01067 // language code: tem 01068 { "tem", NULL, N_( "Timne" ) }, 01069 // language code: ter 01070 { "ter", NULL, N_( "Tereno" ) }, 01071 // language code: tet 01072 { "tet", NULL, N_( "Tetum" ) }, 01073 // language code: tgk tg 01074 { "tgk", "tg", N_( "Tajik" ) }, 01075 // language code: tgl tl 01076 { "tgl", "tl", N_( "Tagalog" ) }, 01077 // language code: tha th 01078 { "tha", "th", N_( "Thai" ) }, 01079 // language code: tib bod bo 01080 { "tib", "bo", N_( "Tibetan" ) }, 01081 // language code: tib bod bo 01082 { "bod", NULL, N_( "Tibetan" ) }, 01083 // language code: tig 01084 { "tig", NULL, N_( "Tigre" ) }, 01085 // language code: tir ti 01086 { "tir", "ti", N_( "Tigrinya" ) }, 01087 // language code: tiv 01088 { "tiv", NULL, N_( "Tiv" ) }, 01089 // language code: tkl 01090 { "tkl", NULL, N_( "Tokelau" ) }, 01091 // language code: tlh 01092 { "tlh", NULL, N_( "Klingon" ) }, 01093 // language code: tli 01094 { "tli", NULL, N_( "Tlingit" ) }, 01095 // language code: tmh 01096 { "tmh", NULL, N_( "Tamashek" ) }, 01097 // language code: tog 01098 { "tog", NULL, N_( "Tonga (Nyasa)" ) }, 01099 // language code: ton to 01100 { "ton", "to", N_( "Tonga (Tonga Islands)" ) }, 01101 // language code: tpi 01102 { "tpi", NULL, N_( "Tok Pisin" ) }, 01103 // language code: tsi 01104 { "tsi", NULL, N_( "Tsimshian" ) }, 01105 // language code: tsn tn 01106 { "tsn", "tn", N_( "Tswana" ) }, 01107 // language code: tso ts 01108 { "tso", "ts", N_( "Tsonga" ) }, 01109 // language code: tuk tk 01110 { "tuk", "tk", N_( "Turkmen" ) }, 01111 // language code: tum 01112 { "tum", NULL, N_( "Tumbuka" ) }, 01113 // language code: tup 01114 { "tup", NULL, N_( "Tupi Languages" ) }, 01115 // language code: tur tr 01116 { "tur", "tr", N_( "Turkish" ) }, 01117 // language code: tut 01118 { "tut", NULL, N_( "Altaic (Other)" ) }, 01119 // language code: tvl 01120 { "tvl", NULL, N_( "Tuvalu" ) }, 01121 // language code: twi tw 01122 { "twi", "tw", N_( "Twi" ) }, 01123 // language code: tyv 01124 { "tyv", NULL, N_( "Tuvinian" ) }, 01125 // language code: udm 01126 { "udm", NULL, N_( "Udmurt" ) }, 01127 // language code: uga 01128 { "uga", NULL, N_( "Ugaritic" ) }, 01129 // language code: uig ug 01130 { "uig", "ug", N_( "Uighur" ) }, 01131 // language code: ukr uk 01132 { "ukr", "uk", N_( "Ukrainian" ) }, 01133 // language code: umb 01134 { "umb", NULL, N_( "Umbundu" ) }, 01135 // language code: und 01136 { "und", NULL, N_( "Undetermined" ) }, 01137 // language code: urd ur 01138 { "urd", "ur", N_( "Urdu" ) }, 01139 // language code: uzb uz 01140 { "uzb", "uz", N_( "Uzbek" ) }, 01141 // language code: vai 01142 { "vai", NULL, N_( "Vai" ) }, 01143 // language code: ven ve 01144 { "ven", "ve", N_( "Venda" ) }, 01145 // language code: vie vi 01146 { "vie", "vi", N_( "Vietnamese" ) }, 01147 // language code: vol vo 01148 { "vol", "vo", N_( "Volapuk" ) }, 01149 // language code: vot 01150 { "vot", NULL, N_( "Votic" ) }, 01151 // language code: wak 01152 { "wak", NULL, N_( "Wakashan Languages" ) }, 01153 // language code: wal 01154 { "wal", NULL, N_( "Walamo" ) }, 01155 // language code: war 01156 { "war", NULL, N_( "Waray" ) }, 01157 // language code: was 01158 { "was", NULL, N_( "Washo" ) }, 01159 // language code: wel cym cy 01160 { "wel", "cy", N_( "Welsh" ) }, 01161 // language code: wel cym cy 01162 { "cym", NULL, N_( "Welsh" ) }, 01163 // language code: wen 01164 { "wen", NULL, N_( "Sorbian Languages" ) }, 01165 // language code: wln wa 01166 { "wln", "wa", N_( "Walloon" ) }, 01167 // language code: wol wo 01168 { "wol", "wo", N_( "Wolof" ) }, 01169 // language code: xal 01170 { "xal", NULL, N_( "Kalmyk" ) }, 01171 // language code: xho xh 01172 { "xho", "xh", N_( "Xhosa" ) }, 01173 // language code: yao 01174 { "yao", NULL, N_( "Yao" ) }, 01175 // language code: yap 01176 { "yap", NULL, N_( "Yapese" ) }, 01177 // language code: yid yi 01178 { "yid", "yi", N_( "Yiddish" ) }, 01179 // language code: yor yo 01180 { "yor", "yo", N_( "Yoruba" ) }, 01181 // language code: ypk 01182 { "ypk", NULL, N_( "Yupik Languages" ) }, 01183 // language code: zap 01184 { "zap", NULL, N_( "Zapotec" ) }, 01185 // language code: zen 01186 { "zen", NULL, N_( "Zenaga" ) }, 01187 // language code: zha za 01188 { "zha", "za", N_( "Zhuang" ) }, 01189 // language code: znd 01190 { "znd", NULL, N_( "Zande" ) }, 01191 // language code: zul zu 01192 { "zul", "zu", N_( "Zulu" ) }, 01193 // language code: zun 01194 { "zun", NULL, N_( "Zuni" ) }, 01195 01196 { NULL, NULL, NULL } 01197 }; 01198 01199 for (const LangInit * i = langInit; i->iso639_2 != NULL; ++i) 01200 { 01201 std::string name( i->name ); 01202 codes[i->iso639_2] = name; 01203 if (i->iso639_1 != NULL) 01204 codes[i->iso639_1] = name; 01205 } 01206 } 01207 01209 } // namespace 01211 01213 } // namespace zypp