Bugfix Issue 1459 SeverityConfig ASIDE Key Only in en_GB - sebiboga/testlink-upgraded GitHub Wiki

Bugfix — Issue #1459: ASIDE "Severity Configuration" label stays English in all non-en_GB locales

Problem

The ASIDE sub-menu item for Severity Configuration (Test Strategy section, 4th-from-last sub-item) uses the legacy Smarty key href_severity_config via gui/templates/dashio/aside.tpl:161. The key was defined only in locale/en_GB/strings.txt:2329 — the other 18 locale strings.txt files lacked it, so lang_get() fell back to en_GB and the label rendered in English inside the translated shell for every non-en_GB locale.

Reproduced with the Romanian locale (the reporter's locale): set the admin user's profile locale to ro_RO, re-login, expand ASIDE "Strategia de Testare" → the 4th-from-last sub-item read Severity Configuration while every neighbour was Romanian (grep -rl href_severity_config locale/*/strings.txt → 1 file).

Root Cause

The Test-Strategy chapter-map / severity-config ASIDE link work (commit f934433d7, Refs #1426/#1431) added the new key only to the development bundle en_GB/strings.txt. lang_get() (lib/functions/lang_api.php:51-54, 195) silently falls back to en_GB for missing keys and only records a level-32 L18N audit row (never ERROR/WARNING), so the gap shipped unnoticed.

Blast radius: one ASIDE sub-item label; cosmetic, no functional impact. The modern target screen severityConfig.html uses the client-side TLi18n JSON bundles and is NOT affected (ro.json already ships proj.severityConfig = "Configurare severitate").

Fix

Added $TLS_href_severity_config = "<native translation>"; to all 18 missing locale files, inserted after the $TLS_href_plan_define_priority line (relative placement mirrors en_GB). cs_CZ string stored in the file's real byte encoding (Windows-1250 — the file declares UTF-8 but is physically cp1250; a UTF-8 write would have produced mojibake).

Locale Value
cs_CZ Konfigurace závažnosti
de_DE Schweregrad-Konfiguration
en_US Severity Configuration
es_AR / es_ES Configuración de Severidad
fi_FI Vakavuusasetukset
fr_FR Configuration de la sévérité
id_ID Konfigurasi Tingkat Keparahan
it_IT Configurazione della gravità
ja_JP 重大度設定
ko_KR 심각도 설정
nl_NL Configuratie van de ernst
pl_PL Konfiguracja ważności
pt_BR / pt_PT Configuração de Severidade
ro_RO Configurare severitate
ru_RU Настройка серьёзности
zh_CN 严重性配置

Severity Configuration sub-item fixed in Romanian

Verification

  • ro_RO session: sub-item now "Configurare severitate" (was English); grep -rl href_severity_config locale/*/strings.txt → 19 files.
  • de_DE session: "Schweregrad-Konfiguration".
  • en_GB session: still "Severity Configuration" (regression-safe).
  • php -l on all 18 touched files: "No syntax errors".
  • cs_CZ bytes re-decoded as cp1250 → Konfigurace závažnosti (ž=0x9E, á=0xE1); full-file cp1250 decode OK.
  • ASIDE link target severityConfig.html loads fine.
  • events table: only href_severity_config L18N fallback row is the pre-fix repro (id 47); zero new rows post-fix; zero ERROR/WARNING rows.

Regression suite: tmp/TLU_Test_Cases.md — "Regression — Issue #1459", 8/8 PASS.

Address: Fixes #1459.