As reported at https://github.com/nextcloud/server/issues/20999 the list contains en_US_POSIX as locale but punic is unable to parse such a locale. If you select that locale everyone is confused. Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>tags/v20.0.0beta1
@@ -911,10 +911,6 @@ | |||
"code": "en_US", | |||
"name": "English (United States)" | |||
}, | |||
{ | |||
"code": "en_US_POSIX", | |||
"name": "English (United States, Computer)" | |||
}, | |||
{ | |||
"code": "en_VC", | |||
"name": "English (St. Vincent & Grenadines)" | |||
@@ -1399,6 +1395,10 @@ | |||
"code": "ga", | |||
"name": "Irish" | |||
}, | |||
{ | |||
"code": "ga_GB", | |||
"name": "Irish (United Kingdom)" | |||
}, | |||
{ | |||
"code": "ga_IE", | |||
"name": "Irish (Ireland)" |
@@ -29,13 +29,21 @@ if (!extension_loaded('intl')) { | |||
exit(1); | |||
} | |||
$locales = array_map(function (string $localeCode) { | |||
require '../3rdparty/autoload.php'; | |||
$locales = array_map(static function (string $localeCode) { | |||
return [ | |||
'code' => $localeCode, | |||
'name' => Locale::getDisplayName($localeCode, 'en') | |||
]; | |||
}, ResourceBundle::getLocales('')); | |||
$locales = array_filter($locales, static function (array $locale) { | |||
return is_array(Punic\Data::explodeLocale($locale['code'])); | |||
}); | |||
$locales = array_values($locales); | |||
if (file_put_contents(__DIR__ . '/locales.json', json_encode($locales, JSON_PRETTY_PRINT)) === false) { | |||
echo 'Failed to update locales.json'; | |||
exit(1); |