locale_get_display_region2.phpt 7.8 KB

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