From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- third_party/libwebrtc/build/config/locales.gni | 251 +++++++++++++++++++++++++ 1 file changed, 251 insertions(+) create mode 100644 third_party/libwebrtc/build/config/locales.gni (limited to 'third_party/libwebrtc/build/config/locales.gni') diff --git a/third_party/libwebrtc/build/config/locales.gni b/third_party/libwebrtc/build/config/locales.gni new file mode 100644 index 0000000000..1d57b877dc --- /dev/null +++ b/third_party/libwebrtc/build/config/locales.gni @@ -0,0 +1,251 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/chromeos/ui_mode.gni") + +# This file creates the |locales| which is the set of current +# locales based on the current platform. Locales in this list are formated +# based on what .pak files expect. +# The |locales| variable *may* contain pseudolocales, depending on the +# |enable_pseudolocales| flag. +# If you specifically want to have the locales variable with or without +# pseudolocales, then use |locales_with_pseudolocales| or +# |locales_without_pseudolocales|. + +# The following additional platform specific lists are created: +# - |android_bundle_locales_as_resources| locales formatted for XML output names +# - |locales_as_mac_outputs| formated for mac output bundles +# - |ios_packed_locales| subset for iOS +# - |ios_packed_locales_as_mac_outputs| subset for iOS output + +# Chrome on iOS only ships with a subset of the locales supported by other +# version of Chrome as the corresponding locales are not supported by the +# operating system (but for simplicity, the corresponding .pak files are +# still generated). +ios_unsupported_locales = [ + "am", + "bn", + "et", + "fil", + "gu", + "kn", + "lv", + "ml", + "mr", + "sl", + "sw", + "ta", + "te", +] + +# These list are defined even when not building for Android or iOS for the +# sake of build/locale_tool.py. Ensure that GN doesn't complain about them +# being unused. +not_needed([ "ios_unsupported_locales" ]) + +# Superset of all locales used in Chrome with platform specific changes noted. +all_chrome_locales = [ + "af", + "am", + "ar", + "as", + "az", + "be", + "bg", + "bn", + "bs", + "ca", + "cs", + "da", + "de", + "el", + "en-GB", + "en-US", + "es", + "es-419", # "es-MX" in iOS (Mexico vs Latin America) "es-US" on Android + "et", + "eu", + "fa", + "fi", + "fil", # "tl" in .xml but "fil" in TC and .pak + "fr", + "fr-CA", + "gl", + "gu", + "he", # "iw" in .xml and TC but "he" in .pak + "hi", + "hr", + "hu", + "hy", + "id", # "in" in .xml but "id" in TC and .pak + "is", + "it", + "ja", + "ka", + "kk", + "km", + "kn", + "ko", + "ky", + "lo", + "lt", + "lv", + "mk", + "ml", + "mn", + "mr", + "ms", + "my", + "nb", # "no" in TC but "nb" in .xml and .pak + "ne", + "nl", + "or", + "pa", + "pl", + "pt-BR", # just "pt" in iOS + "pt-PT", + "ro", + "ru", + "si", + "sk", + "sl", + "sq", + "sr", + "sr-Latn", # -b+sr+Latn in .xml + "sv", + "sw", + "ta", + "te", + "th", + "tr", + "uk", + "ur", + "uz", + "vi", + "zh-CN", + "zh-HK", + "zh-TW", + "zu", +] + +# New locales added to Chrome Android bundle builds. +android_bundle_only_locales = [ + "af", + "as", + "az", + "be", + "bs", + "eu", + "fr-CA", + "gl", + "hy", + "is", + "ka", + "kk", + "km", + "ky", + "lo", + "mk", + "mn", + "my", + "ne", + "or", + "pa", + "si", + "sq", + "sr-Latn", + "ur", + "uz", + "zh-HK", + "zu", +] + +# New locales added to ChromeOS builds. +chromeos_only_locales = [ "is" ] + +if (is_android) { + locales = all_chrome_locales + + # List for Android locale names in .xml exports. Note: needs to stay in sync + # with |ToAndroidLocaleName| in build/android/gyp/util/resource_utils.py. + # - add r: (e.g. zh-HK -> zh-rHK ) + android_bundle_locales_as_resources = [] + foreach(_locale, locales) { + android_bundle_locales_as_resources += + [ string_replace(_locale, "-", "-r") ] + } + + # - remove en-US + # - swap: (he, id, en-419, fil) -> (iw, in, es-rUS, tl) + # - sr-rLatn -> -b+sr+Latn + android_bundle_locales_as_resources -= [ + "en-rUS", + "es-r419", + "fil", + "he", + "id", + "sr-rLatn", + ] + android_bundle_locales_as_resources += [ + "b+sr+Latn", + "es-rUS", + "in", + "iw", + "tl", + ] +} else if (is_chromeos_ash || is_chromeos_lacros) { + # In ChromeOS we support a few more locales than standard Chrome. + locales = + all_chrome_locales - android_bundle_only_locales + chromeos_only_locales +} else { + # Change if other platforms support more locales. + locales = all_chrome_locales - android_bundle_only_locales +} + +# Chrome on iOS uses different names for "es-419" and "pt-BR" (called +# respectively "es-MX" and "pt" on iOS). +if (is_ios) { + locales -= [ + "es-419", + "pt-BR", + ] + locales += [ + "es-MX", + "pt", + ] +} + +pseudolocales = [ + "ar-XB", + "en-XA", +] +locales_without_pseudolocales = locales +locales_with_pseudolocales = locales + pseudolocales + +declare_args() { + # We want to give pseudolocales to everyone except end-users (devs & QA). + enable_pseudolocales = !is_official_build +} + +if (enable_pseudolocales) { + # Note that this only packages the locales in, and doesn't add the ui to enable them. + locales += pseudolocales +} + +# Same as the locales list but in the format Mac expects for output files: +# it uses underscores instead of hyphens, and "en" instead of "en-US". +locales_as_mac_outputs = [] +foreach(locale, locales) { + if (locale == "en-US") { + locales_as_mac_outputs += [ "en" ] + } else { + locales_as_mac_outputs += [ string_replace(locale, "-", "_") ] + } +} + +if (is_ios) { + ios_packed_locales = locales - ios_unsupported_locales + ios_packed_locales_as_mac_outputs = + locales_as_mac_outputs - ios_unsupported_locales +} -- cgit v1.2.3