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