1--TEST-- 2locale_get_display_language() icu >= 68.1 3--EXTENSIONS-- 4intl 5--SKIPIF-- 6<?php if (version_compare(INTL_ICU_VERSION, '68.1') < 0) die('skip for ICU >= 68.1'); ?> 7--FILE-- 8<?php 9 10/* 11 * Try getting the display_language 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 'art-lojban', //(example of a grandfathered tag) 32//Language subtag plus Script subtag: 33 'zh-Hant', 34 'zh-Hans', 35 'sr-Cyrl', 36 'sr-Latn', 37//Language-Script-Region 38 'zh-Hans-CN', 39 'sr-Latn-CS', 40//Language-Variant 41 'sl-rozaj', 42 'sl-nedis', 43//Language-Region-Variant 44 'de-CH-1901', 45 'sl-IT-nedis', 46//Language-Script-Region-Variant 47 'sl-Latn-IT-nedis', 48//Language-Region: 49 'de-DE', 50 'en-US', 51 'es-419', 52//Private use subtags: 53 'de-CH-x-phonebk', 54 'az-Arab-x-AZE-derbend', 55//Extended language subtags 56 'zh-min', 57 'zh-min-nan-Hant-CN', 58//Private use registry values 59 'x-whatever', 60 'qaa-Qaaa-QM-x-southern', 61 'sr-Latn-QM', 62 'sr-Qaaa-CS', 63/*Tags that use extensions (examples ONLY: extensions MUST be defined 64 by revision or update to this document or by RFC): */ 65 'en-US-u-islamCal', 66 'zh-CN-a-myExt-x-private', 67 'en-a-myExt-b-another', 68//Some Invalid Tags: 69 'de-419-DE', 70 'a-DE', 71 'ar-a-aaa-b-bbb-a-ccc' 72 ); 73 74 75 $res_str = ''; 76 77 foreach( $locales as $locale ) 78 { 79 $res_str .= "locale='$locale'\n"; 80 foreach( $disp_locales as $disp_locale ) 81 { 82 $scr = ut_loc_get_display_language( $locale ,$disp_locale ); 83 $res_str .= "disp_locale=$disp_locale : display_language=$scr"; 84 $res_str .= "\n"; 85 } 86 $res_str .= "-----------------\n"; 87 } 88 89 return $res_str; 90 91} 92 93include_once( 'ut_common.inc' ); 94ut_run(); 95 96?> 97--EXPECTREGEX-- 98locale='uk-ua_CALIFORNIA@currency=;currency=GRN' 99disp_locale=en : display_language=Ukrainian 100disp_locale=fr : display_language=ukrainien 101disp_locale=de : display_language=Ukrainisch 102----------------- 103locale='root' 104disp_locale=en : display_language=(Root|Unknown language) 105disp_locale=fr : display_language=(racine|langue indéterminée) 106disp_locale=de : display_language=([rR]oot|Unbekannte Sprache) 107----------------- 108locale='uk@currency=EURO' 109disp_locale=en : display_language=Ukrainian 110disp_locale=fr : display_language=ukrainien 111disp_locale=de : display_language=Ukrainisch 112----------------- 113locale='Hindi' 114disp_locale=en : display_language=hindi 115disp_locale=fr : display_language=hindi 116disp_locale=de : display_language=hindi 117----------------- 118locale='de' 119disp_locale=en : display_language=German 120disp_locale=fr : display_language=allemand 121disp_locale=de : display_language=Deutsch 122----------------- 123locale='fr' 124disp_locale=en : display_language=French 125disp_locale=fr : display_language=français 126disp_locale=de : display_language=Französisch 127----------------- 128locale='ja' 129disp_locale=en : display_language=Japanese 130disp_locale=fr : display_language=japonais 131disp_locale=de : display_language=Japanisch 132----------------- 133locale='i-enochian' 134disp_locale=en : display_language=i-enochian 135disp_locale=fr : display_language=i-enochian 136disp_locale=de : display_language=i-enochian 137----------------- 138locale='art-lojban' 139disp_locale=en : display_language=Lojban 140disp_locale=fr : display_language=lojban 141disp_locale=de : display_language=Lojban 142----------------- 143locale='zh-Hant' 144disp_locale=en : display_language=Chinese 145disp_locale=fr : display_language=chinois 146disp_locale=de : display_language=Chinesisch 147----------------- 148locale='zh-Hans' 149disp_locale=en : display_language=Chinese 150disp_locale=fr : display_language=chinois 151disp_locale=de : display_language=Chinesisch 152----------------- 153locale='sr-Cyrl' 154disp_locale=en : display_language=Serbian 155disp_locale=fr : display_language=serbe 156disp_locale=de : display_language=Serbisch 157----------------- 158locale='sr-Latn' 159disp_locale=en : display_language=Serbian 160disp_locale=fr : display_language=serbe 161disp_locale=de : display_language=Serbisch 162----------------- 163locale='zh-Hans-CN' 164disp_locale=en : display_language=Chinese 165disp_locale=fr : display_language=chinois 166disp_locale=de : display_language=Chinesisch 167----------------- 168locale='sr-Latn-CS' 169disp_locale=en : display_language=Serbian 170disp_locale=fr : display_language=serbe 171disp_locale=de : display_language=Serbisch 172----------------- 173locale='sl-rozaj' 174disp_locale=en : display_language=Slovenian 175disp_locale=fr : display_language=slovène 176disp_locale=de : display_language=Slowenisch 177----------------- 178locale='sl-nedis' 179disp_locale=en : display_language=Slovenian 180disp_locale=fr : display_language=slovène 181disp_locale=de : display_language=Slowenisch 182----------------- 183locale='de-CH-1901' 184disp_locale=en : display_language=German 185disp_locale=fr : display_language=allemand 186disp_locale=de : display_language=Deutsch 187----------------- 188locale='sl-IT-nedis' 189disp_locale=en : display_language=Slovenian 190disp_locale=fr : display_language=slovène 191disp_locale=de : display_language=Slowenisch 192----------------- 193locale='sl-Latn-IT-nedis' 194disp_locale=en : display_language=Slovenian 195disp_locale=fr : display_language=slovène 196disp_locale=de : display_language=Slowenisch 197----------------- 198locale='de-DE' 199disp_locale=en : display_language=German 200disp_locale=fr : display_language=allemand 201disp_locale=de : display_language=Deutsch 202----------------- 203locale='en-US' 204disp_locale=en : display_language=English 205disp_locale=fr : display_language=anglais 206disp_locale=de : display_language=Englisch 207----------------- 208locale='es-419' 209disp_locale=en : display_language=Spanish 210disp_locale=fr : display_language=espagnol 211disp_locale=de : display_language=Spanisch 212----------------- 213locale='de-CH-x-phonebk' 214disp_locale=en : display_language=German 215disp_locale=fr : display_language=allemand 216disp_locale=de : display_language=Deutsch 217----------------- 218locale='az-Arab-x-AZE-derbend' 219disp_locale=en : display_language=Azerbaijani 220disp_locale=fr : display_language=azerbaïdjanais 221disp_locale=de : display_language=Aserbaidschanisch 222----------------- 223locale='zh-min' 224disp_locale=en : display_language=Chinese 225disp_locale=fr : display_language=chinois 226disp_locale=de : display_language=Chinesisch 227----------------- 228locale='zh-min-nan-Hant-CN' 229disp_locale=en : display_language=Chinese 230disp_locale=fr : display_language=chinois 231disp_locale=de : display_language=Chinesisch 232----------------- 233locale='x-whatever' 234disp_locale=en : display_language=x-whatever 235disp_locale=fr : display_language=x-whatever 236disp_locale=de : display_language=x-whatever 237----------------- 238locale='qaa-Qaaa-QM-x-southern' 239disp_locale=en : display_language=qaa 240disp_locale=fr : display_language=qaa 241disp_locale=de : display_language=qaa 242----------------- 243locale='sr-Latn-QM' 244disp_locale=en : display_language=Serbian 245disp_locale=fr : display_language=serbe 246disp_locale=de : display_language=Serbisch 247----------------- 248locale='sr-Qaaa-CS' 249disp_locale=en : display_language=Serbian 250disp_locale=fr : display_language=serbe 251disp_locale=de : display_language=Serbisch 252----------------- 253locale='en-US-u-islamCal' 254disp_locale=en : display_language=English 255disp_locale=fr : display_language=anglais 256disp_locale=de : display_language=Englisch 257----------------- 258locale='zh-CN-a-myExt-x-private' 259disp_locale=en : display_language=Chinese 260disp_locale=fr : display_language=chinois 261disp_locale=de : display_language=Chinesisch 262----------------- 263locale='en-a-myExt-b-another' 264disp_locale=en : display_language=English 265disp_locale=fr : display_language=anglais 266disp_locale=de : display_language=Englisch 267----------------- 268locale='de-419-DE' 269disp_locale=en : display_language=German 270disp_locale=fr : display_language=allemand 271disp_locale=de : display_language=Deutsch 272----------------- 273locale='a-DE' 274disp_locale=en : display_language=a 275disp_locale=fr : display_language=a 276disp_locale=de : display_language=a 277----------------- 278locale='ar-a-aaa-b-bbb-a-ccc' 279disp_locale=en : display_language=Arabic 280disp_locale=fr : display_language=arabe 281disp_locale=de : display_language=Arabisch 282----------------- 283