Skip to content

Translation FR#106

Open
FredT69 wants to merge 5 commits into
tinyauthapp:mainfrom
FredT69:translation
Open

Translation FR#106
FredT69 wants to merge 5 commits into
tinyauthapp:mainfrom
FredT69:translation

Conversation

@FredT69

@FredT69 FredT69 commented Jun 26, 2026

Copy link
Copy Markdown

Translation FR

Summary by CodeRabbit

  • New Features

    • Added French documentation across getting started, reference, guides, integrations, and migration topics.
    • Added a browser-based configuration migration helper for upgrading settings.
    • Expanded localized UI text for search, theme selection, and the homepage issue link.
  • Bug Fixes

    • Updated site configuration to support English and French locale selection.
    • Removed an analytics integration from the site setup.
  • Chores

    • Updated the Mermaid integration dependency to a newer version.

@dosubot dosubot Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Jun 26, 2026
@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@FredT69, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 28 minutes and 58 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: bf593dd6-b401-4277-aed3-03db2b4fce77

📥 Commits

Reviewing files that changed from the base of the PR and between e543134 and 99c4de2.

📒 Files selected for processing (1)
  • README.md
📝 Walkthrough

Walkthrough

Adds French locale configuration and translation strings, updates the mermaid dependency, and adds French documentation pages across getting started, reference, upgrade, guide, and integration sections.

Changes

French locale and documentation

Layer / File(s) Summary
Locale setup and i18n strings
astro.config.mjs, package.json, src/content/i18n/*.json
Astro locale settings are updated for root and fr, astro-mermaid is bumped, and English/French i18n JSON files change.
Core French docs
src/content/docs/fr/docs/{about.mdx,getting-started.mdx,reference/{authentication.mdx,flow.mdx,headers.mdx,labels.mdx}}
French about, getting-started, auth flow, header, label, and authentication reference pages are added or expanded.
Reference docs
src/content/docs/fr/docs/reference/{configuration.mdx,cli.mdx,telemetry.mdx,changelog.mdx}
French configuration, CLI, telemetry, and changelog reference pages are added.
Upgrade guides and migrator
src/content/docs/fr/docs/breaking-updates/{3-to-4.mdx,4-to-5.mdx,4-to-5-migrator.astro}
French v3-to-v4 and v4-to-v5 upgrade content is added, along with the browser-based config migrator page.
Contributing, binary, and advanced setup
src/content/docs/fr/docs/{contributing/contributing.mdx,guides/{using-the-binary.mdx,advanced.mdx}}
French contributing, binary usage, and advanced setup pages are added.
Access controls and auth primitives
src/content/docs/fr/docs/guides/{access-controls.mdx,ldap.mdx,oidc.mdx,totp.mdx}
French guides for access controls, LDAP, OIDC, and TOTP are added.
OAuth provider guides
src/content/docs/fr/docs/{guides/{github-app-oauth.mdx,github-oauth.mdx,google-oauth.mdx,other-oauth.mdx,pocket-id.mdx},community/zitadel-oauth.mdx}
French provider-specific OAuth/OIDC setup guides are added for GitHub, Google, generic providers, Pocket ID, and Zitadel.
Community and deployment integrations
src/content/docs/fr/docs/{community/{caddy.mdx,kubernetes.mdx},guides/{nginx-proxy-manager.mdx,runtipi.mdx},integrations/zerobyte.mdx}
French integration guides are added for Caddy, Kubernetes, Nginx Proxy Manager, Runtipi, and Zerobyte.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • tinyauthapp/docs#13: Adds the same French Pocket ID integration topic as the pocket-id guide included here.
  • tinyauthapp/docs#18: Updates Caddy header-forwarding guidance, which overlaps with the new Caddy and headers documentation here.
  • tinyauthapp/docs#100: Introduces the same French “Other OAuth Providers” guide topic included in this PR.

Suggested reviewers

  • shadownetdev1
  • Rycochet
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is related to the change, but it is too generic to describe the main update. Use a specific title like "Add French documentation translations" or "Translate docs to French".
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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.

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.

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

Actionable comments posted: 5

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

🟡 Minor comments (16)
src/content/i18n/en.json-1-1 (1)

1-1: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Add the custom footer translation key to the root bundle.

Line 1 leaves the default root locale empty, but src/components/footer.astro:30 reads Astro.locals.t("builtWithStarlight.label"). With defaultLocale: 'root' in astro.config.mjs, that key currently has no value to resolve from for either locale.

Suggested fix
-{}
+{
+  "builtWithStarlight.label": "Built with Starlight"
+}

Add the matching French entry in src/content/i18n/fr.json as well.

🤖 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/content/i18n/en.json` at line 1, The root i18n bundle is empty, so
`Astro.locals.t("builtWithStarlight.label")` in `footer.astro` has no fallback
value when `defaultLocale` is `root`. Add the `builtWithStarlight.label`
translation to the root locale in `src/content/i18n/en.json`, and mirror the
same key in the French bundle `src/content/i18n/fr.json` so both locales resolve
correctly.
src/content/docs/fr/docs/guides/pocket-id.mdx-12-12 (1)

12-12: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Configuring Pocket ID" should be "Configuration de Pocket ID" for consistency with the French translation.

🤖 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/content/docs/fr/docs/guides/pocket-id.mdx` at line 12, The page heading
text is still in English instead of French. Update the Markdown heading in the
Pocket ID guide content to use the French translation, matching the existing
French localization style and keeping the heading consistent with the rest of
the translated docs.
src/content/docs/fr/docs/guides/github-oauth.mdx-27-27 (1)

27-27: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Retrieving Credentials" should be translated to French, e.g., "Récupération des identifiants".

🤖 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/content/docs/fr/docs/guides/github-oauth.mdx` at line 27, The heading in
the GitHub OAuth guide is still in English and should be translated to French;
update the “Retrieving Credentials” section title in the documentation content
to a French equivalent, such as “Récupération des identifiants,” so the
localized guide stays consistent with the rest of the fr docs.
src/content/docs/fr/docs/guides/github-oauth.mdx-8-8 (1)

8-8: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Requirements" should be "Exigences" for consistency with the French translation and the other French guides.

🤖 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/content/docs/fr/docs/guides/github-oauth.mdx` at line 8, The heading in
the French GitHub OAuth guide is still in English; update the Markdown heading
currently written as Requirements to the French equivalent Exigences so it
matches the rest of the translated documentation and the established French
terminology.
src/content/docs/fr/docs/guides/google-oauth.mdx-8-8 (1)

8-8: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Requirements" should be "Exigences" for consistency with the French translation.

🤖 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/content/docs/fr/docs/guides/google-oauth.mdx` at line 8, The heading text
in the Google OAuth docs is still in English; update the markdown heading
labeled “Requirements” to the French equivalent “Exigences” so it matches the
rest of the French translation and keeps terminology consistent.
src/content/docs/fr/docs/guides/google-oauth.mdx-13-13 (1)

13-13: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Creating the Google OAuth App" should be translated to French, e.g., "Création de l'application OAuth Google".

🤖 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/content/docs/fr/docs/guides/google-oauth.mdx` at line 13, The heading in
the Google OAuth guide is still in English and needs to be localized; update the
markdown title text in the docs content to French in the relevant section,
keeping the meaning of “Creating the Google OAuth App” and matching the
surrounding French documentation style.
src/content/docs/fr/docs/guides/github-oauth.mdx-13-13 (1)

13-13: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Creating the GitHub OAuth App" should be translated to French, e.g., "Création de l'application OAuth GitHub".

🤖 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/content/docs/fr/docs/guides/github-oauth.mdx` at line 13, The heading in
the GitHub OAuth guide is still in English and should be localized; update the
markdown heading in the docs content to French so it matches the rest of the
translated page, using the existing section title text for the GitHub OAuth App
creation step.
src/content/docs/fr/docs/guides/github-oauth.mdx-39-39 (1)

39-39: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Configuring Tinyauth" should be "Configuration de Tinyauth" for consistency with the French translation.

🤖 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/content/docs/fr/docs/guides/github-oauth.mdx` at line 39, The heading
text is still in English, so update the markdown section title in the French
docs to match the localized translation. Change the “Configuring Tinyauth”
heading in the GitHub OAuth guide to “Configuration de Tinyauth” and keep the
surrounding French content consistent.
src/content/docs/fr/docs/guides/other-oauth.mdx-38-41 (1)

38-41: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate comments in the YAML code block to French.

Lines 38-41 contain English comments that should be translated for consistency with the French documentation:

  • Line 38: "This is usually not needed as Tinyauth can auto-generate it, but you can specify it if your provider requires a specific redirect URL."
  • Line 39: "Ensure you include the necessary scopes for your provider."
  • Line 40: "This is the name that will be displayed on the login page for this provider."
  • Line 41: "Only set this to true if your provider uses self-signed certificates"
🤖 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/content/docs/fr/docs/guides/other-oauth.mdx` around lines 38 - 41,
Translate the English inline YAML comments in the OAuth example to French so the
documentation stays consistent with the rest of the page; update the commented
descriptions associated with the provider settings in the markdown snippet,
especially the notes for the redirect URL, scopes, display name, and
insecure/self-signed certificate option, while keeping the surrounding
configuration keys unchanged.
src/content/docs/fr/docs/guides/google-oauth.mdx-55-55 (1)

55-55: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Configuring Tinyauth" should be "Configuration de Tinyauth" for consistency with the French translation.

🤖 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/content/docs/fr/docs/guides/google-oauth.mdx` at line 55, The heading in
the French Google OAuth guide is still in English and should be translated for
consistency. Update the markdown heading text currently rendered by the docs
content so it uses the French equivalent, and keep the surrounding structure
unchanged; this is the section titled with the Tinyauth configuration heading.
src/content/docs/fr/docs/guides/pocket-id.mdx-8-8 (1)

8-8: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Requirements" should be "Exigences" for consistency with the French translation.

🤖 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/content/docs/fr/docs/guides/pocket-id.mdx` at line 8, The section heading
in the Pocket ID French documentation is still in English, so update the
“Requirements” heading in the MDX content to the French equivalent “Exigences”
to keep the translation consistent.
src/content/docs/fr/docs/guides/pocket-id.mdx-35-35 (1)

35-35: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Translate the heading to French.

"Configuring Tinyauth" should be "Configuration de Tinyauth" for consistency with the French translation.

🤖 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/content/docs/fr/docs/guides/pocket-id.mdx` at line 35, The heading text
in the pocket-id guide is still in English and should be translated for the
French docs. Update the markdown heading currently labeled “Configuring
Tinyauth” to the French equivalent “Configuration de Tinyauth” in the docs
content so it matches the rest of the localized page.
src/content/docs/fr/docs/reference/telemetry.mdx-13-13 (1)

13-13: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use "L'UUID" instead of "Le UUID".

In French, the definite article must elide before a vowel: "L'UUID" not "Le UUID".

📝 Proposed fix
-  Le UUID généré à partir de l'URL de l'application est un hachage irréversible et ne peut pas être utilisé pour identifier l'instance.
+  L'UUID généré à partir de l'URL de l'application est un hachage irréversible et ne peut pas être utilisé pour identifier l'instance.
🤖 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/content/docs/fr/docs/reference/telemetry.mdx` at line 13, Update the
French telemetry documentation wording to use the correct elided article,
changing the phrase in the telemetry.mdx content from “Le UUID” to “L’UUID”;
this is a copy/edit fix in the documentation text, so adjust the sentence
directly where the UUID description appears.
src/content/docs/fr/docs/reference/telemetry.mdx-16-16 (1)

16-16: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fix adjective agreement: "identifiable" (singular).

"Information" is singular, so the coordinated adjective must agree: "Aucune information personnelle, sensible ou identifiable n'est collectée."

📝 Proposed fix
-  Les données sont envoyées à `https://api.tinyauth.app/v1/instances/hearbeat` toutes les 12 heures. Aucune information personnelle, sensible ou identifiables n'est collectée. Le battement peut être désactivé avec :
+  Les données sont envoyées à `https://api.tinyauth.app/v1/instances/hearbeat` toutes les 12 heures. Aucune information personnelle, sensible ou identifiable n'est collectée. Le battement peut être désactivé avec :
🤖 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/content/docs/fr/docs/reference/telemetry.mdx` at line 16, In the
telemetry docs copy, fix the adjective agreement in the sentence about collected
data: since “information” is singular, update the wording in the affected line
to use the singular form “identifiable” alongside “personnelle” and “sensible”
in the `telemetry.mdx` text.
src/content/docs/fr/docs/reference/changelog.mdx-21-21 (1)

21-21: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fix contributor handle typo: @scottmckendr@scottmckendry.

The GitHub handle is missing the final y. This is inconsistent with the correct spelling used on lines 11–12.

📝 Proposed fix
- - Corriger le remplissage automatique du champ TOTP qui ne fonctionnait pas dans certains gestionnaires de mots de passe `@scottmckendr`
+ - Corriger le remplissage automatique du champ TOTP qui ne fonctionnait pas dans certains gestionnaires de mots de passe `@scottmckendry`
🤖 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/content/docs/fr/docs/reference/changelog.mdx` at line 21, Correct the
contributor handle typo in the changelog entry by updating the author mention in
the relevant markdown content from the misspelled GitHub handle to the correct
one. Locate the French changelog entry in the markdown section and ensure the
contributor reference matches the existing spelling used elsewhere in the
document, keeping the same entry text and only fixing the handle.
src/content/docs/fr/docs/guides/using-the-binary.mdx-36-36 (1)

36-36: 🎯 Functional Correctness | 🟡 Minor

Use a locale-preserving docs link and fix the fragile shell commands for environment variables.

Docs Link (Line 36)

The absolute link /docs/reference/configuration bypasses the locale-aware routing. It will likely redirect French users to the English default page.

  • Fix: Change to a relative link: ../reference/configuration.
  • Verification: The file src/content/docs/fr/docs/reference/configuration.mdx exists, so the relative path resolves correctly within the fr locale.

Shell Snippets (Lines 43–48)

The commands export $(grep ... | xargs ...) and the unset variant are unsafe.

  • Issue: These patterns break if values contain spaces, quotes, or special characters (common in secrets). Even if values are quoted in .env, the shell expansion outside quotes often splits words or misinterprets characters.
  • sed risk: The regex s/(.*)=.*/\1/ in the unset example captures the last = in the line. Values like KEY="value=with=equals" would incorrectly identify the variable name.
  • Recommendation: Use set -a; source .env; set +a for safe exporting, or at least ensure values are strictly simple strings without spaces in the documentation context.
