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