Skip to content

docs: add French translations (README, CONTRIBUTING, SECURITY) - #63660

Closed
iacker wants to merge 2 commits into
NousResearch:mainfrom
iacker:docs/french-readme-contributing
Closed

iacker wants to merge 2 commits into
NousResearch:mainfrom
iacker:docs/french-readme-contributing

Conversation

@iacker

@iacker iacker commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds French translations of the core documentation, following the existing locale-suffix convention already used for Spanish (README.es.md, CONTRIBUTING.es.md, SECURITY.es.md):

  • README.fr.md
  • CONTRIBUTING.fr.md
  • SECURITY.fr.md

Closes #60535.

Approach

  • Translated from the current English sources (not from the Spanish files, which lag a version behind — e.g. the Nous Portal section, antivirus troubleshooting, and the current contributor flow were missing there).
  • Written in natural, idiomatic French by a native speaker — not machine-translated.
  • Language badge banner in README.fr.md mirrors README.es.md: adds an English badge → README.md, keeps the existing 中文 / اردو / Español badges, and does not self-link a French badge.
  • Technical identifiers kept verbatim: commands (hermes setup, hermes model…), paths (~/.hermes/, config.yaml, %LOCALAPPDATA%\hermes), env vars (HERMES_*), provider/model names, URLs, and all code blocks (including in-code comments).
  • Internal links point to the .fr.md versions where they now exist.
  • The English LICENSE remains the authoritative legal version.

Verification

  • Code-fence parity with each English source (README 18/18, CONTRIBUTING 58/58; SECURITY has none).
  • Heading/structure and separators preserved; internal anchors resolve against the French headings.
  • No residual English prose outside technical identifiers.
  • Original README.md / CONTRIBUTING.md / SECURITY.md untouched.

Adds French versions of the core documentation following the existing
locale-suffix convention (README.es.md, CONTRIBUTING.es.md, SECURITY.es.md):

- README.fr.md
- CONTRIBUTING.fr.md
- SECURITY.fr.md

Translated from the current English sources by a native French speaker.
Technical identifiers (commands, paths, env vars, provider/model names,
URLs, code blocks) are kept verbatim. The English LICENSE remains the
authoritative legal version.

Closes NousResearch#60535

Signed-off-by: iacker <iacker@users.noreply.github.com>

@teknium1 teknium1 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for adding a complete French set of the root documentation. The current English sources are unchanged from the PR base, so the translation remains current against main.

Problems

  • SECURITY.fr.md:359 still directs readers to CONTRIBUTING.md; use the newly added CONTRIBUTING.fr.md. The established Spanish counterpart localizes this same reference at SECURITY.es.md:311.
  • The canonical selector in README.md:14-16 has badges for Chinese, Urdu, and Spanish but not French. Add a README.fr.md badge there so the new translation is discoverable from the primary entry point.

Suggested changes

  • Replace the security-policy cross-reference with CONTRIBUTING.fr.md.
  • Extend the existing README.md language badge block with French.

Automated hermes-sweeper review.

Comment thread SECURITY.fr.md Outdated
journal d'audit d'installation constituent la surface de revue.
- Hermes Agent inclut des garde-fous de chaîne d'approvisionnement pour
le lancement des serveurs MCP et pour les changements de dépendances
/ paquets embarqués en CI ; voir `CONTRIBUTING.md` pour les détails.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Please point this localized policy at the new CONTRIBUTING.fr.md. The equivalent Spanish policy already uses CONTRIBUTING.es.md, so leaving this as CONTRIBUTING.md unnecessarily sends French readers back to English.

@teknium1 teknium1 added the sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users label Jul 16, 2026
@alt-glitch alt-glitch added type/docs Documentation improvements P3 Low — cosmetic, nice to have labels Jul 16, 2026
Address hermes-sweeper review on NousResearch#63660:
- SECURITY.fr.md: point security-policy cross-reference to CONTRIBUTING.fr.md
  (matching SECURITY.es.md localization convention)
- README.md: add README.fr.md language badge so the French translation is
  discoverable from the primary entry point

Signed-off-by: Billard <82095453+iacker@users.noreply.github.com>
@teknium1 teknium1 added the area/i18n Localization, locales, translations label Jul 19, 2026
@ghost

ghost commented Jul 31, 2026

Copy link
Copy Markdown

Hello, can i help to review this. i'm a french native Canadian. i can help if you want.

@GottZ

GottZ commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

This was generated by AI during triage.

Summary

One PR addresses issue #60535. #63660 adds French translations of README, CONTRIBUTING, and SECURITY, links the translated documents internally, and adds French discoverability to the primary README; the issue remains open despite a non-contributor comment claiming its subject is now CI-enforced.

Related pull requests

  • docs: add French translations (README, CONTRIBUTING, SECURITY) #63660 best fix — (+1659/-0) — n/a: Adds README.fr.md, CONTRIBUTING.fr.md, and SECURITY.fr.md from the English documentation, directly covering the requested French onboarding and contributor materials. The complete diff addresses the contributor keep_open review by adding the French badge to README.md and linking CONTRIBUTING.fr.md from SECURITY.fr.md.

Suggested consolidation

Keep #63660 open with a salvage path: preserve its complete French documentation set and the two diff-visible fixes requested by the contributor review. It is the recorded best available fix and has no competing duplicate, but no merge recommendation is supported by the recorded lane finding.

Complex graph

flowchart LR
    classDef open fill:#dbeafe,stroke:#1d4ed8,color:#1e3a8a
    classDef merged fill:#dcfce7,stroke:#15803d,color:#14532d
    classDef closed fill:#e5e7eb,stroke:#6b7280,color:#1f2937
    classDef unverified fill:#f3f4f6,stroke:#9ca3af,color:#374151
    classDef best stroke-width:3px,stroke:#b45309
    classDef target stroke-width:3px,stroke:#4338ca
    I60535(["issue #60535 (open)"])
    P63660["PR #63660 (open)"]
    P63660 -->|best fix| I60535
    class I60535 open
    class P63660 open
    class P63660 best
    class P63660 target
    click I60535 "https://github.com/NousResearch/hermes-agent/issues/60535"
    click P63660 "https://github.com/NousResearch/hermes-agent/pull/63660"
Loading

Graph: solid arrow = fixes / best fix, dashed arrow = partial or unverified (see edge label); boxed group = PRs duplicating each other; amber border = best fix; indigo border = target; gray node = closed (state tag in the node label).

Cross-PR triage: Reviewed 1 pull request and 1 issue in this complex. Each diff was read against this issue; Assessment working set: 97 kB of PR diffs, 3 kB of issue/PR text, 2 kB of discussion (4 comments), 2 verify verdicts. verdicts reflect diff content, not PR titles. Part of an automated triage batch.

@iacker

iacker commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

Both requested follow-ups are now addressed in d47613e: the primary README includes the French language badge, and SECURITY.fr.md links to CONTRIBUTING.fr.md. All required checks are green. PTAL when you have a moment @teknium1.

@andrexibiza

Copy link
Copy Markdown
Contributor

Salvage record: your French translation was cherry-picked into the germination pipeline PR (#80391, closes #60535) with your commits' authorship preserved. The parity gate caught drift since your July base (Vercel Sandbox backend count, hermes config get, stale conftest symbol, dangling anchors, security-surface identifiers) and the pipeline re-germinated your prose against current main. Your work is the seed — thanks for a genuinely native translation. (Axl Ibiza, MBA)

andrexibiza added a commit to andrexibiza/hermes-agent that referenced this pull request Aug 6, 2026
…ent localization

Blind semantic review of the French translations (28 findings, zero
meaning-changing technical errors) — all applied:

- False friend: "éventuellement" -> "en option" (MemoryProvider post_setup).
- Calques removed: harnais -> infrastructure de l'agent; plomberie ->
  infrastructure de configuration; exercez -> testez; amorçage phrasing;
  "un amont" -> "un service en amont"; "n'opère pas" -> "n'a pas de
  programme"; sandboxe -> n'isole que le shell.
- Meaning shift: "exfiltration opportuniste" -> "exfiltration accidentelle"
  (casual != opportunistic).
- Anglicisms: managé -> géré; template de PR -> gabarit de PR; gating ->
  verrouillage; Assets TTS -> Ressources TTS; sites d'appel -> points
  d'appel; "official" -> « officielle ».
- Terminology standardized: allowlist -> « liste d'autorisation » everywhere
  (3 renderings collapsed to 1); "core" -> « cœur ».
- Residual English: reload/start-chatting comments, skill-example comments,
  branch-type table, version-window comments, tree-structure comments,
  project-tree comments — all translated.
- Recurring calque: "résoudre des approbations" -> « statuer sur les
  approbations » (3 sites).

Gate refinement enabling this: fence comments are now LOCALIZABLE prose —
comment-normalized body hashes (commands must match exactly, comments may
be translated, comment code spans like `env -i` still required). This is
the principled line: code never translated, comments are docs.

chore: map contributor email iacker (credit ledger for NousResearch#63660 seed).
Signed-off-by: Andrex Ibiza, MBA <84248988+andrexibiza@users.noreply.github.com>
@iacker

iacker commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Thanks @andrexibiza — really glad the French translation could serve as the seed. Happy to see it re-germinated against current main and gate-enforced; the drift you caught (Vercel Sandbox backend count, hermes config get, the stale conftest symbol, the dangling anchors) is exactly the kind of silent rot a one-shot copy can't defend against. The parity gate is the right call.

Closing this in favor of #80391 makes sense — authorship is preserved there. If it helps the top-10 rollout, I'm happy to germinate one of the still-pending locales (pt / id) through the pipeline and run the gate before opening anything. Just say the word so we don't duplicate the in-flight PRs.

@andrexibiza

Copy link
Copy Markdown
Contributor

Thanks @andrexibiza — really glad the French translation could serve as the seed. Happy to see it re-germinated against current main and gate-enforced; the drift you caught (Vercel Sandbox backend count, hermes config get, the stale conftest symbol, the dangling anchors) is exactly the kind of silent rot a one-shot copy can't defend against. The parity gate is the right call.

Closing this in favor of #80391 makes sense — authorship is preserved there. If it helps the top-10 rollout, I'm happy to germinate one of the still-pending locales (pt / id) through the pipeline and run the gate before opening anything. Just say the word so we don't duplicate the in-flight PRs.

All language requests are now in-flight germination.

Hermes is everywhere now.

@alt-glitch alt-glitch added the duplicate This issue or pull request already exists label Aug 6, 2026
@alt-glitch

Copy link
Copy Markdown
Contributor

This was generated by AI during triage.

Superseded by #80391, which incorporates this French translation with its current-main parity pipeline and preserves the source work's authorship.

@iacker

iacker commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

Closing this since #80391 supersedes it and preserves the original authorship.

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

Labels

area/i18n Localization, locales, translations P3 Low — cosmetic, nice to have sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users type/docs Documentation improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add French translations for README and contributor docs

5 participants