Skip to content

Add Polish translations#734

Open
Kocmouch wants to merge 1 commit into
webadderallorg:mainfrom
Kocmouch:feature/polish-locale
Open

Add Polish translations#734
Kocmouch wants to merge 1 commit into
webadderallorg:mainfrom
Kocmouch:feature/polish-locale

Conversation

@Kocmouch

@Kocmouch Kocmouch commented Jul 9, 2026

Copy link
Copy Markdown

Description

Adds full Polish (pl) localization support to Recordly.

This PR registers pl as a supported app locale, adds complete Polish translations for all current i18n namespaces, and exposes Polish in the language selectors used in the launch UI and editor settings.

Motivation

Recordly already supports multiple UI languages, but Polish was not available.

This change adds Polish as a first-class locale so Polish-speaking users can use the launch UI, editor, dialogs, settings, shortcuts, timeline labels, and extensions UI in their language.

Type of Change

  • New Feature
  • Bug Fix
  • Refactor / Code Cleanup
  • Documentation Update
  • Other (please specify)

Related Issue(s)

N/A

Screenshots / Video

Screenshot (if applicable):
image
image

Video (wherever possible):

N/A

Testing Guide

  1. Install dependencies:
npm install
  1. Start the app:
npm run dev
  1. Switch the app locale to Polish:
  • In the launch HUD: open the language menu and select Polski
  • In the editor: open Settings and select Polski
  1. If the language dropdown is difficult to use in the current HUD layout, force the locale in DevTools:
localStorage.setItem("recordly.locale", "pl")
location.reload()
  1. Verify the UI is translated in:
  • launch / recording UI
  • editor settings
  • export UI
  • dialogs
  • keyboard shortcuts
  • extensions
  • timeline labels
  1. Verify the Polish locale matches the English locale structure:
node -e 'const fs=require("fs");const path=require("path");const base=path.join(process.cwd(),"src/i18n/locales/en");const pl=path.join(process.cwd(),"src/i18n/locales/pl");const files=fs.readdirSync(base).filter(f=>f.endsWith(".json")).sort();const collect=(obj,prefix="")=>Object.entries(obj).flatMap(([k,v])=>v&&typeof v==="object"&&!Array.isArray(v)?collect(v,prefix?`${prefix}.${k}`:k):[prefix?`${prefix}.${k}`:k]);let ok=true;for(const f of files){const en=JSON.parse(fs.readFileSync(path.join(base,f),"utf8"));const plj=JSON.parse(fs.readFileSync(path.join(pl,f),"utf8"));const enKeys=collect(en).sort();const plKeys=collect(plj).sort();const missing=enKeys.filter(k=>!plKeys.includes(k));const extra=plKeys.filter(k=>!enKeys.includes(k));if(missing.length||extra.length){ok=false;console.log(f,{missing,extra});}}if(ok) console.log("pl locale matches en structure across", files.length, "files");'

Note: npm run i18n:check currently reports pre-existing failures in other locales unrelated to this PR.

Checklist

  • I have performed a self-review of my code.
  • I have added any necessary screenshots or videos.
  • I have linked related issue(s) and updated the changelog if applicable.

Summary by CodeRabbit

  • New Features
    • Added Polish language support across the app, including editor, launch, settings, timeline, shortcuts, extensions, dialogs, and common UI text.
    • Polish now appears as an available language option in relevant menus and settings.
    • Added localized messaging for key workflows such as recording, exporting, extensions, and keyboard shortcuts.

@github-actions github-actions Bot added the Slop label Jul 9, 2026
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

⚠️ This pull request has been flagged by Anti-Slop.
Our automated checks detected patterns commonly associated with
low-quality or automated/AI submissions (failure count reached).
No automatic closure — a maintainer will review it.
If this is legitimate work, please add more context, link issues, or ping us.

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds Polish (pl) locale support to the application. It introduces new Polish translation JSON files for common, dialogs, editor, extensions, launch, settings, shortcuts, and timeline namespaces, registers pl in the I18nContext message map and config, and adds Polish display labels to language selectors in MorePopover and SettingsPanel.

Changes

Polish locale addition

Layer / File(s) Summary
Locale registration and language labels
src/contexts/I18nContext.tsx, src/i18n/config.ts, src/components/launch/popovers/MorePopover.tsx, src/components/video-editor/SettingsPanel.tsx
Imports Polish JSON bundles and registers them under pl in the messages map, and adds pl: "Polski" display labels to language dropdowns.
Core UI locale bundles
src/i18n/locales/pl/common.json, src/i18n/locales/pl/editor.json, src/i18n/locales/pl/dialogs.json
Adds Polish translations for common actions/errors, editor UI text, and export/font/shortcut dialog strings.
Feature-area locale bundles
src/i18n/locales/pl/extensions.json, src/i18n/locales/pl/launch.json, src/i18n/locales/pl/timeline.json, src/i18n/locales/pl/shortcuts.json
Adds Polish translations for extensions UI, recording/launch flow, timeline actions, and shortcut action labels.
Settings locale bundle
src/i18n/locales/pl/settings.json
Adds Polish translations for zoom/trim/speed/clip controls, captions, crop/background editing, export options, and audio settings.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested labels: Checked

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately summarizes the main change: adding Polish translations.
Description check ✅ Passed The PR description matches the template and includes all required sections with a clear testing guide and screenshots.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 PR with unit tests

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

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

⚠️ This pull request has been flagged by Anti-Slop.
Our automated checks detected patterns commonly associated with
low-quality or automated/AI submissions (failure count reached).
No automatic closure — a maintainer will review it.
If this is legitimate work, please add more context, link issues, or ping us.

@coderabbitai coderabbitai Bot 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.

🧹 Nitpick comments (1)
src/components/video-editor/SettingsPanel.tsx (1)

916-916: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Consider centralizing locale display labels to avoid sync drift.

Both LOCALE_LABELS in MorePopover.tsx and APP_LANGUAGE_LABELS in SettingsPanel.tsx now duplicate the same pl: "Polski" entry. Each new locale requires updating both maps manually. Extracting a single shared LOCALE_LABELS: Record<AppLocale, string> into src/i18n/config.ts and importing it in both components would eliminate this duplication and prevent future drift.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/video-editor/SettingsPanel.tsx` at line 916, The locale label
maps are duplicated between SettingsPanel and MorePopover, including the new pl
label, which can drift over time. Move the shared locale display labels into a
single LOCALE_LABELS constant in src/i18n/config.ts (typed as Record<AppLocale,
string>) and update SettingsPanel and MorePopover to import and use that shared
source instead of maintaining separate copies.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@src/components/video-editor/SettingsPanel.tsx`:
- Line 916: The locale label maps are duplicated between SettingsPanel and
MorePopover, including the new pl label, which can drift over time. Move the
shared locale display labels into a single LOCALE_LABELS constant in
src/i18n/config.ts (typed as Record<AppLocale, string>) and update SettingsPanel
and MorePopover to import and use that shared source instead of maintaining
separate copies.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e641023b-a36c-4374-97fe-b4cd412c5358

📥 Commits

Reviewing files that changed from the base of the PR and between 641d223 and 78769d3.

📒 Files selected for processing (12)
  • src/components/launch/popovers/MorePopover.tsx
  • src/components/video-editor/SettingsPanel.tsx
  • src/contexts/I18nContext.tsx
  • src/i18n/config.ts
  • src/i18n/locales/pl/common.json
  • src/i18n/locales/pl/dialogs.json
  • src/i18n/locales/pl/editor.json
  • src/i18n/locales/pl/extensions.json
  • src/i18n/locales/pl/launch.json
  • src/i18n/locales/pl/settings.json
  • src/i18n/locales/pl/shortcuts.json
  • src/i18n/locales/pl/timeline.json

@Kocmouch

Kocmouch commented Jul 9, 2026

Copy link
Copy Markdown
Author

This is a manual contribution adding Polish localization support to Recordly.

What I've changed changed:

  • added 'pl' (Polish) to the supported app locales
  • registered the Polish locale in the i18n context
  • added Polish translations for all current i18n namespaces (as in other locales)
  • exposed Polski in the launch and editor language selectors to math the current way of selectign languages

How did i perform validation:

  • verified the new pl locale matches the en locale structure across all 8 namespace files
  • manually tested locale switching by setting recordly.locale to pl and confirming the UI renders Polish strings in the launch UI, editor settings, dialogs, export UI, shortcuts, timeline labels, and extensions UI (also with the use of devTools)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant