@ 2020-08-06T03:13:56Z <?php
function getListFromLocales(): array
{
return array_filter(ResourceBundle::getLocales(''), function ($value) {
return strpos($value, '_') === false;
});
}
function getListFromLanguages(): array
{
$resourceBundle = new ResourceBundle('en', 'ICUDATA-lang', false);
$languagesBundle = $resourceBundle['Languages'];
$languages = [];
foreach ($languagesBundle as $languageCode => $languageName) {
$languages[] = $languageCode;
}
return $languages;
}
function languageForEndUser($language): string
{
return Locale::getDisplayLanguage($language, $language) . ' (' . Locale::getDisplayLanguage($language) . ')';
}
$list1 = getListFromLocales();
$list2 = getListFromLanguages();
echo 'languages in list1: ' . count($list1) . PHP_EOL;
echo 'languages in list2: ' . count($list2) . PHP_EOL;
echo 'languages that exists in list1, but not in list2: ' . count(array_diff($list1, $list2)) . PHP_EOL;
echo 'languages that exists in list2, but not in list1: ' . count(array_diff($list2, $list1)) . PHP_EOL;
Locale::setDefault('fr'); // Assume end-user speaks french
echo 'examples of language for end-user: ' . PHP_EOL;
echo ' - ' . languageForEndUser('en') . PHP_EOL;
echo ' - ' . languageForEndUser('fr') . PHP_EOL;
echo ' - ' . languageForEndUser('ko') . PHP_EOL;
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 8.1.28 - 8.1.33 , 8.2.18 - 8.2.29 , 8.3.5 - 8.3.25 , 8.4.1 - 8.4.12 languages in list1: 203
languages in list2: 619
languages that exists in list1, but not in list2: 0
languages that exists in list2, but not in list1: 416
examples of language for end-user:
- English (anglais)
- français (français)
- 한국어 (coréen)
Output for 7.2.0 - 7.2.34 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.27 , 8.2.0 - 8.2.17 , 8.3.0 - 8.3.4 languages in list1: 190
languages in list2: 613
languages that exists in list1, but not in list2: 0
languages that exists in list2, but not in list1: 423
examples of language for end-user:
- English (anglais)
- français (français)
- 한국어 (coréen)
preferences:dark mode live preview ace vim emacs key bindings
99.58 ms | 409 KiB | 5 Q