Skip to content

feat(i18n): add Dutch (nl) locale#2406

Merged
n0umen0n merged 1 commit into
mainfrom
feat/i18n-dutch-locale
Jul 20, 2026
Merged

feat(i18n): add Dutch (nl) locale#2406
n0umen0n merged 1 commit into
mainfrom
feat/i18n-dutch-locale

Conversation

@n0umen0n

@n0umen0n n0umen0n commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds Dutch (nl / Nederlands) as a seventh platform language alongside en, pt, es, fr, de, and mk
  • Full nl.json message catalog (3342 keys) with ICU plural forms preserved; ModalAside and BankingTab parity checks pass
  • Wires nl through routing, locale metadata, chat-server/onboarding helpers, voice speech locale, banking referer parsing, and the energy-i18n merge script

Test plan

  • pnpm verify:messages passes
  • Language switcher shows Nederlands (NL) and navigating to /nl/... loads Dutch copy
  • Spot-check Common nav labels (Terug, Sluiten, Ruimtes) and a HumanChatPanel plural string
  • Onboarding/chat locale directive lists Dutch among the 7 supported languages
  • Banking flows still resolve locale from /nl/ referer paths

Made with Cursor

Summary by CodeRabbit

  • New Features
    • Added Dutch (nl) as a supported application language.
    • Added comprehensive Dutch translations across navigation, onboarding, chat, energy, proposals, wallets, and other interface areas.
    • Added Dutch voice locale support, including speech recognition and interim responses.
    • Dutch proposal titles and onboarding guidance are now localized.
  • Bug Fixes
    • Dutch locale detection now works correctly from localized URLs.

Adds Nederlands as a seventh platform language, selectable from the
language switcher:

- full nl.json message file translated from en.json (3342 keys,
  ModalAside and BankingTab parity checks pass; ICU plurals preserved)
- nl registered in routing locales, locale metadata, and the sync
  message map
- locale lists extended in chat-server and epics onboarding helpers
- banking request locale parser accepts /nl/ paths
- energy-i18n merge script and nl energy strings included

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: fe90ca51-9bd9-45f4-b3fc-a6836eeda17e

📥 Commits

Reviewing files that changed from the base of the PR and between f5545cf and 89c47db.

📒 Files selected for processing (13)
  • apps/web/src/lib/bank-customers/banking-request-locale.ts
  • packages/chat-server/src/__tests__/onboarding-locale.test.ts
  • packages/chat-server/src/locale-ui-labels.ts
  • packages/chat-server/src/onboarding-locale.ts
  • packages/epics/src/common/onboarding-picker-message-i18n.ts
  • packages/epics/src/common/onboarding-voice-locale.ts
  • packages/epics/src/common/onboarding-voice-speech.ts
  • packages/i18n/src/locale-metadata.ts
  • packages/i18n/src/messages.ts
  • packages/i18n/src/messages/nl.json
  • packages/i18n/src/routing.ts
  • scripts/energy-i18n/nl.json
  • scripts/merge-energy-i18n.mjs

Walkthrough

Changes

Dutch (nl) is added to locale routing, metadata, message loading, onboarding, chat labels, voice support, banking request detection, and Energy localization resources.

Dutch Locale Support

Layer / File(s) Summary
Locale registry and message catalog
packages/i18n/src/routing.ts, packages/i18n/src/locale-metadata.ts, packages/i18n/src/messages.ts, packages/i18n/src/messages/nl.json
Registers Dutch and adds its broad UI message catalog.
Onboarding and chat locale handling
apps/web/src/lib/bank-customers/banking-request-locale.ts, packages/chat-server/src/*
Accepts Dutch in locale extraction, onboarding directives, chat labels, proposal titles, and related tests.
Onboarding picker and voice support
packages/epics/src/common/onboarding-picker-message-i18n.ts, packages/epics/src/common/onboarding-voice-*.ts
Adds Dutch onboarding variants, nl-NL speech resolution, and interim acknowledgement phrases.
Energy translation integration
scripts/energy-i18n/nl.json, scripts/merge-energy-i18n.mjs, packages/i18n/src/messages/nl.json
Adds Dutch Energy strings and includes Dutch in Energy label merging.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

  • hypha-dao/hypha-web#2372: Makes parallel locale-handling updates for Macedonian across shared routing, onboarding, voice, chat, and request-locale paths.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title follows the required conventional commits format and accurately describes the main change: adding Dutch locale support in i18n.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/i18n-dutch-locale

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install timed out. The project may have too many dependencies for the sandbox.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

🔗 Custom preview URL: https://pr-2406.preview-app.hypha.earth

@n0umen0n
n0umen0n added this pull request to the merge queue Jul 20, 2026
Merged via the queue into main with commit dda9eb1 Jul 20, 2026
10 checks passed
@n0umen0n
n0umen0n deleted the feat/i18n-dutch-locale branch July 20, 2026 12:54
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.

1 participant