Suggested diff for the shell snippets
   Une fois configuré, démarrez Tinyauth. Pour les configurations basées sur des variables d'environnement, exportez les variables dans le shell :

   ```sh
-   export $(grep -v '^#' .env | xargs -d '\n')
+   set -a
+   source .env
+   set +a

:::note

  • Pour désactiver les variables d'environnement à des fins de sécurité, utilisez : `unset $(grep
  • -v '^#' .env | sed -E 's/(.)=./\1/' | xargs)`.
  • Pour désactiver les variables d'environnement à des fins de sécurité, redémarrez la session ou définissez manuellement les variables à vide.
    :::
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

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/content/docs/fr/docs/guides/using-the-binary.mdx at line 36, Update the
French docs in the using-the-binary guide to use the locale-relative
configuration link instead of the absolute /docs/reference/configuration path,
so it resolves within the fr locale. Also replace the fragile shell examples in
the environment-variable section with a safer approach in the same guide
content, using the existing shell snippet and note wording to avoid
exporting/unsetting via grep/xargs/sed patterns that break on spaces, quotes, or
equals signs.


</details>

<!-- cr-comment:v1:d6d1567f741029a9365d9788 -->

</blockquote></details>

</blockquote></details>

<details>
<summary>🧹 Nitpick comments (6)</summary><blockquote>

<details>
<summary>src/content/docs/fr/docs/reference/labels.mdx (2)</summary><blockquote>

`8-8`: _📐 Maintainability & Code Quality_ | _🔵 Trivial_ | _⚡ Quick win_

**Translate section header "Discovery" to French.**

Consider using "Découverte" or "Identification" to match the French translation pattern used throughout this page.

<details>
<summary>🤖 Prompt for AI Agents</summary>

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/content/docs/fr/docs/reference/labels.mdx at line 8, The section header
in the labels documentation is still in English, so update the “Discovery”
heading to a French equivalent to match the rest of the page. Edit the markdown
header in the labels reference content and replace it with the appropriate
translated term, such as “Découverte” or “Identification,” keeping the
surrounding structure unchanged.


</details>

<!-- cr-comment:v1:d59563341b09b12bd3282262 -->

---

`22-22`: _📐 Maintainability & Code Quality_ | _🔵 Trivial_ | _⚡ Quick win_

**Translate section header "Full List" to French.**

Consider using "Liste complète" to match the French translation pattern used throughout this page.

<details>
<summary>🤖 Prompt for AI Agents</summary>

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/content/docs/fr/docs/reference/labels.mdx at line 22, The section header
in the labels documentation is still in English; update the “Full List” heading
to French to match the rest of the localized page. Make this change in the
markdown heading within the labels docs content, keeping the translation
consistent with the existing French wording pattern such as “Liste complète.”


</details>

<!-- cr-comment:v1:5d9dc34003fa03d27a2ede8a -->

</blockquote></details>
<details>
<summary>src/content/docs/fr/docs/reference/cli.mdx (1)</summary><blockquote>

`2-2`: _📐 Maintainability & Code Quality_ | _🔵 Trivial_ | _💤 Low value_

**Remove trailing period from title for consistency.**

The title "Référence sur le CLI Tinyauth." ends with a period, which is inconsistent with other French reference pages (e.g., "Flux", "Étiquettes", "Configuration"). Consider removing it for uniformity.

<details>
<summary>🤖 Prompt for AI Agents</summary>

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/content/docs/fr/docs/reference/cli.mdx at line 2, The page title in the
French CLI reference frontmatter is inconsistent because it ends with a trailing
period. Update the title field in the docs frontmatter for the CLI reference
page to match the style used by the other French reference pages such as Flux,
Étiquettes, and Configuration, and remove the final period while keeping the
existing wording.


</details>

<!-- cr-comment:v1:ef41cbd2d5f717fa36f08556 -->

</blockquote></details>
<details>
<summary>src/content/docs/fr/docs/community/caddy.mdx (1)</summary><blockquote>

`56-69`: _📐 Maintainability & Code Quality_ | _🔵 Trivial_ | _⚡ Quick win_

**Translate the English comment in the French doc.**

Line 111 contains an English comment `# optional when you want to make headers available to your service` in a French documentation page. For consistency, translate this to French:

```diff
-      caddy.forward_auth.copy_headers: Remote-User Remote-Name Remote-Email Remote-Groups # optional when you want to make headers available to your service
+      caddy.forward_auth.copy_headers: Remote-User Remote-Name Remote-Email Remote-Groups # optionnel lorsque vous souhaitez rendre les en-têtes disponibles pour votre service
🤖 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/content/docs/fr/docs/community/caddy.mdx` around lines 56 - 69, The
French Caddy documentation still contains an English inline comment in the
Tinyauth example; translate that comment to French for consistency. Update the
comment in the documentation section that shows the Caddy and
caddy.reverse_proxy labels so it matches the rest of the French page, without
changing the surrounding YAML example or labels.
src/content/docs/fr/docs/guides/nginx-proxy-manager.mdx (1)

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

Translate English comment to French.

The inline comment in the Docker Compose example is in English. Translate to maintain French consistency:

-  # Whoami is not required, but serves as a simple example app to demonstrate Tinyauth integration. You can replace it with any app of your choice.
+  # Whoami n'est pas requis, mais sert d'application exemple simple pour démontrer l'intégration de Tinyauth. Vous pouvez le remplacer par l'application de votre choix.
🤖 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/content/docs/fr/docs/guides/nginx-proxy-manager.mdx` at line 29, The
inline Docker Compose comment in the nginx proxy manager guide is still in
English; update the comment text in the example to French so it matches the rest
of the localized content. Locate the single-line comment in the docs snippet and
replace it with an equivalent French sentence while preserving its meaning and
placement.
src/content/docs/fr/docs/guides/runtipi.mdx (1)

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

Fix mixed French/English phrase.

"format for docker" should be in French since the surrounding text is French. If this refers to a CLI flag or UI label, consider code formatting or translate:

- Assurez-vous que l'option format for docker est sélectionnée pour permettre à Tinyauth d'analyser correctement l'utilisateur.
+ Assurez-vous que l'option « format pour Docker » est sélectionnée pour permettre à Tinyauth d'analyser correctement l'utilisateur.

Or if it's a specific CLI value:

- Assurez-vous que l'option format for docker est sélectionnée
+ Assurez-vous que l'option `format for docker` est sélectionnée
🤖 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/content/docs/fr/docs/guides/runtipi.mdx` around lines 8 - 12, The French
docs in the Runtipi guide contain a mixed-language phrase in the Tinyauth
user-creation section. Update the wording around the CLI-related “format for
docker” reference in the surrounding paragraph so it is fully localized in
French, unless it is a literal CLI flag or UI label that should instead be
preserved with proper code formatting; check the text in the Runtipi guide
content and make the terminology consistent.
🤖 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.

Inline comments:
In `@src/content/docs/fr/docs/community/kubernetes.mdx`:
- Around line 60-64: The Kubernetes YAML example for TINYAUTH_AUTH_USERS uses
incorrect double-dollar escaping, so the manifest shows a literal bcrypt string
with $$ instead of the intended $. Update the example in the kubernetes.mdx
snippet so the env value is written with single dollar signs in the
TINYAUTH_AUTH_USERS entry, keeping the rest of the manifest unchanged.

In `@src/content/docs/fr/docs/contributing/contributing.mdx`:
- Around line 40-42: The setup instructions use an invalid pnpm subcommand in
the contributing docs; update the install step in the markdown content to
replace pnpm ci with the equivalent frozen-lockfile install command. Locate the
command block in the contributing guide and adjust the package installation
instruction so it uses pnpm install --frozen-lockfile instead of the
non-existent pnpm ci.

In `@src/content/docs/fr/docs/guides/oidc.mdx`:
- Around line 117-119: The OIDC client name guidance in the French docs is too
permissive because it says names may include hyphens, which conflicts with the
alphanumeric-only validation used by Tinyauth. Update the caution text in the
oidc.mdx docs to state that client names must contain only A–Z, a–z, and 0–9,
and remove any mention of “tirets” or other special characters so it matches the
validation rule.

In `@src/content/docs/fr/docs/guides/using-the-binary.mdx`:
- Around line 42-49: The .env shell snippets in the documentation are brittle
and misparse quoted values, spaces, and secrets containing extra equals signs.
Update the example around the dotenv loading/unsetting guidance in the
using-the-binary guide to use a shell-safe sourcing pattern with set -a and .
./.env, and replace the unset command with one that extracts only valid variable
names from .env using a name-based pattern.

In `@src/content/docs/fr/docs/reference/headers.mdx`:
- Around line 6-119: The headers reference page is still in English throughout
the main content, so translate the entire body into French while preserving the
existing structure, headings, notes/cautions, and example meaning. Update the
descriptive text for the supported headers, custom headers, and proxy sections
in src/content/docs/fr/docs/reference/headers.mdx so it fully matches the
English source content, not just the frontmatter.

---

Minor comments:
In `@src/content/docs/fr/docs/guides/github-oauth.mdx`:
- Line 27: The heading in the GitHub OAuth guide is still in English and should
be translated to French; update the “Retrieving Credentials” section title in
the documentation content to a French equivalent, such as “Récupération des
identifiants,” so the localized guide stays consistent with the rest of the fr
docs.
- Line 8: The heading in the French GitHub OAuth guide is still in English;
update the Markdown heading currently written as Requirements to the French
equivalent Exigences so it matches the rest of the translated documentation and
the established French terminology.
- Line 13: The heading in the GitHub OAuth guide is still in English and should
be localized; update the markdown heading in the docs content to French so it
matches the rest of the translated page, using the existing section title text
for the GitHub OAuth App creation step.
- Line 39: The heading text is still in English, so update the markdown section
title in the French docs to match the localized translation. Change the
“Configuring Tinyauth” heading in the GitHub OAuth guide to “Configuration de
Tinyauth” and keep the surrounding French content consistent.

In `@src/content/docs/fr/docs/guides/google-oauth.mdx`:
- Line 8: The heading text in the Google OAuth docs is still in English; update
the markdown heading labeled “Requirements” to the French equivalent “Exigences”
so it matches the rest of the French translation and keeps terminology
consistent.
- Line 13: The heading in the Google OAuth guide is still in English and needs
to be localized; update the markdown title text in the docs content to French in
the relevant section, keeping the meaning of “Creating the Google OAuth App” and
matching the surrounding French documentation style.
- Line 55: The heading in the French Google OAuth guide is still in English and
should be translated for consistency. Update the markdown heading text currently
rendered by the docs content so it uses the French equivalent, and keep the
surrounding structure unchanged; this is the section titled with the Tinyauth
configuration heading.

In `@src/content/docs/fr/docs/guides/other-oauth.mdx`:
- Around line 38-41: Translate the English inline YAML comments in the OAuth
example to French so the documentation stays consistent with the rest of the
page; update the commented descriptions associated with the provider settings in
the markdown snippet, especially the notes for the redirect URL, scopes, display
name, and insecure/self-signed certificate option, while keeping the surrounding
configuration keys unchanged.

In `@src/content/docs/fr/docs/guides/pocket-id.mdx`:
- Line 12: The page heading text is still in English instead of French. Update
the Markdown heading in the Pocket ID guide content to use the French
translation, matching the existing French localization style and keeping the
heading consistent with the rest of the translated docs.
- Line 8: The section heading in the Pocket ID French documentation is still in
English, so update the “Requirements” heading in the MDX content to the French
equivalent “Exigences” to keep the translation consistent.
- Line 35: The heading text in the pocket-id guide is still in English and
should be translated for the French docs. Update the markdown heading currently
labeled “Configuring Tinyauth” to the French equivalent “Configuration de
Tinyauth” in the docs content so it matches the rest of the localized page.

In `@src/content/docs/fr/docs/guides/using-the-binary.mdx`:
- Line 36: Update the French docs in the using-the-binary guide to use the
locale-relative configuration link instead of the absolute
/docs/reference/configuration path, so it resolves within the fr locale. Also
replace the fragile shell examples in the environment-variable section with a
safer approach in the same guide content, using the existing shell snippet and
note wording to avoid exporting/unsetting via grep/xargs/sed patterns that break
on spaces, quotes, or equals signs.

In `@src/content/docs/fr/docs/reference/changelog.mdx`:
- Line 21: Correct the contributor handle typo in the changelog entry by
updating the author mention in the relevant markdown content from the misspelled
GitHub handle to the correct one. Locate the French changelog entry in the
markdown section and ensure the contributor reference matches the existing
spelling used elsewhere in the document, keeping the same entry text and only
fixing the handle.

In `@src/content/docs/fr/docs/reference/telemetry.mdx`:
- Line 13: Update the French telemetry documentation wording to use the correct
elided article, changing the phrase in the telemetry.mdx content from “Le UUID”
to “L’UUID”; this is a copy/edit fix in the documentation text, so adjust the
sentence directly where the UUID description appears.
- Line 16: In the telemetry docs copy, fix the adjective agreement in the
sentence about collected data: since “information” is singular, update the
wording in the affected line to use the singular form “identifiable” alongside
“personnelle” and “sensible” in the `telemetry.mdx` text.

In `@src/content/i18n/en.json`:
- Line 1: The root i18n bundle is empty, so
`Astro.locals.t("builtWithStarlight.label")` in `footer.astro` has no fallback
value when `defaultLocale` is `root`. Add the `builtWithStarlight.label`
translation to the root locale in `src/content/i18n/en.json`, and mirror the
same key in the French bundle `src/content/i18n/fr.json` so both locales resolve
correctly.

---

Nitpick comments:
In `@src/content/docs/fr/docs/community/caddy.mdx`:
- Around line 56-69: The French Caddy documentation still contains an English
inline comment in the Tinyauth example; translate that comment to French for
consistency. Update the comment in the documentation section that shows the
Caddy and caddy.reverse_proxy labels so it matches the rest of the French page,
without changing the surrounding YAML example or labels.

In `@src/content/docs/fr/docs/guides/nginx-proxy-manager.mdx`:
- Line 29: The inline Docker Compose comment in the nginx proxy manager guide is
still in English; update the comment text in the example to French so it matches
the rest of the localized content. Locate the single-line comment in the docs
snippet and replace it with an equivalent French sentence while preserving its
meaning and placement.

In `@src/content/docs/fr/docs/guides/runtipi.mdx`:
- Around line 8-12: The French docs in the Runtipi guide contain a
mixed-language phrase in the Tinyauth user-creation section. Update the wording
around the CLI-related “format for docker” reference in the surrounding
paragraph so it is fully localized in French, unless it is a literal CLI flag or
UI label that should instead be preserved with proper code formatting; check the
text in the Runtipi guide content and make the terminology consistent.

In `@src/content/docs/fr/docs/reference/cli.mdx`:
- Line 2: The page title in the French CLI reference frontmatter is inconsistent
because it ends with a trailing period. Update the title field in the docs
frontmatter for the CLI reference page to match the style used by the other
French reference pages such as Flux, Étiquettes, and Configuration, and remove
the final period while keeping the existing wording.

In `@src/content/docs/fr/docs/reference/labels.mdx`:
- Line 8: The section header in the labels documentation is still in English, so
update the “Discovery” heading to a French equivalent to match the rest of the
page. Edit the markdown header in the labels reference content and replace it
with the appropriate translated term, such as “Découverte” or “Identification,”
keeping the surrounding structure unchanged.
- Line 22: The section header in the labels documentation is still in English;
update the “Full List” heading to French to match the rest of the localized
page. Make this change in the markdown heading within the labels docs content,
keeping the translation consistent with the existing French wording pattern such
as “Liste complète.”
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b4cfd957-24c9-4015-8d5f-6ded5779529d

📥 Commits

Reviewing files that changed from the base of the PR and between fe52184 and e543134.

⛔ Files ignored due to path filters (3)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • src/content/docs/fr/docs/__translated.log is excluded by !**/*.log
  • src/content/docs/fr/docs/__untranslated.log is excluded by !**/*.log
📒 Files selected for processing (35)
  • astro.config.mjs
  • package.json
  • src/content/docs/fr/docs/about.mdx
  • src/content/docs/fr/docs/breaking-updates/3-to-4.mdx
  • src/content/docs/fr/docs/breaking-updates/4-to-5-migrator.astro
  • src/content/docs/fr/docs/breaking-updates/4-to-5.mdx
  • src/content/docs/fr/docs/community/caddy.mdx
  • src/content/docs/fr/docs/community/kubernetes.mdx
  • src/content/docs/fr/docs/community/zitadel-oauth.mdx
  • src/content/docs/fr/docs/contributing/contributing.mdx
  • src/content/docs/fr/docs/getting-started.mdx
  • src/content/docs/fr/docs/guides/access-controls.mdx
  • src/content/docs/fr/docs/guides/advanced.mdx
  • src/content/docs/fr/docs/guides/github-app-oauth.mdx
  • src/content/docs/fr/docs/guides/github-oauth.mdx
  • src/content/docs/fr/docs/guides/google-oauth.mdx
  • src/content/docs/fr/docs/guides/ldap.mdx
  • src/content/docs/fr/docs/guides/nginx-proxy-manager.mdx
  • src/content/docs/fr/docs/guides/oidc.mdx
  • src/content/docs/fr/docs/guides/other-oauth.mdx
  • src/content/docs/fr/docs/guides/pocket-id.mdx
  • src/content/docs/fr/docs/guides/runtipi.mdx
  • src/content/docs/fr/docs/guides/totp.mdx
  • src/content/docs/fr/docs/guides/using-the-binary.mdx
  • src/content/docs/fr/docs/integrations/zerobyte.mdx
  • src/content/docs/fr/docs/reference/authentication.mdx
  • src/content/docs/fr/docs/reference/changelog.mdx
  • src/content/docs/fr/docs/reference/cli.mdx
  • src/content/docs/fr/docs/reference/configuration.mdx
  • src/content/docs/fr/docs/reference/flow.mdx
  • src/content/docs/fr/docs/reference/headers.mdx
  • src/content/docs/fr/docs/reference/labels.mdx
  • src/content/docs/fr/docs/reference/telemetry.mdx
  • src/content/i18n/en.json
  • src/content/i18n/fr.json

Comment thread src/content/docs/fr/docs/community/kubernetes.mdx
Comment thread src/content/docs/fr/docs/contributing/contributing.mdx
Comment on lines +117 to +119
:::caution
Le nom du client doit être unique et ne contenir que des caractères alphanumériques et des tirets.
:::

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove incorrect hyphen allowance from OIDC client name validation.

Line 118 states client names may contain "des tirets" (hyphens). This contradicts the strict alphanumeric-only validation (/^[a-zA-Z0-9]*$/) enforced by Tinyauth. Hyphens are rejected.

Based on learnings, OIDC client names must contain only alphanumeric characters (A–Z, a–z, 0–9). If any documentation claims hyphens or other special characters are allowed, treat that as incorrect and update the docs to match the regex.

📝 Proposed fix
- Le nom du client doit être unique et ne contenir que des caractères alphanumériques et des tirets.
+ Le nom du client doit être unique et ne contenir que des caractères alphanumériques.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
:::caution
Le nom du client doit être unique et ne contenir que des caractères alphanumériques et des tirets.
:::
:::caution
Le nom du client doit être unique et ne contenir que des caractères alphanumériques.
:::
🧰 Tools
🪛 LanguageTool

[typographical] ~117-~117: Une espace est requise.
Context: ...surez-vous de les garder sécurisées. :::caution Le nom du client doit être uniqu...

(DEUX_POINTS_ESPACE)

🤖 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/content/docs/fr/docs/guides/oidc.mdx` around lines 117 - 119, The OIDC
client name guidance in the French docs is too permissive because it says names
may include hyphens, which conflicts with the alphanumeric-only validation used
by Tinyauth. Update the caution text in the oidc.mdx docs to state that client
names must contain only A–Z, a–z, and 0–9, and remove any mention of “tirets” or
other special characters so it matches the validation rule.

Source: Learnings

Comment on lines +42 to +49
```sh
export $(grep -v '^#' .env | xargs -d '\n')
```

:::note
Pour désactiver les variables d'environnement à des fins de sécurité, utilisez : `unset $(grep
-v '^#' .env | sed -E 's/(.*)=.*/\1/' | xargs)`.
:::

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Replace the brittle .env parsing snippets.

Lines 43-48 break on common .env values. export $(...) re-splits quoted values and values with spaces, and the unset example extracts the name from the last =, so padded/base64 secrets leave behind invalid variable names.

💡 Suggested doc fix
 ```sh
-export $(grep -v '^#' .env | xargs -d '\n')
+set -a
+. ./.env
+set +a

@@

  • Pour désactiver les variables d'environnement à des fins de sécurité, utilisez : `unset $(grep
  • -v '^#' .env | sed -E 's/(.)=./\1/' | xargs)`.
  • Pour désactiver les variables d'environnement à des fins de sécurité, utilisez : unset $(sed -n 's/^\([A-Za-z_][A-Za-z0-9_]*\)=.*/\1/p' .env | xargs).
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🧰 Tools
🪛 LanguageTool

[typographical] ~46-~46: Une espace est requise.
Context: ...ep -v '^#' .env | xargs -d '\n') ``` :::note Pour désactiver les variables d'e...

(DEUX_POINTS_ESPACE)

