locale_get_display_region.phpt 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. --TEST--
  2. locale_get_display_region() icu <= 4.2
  3. --SKIPIF--
  4. <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
  5. <?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
  6. --FILE--
  7. <?php
  8. /*
  9. * Try getting the display_region for different locales
  10. * with Procedural and Object methods.
  11. */
  12. function ut_main()
  13. {
  14. $res_str = '';
  15. $disp_locales=array('en','fr','de');
  16. $locales = array(
  17. 'uk-ua_CALIFORNIA@currency=;currency=GRN',
  18. 'root',
  19. 'uk@currency=EURO',
  20. 'Hindi',
  21. //Simple language subtag
  22. 'de',
  23. 'fr',
  24. 'ja',
  25. 'i-enochian', //(example of a grandfathered tag)
  26. //Language subtag plus Script subtag:
  27. 'zh-Hant',
  28. 'zh-Hans',
  29. 'sr-Cyrl',
  30. 'sr-Latn',
  31. //Language-Script-Region
  32. 'zh-Hans-CN',
  33. 'sr-Latn-CS',
  34. //Language-Variant
  35. 'sl-rozaj',
  36. 'sl-nedis',
  37. //Language-Region-Variant
  38. 'de-CH-1901',
  39. 'sl-IT-nedis',
  40. //Language-Script-Region-Variant
  41. 'sl-Latn-IT-nedis',
  42. //Language-Region:
  43. 'de-DE',
  44. 'en-US',
  45. 'es-419',
  46. //Private use subtags:
  47. 'de-CH-x-phonebk',
  48. 'az-Arab-x-AZE-derbend',
  49. //Extended language subtags
  50. 'zh-min',
  51. 'zh-min-nan-Hant-CN',
  52. //Private use registry values
  53. 'x-whatever',
  54. 'qaa-Qaaa-QM-x-southern',
  55. 'sr-Latn-QM',
  56. 'sr-Qaaa-CS',
  57. /*Tags that use extensions (examples ONLY: extensions MUST be defined
  58. by revision or update to this document or by RFC): */
  59. 'en-US-u-islamCal',
  60. 'zh-CN-a-myExt-x-private',
  61. 'en-a-myExt-b-another',
  62. //Some Invalid Tags:
  63. 'de-419-DE',
  64. 'a-DE',
  65. 'ar-a-aaa-b-bbb-a-ccc'
  66. );
  67. $res_str = '';
  68. foreach( $locales as $locale )
  69. {
  70. $res_str .= "locale='$locale'\n";
  71. foreach( $disp_locales as $disp_locale )
  72. {
  73. $scr = ut_loc_get_display_region( $locale ,$disp_locale );
  74. $res_str .= "disp_locale=$disp_locale : display_region=$scr";
  75. $res_str .= "\n";
  76. }
  77. $res_str .= "-----------------\n";
  78. }
  79. return $res_str;
  80. }
  81. include_once( 'ut_common.inc' );
  82. ut_run();
  83. ?>
  84. --EXPECTREGEX--
  85. locale='uk-ua_CALIFORNIA@currency=;currency=GRN'
  86. disp_locale=en : display_region=Ukraine
  87. disp_locale=fr : display_region=Ukraine
  88. disp_locale=de : display_region=Ukraine
  89. -----------------
  90. locale='root'
  91. disp_locale=en : display_region=
  92. disp_locale=fr : display_region=
  93. disp_locale=de : display_region=
  94. -----------------
  95. locale='uk@currency=EURO'
  96. disp_locale=en : display_region=
  97. disp_locale=fr : display_region=
  98. disp_locale=de : display_region=
  99. -----------------
  100. locale='Hindi'
  101. disp_locale=en : display_region=
  102. disp_locale=fr : display_region=
  103. disp_locale=de : display_region=
  104. -----------------
  105. locale='de'
  106. disp_locale=en : display_region=
  107. disp_locale=fr : display_region=
  108. disp_locale=de : display_region=
  109. -----------------
  110. locale='fr'
  111. disp_locale=en : display_region=
  112. disp_locale=fr : display_region=
  113. disp_locale=de : display_region=
  114. -----------------
  115. locale='ja'
  116. disp_locale=en : display_region=
  117. disp_locale=fr : display_region=
  118. disp_locale=de : display_region=
  119. -----------------
  120. locale='i-enochian'
  121. disp_locale=en : display_region=
  122. disp_locale=fr : display_region=
  123. disp_locale=de : display_region=
  124. -----------------
  125. locale='zh-Hant'
  126. disp_locale=en : display_region=
  127. disp_locale=fr : display_region=
  128. disp_locale=de : display_region=
  129. -----------------
  130. locale='zh-Hans'
  131. disp_locale=en : display_region=
  132. disp_locale=fr : display_region=
  133. disp_locale=de : display_region=
  134. -----------------
  135. locale='sr-Cyrl'
  136. disp_locale=en : display_region=
  137. disp_locale=fr : display_region=
  138. disp_locale=de : display_region=
  139. -----------------
  140. locale='sr-Latn'
  141. disp_locale=en : display_region=
  142. disp_locale=fr : display_region=
  143. disp_locale=de : display_region=
  144. -----------------
  145. locale='zh-Hans-CN'
  146. disp_locale=en : display_region=China
  147. disp_locale=fr : display_region=Chine
  148. disp_locale=de : display_region=China
  149. -----------------
  150. locale='sr-Latn-CS'
  151. disp_locale=en : display_region=Serbia [Aa]nd Montenegro
  152. disp_locale=fr : display_region=Serbie-et-Monténégro
  153. disp_locale=de : display_region=Serbien und Montenegro
  154. -----------------
  155. locale='sl-rozaj'
  156. disp_locale=en : display_region=(ROZAJ)?
  157. disp_locale=fr : display_region=(ROZAJ)?
  158. disp_locale=de : display_region=(ROZAJ)?
  159. -----------------
  160. locale='sl-nedis'
  161. disp_locale=en : display_region=(NEDIS)?
  162. disp_locale=fr : display_region=(NEDIS)?
  163. disp_locale=de : display_region=(NEDIS)?
  164. -----------------
  165. locale='de-CH-1901'
  166. disp_locale=en : display_region=Switzerland
  167. disp_locale=fr : display_region=Suisse
  168. disp_locale=de : display_region=Schweiz
  169. -----------------
  170. locale='sl-IT-nedis'
  171. disp_locale=en : display_region=Italy
  172. disp_locale=fr : display_region=Italie
  173. disp_locale=de : display_region=Italien
  174. -----------------
  175. locale='sl-Latn-IT-nedis'
  176. disp_locale=en : display_region=Italy
  177. disp_locale=fr : display_region=Italie
  178. disp_locale=de : display_region=Italien
  179. -----------------
  180. locale='de-DE'
  181. disp_locale=en : display_region=Germany
  182. disp_locale=fr : display_region=Allemagne
  183. disp_locale=de : display_region=Deutschland
  184. -----------------
  185. locale='en-US'
  186. disp_locale=en : display_region=United States
  187. disp_locale=fr : display_region=États-Unis
  188. disp_locale=de : display_region=Vereinigte Staaten
  189. -----------------
  190. locale='es-419'
  191. disp_locale=en : display_region=Latin America and the Caribbean
  192. disp_locale=fr : display_region=Amérique latine et Caraïbes
  193. disp_locale=de : display_region=Lateinamerika und Karibik
  194. -----------------
  195. locale='de-CH-x-phonebk'
  196. disp_locale=en : display_region=Switzerland
  197. disp_locale=fr : display_region=Suisse
  198. disp_locale=de : display_region=Schweiz
  199. -----------------
  200. locale='az-Arab-x-AZE-derbend'
  201. disp_locale=en : display_region=X?
  202. disp_locale=fr : display_region=X?
  203. disp_locale=de : display_region=X?
  204. -----------------
  205. locale='zh-min'
  206. disp_locale=en : display_region=
  207. disp_locale=fr : display_region=
  208. disp_locale=de : display_region=
  209. -----------------
  210. locale='zh-min-nan-Hant-CN'
  211. disp_locale=en : display_region=MIN
  212. disp_locale=fr : display_region=MIN
  213. disp_locale=de : display_region=MIN
  214. -----------------
  215. locale='x-whatever'
  216. disp_locale=en : display_region=
  217. disp_locale=fr : display_region=
  218. disp_locale=de : display_region=
  219. -----------------
  220. locale='qaa-Qaaa-QM-x-southern'
  221. disp_locale=en : display_region=QM
  222. disp_locale=fr : display_region=QM
  223. disp_locale=de : display_region=QM
  224. -----------------
  225. locale='sr-Latn-QM'
  226. disp_locale=en : display_region=QM
  227. disp_locale=fr : display_region=QM
  228. disp_locale=de : display_region=QM
  229. -----------------
  230. locale='sr-Qaaa-CS'
  231. disp_locale=en : display_region=Serbia [Aa]nd Montenegro
  232. disp_locale=fr : display_region=Serbie-et-Monténégro
  233. disp_locale=de : display_region=Serbien und Montenegro
  234. -----------------
  235. locale='en-US-u-islamCal'
  236. disp_locale=en : display_region=United States
  237. disp_locale=fr : display_region=États-Unis
  238. disp_locale=de : display_region=Vereinigte Staaten
  239. -----------------
  240. locale='zh-CN-a-myExt-x-private'
  241. disp_locale=en : display_region=China
  242. disp_locale=fr : display_region=Chine
  243. disp_locale=de : display_region=China
  244. -----------------
  245. locale='en-a-myExt-b-another'
  246. disp_locale=en : display_region=A?
  247. disp_locale=fr : display_region=A?
  248. disp_locale=de : display_region=A?
  249. -----------------
  250. locale='de-419-DE'
  251. disp_locale=en : display_region=Latin America and the Caribbean
  252. disp_locale=fr : display_region=Amérique latine et Caraïbes
  253. disp_locale=de : display_region=Lateinamerika und Karibik
  254. -----------------
  255. locale='a-DE'
  256. disp_locale=en : display_region=Germany
  257. disp_locale=fr : display_region=Allemagne
  258. disp_locale=de : display_region=Deutschland
  259. -----------------
  260. locale='ar-a-aaa-b-bbb-a-ccc'
  261. disp_locale=en : display_region=A?
  262. disp_locale=fr : display_region=A?
  263. disp_locale=de : display_region=A?
  264. -----------------