Files
jobtrackingapp/docs/i18n/00/CONTEXT_TRIAGE.md
T

3.7 KiB

Source-context triage continuation

2026-11-02, unchanged application baseline 5cb903b989742b7a96cb22ddf4c0e24993b18980. No translation or runtime implementation.

Completed inventory refinement

  • All 188 previously counted dynamic/unknown t calls now have source file/line/hash and exact expression in DYNAMIC_MESSAGE_CALLS.json.
  • 108 calls resolve to finite literal conditional branches, accounting for 240 possible-key references. Each referenced key exists in the English catalogue. Nested ternaries are included. This is key resolution, not translator or runtime acceptance.
  • 80 calls still need lookup-table, wrapper, template-token or runtime-key review. Type assertions such as as any or a single asserted literal must not be treated as proof of actual possible values.
  • Four direct catalogue reads were located in I18nProvider: save-failure/retry feedback and the evaluator/fallback. These are active consumers missed by a t("key")-only search; preserve them during migration.
  • 26 JSX text/selected accessibility-label candidates were extracted and individually reviewed in source context. The JSON records preservation/extraction decisions and excludes adjacent private runtime values. This scan does not cover every computed JSX expression, object-held label, string-returning helper, backend string or app-shell document text.

Findings to carry into approved implementation

ID Source Finding / required handling
I00-13 App.tsx:488 Session-invalidated alert is hardcoded English. Localisation must preserve disposal of the old application tree and must not depend on its discarded session/provider state
I00-14 JobFlowBar.tsx:147 Flow is controlled UI copy outside the catalogue; extract with workflow context
I00-15 Attachments.tsx:361 Preview iframe title is only pdf; use descriptive localised purpose while keeping private filenames out of translator exports
I00-16 AppShell.tsx:692 EN/NO with English/Norsk labels conflates country-like abbreviation and Norwegian variant. Future selector needs native/English names and explicit Bokmal/Nynorsk distinction; preserve existing nb aliases
I00-17 ApplicationAssets.tsx:360 File-size display uses toFixed(1) with KB. Review locale number formatting; filename and underlying byte count remain unchanged
I00-18 I18nProvider.tsx:43 Save-failure feedback accesses catalogue directly. Migration must preserve same-language retry and stale-save sequencing; static t-call inventory alone misses this contract
I00-19 LandingPage.tsx:133 Technology-name list is not ordinary translatable prose. Coordinate user-outcome copy with homepage design work; do not translate trademarks or add unverified feature claims

Brand/provider names, host examples and technical identifiers were not blindly classified as missing translations. Unit/version fragments require formatting and accessibility context rather than mechanical dictionary substitution. All findings are planning tasks, not permission to edit application files.

Verification and remaining work

The same 134 non-test TS/TSX files were scanned using the installed TypeScript AST parser. Assertions confirmed exactly 188 dynamic calls and that all 240 resolved branch-key references exist. No full application typecheck or browser suite was run. The 26 literal records were reviewed against adjacent source lines; broader semantic census remains IN_PROGRESS.

Next: resolve the remaining 80 table/template/wrapper calls; cover computed frontend values and app document metadata; inventory backend errors, queued communication text and Python processing messages. Country legal records, reviewer allocation and runtime-library choice remain separate unfinished tasks.