Translate further southern African field types

Fill 44 English labels and replace five foreign or filler values in Venda and Tsonga. Extend semantic and token regressions and document low-confidence technical wording.

Thanks to xet7 !
This commit is contained in:
Lauri Ojansivu committed 2026-10-07 15:56:40 +03:00
1 parent f927cb3c50
commit 941aa91929
6 files changed
+69 -50

No files matched your search

+9
View File
@@ -4717,6 +4717,15 @@ mixed-language audit remains open.
- Added all six locale paths to positive/token checks and distinctions between pixel/plain images, grid/plain dropdowns and input/function names. Existing browser flows cover field editing in all six; they do not prove correct spoken type announcements. Browser execution remains outstanding.
- This batch removes 66 ordinary English placeholders. The broader semantic audit and 148 pending source keys remain open.
### Swati, Tsonga, Venda and Northern Ndebele field-type labels
- Filled 44 English field-type placeholders across `ss`, `ts`, `ve` and `nd` through the protected fill, preserving source arguments and existing correct-language translations.
- Corrected three Zulu-seeded generic labels in Venda and two Tsonga labels that used vague filler (`mhaka`, including a language-name prefix) instead of naming the controls. Exact wording regressions accompany these direct semantic corrections.
- [Multilingual Mathematics](https://lwimilinks.sadilar.org/media/documents/Multilingual_Mathematics.pdf) supplies Swati, Tsonga and Venda angle vocabulary and Swati/Venda grid vocabulary. Its Ndebele entries concern Southern Ndebele and are not evidence for `nd` (Zimbabwean Northern Ndebele). [Zimbabwean Ndebele teaching material](https://cps.co.zw/uploads/1/3/5/3/13536366/isindebele_4_tg_mobile.pdf) provides general spelling context, not attestations for the new technical labels.
- Low confidence: Northern Ndebele technical loans and compounds, pixel morphology throughout, Tsonga/Venda dropdown paraphrases and programming-function nouns require review. The labels are direct drafts, not externally translated strings.
- Extended field-type distinctions and token checks. Existing browser field-editing flows cover these locales, but neither browser execution nor spoken type announcements were verified.
- This batch removes 44 ordinary placeholders and repairs five wrong-language/filler values. The broader semantic audit and 148 pending source keys remain open.
## Original flagged inventory
| Status | Flagged keys |
+11 -11
View File
@@ -2939,17 +2939,17 @@
"blockly-ARIA_LABEL_REMOVE_LIST_ITEM": "Susa into ohlwini",
"blockly-ARIA_LABEL_REMOVE_TEXT": "Susa umbhalo",
"blockly-ARIA_LABEL_TRASH_EMPTY": "Umgqomo wezibi, awulalutho khathesi",
"blockly-ARIA_TYPE_FIELD_ANGLE": "angle",
"blockly-ARIA_TYPE_FIELD_BITMAP": "pixel image",
"blockly-ARIA_TYPE_FIELD_CHECKBOX": "checkbox",
"blockly-ARIA_TYPE_FIELD_COLOUR": "color",
"blockly-ARIA_TYPE_FIELD_DATE": "date",
"blockly-ARIA_TYPE_FIELD_DROPDOWN": "dropdown",
"blockly-ARIA_TYPE_FIELD_GRID": "grid dropdown",
"blockly-ARIA_TYPE_FIELD_IMAGE": "image",
"blockly-ARIA_TYPE_FIELD_INPUT": "input",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT": "input name",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE": "function name",
"blockly-ARIA_TYPE_FIELD_ANGLE": "i-engeli",
"blockly-ARIA_TYPE_FIELD_BITMAP": "umfanekiso wamaphikseli",
"blockly-ARIA_TYPE_FIELD_CHECKBOX": "ibhokisi lokukhetha",
"blockly-ARIA_TYPE_FIELD_COLOUR": "umbala",
"blockly-ARIA_TYPE_FIELD_DATE": "ilanga",
"blockly-ARIA_TYPE_FIELD_DROPDOWN": "uluhlu olwehlayo",
"blockly-ARIA_TYPE_FIELD_GRID": "uluhlu olwehlayo lwegridi",
"blockly-ARIA_TYPE_FIELD_IMAGE": "umfanekiso",
"blockly-ARIA_TYPE_FIELD_INPUT": "okufakwayo",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT": "ibizo lokufakwayo",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE": "ibizo lomsebenzi",
"blockly-BACKSPACE_KEY": "Backspace",
"blockly-BLOCK_LABEL_BEGIN_PREFIX": "Begin %1",
"blockly-BLOCK_LABEL_BEGIN_STACK": "Begin stack",
+11 -11
View File
@@ -2939,17 +2939,17 @@
"blockly-ARIA_LABEL_REMOVE_LIST_ITEM": "Susa intfo eluhlwini",
"blockly-ARIA_LABEL_REMOVE_TEXT": "Susa umbhalo",
"blockly-ARIA_LABEL_TRASH_EMPTY": "Umgcoma wetibi, awunalutfo nyalo",
"blockly-ARIA_TYPE_FIELD_ANGLE": "angle",
"blockly-ARIA_TYPE_FIELD_BITMAP": "pixel image",
"blockly-ARIA_TYPE_FIELD_CHECKBOX": "checkbox",
"blockly-ARIA_TYPE_FIELD_COLOUR": "color",
"blockly-ARIA_TYPE_FIELD_DATE": "date",
"blockly-ARIA_TYPE_FIELD_DROPDOWN": "dropdown",
"blockly-ARIA_TYPE_FIELD_GRID": "grid dropdown",
"blockly-ARIA_TYPE_FIELD_IMAGE": "image",
"blockly-ARIA_TYPE_FIELD_INPUT": "input",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT": "input name",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE": "function name",
"blockly-ARIA_TYPE_FIELD_ANGLE": "i-engeli",
"blockly-ARIA_TYPE_FIELD_BITMAP": "sitfombe semaphikseli",
"blockly-ARIA_TYPE_FIELD_CHECKBOX": "libhokisi lekukhetsa",
"blockly-ARIA_TYPE_FIELD_COLOUR": "umbala",
"blockly-ARIA_TYPE_FIELD_DATE": "lusuku",
"blockly-ARIA_TYPE_FIELD_DROPDOWN": "luhlu lolwehlako",
"blockly-ARIA_TYPE_FIELD_GRID": "luhlu lolwehlako lwegridi",
"blockly-ARIA_TYPE_FIELD_IMAGE": "sitfombe",
"blockly-ARIA_TYPE_FIELD_INPUT": "lokufakwako",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT": "libito lalokufakwako",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE": "libito lemsebenti",
"blockly-BACKSPACE_KEY": "Backspace",
"blockly-BLOCK_LABEL_BEGIN_PREFIX": "Begin %1",
"blockly-BLOCK_LABEL_BEGIN_STACK": "Begin stack",
+13 -13
View File
@@ -588,11 +588,11 @@
"current": "wa sweswi",
"custom-color": "wa wena muhlovo",
"custom-field-delete-pop": "mhaka mhaka e-e mhaka. mhaka mhaka susa mhaka wa wena nsimu ku suka hinkwavo makhadi na mhaka mhaka matimu.",
"custom-field-checkbox": "Hi Xitsonga: mhaka",
"custom-field-checkbox": "Bokisi ro fungha",
"custom-field-currency": "Hi Xitsonga: mhaka",
"custom-field-currency-option": "Hi Xitsonga: mhaka mhaka",
"custom-field-date": "Siku",
"custom-field-dropdown": "mhaka nxaxamelo",
"custom-field-dropdown": "Nxaxamelo lowu rhelelaka",
"custom-field-dropdown-none": "(ku hava)",
"custom-field-dropdown-options": "nxaxamelo mhaka",
"custom-field-dropdown-options-placeholder": "mhaka mhaka eka engetela mhaka mhaka",
@@ -2939,17 +2939,17 @@
"blockly-ARIA_LABEL_REMOVE_LIST_ITEM": "Susa xilo eka nxaxamelo",
"blockly-ARIA_LABEL_REMOVE_TEXT": "Susa tsalwa",
"blockly-ARIA_LABEL_TRASH_EMPTY": "Bini ya thyaka, sweswi a yi na xilo",
"blockly-ARIA_TYPE_FIELD_ANGLE": "angle",
"blockly-ARIA_TYPE_FIELD_BITMAP": "pixel image",
"blockly-ARIA_TYPE_FIELD_CHECKBOX": "checkbox",
"blockly-ARIA_TYPE_FIELD_COLOUR": "color",
"blockly-ARIA_TYPE_FIELD_DATE": "date",
"blockly-ARIA_TYPE_FIELD_DROPDOWN": "dropdown",
"blockly-ARIA_TYPE_FIELD_GRID": "grid dropdown",
"blockly-ARIA_TYPE_FIELD_IMAGE": "image",
"blockly-ARIA_TYPE_FIELD_INPUT": "input",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT": "input name",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE": "function name",
"blockly-ARIA_TYPE_FIELD_ANGLE": "yinhla",
"blockly-ARIA_TYPE_FIELD_BITMAP": "xifaniso xa tipiksele",
"blockly-ARIA_TYPE_FIELD_CHECKBOX": "bokisi ro fungha",
"blockly-ARIA_TYPE_FIELD_COLOUR": "muhlovo",
"blockly-ARIA_TYPE_FIELD_DATE": "siku",
"blockly-ARIA_TYPE_FIELD_DROPDOWN": "nxaxamelo lowu rhelelaka",
"blockly-ARIA_TYPE_FIELD_GRID": "nxaxamelo lowu rhelelaka wa giridi",
"blockly-ARIA_TYPE_FIELD_IMAGE": "xifaniso",
"blockly-ARIA_TYPE_FIELD_INPUT": "ngheniso",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT": "vito ra ngheniso",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE": "vito ra ntirho",
"blockly-BACKSPACE_KEY": "Backspace",
"blockly-BLOCK_LABEL_BEGIN_PREFIX": "Begin %1",
"blockly-BLOCK_LABEL_BEGIN_STACK": "Begin stack",
+14 -14
View File
@@ -588,11 +588,11 @@
"current": "okwamanje",
"custom-color": "Muvhala wo khethwaho",
"custom-field-delete-pop": "A zwi koni u humiselwa murahu. Izwi zwi ḓo bvisa fhethu ha data ho dzudzanywaho kha makhadi oṱhe zwa fhelisa ḓivhazwakale yaho.",
"custom-field-checkbox": "Ibhokisi lokuhlola",
"custom-field-checkbox": "Bogisi ḽa u maka",
"custom-field-currency": "Imali",
"custom-field-currency-option": "Ikhodi yemali",
"custom-field-date": "Usuku",
"custom-field-dropdown": "Uhlu Olwehliswayo",
"custom-field-dropdown": "Mutevhe une wa tsitsa",
"custom-field-dropdown-none": "(akekho)",
"custom-field-dropdown-options": "Izinketho zohlu",
"custom-field-dropdown-options-placeholder": "Puṱedzani Enter u engedza dziṅwe khetho",
@@ -601,7 +601,7 @@
"custom-field-number": "Inombolo",
"custom-field-text": "Umbhalo",
"custom-fields": "Izinkambu zangokwezifiso",
"date": "Usuku",
"date": "Datumu",
"date-format": "Ifomethi Yosuku",
"date-format-for-everyone": "Ifomethi ya datumu ya vhoṱhe",
"date-format-yyyy-mm-dd": "JJJJ-MM-DD",
@@ -2939,17 +2939,17 @@
"blockly-ARIA_LABEL_REMOVE_LIST_ITEM": "Bvisani tshithu kha mutevhe",
"blockly-ARIA_LABEL_REMOVE_TEXT": "Bvisani maṅwalwa",
"blockly-ARIA_LABEL_TRASH_EMPTY": "Bini ya mashika, zwino a i na tshithu",
"blockly-ARIA_TYPE_FIELD_ANGLE": "angle",
"blockly-ARIA_TYPE_FIELD_BITMAP": "pixel image",
"blockly-ARIA_TYPE_FIELD_CHECKBOX": "checkbox",
"blockly-ARIA_TYPE_FIELD_COLOUR": "color",
"blockly-ARIA_TYPE_FIELD_DATE": "date",
"blockly-ARIA_TYPE_FIELD_DROPDOWN": "dropdown",
"blockly-ARIA_TYPE_FIELD_GRID": "grid dropdown",
"blockly-ARIA_TYPE_FIELD_IMAGE": "image",
"blockly-ARIA_TYPE_FIELD_INPUT": "input",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT": "input name",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE": "function name",
"blockly-ARIA_TYPE_FIELD_ANGLE": "engeḽe",
"blockly-ARIA_TYPE_FIELD_BITMAP": "tshifanyiso tsha dzipikiseḽe",
"blockly-ARIA_TYPE_FIELD_CHECKBOX": "bogisi ḽa u maka",
"blockly-ARIA_TYPE_FIELD_COLOUR": "muvhala",
"blockly-ARIA_TYPE_FIELD_DATE": "datumu",
"blockly-ARIA_TYPE_FIELD_DROPDOWN": "mutevhe une wa tsitsa",
"blockly-ARIA_TYPE_FIELD_GRID": "mutevhe une wa tsitsa wa giridi",
"blockly-ARIA_TYPE_FIELD_IMAGE": "tshifanyiso",
"blockly-ARIA_TYPE_FIELD_INPUT": "zwi dzheniswaho",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT": "dzina ḽa zwi dzheniswaho",
"blockly-ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE": "dzina ḽa mushumo",
"blockly-BACKSPACE_KEY": "Backspace",
"blockly-BLOCK_LABEL_BEGIN_PREFIX": "Begin %1",
"blockly-BLOCK_LABEL_BEGIN_STACK": "Begin stack",
+11 -1
View File
@@ -54,10 +54,20 @@ test('Walloon generic field labels do not retain foreign seed text',()=>{
assert.equal(data['custom-field-checkbox'],'Boesse a clitchî');
});
test('Venda and Tsonga field labels replace foreign seeds and filler',()=>{
const ve=require('../imports/i18n/data/ve.i18n.json');
const ts=require('../imports/i18n/data/ts.i18n.json');
assert.equal(ve.date,'Datumu');
assert.equal(ve['custom-field-dropdown'],'Mutevhe une wa tsitsa');
assert.equal(ve['custom-field-checkbox'],'Bogisi ḽa u maka');
assert.equal(ts['custom-field-dropdown'],'Nxaxamelo lowu rhelelaka');
assert.equal(ts['custom-field-checkbox'],'Bokisi ro fungha');
});
test('filled field types distinguish images, selectors and input names', async()=>{
const {translationTokens}=await import('../releases/translations/placeholder-tokens.mjs');
const names='ANGLE BITMAP CHECKBOX COLOUR DATE DROPDOWN GRID IMAGE INPUT TEXT_INPUT_ARGUMENT TEXT_INPUT_PROCEDURE'.split(' ');
for(const code of ['ku','ckb','tt','so','yi','ary','bho','mai','tk_TM','or_IN','kok','pap','wuu-Hans','wa','wa-RR','ve-CC','gv','rup','st','tn','nso','zu','zu-ZA','xh']){
for(const code of ['ku','ckb','tt','so','yi','ary','bho','mai','tk_TM','or_IN','kok','pap','wuu-Hans','wa','wa-RR','ve-CC','gv','rup','st','tn','nso','zu','zu-ZA','xh','ss','ts','ve','nd']){
const data=require(`../imports/i18n/data/${code}.i18n.json`);
for(const name of names){
const key='blockly-ARIA_TYPE_FIELD_'+name;