Repair Tamazight label activity messages and refine filename wording

Replace four French add/remove-label activity messages with native tag and directional terminology, preserving label/card placeholder roles. Active addition inflection, default actor form and complete activity clauses remain low confidence pending fluent review. Refine the existing filename correction with directly attested upload-form wording and preserve its original before value. All 17313 correction/rendering checks pass.

Thanks to xet7 !
This commit is contained in:
Lauri Ojansivu committed 2026-09-14 02:56:29 +03:00
1 parent 0d4bda0857
commit c6ee67cb11
3 files changed
+42 -7

No files matched your search

+5 -5
View File
@@ -676,7 +676,7 @@
"export-card-field-people": "Personnes (Créateur, Propriétaire, Participants, Intervenants)",
"export-card-field-board-info": "Informations du tableau (Tableau, Liste, Couloir)",
"export-card-field-dates": "Dates (Création, Réception, Début, Échéance, Fin)",
"export-card-attachment-filename": "ⵉⵙⵎ ⵏ ⵓⴼⴰⵍⵢⵓ",
"export-card-attachment-filename": "ⵉⵙⵎ ⵏ ⵓⴼⴰⵢⵍⵓ",
"export-card-attachment-size": "حجم",
"export-card-attachment-type": "النوع",
"export-card-attachment-uploaded-by": "Téléversé par",
@@ -1221,11 +1221,11 @@
"parent-card": "Carte parente",
"source-board": "Tableau source",
"no-parent": "Ne pas afficher le parent",
"activity-added-label": "a ajouté l'étiquette '%s' à %s",
"activity-removed-label": "a supprimé l'étiquette '%s' de %s",
"activity-added-label": "ⵉⵔⵏⴰ ⴰⵔⵛⵓⵎ '%s' ⵉ %s",
"activity-removed-label": "ⵉⴽⴽⵙ ⴰⵔⵛⵓⵎ '%s' ⵙⴳ %s",
"activity-delete-attach": "a supprimé une pièce jointe de %s",
"activity-added-label-card": "a ajouté l'étiquette '%s'",
"activity-removed-label-card": "a supprimé l'étiquette '%s'",
"activity-added-label-card": "ⵉⵔⵏⴰ ⴰⵔⵛⵓⵎ '%s'",
"activity-removed-label-card": "ⵉⴽⴽⵙ ⴰⵔⵛⵓⵎ '%s'",
"activity-delete-attach-card": "a supprimé une pièce jointe",
"activity-set-customfield": "a défini le champ personnalisé '%s' à '%s' dans %s",
"activity-unset-customfield": "a effacé le champ personnalisé '%s' dans %s",
+30 -2
View File
@@ -120963,8 +120963,8 @@
"locale": "zgh",
"key": "export-card-attachment-filename",
"before": "Nom du fichier",
"after": "ⵉⵙⵎ ⵏ ⵓⴼⴰⵍⵢⵓ",
"reason": "Replace wrong-language French/Arabic label with exact native Standard Moroccan Tamazight MediaWiki redirect-file wording: https://raw.githubusercontent.com/wikimedia/mediawiki/master/languages/i18n/zgh.json . Match the English interface meaning; file/template/preview and watch commands reuse established native UI terms. No proper names, placeholders or valid existing Tamazight alternatives are replaced."
"after": "ⵉⵙⵎ ⵏ ⵓⴼⴰⵢⵍⵓ",
"reason": "Refine the earlier French-to-native filename repair using exact MediaWiki upload-form-label-usage-filename wording. This spells the file noun consistently with file-anchor-link, imgfile and the broader native messages; redirect-file used a different letter ordering. Preserve original French before value and do not alter valid independent translations. Reference: https://raw.githubusercontent.com/wikimedia/mediawiki/master/languages/i18n/zgh.json"
},
{
"locale": "zgh",
@@ -121161,5 +121161,33 @@
"before": "لا توجد نتائج",
"after": "ⵓⵔ ⵍⵍⵉⵏⵜ ⵜⵢⴰⴼⵓⵜⵉⵏ",
"reason": "Native negative-results main clause directly attested in search-nonefound; removes only the query-matching qualifier because English says generic No results. Keeps native feminine plural negative agreement, adds no network/failure reason. Reference: https://raw.githubusercontent.com/wikimedia/mediawiki/master/languages/i18n/zgh.json"
},
{
"locale": "zgh",
"key": "activity-added-label",
"before": "a ajouté l'étiquette '%s' à %s",
"after": "ⵉⵔⵏⴰ ⴰⵔⵛⵓⵎ '%s' ⵉ %s",
"reason": "LOW CONFIDENCE composed label activity: singular tag noun from tag-list-wrapper; direction i (to) and sg (from) attested in recentchanges-page-added-to-category/recentchanges-page-removed-from-category. Active deletion verb ikks is attested in logentry-delete-delete; active addition irna is derived from native rnu/add and its attested passive addition form, not directly verified as an add-activity clause. Preserve first %s as label and second, where present, as destination/source card; do not substitute imperative commands. Active addition inflection, default masculine actor form and complete kanban clauses need fluent review. Reference: https://raw.githubusercontent.com/wikimedia/mediawiki/master/languages/i18n/zgh.json"
},
{
"locale": "zgh",
"key": "activity-added-label-card",
"before": "a ajouté l'étiquette '%s'",
"after": "ⵉⵔⵏⴰ ⴰⵔⵛⵓⵎ '%s'",
"reason": "LOW CONFIDENCE composed label activity: singular tag noun from tag-list-wrapper; direction i (to) and sg (from) attested in recentchanges-page-added-to-category/recentchanges-page-removed-from-category. Active deletion verb ikks is attested in logentry-delete-delete; active addition irna is derived from native rnu/add and its attested passive addition form, not directly verified as an add-activity clause. Preserve first %s as label and second, where present, as destination/source card; do not substitute imperative commands. Active addition inflection, default masculine actor form and complete kanban clauses need fluent review. Reference: https://raw.githubusercontent.com/wikimedia/mediawiki/master/languages/i18n/zgh.json"
},
{
"locale": "zgh",
"key": "activity-removed-label",
"before": "a supprimé l'étiquette '%s' de %s",
"after": "ⵉⴽⴽⵙ ⴰⵔⵛⵓⵎ '%s' ⵙⴳ %s",
"reason": "LOW CONFIDENCE composed label activity: singular tag noun from tag-list-wrapper; direction i (to) and sg (from) attested in recentchanges-page-added-to-category/recentchanges-page-removed-from-category. Active deletion verb ikks is attested in logentry-delete-delete; active addition irna is derived from native rnu/add and its attested passive addition form, not directly verified as an add-activity clause. Preserve first %s as label and second, where present, as destination/source card; do not substitute imperative commands. Active addition inflection, default masculine actor form and complete kanban clauses need fluent review. Reference: https://raw.githubusercontent.com/wikimedia/mediawiki/master/languages/i18n/zgh.json"
},
{
"locale": "zgh",
"key": "activity-removed-label-card",
"before": "a supprimé l'étiquette '%s'",
"after": "ⵉⴽⴽⵙ ⴰⵔⵛⵓⵎ '%s'",
"reason": "LOW CONFIDENCE composed label activity: singular tag noun from tag-list-wrapper; direction i (to) and sg (from) attested in recentchanges-page-added-to-category/recentchanges-page-removed-from-category. Active deletion verb ikks is attested in logentry-delete-delete; active addition irna is derived from native rnu/add and its attested passive addition form, not directly verified as an add-activity clause. Preserve first %s as label and second, where present, as destination/source card; do not substitute imperative commands. Active addition inflection, default masculine actor form and complete kanban clauses need fluent review. Reference: https://raw.githubusercontent.com/wikimedia/mediawiki/master/languages/i18n/zgh.json"
}
]
@@ -43,6 +43,13 @@ const tokens = value => [...value.matchAll(/__[A-Za-z0-9]+(?:_[A-Za-z0-9]+)*__|%
assert.match(cache.zgh[key], /ⵓⵔ ⵉⵍⵍⴰ/);
}
assert.doesNotMatch(cache.zgh['label-create'], /[\u0600-\u06ff]/);
assert.equal(cache.zgh['export-card-attachment-filename'], 'ⵉⵙⵎ ⵏ ⵓⴼⴰⵢⵍⵓ');
assert.match(cache.zgh['activity-added-label'], /'%s' ⵉ %s$/);
assert.match(cache.zgh['activity-removed-label'], /'%s' ⵙⴳ %s$/);
for (const key of ['activity-added-label', 'activity-added-label-card', 'activity-removed-label', 'activity-removed-label-card']) {
assert.doesNotMatch(cache.zgh[key], /ajouté|supprimé|étiquette/);
assert.match(cache.zgh[key], /ⴰⵔⵛⵓⵎ '%s'/);
}
// Exact native UI references replace French without normalizing valid Latin-script Tamazight.
assert.equal(cache.zgh.help, 'ⵜⵉⵡⵉⵙⵉ');
assert.equal(cache.zgh.next, 'ⵉⵏⴹⴼⵔ');