mirror of
https://github.com/wekan/wekan.git
synced 2026-11-05 01:20:07 -05:00
Fix French Khmer and Guarani Transifex language identifiers
Use supported fr_BE, fr_CA, km_KH and gug_PY codes. Collapse the Khmer file alias to one target. Keep unsupported Manx and Ladin failures visible; Ladino is a different language. Offline upload regressions pass; no uploads were run. Thanks to xet7 !
This commit is contained in:
1 parent
d5363a26bf
commit
cb68305053
3 files changed
+14
-3
No files matched your search
+1
-1
@@ -1,6 +1,6 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = te_IN: te-IN, es_AR: es-AR, es_CO: es-CO, es_419: es-LA, es_TX: es-TX, he_IL: he-IL, zh_CN: zh-CN, ar_EG: ar-EG, cs_CZ: cs-CZ, fa_IR: fa-IR, ms_MY: ms-MY, nl_NL: nl-NL, de_CH: de-CH, en_IT: en-IT, uz_UZ: uz-UZ, fr_CH: fr-CH, hi_IN: hi-IN, et_EE: et-EE, es_PE: es-PE, es_MX: es-MX, gl_ES: gl-ES, mn_MN: mn, zh_TW: zh-TW, ast_ES: ast-ES, es_CL: es-CL, ja_JP: ja-JP, lv_LV: lv, ro_RO: ro-RO, az_AZ: az-AZ, cy_GB: cy-GB, gu_IN: gu-IN, pl_PL: pl-PL, vep: ve-PP, en_BR: en-BR, en@ysv: en-YS, hu_HU: hu, ko_KR: ko-KR, pt_BR: pt-BR, zh_HK: zh-HK, zu_ZA: zu-ZA, en_MY: en-MY, ja-Hira: ja-HI, fi_FI: fi, vec: ve-CC, vi_VN: vi-VN, fr_FR: fr-FR, id_ID: id, zh_Hans: zh-Hans, en_DE: en-DE, en_GB: en-GB, el_GR: el-GR, uk_UA: uk-UA, az@latin: az-LA, de_AT: de-AT, uz@Latn: uz-LA, vls: vl-SS, ar_DZ: ar-DZ, bg_BG: bg, es_PY: es-PY, fy_NL: fy-NL, uz@Arab: uz-AR, ru_UA: ru-UA, war: wa-RR, zh_CN.GB2312: zh-GB
|
||||
lang_map = te_IN: te-IN, es_AR: es-AR, es_CO: es-CO, es_419: es-LA, es_TX: es-TX, he_IL: he-IL, zh_CN: zh-CN, ar_EG: ar-EG, cs_CZ: cs-CZ, fa_IR: fa-IR, ms_MY: ms-MY, nl_NL: nl-NL, de_CH: de-CH, en_IT: en-IT, uz_UZ: uz-UZ, fr_CH: fr-CH, fr_BE: fr-BE, fr_CA: fr-CA, km_KH: km-KH, gug_PY: gn, hi_IN: hi-IN, et_EE: et-EE, es_PE: es-PE, es_MX: es-MX, gl_ES: gl-ES, mn_MN: mn, zh_TW: zh-TW, ast_ES: ast-ES, es_CL: es-CL, ja_JP: ja-JP, lv_LV: lv, ro_RO: ro-RO, az_AZ: az-AZ, cy_GB: cy-GB, gu_IN: gu-IN, pl_PL: pl-PL, vep: ve-PP, en_BR: en-BR, en@ysv: en-YS, hu_HU: hu, ko_KR: ko-KR, pt_BR: pt-BR, zh_HK: zh-HK, zu_ZA: zu-ZA, en_MY: en-MY, ja-Hira: ja-HI, fi_FI: fi, vec: ve-CC, vi_VN: vi-VN, fr_FR: fr-FR, id_ID: id, zh_Hans: zh-Hans, en_DE: en-DE, en_GB: en-GB, el_GR: el-GR, uk_UA: uk-UA, az@latin: az-LA, de_AT: de-AT, uz@Latn: uz-LA, vls: vl-SS, ar_DZ: ar-DZ, bg_BG: bg, es_PY: es-PY, fy_NL: fy-NL, uz@Arab: uz-AR, ru_UA: ru-UA, war: wa-RR, zh_CN.GB2312: zh-GB
|
||||
|
||||
[o:wekan:p:wekan:r:application]
|
||||
file_filter = imports/i18n/data/<lang>.i18n.json
|
||||
|
||||
@@ -54,4 +54,11 @@ of that remote target. The explicit mapping selects `es-CO.i18n.json`, and the
|
||||
script reports the alias instead of uploading the same target twice. Both local
|
||||
files remain available; all nine differences were reviewed, with three erroneous values repaired and
|
||||
seven valid wording alternatives retained.
|
||||
The offline dry run reports 244 distinct targets and the English source.
|
||||
The offline dry run reports 243 distinct targets and the English source.
|
||||
|
||||
French Belgium/Canada use `fr_BE`/`fr_CA`, Khmer Cambodia uses `km_KH`,
|
||||
and Guarani uses Transifex's `gug_PY`. The Khmer hyphen/underscore files
|
||||
share one target. Transifex's public catalogue currently lists no Manx (`gv`)
|
||||
or Ladin (`lld`); these failures remain visible. Ladin must not be mapped to
|
||||
Ladino (`lad`), which is a different language. Catalogue reference:
|
||||
https://explore.transifex.com/languages/
|
||||
@@ -17,6 +17,10 @@ const root = path.resolve(__dirname, '..');
|
||||
assert.equal(colombian[0].file, 'es-CO', 'explicit mapping chooses canonical local file');
|
||||
assert.deepEqual(colombian[0].aliases, ['es_CO']);
|
||||
assert.ok(!localLanguages(config).some(row => row.code === 'es-CO'), 'never register an unsupported hyphenated code');
|
||||
for (const [file, code] of [['fr-BE','fr_BE'], ['fr-CA','fr_CA'], ['km-KH','km_KH'], ['gn','gug_PY']]) {
|
||||
assert.equal(localLanguages(config).find(row => row.file === file).code, code);
|
||||
assert.ok(!localLanguages(config).some(row => row.code === file));
|
||||
}
|
||||
const content = JSON.stringify({ title: 'Title __card__', empty: '' });
|
||||
const source = JSON.parse(content);
|
||||
assert.doesNotThrow(() => validateTranslation(content, source), 'intentional empty source strings are valid');
|
||||
@@ -71,6 +75,6 @@ const root = path.resolve(__dirname, '..');
|
||||
assert.equal(network, 0, 'pagination cannot send credentials to another origin');
|
||||
const dry = cp.spawnSync('sh', [path.join(root, 'releases/translations/push-all-translations.sh'), '--dry-run'], { cwd: path.join(root, '.tools/tmp'), env: { ...process.env, NODE_BIN: process.execPath }, encoding: 'utf8' });
|
||||
assert.equal(dry.status, 0, dry.stderr);
|
||||
assert.match(dry.stdout, /244 targets and source en; no network requests/);
|
||||
assert.match(dry.stdout, /243 targets and source en; no network requests/);
|
||||
console.log('transifexForcePush: full uploads, polling, mapped languages, additive registration, failure continuation and summary, token origin boundary and offline wrapper passed');
|
||||
})().catch(error => { console.error(error); process.exitCode = 1; });
|
||||
Reference in new issue
Block a user