Skip to content
This repository was archived by the owner on Jun 7, 2026. It is now read-only.

feat: add Brazilian Portuguese (pt-BR) translation#581

Merged
siddharthvaddem merged 2 commits into
siddharthvaddem:mainfrom
nxc-7:feat/pt-BR-translation
May 29, 2026
Merged

feat: add Brazilian Portuguese (pt-BR) translation#581
siddharthvaddem merged 2 commits into
siddharthvaddem:mainfrom
nxc-7:feat/pt-BR-translation

Conversation

@nxc-7

@nxc-7 nxc-7 commented May 12, 2026

Copy link
Copy Markdown
Contributor

Pull Request

Description

Add Brazilian Portuguese (pt-BR) as a supported locale.

Motivation

Extends language support to Brazilian Portuguese speakers, making the app accessible to a larger audience.

Type of Change

  • New Feature

Testing

  1. Run the app (npm run dev)
  2. Open the language menu in the HUD bar
  3. Select Português Brasileiro
  4. Verify all UI strings are correctly translated

Checklist

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

Thank you for contributing!

Summary by CodeRabbit

  • New Features
    • Added Brazilian Portuguese (pt-BR) as a supported language with complete translations across recording controls, editor functions, playback settings, keyboard shortcuts, timeline tools, dialogs, and settings menus.

Review Change Stack

@nxc-7 nxc-7 requested a review from siddharthvaddem as a code owner May 12, 2026 23:10
@coderabbitai

coderabbitai Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 95215937-0651-4caf-a567-4bd4112b90eb

📥 Commits

Reviewing files that changed from the base of the PR and between c13d3c7 and afc76c3.

📒 Files selected for processing (1)
  • src/i18n/config.ts

📝 Walkthrough

Walkthrough

This PR adds complete Brazilian Portuguese (pt-BR) localization support to the application. It registers the new locale in the i18n config and provides full translation coverage across seven UI domains: common strings, launch features, editor states, dialog flows, settings panels, keyboard shortcuts, and timeline operations. Total additions: 502 lines of translation JSON.

Changes

Brazilian Portuguese Localization Support

Layer / File(s) Summary
Locale registration and foundational strings
src/i18n/config.ts, src/i18n/locales/pt-BR/common.json
Register pt-BR in SUPPORTED_LOCALES and provide base translations for UI actions, playback controls, and locale metadata.
Launch and recording feature translations
src/i18n/locales/pt-BR/launch.json
Provide Portuguese translations for launch UI including tooltips, audio/webcam labels, cursor options, source selection, and system language prompts with interpolation placeholders.
Editor, dialog, and settings UI translations
src/i18n/locales/pt-BR/editor.json, src/i18n/locales/pt-BR/dialogs.json, src/i18n/locales/pt-BR/settings.json
Add Portuguese translations for editor recording/project states, dialog export/file operations, and settings sections (zoom, effects, export formats, fonts).
Shortcuts and timeline control translations
src/i18n/locales/pt-BR/shortcuts.json, src/i18n/locales/pt-BR/timeline.json
Provide Portuguese translations for keyboard shortcut UI (actions and fixed navigation) and timeline controls (edit operations, button labels, hints, and success messages).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • siddharthvaddem/openscreen#436: Adds new i18n locale support (zh-TW) via SUPPORTED_LOCALES registration and corresponding locale JSON files—follows identical pattern to this pt-BR addition.
  • siddharthvaddem/openscreen#375: Updates SUPPORTED_LOCALES with a new locale (tr) and introduces matching locale resource files under the same directory structure.
  • siddharthvaddem/openscreen#618: Extends i18n support by modifying SUPPORTED_LOCALES and adding new locale resource files (it), using the same registration and resource pattern.

Suggested reviewers

  • siddharthvaddem

Poem

🇧🇷 Translations flow in Portuguese bright,
pt-BR now shines at midnight,
Common strings to timelines deep,
Seven JSON files—localization keeps,
The app speaks em português, tá bom? 🎉

🚥 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
Title check ✅ Passed Title clearly and concisely describes the main change: adding Brazilian Portuguese translation support to the application.
Description check ✅ Passed Description covers key sections (purpose, motivation, type, testing steps) but is missing screenshots/videos and related issue links despite checklist claim.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

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 skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


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 and usage tips.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c13d3c71bc

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/i18n/config.ts
"ar",
"ru",
"vi",
"pt-BR",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Register Portuguese in the Electron main locale list

When users select the newly exposed pt-BR locale, the renderer saves it and calls window.electronAPI.setLocale(newLocale), but the main-process i18n registry still only imports/accepts locales through vi in electron/i18n.ts (setMainLocale silently ignores anything else). In that scenario the HUD/editor text switches to Portuguese while the application menu and tray strings remain in the previous/default language, so this locale needs to be added to the main-process Locale, messages, and allow-list as well.

Useful? React with 👍 / 👎.

@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/i18n/locales/pt-BR/common.json (1)

10-10: 💤 Low value

nit: consider translating these borrowings for consistency

lines 10, 41-42 keep the english terms "Upload", "Play", "Pause" – while these are super common in tech contexts, the rest of the file translates everything. could use:

  • "Upload" → "Enviar" or "Fazer Upload"
  • "Play" → "Reproduzir"
  • "Pause" → "Pausar"

lowkey your call though, borrowed english terms are pretty standard in pt-br ui

Also applies to: 41-42

🤖 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/i18n/locales/pt-BR/common.json` at line 10, The JSON values for the keys
"upload", "play", and "pause" are left in English; update their values to
Portuguese for consistency (e.g., "upload" → "Enviar" or "Fazer Upload", "play"
→ "Reproduzir", "pause" → "Pausar") and ensure the rest of the pt-BR locale file
uses the same localized terms and spelling conventions across other keys that
reference these actions.
🤖 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/i18n/locales/pt-BR/common.json`:
- Line 10: The JSON values for the keys "upload", "play", and "pause" are left
in English; update their values to Portuguese for consistency (e.g., "upload" →
"Enviar" or "Fazer Upload", "play" → "Reproduzir", "pause" → "Pausar") and
ensure the rest of the pt-BR locale file uses the same localized terms and
spelling conventions across other keys that reference these actions.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 996e162c-b187-4f50-afae-3c5340f6e02c

📥 Commits

Reviewing files that changed from the base of the PR and between b0293e7 and c13d3c7.

📒 Files selected for processing (9)
  • src/components/launch/LaunchWindow.tsx
  • src/i18n/config.ts
  • src/i18n/locales/pt-BR/common.json
  • src/i18n/locales/pt-BR/dialogs.json
  • src/i18n/locales/pt-BR/editor.json
  • src/i18n/locales/pt-BR/launch.json
  • src/i18n/locales/pt-BR/settings.json
  • src/i18n/locales/pt-BR/shortcuts.json
  • src/i18n/locales/pt-BR/timeline.json

@nxc-7 nxc-7 closed this May 13, 2026
@nxc-7 nxc-7 deleted the feat/pt-BR-translation branch May 13, 2026 21:42
@nxc-7 nxc-7 restored the feat/pt-BR-translation branch May 13, 2026 21:51
@nxc-7 nxc-7 reopened this May 13, 2026
@siddharthvaddem siddharthvaddem merged commit cf74b76 into siddharthvaddem:main May 29, 2026
2 of 3 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants