fix(l10n): repair corrupted duration abbreviations in ar/bn/hi/ja/ru/zh ARB files
Sleep-timer duration strings (durationHoursMinutesSeconds, durationMinutesSeconds, durationMinutesOnly, durationSecondsOnly) contained literal "?" characters instead of the native hour/minute/second abbreviation in 6 locales. Replaced with correct native short-form units per locale, verified byte-exact against a pinned spec table and against the already-correct neighboring hoursLabel/minutesLabel/secondsLabel values in each file.
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# Archive Report: i18n-locale-audit
|
||||
|
||||
**Change**: i18n-locale-audit
|
||||
**Status**: Archived
|
||||
**Archive Location**: `openspec/changes/archive/2026-07-21-i18n-locale-audit/`
|
||||
**Date Archived**: 2026-07-21
|
||||
|
||||
## Summary
|
||||
|
||||
The i18n-locale-audit change has been completed, verified (PASS verdict with zero CRITICAL/WARNING/SUGGESTION findings), and archived. This change repaired 24 corrupted sleep-timer duration strings across 6 non-Latin-script locales (ar, bn, hi, ja, ru, zh) by replacing literal ASCII `?` characters with their correct native abbreviations, while preserving all ICU placeholders and file integrity.
|
||||
|
||||
## Artifact Traceability
|
||||
|
||||
All artifacts originate from the SDD pipeline and have been traced to their Engram observations:
|
||||
|
||||
| Artifact | Engram Observation ID | Type | Status |
|
||||
|----------|----------------------|------|--------|
|
||||
| Proposal | 1303 | proposal | Complete |
|
||||
| Exploration | N/A | explore | Complete (file-only) |
|
||||
| Specification | 1304 | spec | Complete |
|
||||
| Design | 1305 | design | Complete |
|
||||
| Tasks | 1306 | tasks | Complete (all 13 tasks checked) |
|
||||
| Apply Progress | N/A | apply-progress | Complete (file-only) |
|
||||
| Verify Report | 1308 | verify-report | Complete — PASS verdict |
|
||||
|
||||
All observation IDs recorded for audit trail and traceability.
|
||||
|
||||
## Specs Synced
|
||||
|
||||
| Domain | Action | Details |
|
||||
|--------|--------|---------|
|
||||
| sleep-timer-duration-i18n | Created | New spec domain, 4 requirements covering native abbreviations across 6 locales (ja, zh, ru, ar, hi, bn). Added to `openspec/specs/sleep-timer-duration-i18n/spec.md`. |
|
||||
|
||||
## Archive Contents
|
||||
|
||||
- proposal.md ✅ — Proposal: Repair corrupted sleep-timer duration abbreviations in 6 ARB locales
|
||||
- explore.md ✅ — Exploration: i18n locale audit (13 ARB locales)
|
||||
- design.md ✅ — Design: Repair corrupted sleep-timer duration abbreviations in 6 ARB locales
|
||||
- tasks.md ✅ — Tasks: all 13 tasks complete (7 Phase 1 content repairs + 7 Phase 2 static validation checks)
|
||||
- apply-progress.md ✅ — Apply Progress: complete (all 24 exact-string line replacements applied)
|
||||
- verify-report.md ✅ — Verify Report: PASS (all requirements met, all 24 values byte-identical to spec)
|
||||
- specs/sleep-timer-duration-i18n/spec.md ✅ — Sleep Timer Duration I18n Specification
|
||||
|
||||
## Source of Truth Updated
|
||||
|
||||
The following specs now reflect the new behavior and are locked into the main specifications tree:
|
||||
|
||||
- `openspec/specs/sleep-timer-duration-i18n/spec.md` — NEW domain, defining correct native abbreviations for 4 ICU-templated duration strings across 6 locales with comprehensive scenarios and requirements.
|
||||
|
||||
## Implementation Summary
|
||||
|
||||
**Changed lines**: 24 insertions + 24 deletions (exact-string line replacement, no JSON re-serialization)
|
||||
**Files modified**: lib/l10n/app_ar.arb, app_bn.arb, app_hi.arb, app_ja.arb, app_ru.arb, app_zh.arb (4 keys per file, lines 19/27/34/40)
|
||||
**Quality gate**: Verify-report PASS with zero critical/warning/suggestion findings
|
||||
|
||||
All 24 corrupted duration string values have been replaced with their correct byte-exact pinned strings:
|
||||
- ja: compact no-space notation (時間/分/秒)
|
||||
- zh: compact no-space notation (小时/分钟/秒)
|
||||
- ru: short abbreviation with leading space (ч/мин/сек)
|
||||
- ar: short abbreviation with leading space (س/د/ث)
|
||||
- hi: full label words, space-separated (घंटे/मिनट/सेकंड)
|
||||
- bn: full label words, space-separated (ঘণ্টা/মিনिট/সেকেন्ড)
|
||||
|
||||
ICU placeholders `{hours}`, `{minutes}`, `{seconds}` remain unchanged and correctly named. All other keys (386 per file) and metadata blocks remain byte-unchanged.
|
||||
|
||||
## SDD Cycle Complete
|
||||
|
||||
The change has been fully planned (proposal + explore), specified (spec), designed (design), implemented (apply), verified (verify-report PASS), and archived. Ready for the next change.
|
||||
|
||||
## Additional Notes
|
||||
|
||||
- Task completion gate: PASS — all 13 tasks marked as complete in tasks.md with supporting evidence in apply-progress.md and verify-report.md.
|
||||
- Verify gate: PASS — zero CRITICAL/WARNING/SUGGESTION findings. Spec requirements fully met.
|
||||
- No stale checkboxes found; archive-time reconciliation not required.
|
||||
- Spec merge: delta spec copied directly to new main domain (no merge with existing spec required, as this is a new domain).
|
||||
Reference in New Issue
Block a user