scratch-l10n 5.0.231 → 5.0.233
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +9 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +53 -46
- package/.github/workflows/ci-cd.yml +5 -5
- package/.github/workflows/commitlint.yml +1 -1
- package/.github/workflows/daily-help-update.yml +4 -4
- package/.github/workflows/daily-tx-pull.yml +4 -4
- package/.github/workflows/signature-assistant.yml +3 -3
- package/.prettierignore +11 -0
- package/CHANGELOG.md +14 -0
- package/README.md +12 -12
- package/commitlint.config.js +3 -3
- package/dist/l10n.js +224 -232
- package/dist/l10n.js.map +1 -1
- package/dist/localeData.js +223 -232
- package/dist/localeData.js.map +1 -1
- package/dist/supportedLocales.js +123 -130
- package/dist/supportedLocales.js.map +1 -1
- package/eslint.config.mjs +13 -0
- package/lib/batch.js +10 -12
- package/lib/progress-logger.mjs +33 -33
- package/lib/transifex.js +145 -144
- package/lib/validate.mjs +32 -31
- package/package.json +7 -8
- package/prettier.config.mjs +3 -0
- package/release.config.js +13 -13
- package/renovate.json5 +3 -5
- package/scripts/build-data.mjs +33 -49
- package/scripts/build-i18n-src.js +29 -28
- package/scripts/freshdesk-api.js +129 -144
- package/scripts/help-utils.js +129 -139
- package/scripts/tx-pull-editor.mjs +54 -51
- package/scripts/tx-pull-help-articles.js +14 -14
- package/scripts/tx-pull-help-names.js +14 -14
- package/scripts/tx-pull-locale-articles.js +19 -19
- package/scripts/tx-pull-www.mjs +79 -76
- package/scripts/tx-push-help.mjs +87 -96
- package/scripts/tx-push-src.js +65 -65
- package/scripts/validate-extension-inputs.mjs +65 -68
- package/scripts/validate-translations.mjs +33 -29
- package/scripts/validate-www.mjs +45 -43
- package/src/index.mjs +4 -3
- package/src/locale-data.mjs +148 -150
- package/src/supported-locales.mjs +124 -131
@@ -1,144 +1,137 @@
|
|
1
1
|
/**
|
2
2
|
* Currently supported locales for the Scratch Project
|
3
|
-
* @type {
|
3
|
+
* @type {object} Key Value pairs of locale code: Language name written in the language
|
4
4
|
*/
|
5
5
|
|
6
6
|
const locales = {
|
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
|
-
}
|
7
|
+
ab: { name: 'Аҧсшәа' },
|
8
|
+
af: { name: 'Afrikaans' },
|
9
|
+
ar: { name: 'العربية' },
|
10
|
+
am: { name: 'አማርኛ' },
|
11
|
+
an: { name: 'Aragonés' },
|
12
|
+
ast: { name: 'Asturianu' },
|
13
|
+
az: { name: 'Azeri' },
|
14
|
+
id: { name: 'Bahasa Indonesia' },
|
15
|
+
bn: { name: 'বাংলা' },
|
16
|
+
be: { name: 'Беларуская' },
|
17
|
+
bg: { name: 'Български' },
|
18
|
+
ca: { name: 'Català' },
|
19
|
+
cs: { name: 'Česky' },
|
20
|
+
cy: { name: 'Cymraeg' },
|
21
|
+
da: { name: 'Dansk' },
|
22
|
+
de: { name: 'Deutsch' },
|
23
|
+
et: { name: 'Eesti' },
|
24
|
+
el: { name: 'Ελληνικά' },
|
25
|
+
en: { name: 'English' },
|
26
|
+
es: { name: 'Español (España)' },
|
27
|
+
'es-419': { name: 'Español Latinoamericano' },
|
28
|
+
eo: { name: 'Esperanto' },
|
29
|
+
eu: { name: 'Euskara' },
|
30
|
+
fa: { name: 'فارسی' },
|
31
|
+
fil: { name: 'Filipino' },
|
32
|
+
fr: { name: 'Français' },
|
33
|
+
fy: { name: 'Frysk' },
|
34
|
+
ga: { name: 'Gaeilge' },
|
35
|
+
gd: { name: 'Gàidhlig' },
|
36
|
+
gl: { name: 'Galego' },
|
37
|
+
ko: { name: '한국어' },
|
38
|
+
ha: { name: 'Hausa' },
|
39
|
+
hy: { name: 'Հայերեն' },
|
40
|
+
he: { name: 'עִבְרִית' },
|
41
|
+
hi: { name: 'हिंदी' },
|
42
|
+
hr: { name: 'Hrvatski' },
|
43
|
+
xh: { name: 'isiXhosa' },
|
44
|
+
zu: { name: 'isiZulu' },
|
45
|
+
is: { name: 'Íslenska' },
|
46
|
+
it: { name: 'Italiano' },
|
47
|
+
ka: { name: 'ქართული ენა' },
|
48
|
+
kk: { name: 'қазақша' },
|
49
|
+
qu: { name: 'Kichwa' },
|
50
|
+
sw: { name: 'Kiswahili' },
|
51
|
+
ht: { name: 'Kreyòl ayisyen' },
|
52
|
+
ku: { name: 'Kurdî' },
|
53
|
+
ckb: { name: 'کوردیی ناوەندی' },
|
54
|
+
lv: { name: 'Latviešu' },
|
55
|
+
lt: { name: 'Lietuvių' },
|
56
|
+
hu: { name: 'Magyar' },
|
57
|
+
mi: { name: 'Māori' },
|
58
|
+
mn: { name: 'Монгол хэл' },
|
59
|
+
nl: { name: 'Nederlands' },
|
60
|
+
ja: { name: '日本語' },
|
61
|
+
'ja-Hira': { name: 'にほんご' },
|
62
|
+
nb: { name: 'Norsk Bokmål' },
|
63
|
+
nn: { name: 'Norsk Nynorsk' },
|
64
|
+
oc: { name: 'Occitan' },
|
65
|
+
or: { name: 'ଓଡ଼ିଆ' },
|
66
|
+
uz: { name: 'Oʻzbekcha' },
|
67
|
+
th: { name: 'ไทย' },
|
68
|
+
km: { name: 'ភាសាខ្មែរ' },
|
69
|
+
pl: { name: 'Polski' },
|
70
|
+
pt: { name: 'Português' },
|
71
|
+
'pt-br': { name: 'Português Brasileiro' },
|
72
|
+
rap: { name: 'Rapa Nui' },
|
73
|
+
ro: { name: 'Română' },
|
74
|
+
ru: { name: 'Русский' },
|
75
|
+
nso: { name: 'Sepedi' },
|
76
|
+
tn: { name: 'Setswana' },
|
77
|
+
sk: { name: 'Slovenčina' },
|
78
|
+
sl: { name: 'Slovenščina' },
|
79
|
+
sr: { name: 'Српски' },
|
80
|
+
fi: { name: 'Suomi' },
|
81
|
+
sv: { name: 'Svenska' },
|
82
|
+
vi: { name: 'Tiếng Việt' },
|
83
|
+
tr: { name: 'Türkçe' },
|
84
|
+
uk: { name: 'Українська' },
|
85
|
+
'zh-cn': { name: '简体中文' },
|
86
|
+
'zh-tw': { name: '繁體中文' },
|
87
|
+
}
|
88
88
|
|
89
89
|
const customLocales = {
|
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
|
-
}
|
90
|
+
ab: {
|
91
|
+
locale: 'ab',
|
92
|
+
parentLocale: 'ru',
|
93
|
+
},
|
94
|
+
// Aragonese is not in the locale data, using es for Spain
|
95
|
+
an: {
|
96
|
+
locale: 'an',
|
97
|
+
parentLocale: 'es',
|
98
|
+
},
|
99
|
+
// haitian creole is not in locale-langData
|
100
|
+
ht: {
|
101
|
+
locale: 'ht',
|
102
|
+
parentLocale: 'fr',
|
103
|
+
},
|
104
|
+
oc: {
|
105
|
+
locale: 'oc',
|
106
|
+
parentLocale: 'fr',
|
107
|
+
},
|
108
|
+
rap: {
|
109
|
+
locale: 'rap',
|
110
|
+
parentLocale: 'es',
|
111
|
+
},
|
112
|
+
// TODO: replace zh-cn, zh-tw with zh-Hans and zh-Hant then customLocales is unnecessary
|
113
|
+
'zh-cn': {
|
114
|
+
locale: 'zh-cn',
|
115
|
+
parentLocale: 'zh',
|
116
|
+
},
|
117
|
+
'zh-tw': {
|
118
|
+
locale: 'zh-tw',
|
119
|
+
parentLocale: 'zh',
|
120
|
+
},
|
121
|
+
}
|
122
122
|
|
123
123
|
const localeMap = {
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
}
|
124
|
+
'aa-dj': 'aa_DJ',
|
125
|
+
'es-419': 'es_419',
|
126
|
+
// ja-Hira: no map - it's 'ja-Hira' on transifex
|
127
|
+
'pt-br': 'pt_BR',
|
128
|
+
'zh-cn': 'zh_CN',
|
129
|
+
'zh-tw': 'zh_TW',
|
130
|
+
}
|
131
131
|
|
132
132
|
// list of RTL locales supported, and a function to check whether a locale is RTL
|
133
|
-
const rtlLocales = [
|
134
|
-
'ar',
|
135
|
-
'ckb',
|
136
|
-
'fa',
|
137
|
-
'he'
|
138
|
-
];
|
133
|
+
const rtlLocales = ['ar', 'ckb', 'fa', 'he']
|
139
134
|
|
140
|
-
const isRtl = locale =>
|
141
|
-
return rtlLocales.indexOf(locale) !== -1;
|
142
|
-
};
|
135
|
+
const isRtl = locale => rtlLocales.indexOf(locale) !== -1
|
143
136
|
|
144
|
-
export {locales as default, customLocales, localeMap, isRtl}
|
137
|
+
export { locales as default, customLocales, localeMap, isRtl }
|