امنیت، هویت، استقرار و تاب‌آوری · فصل ۸ — Security، Tenant، Rights و Hallucination · 123

Weak Localization

Diagnose weak localization as an evidence problem across locale selection/fallback, language and direction metadata, message/plural behavior, and locale-sensitive formatting; contain unsafe fallback without hiding the defect; then prove recovery with a locale matrix and changed-context rerun rather than treating translated strings or one passing locale as closure. می‌تواند failure family «Weak Localization» را بازتولید/تشخیص دهد و detection، containment و recovery مناسب را تعیین کند.

Weak Localization — fa-IR

Lesson summary

Diagnose weak localization as an evidence problem across locale selection/fallback, language and direction metadata, message/plural behavior, and locale-sensitive formatting; contain unsafe fallback without hiding the defect; then prove recovery with a locale matrix and changed-context rerun rather than treating translated strings or one passing locale as closure.

می‌تواند failure family «Weak Localization» را بازتولید/تشخیص دهد و detection، containment و recovery مناسب را تعیین کند.

This lesson produces

می‌تواند failure family «Weak Localization» را بازتولید/تشخیص دهد و detection، containment و recovery مناسب را تعیین کند.

Who it is for

Foundation

Use a guided locale matrix, one worked fallback trace and explicit language/direction labels.

Repair

Re-run only the failed localization dimension with a smaller deterministic message/locale case.

Experienced

Start from mixed locale evidence; require competing explanations, negative evidence and changed-locale transfer.

Prerequisites

1. A translated-looking page can still be weakly localized

A dashboard may show mostly correct Persian text while one missing key silently falls back to English, labels that English string as fa/RTL, selects plurals with English logic, and formats a date or number with en-US. “Translated text exists” is not the same as “locale behavior is correct.” This lesson therefore decomposes localization into independent, observable dimensions.

2. Capture the evidence boundary before editing copy

For each run, record requested locale, supported locales, selected locale, fallback path, message key, translation presence, the rendered string's language and direction, plural category, formatter locale, and number/date output. Label decisive statements as observation, authority, inference, or OPEN. Do not infer a runtime fallback policy from visual appearance.

3. Locale selection and fallback are a separate failure dimension

A request for fa-IR does not require a byte-for-byte matching resource tag if the application's policy legitimately matches it to supported fa. CLDR language-matching data is designed to match desired locales against supported locales, but each application's concrete selection and fallback policy still has to come from its configuration or trace. [UNICODE-CLDR-MATCH]

4. Language and direction must be determinable for the rendered string

W3C guidance says language declaration values use BCP 47, and that natural-language string fields must allow the language and string direction of the specific string to be determined. A resource-wide default or heuristic is not sufficient by itself. An English fallback inside a Persian context therefore needs evidence about the fallback string itself, not just the page default. [W3C-I18N-SPEC-2026]

5. A missing translation is not the same as unsafe mixed-language fallback

A missing key may intentionally fall back to English under a bounded policy. That can be temporary containment if the fallback is explicit, traceable, and correctly labeled for language and direction. If English text is emitted as fa/RTL, metadata is wrong; if the fallback is hidden and counted as successful Persian coverage, the evidence boundary is wrong as well. Full recovery normally closes the target key or approved policy and reruns the locale matrix.

6. English one/other logic is not universal

CLDR plural categories differ across languages. In current CLDR 49 data, Persian cardinal one includes 0 and 1, while Arabic has zero, one, two, few, many, and other. A hard-coded English selector can therefore fail for Persian count 0 or Arabic count 2 even when the words themselves are translated. [UNICODE-CLDR-PLURAL] [UNICODE-CLDR-LANGUAGE-PLURALS]

7. Number/date formatting is independent of message translation

Every message key can exist while a formatter remains hard-coded to en-US. Numbers, dates, currencies, and time conventions are locale-sensitive, so the matrix records formatter locale and rendered output independently. Exact format expectations remain runtime/fixture specific; this lesson does not claim one universal string representation for every implementation.

8. Localization Failure Diagnosis & Recovery Record v1

The owned artifact records requested/supported/selected locale, fallback path, message key, translation presence, rendered language/direction, plural category, number/date formatter, expected output, evidence label, containment, closure probe, and residual risk. Its purpose is to keep “proven” separate from “looks right.”

9. Build at least two competing explanations

If English appears on a Persian page, the selected locale may be wrong or only that message key may be missing. If a count phrase is wrong, the translation may be poor or the plural selector may be wrong. Strong diagnosis states competing explanations before changing code or copy, then rejects at least one with a single-dimension mutation.

10. A negative control should change one dimension at a time

To test selection, vary requested/supported locale only. To test metadata, keep the rendered text and inspect language/direction. To test plural behavior, change the count so the target category changes. To test formatting, keep the message stable and vary formatter locale. Multi-variable changes make causal interpretation ambiguous.

11. Containment must not hide the defect

Containment can temporarily block one locale or message, use explicit correctly-labeled fallback, or keep the affected route behind a warning. It must not “fix” the incident by labeling English as Persian, forcing RTL on every string, or deleting the failing test. The affected scope and release trigger must remain explicit.

12. Closure requires a locale-matrix rerun

After repair, rerun selection/fallback, per-string metadata, plural/message behavior, and formatter output independently. A page that merely looks better is not closure. If a decisive dimension lacks evidence, keep it OPEN. A passing fa-IR run also does not authorize a claim about ar-EG or all locales.

13. Lab classifications

The lab uses LOCALIZATION_HEALTHY, LOCALE_SELECTION_FAILURE, STRING_METADATA_FAILURE, PLURAL_MESSAGE_FAILURE, LOCALE_FORMATTING_FAILURE, MULTI_DIMENSION_LOCALIZATION_FAILURE, and WEAK_LOCALIZATION_UNRESOLVED. It also uses MISSING_TRANSLATION_CONTAINED for a safe but still incomplete fallback state. Classification is built from independent dimension evidence.

14. Lab: eight fixtures and 64 assertions

The eight fixtures cover a healthy fa-IR→fa baseline, wrong locale selection, mixed-language metadata failure, Persian count=0 with English-style plural logic, a hard-coded formatter, a fully translated-looking page with two hidden defects, an intentionally OPEN case, and an ar-EG transfer. The evaluator returns eight fields per case and the admin test checks exactly 64 assertions. Everything is synthetic and offline.

15. Exit checklist and transfer

Before exit, you should be able to state the requested locale, selected locale, exact fallback point, which string metadata failed, how plural and formatting behavior were tested independently, which alternative was rejected, the containment scope, and the rerun that proved closure. In transfer, the request becomes ar-EG, the missing key changes, and new count/number/date expectations appear. Rebuild the diagnosis from new evidence rather than copying fa-IR labels.

Assessment

There is no answer key in this lesson pack; answer it yourself and mark honestly. "Needs review" sends the lesson to your review queue.

FLR-013-AS1 diagnosis

Build Localization Failure Diagnosis & Recovery Record v1 for the baseline failure. Trace requested→selected locale, fallback path, per-string metadata, plural behavior, formatter evidence, one competing explanation, and explicit OPEN cells.

lesson ✗AI ✗notes ✗

FLR-013-AS2 decision

Choose a bounded containment/release action. Name the affected locale/message scope, what fallback is safe, what must be blocked or flagged, and the evidence required for release.

lesson ✗AI ✗notes ✗

FLR-013-AS3 transfer

Rebuild the record for the ar-EG transfer fixture. Do not copy the fa-IR classification; use the new match, fallback, plural, and formatter evidence.

lesson ✗AI ✗notes ✗

FLR-013-AS4 reflection

State the strongest localization claim supported, the strongest claim not supported, one residual risk, and the trigger for future re-review.

lesson ✗AI ✗notes ✗
Assessment rubric
DimensionCriticalSufficient evidence
Locale boundary and evidenceYesRequested, supported, selected, and fallback locale states are explicit; decisive claims trace to fixture or authority evidence.
Metadata / grammar / formatting discriminationYesLanguage/direction, plural/message behavior, and locale-sensitive formatting are tested as separate dimensions; at least one tempting alternative is rejected.
Containment and closureYesFallback/release containment is bounded; recovery uses an independent locale-matrix rerun and preserves OPEN where evidence is missing.
TransferYesar-EG is diagnosed from changed evidence rather than copied fa-IR labels.

Blocking failures: no requested→selected trace; translated text treated as full proof; mixed-language direction mismatch silently closed; plural/formatter behavior untested; or no changed-locale evidence.

References & freshness

Internationalization Best Practices for Spec Developers
·
W3C Group Note dated 2026-08-07; used for BCP 47 language declarations, per-string language/direction, and locale/localization guidance. It is not proof that a specific app conforms.
Unicode CLDR — Plural Rules
·
Used for plural categories/minimal-pair concepts and cross-language category differences.
CLDR 49 — Language Matching
·
Used for desired-vs-supported locale matching data; does not mandate one identical fallback policy for every application.
CLDR 49 — Language Plural Rules
·
Used for concrete current Persian and Arabic cardinal category examples in the lesson/lab.

Case studies

Lesson visuals

V1

Lab files

Implement an evidence-bounded evaluate(case) function over the eight synthetic locale cases. Diagnose locale selection, per-string language/direction metadata, plural/message behavior, and locale-sensitive formatting separately.

Do not treat translated text as proof of localization correctness. Preserve OPEN when authoritative metadata is unavailable. A strong solution recognizes the safe fa-IR→fa match, distinguishes wrong selection from a single missing key, catches the Persian count=0 plural defect, and rebuilds the diagnosis for the ar-EG transfer. No network or production data is required.

Lesson media & slides

MAKNOW_FLR-013_DECISION_EVIDENCE_TABLE_v1.0.svg
DECISION EVIDENCE TABLE v1.0.svg
MAKNOW_FLR-013_FAILURE_REPAIR_v1.0.svg
FAILURE REPAIR v1.0.svg
MAKNOW_FLR-013_PRIMARY_MODEL_v1.0.svg
PRIMARY MODEL v1.0.svg
MAKNOW_FLR-013_WORKED_EXAMPLE_v1.0.svg
WORKED EXAMPLE v1.0.svg

Teaching files (download)

XLSXLocalization Failure Diagnosis Recovery Record v1 v1.0.0.xlsxTeaching files (download)
DOCXLocalization Failure Diagnosis Recovery Record v1 WORKSHEET v1.0.0.docxTeaching files (download)
PDFLocalization Failure Diagnosis Recovery Record v1 WORKSHEET v1.0.0.pdfTeaching files (download)