Skip to content

localized menu - #178

Merged
markdav-is merged 2 commits into
mainfrom
feature/localized-menu
Jul 16, 2026
Merged

localized menu#178
markdav-is merged 2 commits into
mainfrom
feature/localized-menu

Conversation

@markdav-is

Copy link
Copy Markdown
Member

PR Classification

New feature: Implements a localized navigation menu system for the TenTreesTheme in Oqtane.

PR Summary

Introduces new Blazor components to provide a localized navigation menu, replacing the default menu in the theme and supporting English and Xitsonga translations.

  • Added LocalizedMenu.razor and related components to duplicate and localize the Oqtane menu structure using IStringLocalizer.
  • Created LocalizedMenu.resx and LocalizedMenu.ts-ZA.resx resource files for English and Xitsonga navigation item translations.
  • Updated Theme.razor to use the new LocalizedMenu component instead of the default menu.
  • Added HANDOFF.md documenting implementation details, test status, and known issues.

markdav-is and others added 2 commits July 15, 2026 12:04
Copies Oqtane's Menu/MenuItems control chain into the theme and
localizes page names via IStringLocalizer keyed by Page.Name, with
fallback to the raw database name when no resource exists. Includes
neutral and ts-ZA (Xitsonga) resources reusing reviewed Home tile
translations; "Kaya" (Home) is new and needs translation review.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 16, 2026 01:56
@markdav-is
markdav-is merged commit 10bfcb8 into main Jul 16, 2026
1 check passed

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.

Pull request overview

Implements a localized navigation menu for TenTreesTheme by replacing the default Oqtane menu with a set of copied menu components that localize Page.Name via IStringLocalizer, backed by new .resx resource files (English + Xitsonga).

Changes:

  • Added LocalizedMenu* Blazor components and LocalizedMenuBase to localize menu item text using Page.Name as the resource key.
  • Wired the theme to use <LocalizedMenu Orientation="Horizontal" /> instead of the default <Menu ... />.
  • Added LocalizedMenu.resx and LocalizedMenu.ts-ZA.resx with navigation translation entries (and a hand-off doc file).

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
HANDOFF.md Added a session hand-off document describing implementation/testing notes.
Client/Themes/TenTreesTheme/Theme.razor Swapped the theme’s menu component to LocalizedMenu.
Client/Themes/TenTreesTheme/LocalizedMenu.razor Orientation dispatcher for horizontal vs vertical localized menu rendering.
Client/Themes/TenTreesTheme/LocalizedMenuBase.cs Base class that injects IStringLocalizer and maps Page.Name → localized string.
Client/Themes/TenTreesTheme/LocalizedMenuHorizontal.razor Horizontal menu wrapper using the localized items component.
Client/Themes/TenTreesTheme/LocalizedMenuVertical.razor Vertical menu wrapper using the localized items component.
Client/Themes/TenTreesTheme/LocalizedMenuItemsHorizontal.razor Localized version of horizontal menu items (renders LocalizeName(childPage)).
Client/Themes/TenTreesTheme/LocalizedMenuItemsVertical.razor Localized version of vertical menu items (renders LocalizeName(childPage)).
Client/Resources/OpenEug.TenTrees.Theme.TenTreesTheme/LocalizedMenu.resx Base (English) resource keys for nav item names.
Client/Resources/OpenEug.TenTrees.Theme.TenTreesTheme/LocalizedMenu.ts-ZA.resx Xitsonga resource keys for nav item names.

Comment thread HANDOFF.md
# Hand-off: Localized Navigation Menu (feature/localized-menu)

Session hand-off for continuing work on another machine. Written 2026-07-15.
Delete this file before merging the branch.
}
else
{
<ul class="navbar-nav mr-auto">
Comment on lines +19 to +22
<span class="w-100" data-bs-toggle="collapse" data-bs-target=".navbar-collapse.show">
<span class="@childPage.Icon" aria-hidden="true" />
@LocalizeName(childPage) <span class="visually-hidden-focusable">(current)</span>
</span>
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