From 3d85b91a3cca891f52bea1f16d298e2204c499ee Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Sat, 16 May 2020 23:21:22 +0200 Subject: [PATCH] Remove entries from locales.json incompatible with punic 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 --- resources/locales.json | 8 ++++---- resources/update-locales.php | 10 +++++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/resources/locales.json b/resources/locales.json index a65cf53051..7cf9fa9b89 100644 --- a/resources/locales.json +++ b/resources/locales.json @@ -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)" diff --git a/resources/update-locales.php b/resources/update-locales.php index d5addd0a9a..50d848c76a 100755 --- a/resources/update-locales.php +++ b/resources/update-locales.php @@ -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);