Post on 27-May-2015
Yet Another InternationalizationJavaOne Tokyo 2012, Takayuki Okazaki, @watermint
Photo: CC BY 2.0 U.S. Department of Agriculture
Takayuki Okazaki@watermint
http://developer.gree.net/sp/globalplatform/
Choose your!Internationalization!wisely
Photo: CC BY 2.0 U.S. Department of Agriculture
Is Java Supports Internationalization?
Photo: CC BY 2.0 U.S. Department of Agriculture
•Unicode!
•Resource Bundle!
•Encoding!
•Date/Time
•Locale!
•IDN!
•Number!
•Currency
•Calendar!
•Collation!
•Bidi!
•Timezone!
•etc..Out of the box supportPhoto: CC BY 2.0 U.S. Department of Agriculture
i18n Enhancements in JDK7
Photo: CC BY 2.0 U.S. Department of Agriculture
Localezh-Hans!zh-Hant
az-Arab!az-Cyrl!az-Latn
mn-Cyrl!mn-Mong
ms-Latn!ms-Arab
Locale.Builder
new java.util.Locale.Builder()! .setLanguage("ja")! .setScript("Jpan")! .setRegion("JP").build();!
Missing features
Photo: CC BY 2.0 U.S. Department of Agriculture
telephone number
+81 3-1234-567803-1234-5678
+81312345678
National Format
International
ITU E164
Photo: CC BY 2.0 U.S. Department of Agriculture
International Call
+81 3-1234-5678
03-1234-5678
Italy
+39 06-487991
06-487991
libphonenumber
http://code.google.com/p/libphonenumber/
¨Ì z ([1-9]\d{8,9}|0(?:3\d{9}|7\d{5,7}|8\d{7})\d{7,11}¸(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|2[2-9]\d|[36][1-9]\d|4(?:6[02-8]|[2-578]\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\d)|7(?:3[4-9]|4[02-9]|[25-9]\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\d)|9(?:[679][1-9]|[2-58]\d))\d{6} \d{9} 312345678(?:[79]0\d|80[1-9])\d{7} \d{10} 7012345678D120\d{6}|800\d{7}|0(?:777(?:[01]\d{2}|5\d{3}|8\d{4})|882[1245]\d{4})\d{7,10} 120123456990\d{6} \d{9} 990123456NANA 60\d{7} \d{9} 601234567 (?:037|50)\d{8} \d{10,11} 5012345678 20\d{8} \d{10} 2012345678570\d{6} \d{9} 570123456NANA 11[09] \d{3}110:0(?:37\d{8}|777(?:[01]\d{2}|5\d{3}|8\d{4})|882[1245]\d{4})\d{7,11} 0777012JPQ01000 (\d{3})(\d{3})(\d{3})$1-$2-$3 (?:12|57|99)00$1(\d{3})(\d{3})(\d{4})$1-$2-$38000$1 (\d{3})(\d{4}) $1-$20770$1(\d{3})(\d{2})(\d{3,4})$1-$2-$30770$1z (\d{3})(\d{2})(\d{4})$1-$2-$30880$1(\d{3})(\d{4})(\d{4})$1-$2-$30370$1(\d{2})(\d{4})(\d{4})$1-$2-$3 [2579]0|80[1-9]0$1(\d{4})(\d)(\d{4})$1-$2-$3Z1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])¨1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))√1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))0$1(\d{3})(\d{2})(\d{4})$1-$2-$3 •1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[03-9]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|z 4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])ú1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-6]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))¸1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[z 2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7])) 1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|z‡6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))0$1(\d{2})(\d{3})(\d{4})$1-$2-$3v1|2(?:23|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)ö1|2(?:23|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])£1|2(?:23|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))0$1(\d{3})(\d{2})(\d{4})$1-$2-$3#2(?:9[14-79]|74|[34]7|[56]9)|82|9930$1(\d)(\d{4})(\d{4})$1-$2-$33|4(?:2[09]|7[01])|6[1-9]0$1(\d{2})(\d{3})(\d{4})$1-$2-$3 [2479][1-9]0$1
160K Bytes of!Regular expressions
More!
•Language Detection!
•Proof of Origin!
•Culture!
•Law
•Pictogram!
•Religion!
•Politics!
•etc..