From b7d06138c88bc19dbf1e41a4b3ec9450ca950d5a Mon Sep 17 00:00:00 2001 From: taku0 Date: Sat, 23 Oct 2021 14:38:49 +0900 Subject: [PATCH] firefox-bin: simplify locale selection --- .../browsers/firefox-bin/default.nix | 8 +- .../browsers/firefox-bin/locales.nix | 412 ------------------ 2 files changed, 6 insertions(+), 414 deletions(-) delete mode 100644 pkgs/applications/networking/browsers/firefox-bin/locales.nix diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index d0690bc39344..4ab427505e34 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -56,7 +56,6 @@ let inherit (generated) version sources; - mozLocale = (import ./locales.nix { lib = lib; }).mozLocale; mozillaPlatforms = { i686-linux = "linux-i686"; @@ -79,7 +78,12 @@ let defaultSource = lib.findFirst (sourceMatches "en-US") {} sources; - source = lib.findFirst (sourceMatches (mozLocale systemLocale)) defaultSource sources; + mozLocale = + if systemLocale == "ca_ES@valencia" + then "ca-valencia" + else lib.replaceStrings ["_"] ["-"] systemLocale; + + source = lib.findFirst (sourceMatches mozLocale) defaultSource sources; pname = "firefox-${channel}-bin-unwrapped"; diff --git a/pkgs/applications/networking/browsers/firefox-bin/locales.nix b/pkgs/applications/networking/browsers/firefox-bin/locales.nix deleted file mode 100644 index 4e7b8bf115ee..000000000000 --- a/pkgs/applications/networking/browsers/firefox-bin/locales.nix +++ /dev/null @@ -1,412 +0,0 @@ -# map from a system locale to a locale supported by Mozilla Firefox using prefix matching - -{ lib }: -let - localeMap = [ - { - sys = "ach"; - moz = "ach"; - } - { - sys = "af"; - moz = "af"; - } - { - sys = "an"; - moz = "an"; - } - { - sys = "ar"; - moz = "ar"; - } - { - sys = "ast"; - moz = "ast"; - } - { - sys = "az"; - moz = "az"; - } - { - sys = "be"; - moz = "be"; - } - { - sys = "bg"; - moz = "bg"; - } - { - sys = "bn"; - moz = "bn"; - } - { - sys = "br"; - moz = "br"; - } - { - sys = "bs"; - moz = "bs"; - } - { - sys = "ca_ES@valencia"; - moz = "ca-valencia"; - } - { - sys = "ca"; - moz = "ca"; - } - { - sys = "cak"; - moz = "cak"; - } - { - sys = "cs"; - moz = "cs"; - } - { - sys = "cy"; - moz = "cy"; - } - { - sys = "da"; - moz = "da"; - } - { - sys = "de"; - moz = "de"; - } - { - sys = "dsb"; - moz = "dsb"; - } - { - sys = "el"; - moz = "el"; - } - { - sys = "en_CA"; - moz = "en-CA"; - } - { - sys = "en_GB"; - moz = "en-GB"; - } - { - sys = "en_US"; - moz = "en-US"; - } - { - sys = "eo"; - moz = "eo"; - } - { - sys = "es_AR"; - moz = "es-AR"; - } - { - sys = "es_CL"; - moz = "es-CL"; - } - { - sys = "es_ES"; - moz = "es-ES"; - } - { - sys = "es_MX"; - moz = "es-MX"; - } - { - sys = "et"; - moz = "et"; - } - { - sys = "eu"; - moz = "eu"; - } - { - sys = "fa"; - moz = "fa"; - } - { - sys = "ff"; - moz = "ff"; - } - { - sys = "fi"; - moz = "fi"; - } - { - sys = "fr"; - moz = "fr"; - } - { - sys = "fy_NL"; - moz = "fy-NL"; - } - { - sys = "ga_IE"; - moz = "ga-IE"; - } - { - sys = "gd"; - moz = "gd"; - } - { - sys = "gl"; - moz = "gl"; - } - { - sys = "gn"; - moz = "gn"; - } - { - sys = "gu_IN"; - moz = "gu-IN"; - } - { - sys = "he"; - moz = "he"; - } - { - sys = "hi_IN"; - moz = "hi-IN"; - } - { - sys = "hr"; - moz = "hr"; - } - { - sys = "hsb"; - moz = "hsb"; - } - { - sys = "hu"; - moz = "hu"; - } - { - sys = "hy_AM"; - moz = "hy-AM"; - } - { - sys = "ia"; - moz = "ia"; - } - { - sys = "id"; - moz = "id"; - } - { - sys = "is"; - moz = "is"; - } - { - sys = "it"; - moz = "it"; - } - { - sys = "ja"; - moz = "ja"; - } - { - sys = "ka"; - moz = "ka"; - } - { - sys = "kab"; - moz = "kab"; - } - { - sys = "kk"; - moz = "kk"; - } - { - sys = "km"; - moz = "km"; - } - { - sys = "kn"; - moz = "kn"; - } - { - sys = "ko"; - moz = "ko"; - } - { - sys = "lij"; - moz = "lij"; - } - { - sys = "lt"; - moz = "lt"; - } - { - sys = "lv"; - moz = "lv"; - } - { - sys = "mk"; - moz = "mk"; - } - { - sys = "mr"; - moz = "mr"; - } - { - sys = "ms"; - moz = "ms"; - } - { - sys = "my"; - moz = "my"; - } - { - sys = "nb_NO"; - moz = "nb-NO"; - } - { - sys = "ne_NP"; - moz = "ne-NP"; - } - { - sys = "nl"; - moz = "nl"; - } - { - sys = "nn_NO"; - moz = "nn-NO"; - } - { - sys = "oc"; - moz = "oc"; - } - { - sys = "pa_IN"; - moz = "pa-IN"; - } - { - sys = "pl"; - moz = "pl"; - } - { - sys = "pt_BR"; - moz = "pt-BR"; - } - { - sys = "pt_PT"; - moz = "pt-PT"; - } - { - sys = "rm"; - moz = "rm"; - } - { - sys = "ro"; - moz = "ro"; - } - { - sys = "ru"; - moz = "ru"; - } - { - sys = "sco"; - moz = "sco"; - } - { - sys = "si"; - moz = "si"; - } - { - sys = "sk"; - moz = "sk"; - } - { - sys = "sl"; - moz = "sl"; - } - { - sys = "son"; - moz = "son"; - } - { - sys = "sq"; - moz = "sq"; - } - { - sys = "sr"; - moz = "sr"; - } - { - sys = "sv_SE"; - moz = "sv-SE"; - } - { - sys = "szl"; - moz = "szl"; - } - { - sys = "ta"; - moz = "ta"; - } - { - sys = "te"; - moz = "te"; - } - { - sys = "th"; - moz = "th"; - } - { - sys = "tl"; - moz = "tl"; - } - { - sys = "tr"; - moz = "tr"; - } - { - sys = "trs"; - moz = "trs"; - } - { - sys = "uk"; - moz = "uk"; - } - { - sys = "ur"; - moz = "ur"; - } - { - sys = "uz"; - moz = "uz"; - } - { - sys = "vi"; - moz = "vi"; - } - { - sys = "xh"; - moz = "xh"; - } - { - sys = "xpi"; - moz = "xpi"; - } - { - sys = "zh_CN"; - moz = "zh-CN"; - } - { - sys = "zh_TW"; - moz = "zh-TW"; - } - ]; - - isPrefixOf = prefix: string: - builtins.substring 0 (builtins.stringLength prefix) string == prefix; - - localeMatches = locale: source: (isPrefixOf source.sys locale); - -in { - mozLocale = sysLocale: - (lib.findFirst (localeMatches sysLocale) { moz = "en_US"; } localeMap).moz; -}