Skip to content

feat(locales): add French translation (fr) - #194

Merged
proxysoul merged 1 commit into
proxysoul:mainfrom
Zutyosh:locales/add-french
Sep 2, 2026
Merged

feat(locales): add French translation (fr)#194
proxysoul merged 1 commit into
proxysoul:mainfrom
Zutyosh:locales/add-french

Conversation

@Zutyosh

@Zutyosh Zutyosh commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Adds locales/fr.json — a complete French catalog, 5506/5506 keys (100%).

bun scripts/validate-locales.ts fr should print:

ok    fr       100% translated  (5506/5506)

What was done

  • Copied en.json, translated values only — keys, order and JSON shape untouched.
  • Every {placeholder} preserved, including ones nested inside plural/select
    branch bodies ({delta}, {count, number}).
  • ICU plurals keep their plural wrapper and an other branch; empty =0
    branches and select keywords (one/other/yes/on/global/running…) are
    untouched — only branch bodies are translated.
  • Product names left as-is: Empryo, Forge, Genome, Marionette, Hearth, SoulForge,
    Claude, OpenAI, GitHub, JSON, API, MCP, LSP, fff, DevPass, Grok, Copilot.
  • command.*.name values are single unaccented ASCII tokens so they stay
    typeable on any keyboard (apropos, jalon-annuler, git-remise,
    abonnements-statut); acronyms untouched (mcp, lsp, fff, git).
    No duplicates, no spaces, no slashes.
  • No control, escape, bidi or zero-width characters; nothing pasted from a
    terminal. Longest value is well under the 400-char limit.
  • Length kept close to the English (~1.2× on average) so fixed-width panels
    still fit; the 331 values identical to English are terms that are already
    French or untranslatable (Git, Chat, Auto, Console, Ctrl+K, stdio, distro
    names…).

Note

desktop.settings-drawer.type-slash-commands-in-this-language uses a French
example (/langue for /language) instead of the Arabic one from the English
string, which keeps the catalog free of any RTL text.

Full French catalog — 5506/5506 keys translated from en.json.

- keys, placeholders and ICU plural/select structures preserved verbatim
- product names left untranslated (Empryo, Forge, Genome, Marionette,
  Hearth, Claude, OpenAI, GitHub, JSON, API, MCP, LSP, fff, DevPass)
- command .name values are single ASCII tokens, unaccented so they stay
  typeable (apropos, jalon-annuler, git-remise, abonnements-statut);
  acronyms untouched (mcp, lsp, fff, git)
- no control, bidi or zero-width characters; every value under 400 chars
- values kept close to the English length for the fixed-width panels
@Zutyosh
Zutyosh requested a review from proxysoul as a code owner September 2, 2026 09:59
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

💤 Files selected but had no reviewable changes (1)
  • locales/fr.json
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Team

Run ID: 61b556c2-f1ea-43d5-8fdc-242ff1f653db

📥 Commits

Reviewing files that changed from the base of the PR and between 67a9854 and c919e41.

📒 Files selected for processing (1)
  • locales/fr.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@proxysoul proxysoul left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Validated locally: 5506/5506 keys against the published en.json, placeholders and plural wrappers intact, no control/bidi/zero-width characters, all 162 command names unique ASCII with no collisions. Spot-checked the prose — idiomatic and consistent. Merci !

@proxysoul
proxysoul merged commit cc766e7 into proxysoul:main Sep 2, 2026
3 checks passed
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