In this post: Getting countries list in Java I wrote about how to get countries list in Java. Getting languages list is quite similar. In fact by making small changes to the code on the countries post languages list can be easily taken.
In order to get the countries list we used this static method of Locale class: Locale.getISOCountries(). Getting languages list is quite similar and can be taken by using this method: Locale.getISOLanguages(). This method returns String array containing all language codes compatible with ISO 639 standard (2 letters code).
Similar to the countries list, we will use a class named Language to store information of a single language:
And the class LanguageUtil is very similar to CountyUtil, but instead of countries it returns languages:package com.bashan.blog;public class Language {private String languageCode;private String name;public Language() {}public Language(String languageCode, String name) {this.languageCode = languageCode;this.name = name;}public String getLanguageCode() {return languageCode;}public void setLanguageCode(String languageCode) {this.languageCode = languageCode;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String toString() {return languageCode + ", " + name;}}
And the output for our small test program, which prints all languages once in English and once in Japanese:package com.bashan.blog;import java.util.*;public class LanguageUtil {public static List<Language> getLanguages(final Locale inLocale) {String[] languageCodes = Locale.getISOLanguages();List<Language> languages = new ArrayList<Language>(languageCodes.length);for (String languageCode : languageCodes) {languages.add(new Language(languageCode, new Locale(languageCode, "").getDisplayLanguage(inLocale)));}Collections.sort(languages, new Comparator<Language>() {public int compare(Language c1, Language c2) {return c1.getName().compareTo(c2.getName());}});return languages;}public static Map<String, String> getLanguagesMap(final Locale inLocale) {List<Language> countries = getLanguages(inLocale);Map<String, String> countriesMap = new LinkedHashMap<String, String>(countries.size());for (Language country : countries) {countriesMap.put(country.getLanguageCode(), country.getName());}return countriesMap;}public static void printLanguages(List<Language> languages) {for (Language language : languages) {System.out.println(language);}}public static void main(String[] args) {// Get list of countries in US EnglishSystem.out.println("---- List of languages in English ----");List<Language> languages = getLanguages(Locale.US);printLanguages(languages);System.out.println("\n\n---- List of languages in Japanese ----");// Get list of countries in Japaneselanguages = getLanguages(Locale.JAPANESE);printLanguages(languages);}}
---- List of languages in English ----ab, Abkhazianaa, Afaraf, Afrikaansak, Akansq, Albanianam, Amharicar, Arabican, Aragonesehy, Armenianas, Assameseav, Avaricae, Avestanay, Aymaraaz, Azerbaijanibm, Bambaraba, Bashkireu, Basquebe, Belarusianbn, Bengalibh, Biharibi, Bislamabs, Bosnianbr, Bretonbg, Bulgarianmy, Burmeseca, Catalanch, Chamorroce, Chechenzh, Chinesecu, Church Slaviccv, Chuvashkw, Cornishco, Corsicancr, Creehr, Croatiancs, Czechda, Danishdv, Divehinl, Dutchdz, Dzongkhaen, Englisheo, Esperantoet, Estonianee, Ewefo, Faroesefj, Fijianfi, Finnishfr, Frenchfy, Frisianff, Fulahgl, Galleganlg, Gandaka, Georgiande, Germanel, Greekkl, Greenlandicgn, Guaranigu, Gujaratiht, Haitianha, Hausahe, Hebrewiw, Hebrewhz, Hererohi, Hindiho, Hiri Motuhu, Hungarianis, Icelandicio, Idoig, Igboid, Indonesianin, Indonesiania, Interlinguaie, Interlingueiu, Inuktitutik, Inupiaqga, Irishit, Italianja, Japanesejv, Javanesekn, Kannadakr, Kanuriks, Kashmirikk, Kazakhkm, Khmerki, Kikuyurw, Kinyarwandaky, Kirghizkv, Komikg, Kongoko, Koreanku, Kurdishkj, Kwanyamalo, Laola, Latinlv, Latvianli, Limburgishln, Lingalalt, Lithuanianlu, Luba-Katangalb, Luxembourgishmk, Macedonianmg, Malagasyms, Malayml, Malayalammt, Maltesegv, Manxmi, Maorimr, Marathimh, Marshallesemo, Moldavianmn, Mongolianna, Naurunv, Navajong, Ndongane, Nepalind, North Ndebelese, Northern Samino, Norwegiannb, Norwegian Bokmålnn, Norwegian Nynorskny, Nyanjaoc, Occitanoj, Ojibwaor, Oriyaom, Oromoos, Ossetianpi, Palipa, Panjabifa, Persianpl, Polishpt, Portugueseps, Pushtoqu, Quechuarm, Raeto-Romancero, Romanianrn, Rundiru, Russiansm, Samoansg, Sangosa, Sanskritsc, Sardiniangd, Scottish Gaelicsr, Serbiansn, Shonaii, Sichuan Yisd, Sindhisi, Sinhalesesk, Slovaksl, Slovenianso, Somalinr, South Ndebelest, Southern Sothoes, Spanishsu, Sundanesesw, Swahiliss, Swatisv, Swedishtl, Tagalogty, Tahitiantg, Tajikta, Tamiltt, Tatarte, Teluguth, Thaibo, Tibetanti, Tigrinyato, Tongats, Tsongatn, Tswanatr, Turkishtk, Turkmentw, Twiug, Uighuruk, Ukrainianur, Urduuz, Uzbekve, Vendavi, Vietnamesevo, Volapükwa, Wallooncy, Welshwo, Wolofxh, Xhosaji, Yiddishyi, Yiddishyo, Yorubaza, Zhuangzu, Zulu---- List of languages in Japanese ----is, アイスランド語ay, アイマラ語ga, アイルランド語ak, アカン語az, アゼルバイジャン語as, アッサム語aa, アファール語af, アフリカーンス語ab, アブハズ語am, アムハラ語an, アラゴン語ar, アラビア語sq, アルバニア語hy, アルメニア語av, アヴァル語ae, アヴェスタ語it, イタリア語ji, イディッシュ語yi, イディッシュ語io, イド語iu, イヌクウティトット語ik, イヌピアック語ig, イボ語id, インドネシア語in, インドネシア語ug, ウイグル語cy, ウェールズ語wo, ウォロフ語uk, ウクライナ語uz, ウズベク語ur, ウルドゥー語ee, エウェ語et, エストニア語eo, エスペラント語oj, オジブワ語os, オセチア語nl, オランダ語or, オリヤー語kk, カザフ語ks, カシミール語ca, カタロニア語kr, カヌリ語kn, カンナダ語km, カンボジア語om, ガラ語gl, ガリシア語lg, ガンダ語ki, キクユ語ky, キルギス語el, ギリシア語kj, クゥニャマ語cr, クリー語ku, クルド語hr, クロアチア語gu, グジャラート語kl, グリーンランド語ka, グルジア語gn, グワラニ語qu, ケチュア語xh, コサ語kv, コミ語co, コルシカ語kg, コンゴ語kw, コーンウォール語sm, サモア語sc, サルディニア語sg, サンゴ語sa, サンスクリット語ss, シスワティ語sn, ショナ語sd, シンド語si, シンハラ語jv, ジャワ語sv, スウェーデン語gd, スコットランド・ゲール語es, スペイン語sk, スロバキア語sl, スロベニア語sw, スワヒリ語su, スンダ語zu, ズールー語st, セソト語sr, セルビア語so, ソマリ語th, タイ語tl, タガログ語tg, タジク語tt, タタール語ty, タヒチ語ta, タミール語cs, チェコ語ce, チェチェン語bo, チベット語ch, チャモロ語cv, チュヴァシュ語za, チワン語ts, ツォンガ語tn, ツワナ語ti, ティグリニア語te, テルグ語dv, ディベヒ語da, デンマーク語tw, トゥイ語tk, トルクメン語tr, トルコ語to, トンガ語de, ドイツ語na, ナウル語nv, ナバホ語ny, ニャンジャ語ne, ネパール語no, ノルウェー語nn, ノルウェー語 (ニューノルスク)nb, ノルウェー語 (ボークモール)ht, ハイチ語ha, ハウサ語hu, ハンガリー語ba, バシキール語eu, バスク語bm, バンバラ語ps, パシュトー語pa, パンジャブ語pi, パーリ語ho, ヒリ・モツ語hi, ヒンディー語bi, ビスラマ語bh, ビハール語my, ビルマ語fj, フィジー語fi, フィンランド語fo, フェロー語fr, フランス語ff, フラ語fy, フリジア語bg, ブルガリア語br, ブルトン語dz, ブータン語oc, プロバンス語he, ヘブライ語iw, ヘブライ語hz, ヘレロ語vi, ベトナム語bn, ベンガル語ve, ベンダ語fa, ペルシア語bs, ボスニア語vo, ボラピュク語pt, ポルトガル語pl, ポーランド語mi, マオリ語mk, マケドニア語ms, マライ語mg, マラガシー語ml, マラヤーラム語mr, マラーティー語mt, マルタ語gv, マン島語mh, マーシャル語mo, モルダビア語mn, モンゴル語yo, ヨルバ語lo, ラオ語la, ラテン語lv, ラトビア語 (レット語)lt, リトアニア語ln, リンガラ語li, リンブルグ語lb, ルクセンブルク語lu, ルバ語rw, ルワンダ語rn, ルンジ語ro, ルーマニア語rm, レト=ロマン語ru, ロシア語wa, ワロン語ng, ンドンガ語zh, 中国語se, 北サミ語nd, 北ンデベレ語nr, 南ンデベレ語ii, 四川語ia, 国際語ie, 国際語cu, 教会スラブ語ja, 日本語be, 白ロシア語en, 英語ko, 韓国語
No comments:
Post a Comment