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