Skip to content

i18n: catalog keys for NamedAreaView's availability frames - #5661

Merged
meshweaver-cloud[bot] merged 2 commits into
mainfrom
fix/namedareaview-i18n
Sep 24, 2026
Merged

meshweaver-cloud[bot] merged 2 commits into
mainfrom
fix/namedareaview-i18n

Conversation

@rbuergi

@rbuergi rbuergi commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

What

NamedAreaView (now in MeshWeaver.Plugins — Blazor left core in 83356b3) rendered its availability frames in hard-coded English for every viewer: "Area unavailable. The hub serving {area} was being recycled …" / "… did not become addressable …", "This view could not be initialised.", "Error loading area:", and the 404 page's technical detail.

This adds the catalog keys, en + de, with technical identifiers (area path, recovery budget, retry count, owner address) as positional placeholders:

  • error.areaUnavailable
  • error.areaUnavailableRecycled ({0} area, {1} seconds)
  • error.areaUnavailableNotAddressable ({0} area, {1} retries)
  • error.viewInitFailed
  • error.loadingArea
  • error.areaNotFoundDetail ({0} area, {1} owner)

English values match the previous literals, so the Plugins e2e matchers (Area unavailable, Error loading area) keep holding. LocalizationTest.AreaAvailabilityFrames_AreTranslatedAndCarryTheirArguments pins that each key is a real German translation (not the English fallback) and that every argument survives in both languages. Doc: ErrorPropagationAndWedges.md notes the frame is rendered from these keys.

Consumer: Systemorph/MeshWeaver.Plugins#2356 (switches NamedAreaView to these keys, resolved off the viewer locale captured in BindData — the error arms run off-circuit, where Access.Localize resolves English). This core half lands first.

No issue.

Mirror-sync: npm run sync:i18n -- --ref in MeshWeaver.Plugins clients/react — carried by Systemorph/MeshWeaver.Plugins#2356, which merges after this PR.

Pairs-with: none — adds keys only; no public type or member is removed.

🤖 Generated with Claude Code

NamedAreaView (MeshWeaver.Plugins) rendered "Area unavailable", "This view could not be
initialised", "Error loading area:" and the 404 technical detail in hard-coded English.
Adds error.areaUnavailable, error.areaUnavailableRecycled,
error.areaUnavailableNotAddressable, error.viewInitFailed, error.loadingArea and
error.areaNotFoundDetail in en + de, with the area path / budget / retry count as
positional placeholders, and a LocalizationTest theory pinning that each is a real German
translation carrying its arguments in both languages.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 24, 2026 14:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

Correct the German translation so it accurately describes hub recycling rather than restarting.

Review effort: Lite
Findings: None

What changed in this PR

Adds English and German localization keys for NamedAreaView availability/error frames, with placeholder-preservation tests and documentation.

Changes:

  • Adds six localized error keys.
  • Tests translations and positional arguments.
  • Documents localized frame rendering.
File Summary
test/​MeshWeaver.Messaging.Hub.Test/​LocalizationTest.cs Tests catalog translations and argument preservation.
src/​MeshWeaver.Messaging.Hub/​Localization/​strings.en.json Adds English error messages.
src/​MeshWeaver.Messaging.Hub/​Localization/​strings.de.json Adds German error messages; moderate issue: recycle lifecycle is described as a restart.
src/​MeshWeaver.Documentation/​Data/​Architecture/​ErrorPropagationAndWedges.md Documents localized availability frames.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 0)

  1 files  ±0    1 suites  ±0   3m 0s ⏱️ -4s
342 tests ±0  342 ✅ ±0  0 💤 ±0  0 ❌ ±0 
346 runs  ±0  346 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 97b16af. ± Comparison against base commit 423b863.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 1)

550 tests   - 1 098   550 ✅  - 1 098   1m 7s ⏱️ - 2m 6s
  1 suites  -     1     0 💤 ±    0 
  1 files    -     1     0 ❌ ±    0 

Results for commit 97b16af. ± Comparison against base commit 423b863.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 3)

430 tests   - 13   430 ✅  - 13   1m 4s ⏱️ -1s
  2 suites  -  1     0 💤 ± 0 
  2 files    -  1     0 ❌ ± 0 

Results for commit 97b16af. ± Comparison against base commit 423b863.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 4)

    2 files   -   1      2 suites   - 1   5m 59s ⏱️ -18s
2 617 tests +605  2 617 ✅ +605  0 💤 ±0  0 ❌ ±0 
2 618 runs  +605  2 618 ✅ +605  0 💤 ±0  0 ❌ ±0 

Results for commit 97b16af. ± Comparison against base commit 423b863.

♻️ This comment has been updated with latest results.

…review on #5661)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@rbuergi

rbuergi commented Sep 24, 2026

Copy link
Copy Markdown
Contributor Author

Copilot overview note (German recycle wording, no inline thread): fixed in 97b16af — error.areaUnavailableRecycled (de) now says "wurde recycelt (beendet und neu aufgebaut)", matching the catalog's existing ui.mdRecyclingHub term.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 2)

1 619 tests  +876   1 619 ✅ +1 068   9m 14s ⏱️ + 2m 4s
    2 suites  -   1       0 💤  -   192 
    2 files    -   1       0 ❌ ±    0 

Results for commit 97b16af. ± Comparison against base commit 423b863.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 5)

    5 files  ±  0      5 suites  ±0   14m 56s ⏱️ -37s
3 431 tests  - 647  3 431 ✅  - 645  0 💤  - 2  0 ❌ ±0 
3 435 runs   - 647  3 435 ✅  - 645  0 💤  - 2  0 ❌ ±0 

Results for commit 97b16af. ± Comparison against base commit 423b863.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results

   13 files   -   4     13 suites   - 4   35m 22s ⏱️ - 1m 1s
8 989 tests  - 277  8 989 ✅  - 83  0 💤  - 194  0 ❌ ±0 
8 998 runs   - 277  8 998 ✅  - 83  0 💤  - 194  0 ❌ ±0 

Results for commit 97b16af. ± Comparison against base commit 423b863.

@meshweaver-cloud
meshweaver-cloud Bot added this pull request to the merge queue Sep 24, 2026
Merged via the queue into main with commit 7b44a55 Sep 24, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants