Skip to content

Fix: boards page heading and tabs are not translated - #564

Merged
hjball merged 1 commit into
kanbn:mainfrom
serhiihordiichuk:fix-boards-page-i18n
Sep 1, 2026
Merged

Fix: boards page heading and tabs are not translated#564
hjball merged 1 commit into
kanbn:mainfrom
serhiihordiichuk:fix-boards-page-i18n

Conversation

@serhiihordiichuk

@serhiihordiichuk serhiihordiichuk commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Problem

On the boards page, the "Active" / "Archived" tabs and the "Boards" / "Templates" heading always render in English, even when the user selects another language. Translations for all four strings exist in the catalogs.

Cause

Two separate issues in views/boards/index.tsx:

  1. The tabs array was a module-level constant. The t macro values were computed once at module load, before any locale activates.
  2. The heading used t${isTemplate ? "Templates" : "Boards"}`` — the ternary passes a raw English string into a placeholder, so the catalog translation never applies.

Fix

  • Move the tabs array into the component and subscribe with useLingui(), so the labels re-render after locale activation.
  • Translate the heading words directly: isTemplate ? tTemplates : tBoards``. The page title uses the same approach.

No catalog changes are needed — all message ids already exist.

Same bug class as #563, found while testing the Ukrainian translation from #562.

🤖 Generated with Claude Code

The tabs array was a module-level constant, so its labels kept the
locale active at module load. The heading passed a raw English word
into a placeholder. Move the tabs into the component, subscribe with
useLingui, and translate the heading words directly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TavbPaXhouNDFXLwR6hTHy

@hjball hjball 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.

lgtm

@hjball
hjball merged commit ff67d74 into kanbn:main Sep 1, 2026
kevinm6 pushed a commit to kevinm6/kan that referenced this pull request Sep 2, 2026
The tabs array was a module-level constant, so its labels kept the
locale active at module load. The heading passed a raw English word
into a placeholder. Move the tabs into the component, subscribe with
useLingui, and translate the heading words directly.


Claude-Session: https://claude.ai/code/session_01TavbPaXhouNDFXLwR6hTHy

Co-authored-by: Serhii Hordiichuk <>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
kevinm6 pushed a commit to kevinm6/kan that referenced this pull request Sep 2, 2026
The tabs array was a module-level constant, so its labels kept the
locale active at module load. The heading passed a raw English word
into a placeholder. Move the tabs into the component, subscribe with
useLingui, and translate the heading words directly.


Claude-Session: https://claude.ai/code/session_01TavbPaXhouNDFXLwR6hTHy

Co-authored-by: Serhii Hordiichuk <>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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