Skip to content

Commit 161975d

Browse files
committed
feature #33148 [Intl] Excludes locale from language codes (split localized language names) (ro0NL)
This PR was merged into the 4.4 branch. Discussion ---------- [Intl] Excludes locale from language codes (split localized language names) | Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | yes | BC breaks? | no <!-- see https://symfony.com/bc --> | Deprecations? | no | Tests pass? | yes <!-- please add some, will be required by reviewers --> | Fixed tickets | #33146 | License | MIT | Doc PR | symfony/symfony-docs#... <!-- required for new features --> (includes #33140) Commits ------- 1a9f517 [Intl] Excludes locale from language codes (split localized language names)
2 parents 979be29 + 1a9f517 commit 161975d

File tree

205 files changed

+2367
-2047
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+2367
-2047
lines changed

src/Symfony/Component/Intl/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ CHANGELOG
66

77
* excluded language code `root`
88
* added to both `Countries` and `Languages` the methods `getAlpha3Codes`, `getAlpha3Code`, `getAlpha2Code`, `alpha3CodeExists`, `getAlpha3Name` and `getAlpha3Names`
9+
* excluded localized languages (e.g. `en_US`) from `Languages` in `getLanguageCodes()` and `getNames()`
910

1011
4.3.0
1112
-----

src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,13 +132,22 @@ protected function generateDataForLocale(BundleEntryReaderInterface $reader, str
132132

133133
// isset() on \ResourceBundle returns true even if the value is null
134134
if (isset($localeBundle['Languages']) && null !== $localeBundle['Languages']) {
135+
$names = [];
136+
$localizedNames = [];
137+
foreach (self::generateLanguageNames($localeBundle) as $language => $name) {
138+
if (false === strpos($language, '_')) {
139+
$this->languageCodes[] = $language;
140+
$names[$language] = $name;
141+
} else {
142+
$localizedNames[$language] = $name;
143+
}
144+
}
135145
$data = [
136146
'Version' => $localeBundle['Version'],
137-
'Names' => self::generateLanguageNames($localeBundle),
147+
'Names' => $names,
148+
'LocalizedNames' => $localizedNames,
138149
];
139150

140-
$this->languageCodes = array_merge($this->languageCodes, array_keys($data['Names']));
141-
142151
return $data;
143152
}
144153

src/Symfony/Component/Intl/Languages.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,25 @@ public static function exists(string $language): bool
5252
/**
5353
* Gets the language name from its alpha2 code.
5454
*
55+
* A full locale may be passed to obtain a more localized language name, e.g. "American English" for "en_US".
56+
*
5557
* @throws MissingResourceException if the language code does not exist
5658
*/
5759
public static function getName(string $language, string $displayLocale = null): string
5860
{
59-
return self::readEntry(['Names', $language], $displayLocale);
61+
try {
62+
return self::readEntry(['Names', $language], $displayLocale);
63+
} catch (MissingResourceException $e) {
64+
try {
65+
return self::readEntry(['LocalizedNames', $language], $displayLocale);
66+
} catch (MissingResourceException $e) {
67+
if (false !== $i = strrpos($language, '_')) {
68+
return self::getName(substr($language, 0, $i), $displayLocale);
69+
}
70+
71+
throw $e;
72+
}
73+
}
6074
}
6175

6276
/**

src/Symfony/Component/Intl/Resources/data/languages/af.json

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
"an": "Aragonees",
1818
"anp": "Angika",
1919
"ar": "Arabies",
20-
"ar_001": "Moderne Standaardarabies",
2120
"arc": "Aramees",
2221
"arn": "Mapuche",
2322
"arp": "Arapaho",
@@ -71,7 +70,6 @@
7170
"dar": "Dakota",
7271
"dav": "Taita",
7372
"de": "Duits",
74-
"de_CH": "Switserse hoog-Duits",
7573
"dgr": "Dogrib",
7674
"dje": "Zarma",
7775
"dsb": "Benedesorbies",
@@ -87,8 +85,6 @@
8785
"eka": "Ekajuk",
8886
"el": "Grieks",
8987
"en": "Engels",
90-
"en_GB": "Engels (VK)",
91-
"en_US": "Engels (VSA)",
9288
"eo": "Esperanto",
9389
"es": "Spaans",
9490
"et": "Estnies",
@@ -252,14 +248,12 @@
252248
"nb": "Boeknoors",
253249
"nd": "Noord-Ndebele",
254250
"nds": "Lae Duits",
255-
"nds_NL": "Nedersaksies",
256251
"ne": "Nepalees",
257252
"new": "Newari",
258253
"ng": "Ndonga",
259254
"nia": "Nias",
260255
"niu": "Niueaans",
261256
"nl": "Nederlands",
262-
"nl_BE": "Vlaams",
263257
"nmg": "Kwasio",
264258
"nn": "Nuwe Noors",
265259
"nnh": "Ngiemboon",
@@ -394,10 +388,18 @@
394388
"yue": "Kantonees",
395389
"zgh": "Standaard Marokkaanse Tamazight",
396390
"zh": "Sjinees",
397-
"zh_Hans": "Chinees (Vereenvoudig)",
398-
"zh_Hant": "Chinees (Tradisioneel)",
399391
"zu": "Zoeloe",
400392
"zun": "Zuni",
401393
"zza": "Zaza"
394+
},
395+
"LocalizedNames": {
396+
"ar_001": "Moderne Standaardarabies",
397+
"de_CH": "Switserse hoog-Duits",
398+
"en_GB": "Engels (VK)",
399+
"en_US": "Engels (VSA)",
400+
"nds_NL": "Nedersaksies",
401+
"nl_BE": "Vlaams",
402+
"zh_Hans": "Chinees (Vereenvoudig)",
403+
"zh_Hant": "Chinees (Tradisioneel)"
402404
}
403405
}

src/Symfony/Component/Intl/Resources/data/languages/ak.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,6 @@
4545
"yo": "Yoruba",
4646
"zh": "Kyaena kasa",
4747
"zu": "Zulu"
48-
}
48+
},
49+
"LocalizedNames": []
4950
}

src/Symfony/Component/Intl/Resources/data/languages/am.json

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
"an": "አራጎንስ",
2222
"anp": "አንጊካ",
2323
"ar": "ዓረብኛ",
24-
"ar_001": "ዘመናዊ መደበኛ ዓረብኛ",
2524
"arc": "አራማይክ",
2625
"arn": "ማፑቼ",
2726
"aro": "አራኦና",
@@ -107,8 +106,6 @@
107106
"dar": "ዳርግዋ",
108107
"dav": "ታይታኛ",
109108
"de": "ጀርመን",
110-
"de_AT": "የኦስትሪያ ጀርመን",
111-
"de_CH": "የስዊዝ ከፍተኛ ጀርመንኛ",
112109
"del": "ዳላዌር",
113110
"dgr": "ዶግሪብ",
114111
"din": "ዲንካ",
@@ -129,15 +126,8 @@
129126
"eka": "ኤካጁክ",
130127
"el": "ግሪክኛ",
131128
"en": "እንግሊዝኛ",
132-
"en_AU": "የአውስትራሊያ እንግሊዝኛ",
133-
"en_CA": "የካናዳ እንግሊዝኛ",
134-
"en_GB": "የብሪቲሽ እንግሊዝኛ",
135-
"en_US": "የአሜሪካ እንግሊዝኛ",
136129
"eo": "ኤስፐራንቶ",
137130
"es": "ስፓንሽኛ",
138-
"es_419": "የላቲን አሜሪካ ስፓኒሽ",
139-
"es_ES": "የአውሮፓ ስፓንሽኛ",
140-
"es_MX": "የሜክሲኮ ስፓንሽኛ",
141131
"esu": "ሴንተራል ዩፒክ",
142132
"et": "ኢስቶኒያንኛ",
143133
"eu": "ባስክኛ",
@@ -150,8 +140,6 @@
150140
"fo": "ፋሮኛ",
151141
"fon": "ፎን",
152142
"fr": "ፈረንሳይኛ",
153-
"fr_CA": "የካናዳ ፈረንሳይኛ",
154-
"fr_CH": "የስዊዝ ፈረንሳይኛ",
155143
"frc": "ካጁን ፍሬንች",
156144
"frp": "አርፒታን",
157145
"fur": "ፍሩሊያን",
@@ -303,15 +291,13 @@
303291
"nb": "የኖርዌይ ቦክማል",
304292
"nd": "ሰሜን ንዴብሌ",
305293
"nds": "የታችኛው ጀርመን",
306-
"nds_NL": "የታችኛው ሳክሰን",
307294
"ne": "ኔፓሊኛ",
308295
"new": "ኒዋሪ(ኔፓል)",
309296
"ng": "ንዶንጋ",
310297
"nia": "ኒአስ",
311298
"niu": "ኒዩአንኛ",
312299
"njo": "ኦ ናጋ",
313300
"nl": "ደች",
314-
"nl_BE": "ፍሌሚሽ",
315301
"nmg": "ክዋሲዮ",
316302
"nn": "የኖርዌይ ናይኖርስክ",
317303
"nnh": "ኒጊምቡን",
@@ -339,8 +325,6 @@
339325
"prg": "ፐሩሳንኛ",
340326
"ps": "ፓሽቶኛ",
341327
"pt": "ፖርቹጋልኛ",
342-
"pt_BR": "የብራዚል ፖርቹጋልኛ",
343-
"pt_PT": "የአውሮፓ ፖርቹጋልኛ",
344328
"qu": "ኵቿኛ",
345329
"quc": "ኪቼ",
346330
"qug": "ቺምቦራዞ ሃይላንድ ኩቹዋ",
@@ -349,7 +333,6 @@
349333
"rm": "ሮማንሽ",
350334
"rn": "ሩንዲኛ",
351335
"ro": "ሮማኒያን",
352-
"ro_MD": "ሞልዳቪያንኛ",
353336
"rof": "ሮምቦ",
354337
"ru": "ራሽያኛ",
355338
"rup": "አሮማንያን",
@@ -397,7 +380,6 @@
397380
"suk": "ሱኩማ",
398381
"sv": "ስዊድንኛ",
399382
"sw": "ስዋሂሊኛ",
400-
"sw_CD": "ኮንጎ ስዋሂሊ",
401383
"swb": "ኮሞሪያን",
402384
"syc": "ክላሲክ ኔይራ",
403385
"syr": "ሲሪያክ",
@@ -457,10 +439,30 @@
457439
"zbl": "ብሊስይምቦልስ",
458440
"zgh": "መደበኛ የሞሮኮ ታማዚግት",
459441
"zh": "ቻይንኛ",
460-
"zh_Hans": "ቀለል ያለ ቻይንኛ",
461-
"zh_Hant": "ባህላዊ ቻይንኛ",
462442
"zu": "ዙሉኛ",
463443
"zun": "ዙኒ",
464444
"zza": "ዛዛ"
445+
},
446+
"LocalizedNames": {
447+
"ar_001": "ዘመናዊ መደበኛ ዓረብኛ",
448+
"de_AT": "የኦስትሪያ ጀርመን",
449+
"de_CH": "የስዊዝ ከፍተኛ ጀርመንኛ",
450+
"en_AU": "የአውስትራሊያ እንግሊዝኛ",
451+
"en_CA": "የካናዳ እንግሊዝኛ",
452+
"en_GB": "የብሪቲሽ እንግሊዝኛ",
453+
"en_US": "የአሜሪካ እንግሊዝኛ",
454+
"es_419": "የላቲን አሜሪካ ስፓኒሽ",
455+
"es_ES": "የአውሮፓ ስፓንሽኛ",
456+
"es_MX": "የሜክሲኮ ስፓንሽኛ",
457+
"fr_CA": "የካናዳ ፈረንሳይኛ",
458+
"fr_CH": "የስዊዝ ፈረንሳይኛ",
459+
"nds_NL": "የታችኛው ሳክሰን",
460+
"nl_BE": "ፍሌሚሽ",
461+
"pt_BR": "የብራዚል ፖርቹጋልኛ",
462+
"pt_PT": "የአውሮፓ ፖርቹጋልኛ",
463+
"ro_MD": "ሞልዳቪያንኛ",
464+
"sw_CD": "ኮንጎ ስዋሂሊ",
465+
"zh_Hans": "ቀለል ያለ ቻይንኛ",
466+
"zh_Hant": "ባህላዊ ቻይንኛ"
465467
}
466468
}

src/Symfony/Component/Intl/Resources/data/languages/ar.json

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
"ang": "الإنجليزية القديمة",
2222
"anp": "الأنجيكا",
2323
"ar": "العربية",
24-
"ar_001": "العربية الرسمية الحديثة",
2524
"arc": "الآرامية",
2625
"arn": "المابودونغونية",
2726
"arp": "الأراباهو",
@@ -100,8 +99,6 @@
10099
"dar": "الدارجوا",
101100
"dav": "تيتا",
102101
"de": "الألمانية",
103-
"de_AT": "الألمانية النمساوية",
104-
"de_CH": "الألمانية العليا السويسرية",
105102
"del": "الديلوير",
106103
"den": "السلافية",
107104
"dgr": "الدوجريب",
@@ -124,16 +121,9 @@
124121
"el": "اليونانية",
125122
"elx": "الإمايت",
126123
"en": "الإنجليزية",
127-
"en_AU": "الإنجليزية الأسترالية",
128-
"en_CA": "الإنجليزية الكندية",
129-
"en_GB": "الإنجليزية البريطانية",
130-
"en_US": "الإنجليزية الأمريكية",
131124
"enm": "الإنجليزية الوسطى",
132125
"eo": "الإسبرانتو",
133126
"es": "الإسبانية",
134-
"es_419": "الإسبانية أمريكا اللاتينية",
135-
"es_ES": "الإسبانية الأوروبية",
136-
"es_MX": "الإسبانية المكسيكية",
137127
"et": "الإستونية",
138128
"eu": "الباسكية",
139129
"ewo": "الإيوندو",
@@ -147,8 +137,6 @@
147137
"fo": "الفاروية",
148138
"fon": "الفون",
149139
"fr": "الفرنسية",
150-
"fr_CA": "الفرنسية الكندية",
151-
"fr_CH": "الفرنسية السويسرية",
152140
"frc": "الفرنسية الكاجونية",
153141
"frm": "الفرنسية الوسطى",
154142
"fro": "الفرنسية القديمة",
@@ -332,14 +320,12 @@
332320
"nb": "النرويجية بوكمال",
333321
"nd": "النديبيل الشمالية",
334322
"nds": "الألمانية السفلى",
335-
"nds_NL": "السكسونية السفلى",
336323
"ne": "النيبالية",
337324
"new": "النوارية",
338325
"ng": "الندونجا",
339326
"nia": "النياس",
340327
"niu": "النيوي",
341328
"nl": "الهولندية",
342-
"nl_BE": "الفلمنكية",
343329
"nmg": "كواسيو",
344330
"nn": "النرويجية نينورسك",
345331
"nnh": "لغة النجيمبون",
@@ -380,8 +366,6 @@
380366
"pro": "البروفانسية القديمة",
381367
"ps": "البشتو",
382368
"pt": "البرتغالية",
383-
"pt_BR": "البرتغالية البرازيلية",
384-
"pt_PT": "البرتغالية الأوروبية",
385369
"qu": "الكويتشوا",
386370
"quc": "الكيشية",
387371
"raj": "الراجاسثانية",
@@ -390,7 +374,6 @@
390374
"rm": "الرومانشية",
391375
"rn": "الرندي",
392376
"ro": "الرومانية",
393-
"ro_MD": "المولدوفية",
394377
"rof": "الرومبو",
395378
"rom": "الغجرية",
396379
"ru": "الروسية",
@@ -448,7 +431,6 @@
448431
"sux": "السومارية",
449432
"sv": "السويدية",
450433
"sw": "السواحلية",
451-
"sw_CD": "الكونغو السواحلية",
452434
"swb": "القمرية",
453435
"syc": "سريانية تقليدية",
454436
"syr": "السريانية",
@@ -522,10 +504,30 @@
522504
"zen": "الزيناجا",
523505
"zgh": "التمازيغية المغربية القياسية",
524506
"zh": "الصينية",
525-
"zh_Hans": "الصينية المبسطة",
526-
"zh_Hant": "الصينية التقليدية",
527507
"zu": "الزولو",
528508
"zun": "الزونية",
529509
"zza": "زازا"
510+
},
511+
"LocalizedNames": {
512+
"ar_001": "العربية الرسمية الحديثة",
513+
"de_AT": "الألمانية النمساوية",
514+
"de_CH": "الألمانية العليا السويسرية",
515+
"en_AU": "الإنجليزية الأسترالية",
516+
"en_CA": "الإنجليزية الكندية",
517+
"en_GB": "الإنجليزية البريطانية",
518+
"en_US": "الإنجليزية الأمريكية",
519+
"es_419": "الإسبانية أمريكا اللاتينية",
520+
"es_ES": "الإسبانية الأوروبية",
521+
"es_MX": "الإسبانية المكسيكية",
522+
"fr_CA": "الفرنسية الكندية",
523+
"fr_CH": "الفرنسية السويسرية",
524+
"nds_NL": "السكسونية السفلى",
525+
"nl_BE": "الفلمنكية",
526+
"pt_BR": "البرتغالية البرازيلية",
527+
"pt_PT": "البرتغالية الأوروبية",
528+
"ro_MD": "المولدوفية",
529+
"sw_CD": "الكونغو السواحلية",
530+
"zh_Hans": "الصينية المبسطة",
531+
"zh_Hant": "الصينية التقليدية"
530532
}
531533
}

src/Symfony/Component/Intl/Resources/data/languages/ar_EG.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
"Version": "2.1.49.36",
33
"Names": {
44
"da": "الدنماركية"
5-
}
5+
},
6+
"LocalizedNames": []
67
}

src/Symfony/Component/Intl/Resources/data/languages/ar_LY.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
"sh": "الكرواتية الصربية",
99
"sma": "سامي الجنوبية",
1010
"sw": "السواحيلية",
11-
"sw_CD": "السواحيلية الكونغولية",
1211
"ti": "التيغرينية"
12+
},
13+
"LocalizedNames": {
14+
"sw_CD": "السواحيلية الكونغولية"
1315
}
1416
}

src/Symfony/Component/Intl/Resources/data/languages/ar_SA.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
"sh": "الكرواتية الصربية",
99
"sma": "سامي الجنوبية",
1010
"sw": "السواحيلية",
11-
"sw_CD": "السواحيلية الكونغولية",
1211
"te": "التيلوجو",
1312
"ti": "التيغرينية"
13+
},
14+
"LocalizedNames": {
15+
"sw_CD": "السواحيلية الكونغولية"
1416
}
1517
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy