Skip to content

feat: add Dutch (nl) locale - #1391

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

Gryzze-CAW wants to merge 1 commit 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 language support to 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

Review in Change Stack →

No actionable comments were generated in the recent review.

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: d72e7f5c-9fc0-41b3-af61-78e275c4fa69
Commits

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

Files selected for processing: 13
  • AGENTS.md
  • README.md
  • electron-builder.json5
  • electron/i18n.ts
  • src/i18n/__tests__/tutorialHelpTranslations.test.ts
  • src/i18n/config.ts
  • src/i18n/locales/nl/common.json
  • src/i18n/locales/nl/dialogs.json
  • src/i18n/locales/nl/editor.json
  • src/i18n/locales/nl/launch.json
  • src/i18n/locales/nl/settings.json
  • src/i18n/locales/nl/shortcuts.json
  • src/i18n/locales/nl/timeline.json

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this 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.

Priority: Normal

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

Change: Feature

Possibly related issues

  • getopenscreen/openscreen#913: Dutch launch tooltip translations overlap with the issue’s scope, but the supplied context does not establish that this change fulfills its native-speaker review requirement.
Merge Risk: Minimal · up to e11ac

No actionable issue is established for the Dutch locale addition; it is ready to merge after normal checks.

Pre-merge checks: Passed 4 · Failed 1

Failed 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%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 3 files. (10 skipped: 1… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly identifies the main change: adding the Dutch (nl) locale.
Description check Passed The description covers the required sections and provides clear implementation details, testing results, release impact, and known testing limitations. Screenshots are referenced as pending, but this …
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.
Full details: Description check

Explanation

The description covers the required sections and provides clear implementation details, testing results, release impact, and known testing limitations. Screenshots are referenced as pending, but this is a minor omission for a localization change.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 3 files. (10 skipped: 10 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

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

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

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.

1 participant