1--TEST-- 2locale_get_display_language() icu >= 68.1 3--SKIPIF-- 4<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> 5<?php if (version_compare(INTL_ICU_VERSION, '68.1') < 0) die('skip for ICU >= 68.1'); ?> 6--FILE-- 7<?php 8 9/* 10 * Try getting the display_language 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 'art-lojban', //(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_language( $locale ,$disp_locale ); 82 $res_str .= "disp_locale=$disp_locale : display_language=$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_language=Ukrainian 99disp_locale=fr : display_language=ukrainien 100disp_locale=de : display_language=Ukrainisch 101----------------- 102locale='root' 103disp_locale=en : display_language=(Root|Unknown language) 104disp_locale=fr : display_language=(racine|langue indéterminée) 105disp_locale=de : display_language=([rR]oot|Unbekannte Sprache) 106----------------- 107locale='uk@currency=EURO' 108disp_locale=en : display_language=Ukrainian 109disp_locale=fr : display_language=ukrainien 110disp_locale=de : display_language=Ukrainisch 111----------------- 112locale='Hindi' 113disp_locale=en : display_language=hindi 114disp_locale=fr : display_language=hindi 115disp_locale=de : display_language=hindi 116----------------- 117locale='de' 118disp_locale=en : display_language=German 119disp_locale=fr : display_language=allemand 120disp_locale=de : display_language=Deutsch 121----------------- 122locale='fr' 123disp_locale=en : display_language=French 124disp_locale=fr : display_language=français 125disp_locale=de : display_language=Französisch 126----------------- 127locale='ja' 128disp_locale=en : display_language=Japanese 129disp_locale=fr : display_language=japonais 130disp_locale=de : display_language=Japanisch 131----------------- 132locale='i-enochian' 133disp_locale=en : display_language=i-enochian 134disp_locale=fr : display_language=i-enochian 135disp_locale=de : display_language=i-enochian 136----------------- 137locale='art-lojban' 138disp_locale=en : display_language=Lojban 139disp_locale=fr : display_language=lojban 140disp_locale=de : display_language=Lojban 141----------------- 142locale='zh-Hant' 143disp_locale=en : display_language=Chinese 144disp_locale=fr : display_language=chinois 145disp_locale=de : display_language=Chinesisch 146----------------- 147locale='zh-Hans' 148disp_locale=en : display_language=Chinese 149disp_locale=fr : display_language=chinois 150disp_locale=de : display_language=Chinesisch 151----------------- 152locale='sr-Cyrl' 153disp_locale=en : display_language=Serbian 154disp_locale=fr : display_language=serbe 155disp_locale=de : display_language=Serbisch 156----------------- 157locale='sr-Latn' 158disp_locale=en : display_language=Serbian 159disp_locale=fr : display_language=serbe 160disp_locale=de : display_language=Serbisch 161----------------- 162locale='zh-Hans-CN' 163disp_locale=en : display_language=Chinese 164disp_locale=fr : display_language=chinois 165disp_locale=de : display_language=Chinesisch 166----------------- 167locale='sr-Latn-CS' 168disp_locale=en : display_language=Serbian 169disp_locale=fr : display_language=serbe 170disp_locale=de : display_language=Serbisch 171----------------- 172locale='sl-rozaj' 173disp_locale=en : display_language=Slovenian 174disp_locale=fr : display_language=slovène 175disp_locale=de : display_language=Slowenisch 176----------------- 177locale='sl-nedis' 178disp_locale=en : display_language=Slovenian 179disp_locale=fr : display_language=slovène 180disp_locale=de : display_language=Slowenisch 181----------------- 182locale='de-CH-1901' 183disp_locale=en : display_language=German 184disp_locale=fr : display_language=allemand 185disp_locale=de : display_language=Deutsch 186----------------- 187locale='sl-IT-nedis' 188disp_locale=en : display_language=Slovenian 189disp_locale=fr : display_language=slovène 190disp_locale=de : display_language=Slowenisch 191----------------- 192locale='sl-Latn-IT-nedis' 193disp_locale=en : display_language=Slovenian 194disp_locale=fr : display_language=slovène 195disp_locale=de : display_language=Slowenisch 196----------------- 197locale='de-DE' 198disp_locale=en : display_language=German 199disp_locale=fr : display_language=allemand 200disp_locale=de : display_language=Deutsch 201----------------- 202locale='en-US' 203disp_locale=en : display_language=English 204disp_locale=fr : display_language=anglais 205disp_locale=de : display_language=Englisch 206----------------- 207locale='es-419' 208disp_locale=en : display_language=Spanish 209disp_locale=fr : display_language=espagnol 210disp_locale=de : display_language=Spanisch 211----------------- 212locale='de-CH-x-phonebk' 213disp_locale=en : display_language=German 214disp_locale=fr : display_language=allemand 215disp_locale=de : display_language=Deutsch 216----------------- 217locale='az-Arab-x-AZE-derbend' 218disp_locale=en : display_language=Azerbaijani 219disp_locale=fr : display_language=azerbaïdjanais 220disp_locale=de : display_language=Aserbaidschanisch 221----------------- 222locale='zh-min' 223disp_locale=en : display_language=Chinese 224disp_locale=fr : display_language=chinois 225disp_locale=de : display_language=Chinesisch 226----------------- 227locale='zh-min-nan-Hant-CN' 228disp_locale=en : display_language=Chinese 229disp_locale=fr : display_language=chinois 230disp_locale=de : display_language=Chinesisch 231----------------- 232locale='x-whatever' 233disp_locale=en : display_language=x-whatever 234disp_locale=fr : display_language=x-whatever 235disp_locale=de : display_language=x-whatever 236----------------- 237locale='qaa-Qaaa-QM-x-southern' 238disp_locale=en : display_language=qaa 239disp_locale=fr : display_language=qaa 240disp_locale=de : display_language=qaa 241----------------- 242locale='sr-Latn-QM' 243disp_locale=en : display_language=Serbian 244disp_locale=fr : display_language=serbe 245disp_locale=de : display_language=Serbisch 246----------------- 247locale='sr-Qaaa-CS' 248disp_locale=en : display_language=Serbian 249disp_locale=fr : display_language=serbe 250disp_locale=de : display_language=Serbisch 251----------------- 252locale='en-US-u-islamCal' 253disp_locale=en : display_language=English 254disp_locale=fr : display_language=anglais 255disp_locale=de : display_language=Englisch 256----------------- 257locale='zh-CN-a-myExt-x-private' 258disp_locale=en : display_language=Chinese 259disp_locale=fr : display_language=chinois 260disp_locale=de : display_language=Chinesisch 261----------------- 262locale='en-a-myExt-b-another' 263disp_locale=en : display_language=English 264disp_locale=fr : display_language=anglais 265disp_locale=de : display_language=Englisch 266----------------- 267locale='de-419-DE' 268disp_locale=en : display_language=German 269disp_locale=fr : display_language=allemand 270disp_locale=de : display_language=Deutsch 271----------------- 272locale='a-DE' 273disp_locale=en : display_language=a 274disp_locale=fr : display_language=a 275disp_locale=de : display_language=a 276----------------- 277locale='ar-a-aaa-b-bbb-a-ccc' 278disp_locale=en : display_language=Arabic 279disp_locale=fr : display_language=arabe 280disp_locale=de : display_language=Arabisch 281----------------- 282