🤖 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/content/docs/fr/docs/guides/using-the-binary.mdx` around lines 42 - 49,
The .env shell snippets in the documentation are brittle and misparse quoted
values, spaces, and secrets containing extra equals signs. Update the example
around the dotenv loading/unsetting guidance in the using-the-binary guide to
use a shell-safe sourcing pattern with set -a and . ./.env, and replace the
unset command with one that extracts only valid variable names from .env using a
name-based pattern.

Comment on lines +6 to +119
Setting headers can be useful for authenticating to apps with the credentials from Tinyauth. While Tinyauth offers some defaults, it also allows setting custom headers that are automatically returned in the authentication server response. This is particularly useful for applications that support header-based authentication, where the app relies on the reverse proxy to provide authentication and user information.

:::note
Headers are case-insensitive. For example, both `Remote-User` and
`remote-user` are valid.
:::

## Supported Headers

### Remote user

The `Remote-User` header contains the username of the currently logged-in user. For OAuth providers, the `preferred_username` claim from the OIDC response is used. If unavailable, a pseudo username is generated using the email address in the format `username_domain.com`.

### Remote email

The `Remote-Email` header contains the email of the currently logged-in user. For username/password authentication, a pseudo email address is created using the username and the configured domain. For OAuth, the email is retrieved from the `email` claim.

### Remote name

The `Remote-Name` header contains the full name of the currently logged-in user. If the `name` claim is unavailable, a pseudo name is generated using the username or email in formats like `User` or `User (example.com)`.

### Remote groups

The `Remote-Groups` header contains the groups of the currently logged-in user, retrieved from the `groups` claim in the OIDC server or from the LDAP server. These can be used to allow access to specific user groups configured by the OIDC or LDAP server. More details are available in the [OIDC access controls](/docs/guides/access-controls#access-controls-using-oidc-groups) and [LDAP access controls](/docs/guides/access-controls#access-controls-using-ldap-groups) guides.

:::caution
Remote groups are only available for OIDC providers that support the `groups`
claim.
:::

### Remote sub

The `Remote-Sub` header contains the subject identifier of the currently logged-in user, retrieved from the `sub` claim in the OIDC server. This can be used to uniquely identify the user across different authentication providers.

### Custom headers

Custom headers can be set using the `tinyauth.headers` label on any container that uses the Tinyauth middleware. For example:

```yaml
tinyauth.apps.[app].response.headers: my-header=cool
```

When authenticating through Tinyauth, the app will receive the `my-header` header.

:::caution
Ensure a list of trusted proxy URLs is configured for the app. Accepting
headers from untrusted proxies can lead to security vulnerabilities.
:::

:::note
By default, Tinyauth uses the subdomain name of the request to find a matching
container for labels. For example, a request to `myapp.example.com` checks for
labels that have the subdomain as the app ID. This behavior can be modified
using the `tinyauth.apps.[app].config.domain` label. More details are
available in the [access
controls](/docs/guides/access-controls#label-discovery) guide.
:::

## Adding Headers to Proxy

Configuring the proxy to forward headers ensures they are included in responses. The configuration varies depending on the proxy.

### Traefik

Add the following label to the Tinyauth container:

```yaml
traefik.http.middlewares.tinyauth.forwardauth.authResponseHeaders: remote-user # This can be a comma separated list of more headers you will like to copy like the custom ones you set
```

Multiple headers can be added as a comma-separated list.

### Caddy

Add the following label to the Caddy configuration:

```yaml
caddy.forward_auth.copy_headers: remote-user
```

Multiple headers are separated by spaces, for example: `remote-user remote-name remote-email remote-groups`.

### Nginx/Nginx Proxy Manager

Insert the following lines after the `error_page 401 = @tinyauth_login;` directive:

```shell
auth_request_set $tinyauth_remote_user $upstream_http_remote_user;
proxy_set_header remote-user $tinyauth_remote_user;
```

Additional headers can be added by repeating the steps. For example:

```shell
auth_request_set $my_header $upstream_http_my_header;
proxy_set_header my-header $my_header;
```

#### x-tinyauth-location

For API requests (non-browser requests), Tinyauth sets the `x-tinyauth-location` header in error responses. This header contains the URL where Tinyauth wants the user to be redirected, such as `/login`, `/unauthorized`, or `/error` endpoints with appropriate query parameters.

This header is particularly useful for Nginx configurations where the error page handler can read this header and redirect accordingly, instead of hardcoding redirect URLs in the Nginx configuration. For example:

```shell
error_page 401 = @tinyauth_error;
error_page 403 = @tinyauth_error;
error_page 500 = @tinyauth_error;

location @tinyauth_error {
auth_request_set $redirect_url $upstream_http_x_tinyauth_location;
return 307 $redirect_url;
}
``` No newline at end of file

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.

📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

The headers reference page is not translated to French.

The entire body of this file—from the introductory paragraph through all header descriptions and proxy configuration examples—remains in English. Only the frontmatter title and description were translated. For a PR titled "Translation FR," this page needs complete French translation to match the upstream English content at src/content/docs/docs/reference/headers.mdx:6-119.

🧰 Tools
🪛 LanguageTool

[grammar] ~25-~25: Ensure spelling is correct
Context: .... If the name claim is unavailable, a pseudo name is generated using the username or emai...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 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/content/docs/fr/docs/reference/headers.mdx` around lines 6 - 119, The
headers reference page is still in English throughout the main content, so
translate the entire body into French while preserving the existing structure,
headings, notes/cautions, and example meaning. Update the descriptive text for
the supported headers, custom headers, and proxy sections in
src/content/docs/fr/docs/reference/headers.mdx so it fully matches the English
source content, not just the frontmatter.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is there a reason for this file? If not, please remove it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The changelog is the history from GitHub. I do not believe it needs translations.

Comment thread astro.config.mjs
umami({
hostUrl: "https://analytics.doesmycode.work",
endpointUrl: "https://analytics.doesmycode.work",
id: "ed560a2b-b321-4745-b2f8-d7de846aeb7f",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please do not remove the site analytics.

Comment thread README.md
Comment on lines +4 to +5

I18N, Translation FR added

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This line is not needed in the readme.

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

Labels

size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants