Skip to content

feat(i18n): Add internationalization support with English and Chinese#648

Open
Yeluo10123 wants to merge 2 commits intoCrosstalk-Solutions:mainfrom
Yeluo10123:main
Open

feat(i18n): Add internationalization support with English and Chinese#648
Yeluo10123 wants to merge 2 commits intoCrosstalk-Solutions:mainfrom
Yeluo10123:main

Conversation

@Yeluo10123
Copy link
Copy Markdown

Summary

  • Add i18next internationalization framework
  • Add English (en) and Chinese (zh) translation files
  • Create LanguageSwitcher component for runtime language switching
  • Integrate i18n initialization in app.tsx

Translation Structure

Translations are organized by feature:

  • common: Common UI elements (buttons, labels)
  • home: Dashboard/home page
  • menu: Navigation menu items
  • maps: Maps feature
  • chat: AI chat feature
  • settings: Settings pages
  • system: System settings
  • apps: App management
  • models: AI models
  • easySetup: Setup wizard
  • docs: Documentation
  • about: About page
  • errors: Error pages

Usage

Components can use translations like:

import { useTranslation } from 'react-i18next'

function MyComponent() {
  const { t } = useTranslation()
  return <button>{t('common.save')}</button>
}

Language Switcher

A LanguageSwitcher component is provided that can be added to the settings UI for users to switch between English and Chinese.

Next Steps

  • Add LanguageSwitcher to settings UI
  • Translate remaining hardcoded strings in page components
  • Add more languages (e.g., Spanish, French)

🤖 Generated with Claude Code

claude added 2 commits April 4, 2026 10:24
- Add i18next, react-i18next, and i18next-browser-languagedetector
- Create i18n configuration with language detection
- Add English (en) and Chinese (zh) translation files
- Create LanguageSwitcher component for runtime language switching
- Integrate i18n initialization in app.tsx

Translation keys organized by section:
- common: Common UI elements
- home: Dashboard/home page
- menu: Navigation menu items
- maps: Maps feature
- chat: AI chat feature
- settings: Settings pages
- system: System settings
- apps: App management
- models: AI models
- easySetup: Setup wizard
- docs: Documentation
- about: About page
- errors: Error pages

Co-Authored-By: Claude <noreply@anthropic.com>
…ages

- Add useTranslation hook to SettingsLayout
- Replace hardcoded menu items with translation keys
- Add LanguageSwitcher component to settings header
- Add i18n support to home page (Command Center)
- Translate Maps, Easy Setup, Install Apps, Docs, Settings menu items
- Update Alert components to use translation keys
- Add new translation keys for menu items and descriptions

Translation keys added:
- home.easySetupDesc, home.installAppsDesc, home.docsDesc, home.settingsDesc
- maps.viewOffline
- settings.contentExplorer, settings.contentManager, settings.mapsManager
- settings.checkUpdates, settings.supportProject, settings.serviceLogs

Co-Authored-By: Claude <noreply@anthropic.com>
@chriscrosstalk
Copy link
Copy Markdown
Collaborator

Thanks for the substantial work on i18n here. Quick status update so you know where this stands:

There are currently three open i18n PRs using two different frameworks (#490 with react-i18next + Portuguese, #518 with react-i18next + German, #648 with plain i18next + Chinese), each covering a different language. Before landing any i18n work, we need to make a framework decision so we end up with one coherent approach rather than a mix of incompatible implementations.

i18n isn't in scope for the next release cycle. It's on the roadmap for a future release, but no firm timeline.

What this means for your PR:

  • No rush to rebase against current dev — these are long-lived PRs
  • The framework decision will happen when we have capacity to actually integrate i18n, not before
  • We'll coordinate a single direction with all three contributors when that time comes
  • Your translation work is genuinely valued — we don't want to waste it by forcing a premature decision between branches

Leaving this open and labeling as Roadmap Item. Thanks for your patience and for contributing to NOMAD's international reach.

@chriscrosstalk chriscrosstalk added the Roadmap Item Will be included in a future release label Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Roadmap Item Will be included in a future release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants