Skip to content

Add additional locales and logo navigation to Latest Topics - #23

Merged
merefield merged 2 commits into
masterfrom
feat/additional-locales
Oct 11, 2026
Merged

merefield merged 2 commits into
masterfrom
feat/additional-locales

Conversation

@merefield

Copy link
Copy Markdown
Owner

Adds complete embedded catalogues for Dutch, Italian, Russian, Japanese, Simplified Chinese, Swedish, Norwegian Bokmål, Turkish, Estonian, Finnish, Brazilian Portuguese, European Portuguese, and Danish. This brings the interface to 16 languages with 17 locale options. Language selection handles regional and POSIX locale names, help lists every supported code, and Turkish presentation casing respects dotted and dotless i. Documentation and tests cover catalogue completeness, interpolation, keyboard shortcuts, translated layouts, and mouse targets.

Clicking the Termcourse logo returns to Topics → Latest from lists, open topics, search, notifications, and images. Click areas follow the visible compact or large logo after resizing; draft navigation locks still apply. Locale support and logo navigation are in separate commits, with locale support first.

Validation:

  • Full race-enabled test suite and go vet ./... pass.
  • All six release targets build: macOS, Linux, and Windows on amd64 and arm64.
  • Go vulnerability scan reports no reachable vulnerabilities.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 Needs a closer look

A moderate unresolved Turkish casing issue remains in internal/ui/controls.go.

0 open findings

What changed in this PR

Adds 13 locale catalogues, locale-aware matching and casing, and clickable logo navigation back to Latest Topics.

Changes:

  • Expands embedded translations and documentation.
  • Adds Turkish-aware casing and responsive logo navigation.
  • Adds comprehensive localization and navigation tests.
File Summary
README.md Documents supported languages and logo navigation.
internal/​ui/​ui.go Adds navigation state and locale-aware casing.
internal/​ui/​topic.go Localizes progress labels.
internal/​ui/​tabs.go Localizes tabs and registers logo targets.
internal/​ui/​style.go Defines the compact logo.
internal/​ui/​logo.go Implements logo hit-testing and Latest navigation.
internal/​ui/​logo_test.go Tests logo targets, navigation, and draft protections.
internal/​ui/​locales_test.go Tests translated layouts and mouse bounds.
internal/​ui/​images.go Supports logo navigation from image views.
internal/​ui/​controls.go Applies locale-aware footer casing; moderate issue remains with uppercasing theme names before Turkish casing (1 vote).
internal/​ui/​composer.go Supports logo navigation in prompts.
internal/​i18n/​locales/​zh-Hans.yml Adds Simplified Chinese translations.
internal/​i18n/​locales/​tr.yml Adds Turkish translations.
internal/​i18n/​locales/​sv.yml Adds Swedish translations.
internal/​i18n/​locales/​ru.yml Adds Russian translations.
internal/​i18n/​locales/​pt-PT.yml Adds European Portuguese translations.
internal/​i18n/​locales/​pt-BR.yml Adds Brazilian Portuguese translations.
internal/​i18n/​locales/​nl.yml Adds Dutch translations.
internal/​i18n/​locales/​nb.yml Adds Norwegian Bokmål translations.
internal/​i18n/​locales/​ja.yml Adds Japanese translations.
internal/​i18n/​locales/​it.yml Adds Italian translations.
internal/​i18n/​locales/​fr.yml Updates French locale help.
internal/​i18n/​locales/​fi.yml Adds Finnish translations.
internal/​i18n/​locales/​et.yml Adds Estonian translations.
internal/​i18n/​locales/​es.yml Updates Spanish locale help.
internal/​i18n/​locales/​en.yml Updates English locale help.
internal/​i18n/​locales/​de.yml Updates German locale help.
internal/​i18n/​locales/​da.yml Adds Danish translations.
internal/​i18n/​i18n.go Adds locale matching and Turkish casing.
internal/​i18n/​i18n_test.go Tests locale resolution and catalogue completeness.
internal/​app/​app_test.go Tests localized help output.
go.mod Promotes golang.org/x/text to a direct dependency.

🧠 Review effort: Lite


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

@merefield
merefield merged commit 6715421 into master Oct 11, 2026
5 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