summaryrefslogtreecommitdiffstats
path: root/chromium/build/config/locales.gni
blob: 5f70fb4964507b21b1c00b61503394c3493e82fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# 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.

# Android doesn't ship all locales in order to save space (but webview does).
# http://crbug.com/369218
android_chrome_omitted_locales = [
  "bn",
  "et",
  "gu",
  "kn",
  "ml",
  "mr",
  "ms",
  "ta",
  "te",
]

# 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. These asserts ensure that GN doesn't complain
# about them being unused.
assert(android_chrome_omitted_locales != [])
assert(ios_unsupported_locales != [])

# Note: keep in sync with below.
locales = [
  "am",
  "ar",
  "bg",
  "bn",
  "ca",
  "cs",
  "da",
  "de",
  "el",
  "en-GB",
  "en-US",
  "es",
  "et",
  "fa",
  "fi",
  "fil",
  "fr",
  "gu",
  "he",
  "hi",
  "hr",
  "hu",
  "id",
  "it",
  "ja",
  "kn",
  "ko",
  "lt",
  "lv",
  "ml",
  "mr",
  "ms",
  "nb",
  "nl",
  "pl",
  "pt-PT",
  "ro",
  "ru",
  "sk",
  "sl",
  "sr",
  "sv",
  "sw",
  "ta",
  "te",
  "th",
  "tr",
  "uk",
  "vi",
  "zh-CN",
  "zh-TW",
]

# 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",
  ]
} else {
  locales += [
    "es-MX",
    "pt",
  ]
}

locales_with_fake_bidi = locales + [ "fake-bidi" ]

# 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
}