Skip to content

Added full support for the French language.#291

Closed
Ewazer wants to merge 9 commits into
webadderallorg:mainfrom
Ewazer:main
Closed

Added full support for the French language.#291
Ewazer wants to merge 9 commits into
webadderallorg:mainfrom
Ewazer:main

Conversation

@Ewazer
Copy link
Copy Markdown
Contributor

@Ewazer Ewazer commented Apr 20, 2026

Pull Request Template

Description

Added full support for the French language.

Motivation

To allow French-speaking users to use Recordly in their native language.

Type of Change

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

Related Issue(s)

N/A

Screenshots

image

Testing Guide

  1. Launch the application
  2. Change the language to "Français" in the settings

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
    • French localization added across the app (editor, settings, dialogs, extensions, recording/launch screens, timeline, keyboard shortcuts, and common UI).
    • French now selectable in language settings and shown as "Français" in the Settings language list.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 20, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1095b045-dd70-46d7-a32f-040528e755a3

📥 Commits

Reviewing files that changed from the base of the PR and between b250065 and 4484c17.

📒 Files selected for processing (5)
  • src/i18n/locales/fr/editor.json
  • src/i18n/locales/fr/extensions.json
  • src/i18n/locales/fr/settings.json
  • src/i18n/locales/fr/shortcuts.json
  • src/i18n/locales/fr/timeline.json
✅ Files skipped from review due to trivial changes (5)
  • src/i18n/locales/fr/shortcuts.json
  • src/i18n/locales/fr/timeline.json
  • src/i18n/locales/fr/extensions.json
  • src/i18n/locales/fr/editor.json
  • src/i18n/locales/fr/settings.json

📝 Walkthrough

Walkthrough

Add French localization: include "fr" in supported locales, register French message bundles in the i18n context, add eight French JSON resource files, and add the "Français" UI label in SettingsPanel.

Changes

Cohort / File(s) Summary
I18n core
src/contexts/I18nContext.tsx, src/i18n/config.ts
Register French message bundles in the i18n messages map and add "fr" to SUPPORTED_LOCALES, expanding the AppLocale union. No public API changes.
French locale resources
src/i18n/locales/fr/common.json, src/i18n/locales/fr/dialogs.json, src/i18n/locales/fr/editor.json, src/i18n/locales/fr/extensions.json, src/i18n/locales/fr/launch.json, src/i18n/locales/fr/settings.json, src/i18n/locales/fr/shortcuts.json, src/i18n/locales/fr/timeline.json
Add eight new French translation JSON files covering common UI, dialogs, editor, extensions, launch/recording, settings, shortcuts, and timeline namespaces.
UI language labels
src/components/video-editor/SettingsPanel.tsx
Add frFrançais to APP_LANGUAGE_LABELS so the French option displays in settings.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • webadderall/Recordly#175 — Adds a new locale by importing JSON bundles and updating SUPPORTED_LOCALES and I18n registration; same integration pattern.
  • webadderall/Recordly#198 — Registers a locale bundle and updates supported locales and UI labels using the same approach; closely related code changes.

Poem

🐰 J'ai sauté pour dire "bonjour" ce matin,
Huit paquets de français, doux comme un chemin.
Menus et dialogues chantent d'une voix claire,
Timeline et réglages dansent en plein air.
Un petit saut — la langue est maintenant là.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Added full support for the French language' accurately and concisely describes the main change: adding French locale resources and enabling French language support throughout the application.
Description check ✅ Passed The PR description follows the template well with all major sections completed: clear description, motivation, type of change selected, testing guide provided, and checklist mostly completed with screenshots included.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/i18n/config.ts`:
- Line 3: SUPPORTED_LOCALES was extended to include "fr" which widened the
AppLocale union, but APP_LANGUAGE_LABELS in SettingsPanel.tsx is missing the
"fr" key and now causes a TypeScript exhaustiveness error; update the
APP_LANGUAGE_LABELS Record<AppLocale, string> (in
src/components/video-editor/SettingsPanel.tsx) to include an entry for "fr"
(e.g., the French label) so the record is exhaustive and matches the
SUPPORTED_LOCALES/AppLocale union.

In `@src/i18n/locales/fr/launch.json`:
- Around line 1-77: The French locale file contains English strings — replace
every English value under the top-level keys "recording", "sourceSelector",
"permissions" and the nested "update" object with proper French translations,
preserving interpolation placeholders like {{path}}, {{name}}, {{version}}, and
{{error}} exactly as-is; update keys such as "record", "stop", "cancel",
"loadingSources", "screenRecordingNeeded", and all "update.*" titles to French
equivalents so the UI shows French text for the recording controls, source
selector and permission prompts.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: df4992c5-3765-4c85-8979-d7ffdcae5654

📥 Commits

Reviewing files that changed from the base of the PR and between 2c00f18 and 7e54bb0.

📒 Files selected for processing (10)
  • src/contexts/I18nContext.tsx
  • src/i18n/config.ts
  • src/i18n/locales/fr/common.json
  • src/i18n/locales/fr/dialogs.json
  • src/i18n/locales/fr/editor.json
  • src/i18n/locales/fr/extensions.json
  • src/i18n/locales/fr/launch.json
  • src/i18n/locales/fr/settings.json
  • src/i18n/locales/fr/shortcuts.json
  • src/i18n/locales/fr/timeline.json

Comment thread src/i18n/config.ts
Comment thread src/i18n/locales/fr/launch.json Outdated
@webadderall
Copy link
Copy Markdown
Collaborator

please resolve coderabbit review issues

@Ewazer
Copy link
Copy Markdown
Contributor Author

Ewazer commented Apr 20, 2026

Okay, I've applied the fixes.

@Ewazer
Copy link
Copy Markdown
Contributor Author

Ewazer commented Apr 20, 2026

Closing this PR to opening it from a dedicated branch

@Ewazer Ewazer closed this Apr 20, 2026
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.

2 participants