Skip to content

feat: add Dutch (nl) locale - #1391

Open
Gryzze-CAW wants to merge 2 commits into
getopenscreen:mainfrom
Gryzze-CAW:feat/add-dutch-locale
Open

Gryzze-CAW wants to merge 2 commits into
getopenscreen:mainfrom
Gryzze-CAW:feat/add-dutch-locale

Conversation

@Gryzze-CAW

@Gryzze-CAW Gryzze-CAW commented Oct 25, 2026 •

Copy link
Copy Markdown

Summary

Adds Dutch (nl) as the 16th supported locale. All seven namespaces are translated (common, dialogs, editor, launch, settings, shortcuts, timeline) and nl is registered everywhere a locale list is read: SUPPORTED_LOCALES, the main-process mini-i18n, both language lists in electron-builder.json5, and the dialogs map in the tutorial-help test. README and AGENTS.md list the new language and count.

The folder is the bare tag nl, so the renderer's base-language matching routes nl-NL and nl-BE to it.

AI WAS USED to produce the first translation (Claude). A native Dutch (Flemish) speaker reviewed it in the running app.

Dutch-specific choices:

  • Informal "je" form throughout. Buttons and menu commands use the infinitive.
  • Standard Dutch, not regional wording.
  • Established product terms stay in English where they are common in Dutch software: Timeline, Zoom, Trim, Keyframe, Frame, Full Camera, Services, Developer Tools.
  • dialogs.tutorial.* fragments are cut to fit Dutch word order. explanationMiddle starts with a full stop and no leading space, so the sentence reads "...die je wilt verwijderen. Alles wat bedekt is door een rood trimsegment, wordt...".
  • Typographic quotes and apostrophes, no straight quotes in values.
  • effects.fitClipFew is filled in for key parity (Dutch has only one/other).

Related issue

No existing issue or pull request for Dutch found.

Type of change

  • Bug fix
  • Feature
  • Enhancement
  • Documentation
  • Refactor / maintenance
  • Performance
  • Security

Release impact

  • Patch
  • Minor
  • Major / breaking change
  • No release note needed

Desktop impact

  • Windows
  • macOS
  • Linux
  • Installer / packaging
  • Not platform-specific

Screenshots / video

Editor in Dutch (browser mode, ?windowType=editor): screenshots to follow in a comment.

Testing

  • npm run i18n:check passes: 15 locales match en across 7 namespaces, 16 SUPPORTED_LOCALES align with appx.languages and electronLanguages.
  • npx vitest run src/i18n passes (129 tests, including localeParity and tutorialHelpTranslations for nl).
  • npx tsc --noEmit and biome check on the changed files pass.
  • Ran NO_ELECTRON=1 npm run dev and checked the editor, panels and timeline in Dutch in the browser.
  • Not checked: native menus, tray and dialogs of the Electron main process (only common and dialogs namespaces), and the exact rendering of the trim tutorial sentence and "of video exported in" fragment in the packaged app.

Summary by CodeRabbit

  • New Features

    • Added Dutch as a supported language across the app, including the interface, dialogs, settings, shortcuts, and timeline.
    • Added Dutch to the languages supported by app packaging.
  • Documentation

    • Updated the supported-language list and localization guidance to include Dutch.

@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

This change adds Dutch translations across the application and registers Dutch as a supported locale in the application, Electron main process, and packaging configuration.

Changes: Dutch locale support

Layer / File(s) Summary
Dutch translation catalogs and checks
src/i18n/locales/nl/*, src/i18n/__tests__/tutorialHelpTranslations.test.ts
Adds Dutch translations for common actions, dialogs, editor, launch interface, settings, shortcuts, and timeline. The tutorial-help checks now include Dutch dialogs.
Locale registration and distribution
src/i18n/config.ts, electron/i18n.ts, electron-builder.json5, README.md, AGENTS.md
Adds Dutch to the supported locale list, Electron message map and locale setter, and packaging language lists. Updates the README language list and locale-count references.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Possibly related issues

Possibly related PRs

  • getopenscreen/openscreen#1402: This PR adds editor translation keys; the Dutch editor catalog in this change may need to include those keys for locale parity.
  • getopenscreen/openscreen#1177: This PR adds editor token-usage translation keys; the Dutch editor catalog in this change may need to include those keys for locale parity.
  • getopenscreen/openscreen#1425: This PR changes common update translation keys that the Dutch common catalog includes.
Merge Risk: Minimal · up to 08511

Dutch is available for selection, including regional language suggestions. No merge-blocking issue was identified.

Pre-merge checks: Passed 5

Check name Status Explanation
Title check Passed The title clearly identifies the addition of the Dutch locale.
Description check Passed The description covers the required sections and reports testing and known gaps. Screenshots are still pending.
Docstring Coverage Passed Docstring coverage is inconclusive: files from earlier reviews still need to be rechecked within the check's analysis limits. Not blocking.
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 unit tests (beta)

  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8077d6a5-cba7-4e3b-b7cb-b2c1a1a41d65
Commits

Reviewing files that changed from the base of the PR and between e11aca3 and 0851194.

Files selected for processing: 5

  • AGENTS.md
  • electron-builder.json5
  • src/i18n/locales/nl/common.json
  • src/i18n/locales/nl/editor.json
  • src/i18n/locales/nl/timeline.json
Files skipped from review as they are similar to previous changes: 4

  • src/i18n/locales/nl/timeline.json
  • src/i18n/locales/nl/editor.json
  • src/i18n/locales/nl/common.json
  • AGENTS.md

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 6 remain after this review.

@EtienneLescot

Copy link
Copy Markdown
Member

Hi @Gryzze-CAW, I rebased this on main and added the Dutch strings main gained in the meantime (32 keys). Thanks a lot for the translation! 🇳🇱

This branch has not been deployed

No deployments
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