From 8e5ffcb50cee3b903f52cf5fccffab1de906f370 Mon Sep 17 00:00:00 2001 From: Jo Bo <3+jobo@noreply.localhost> Date: Sun, 2 Aug 2026 19:43:01 +0200 Subject: [PATCH] Actualiser Docusaurus-tolgee-README.md --- Docusaurus-tolgee-README.md | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/Docusaurus-tolgee-README.md b/Docusaurus-tolgee-README.md index a9389e7..334aa15 100644 --- a/Docusaurus-tolgee-README.md +++ b/Docusaurus-tolgee-README.md @@ -102,3 +102,63 @@ React** (ex. le **widget « Ask AI »** de la doc, clés `askAI.*`) sont extrait `i18n/en/code.json` (namespace `code`, filtré) : les ~10 clés `askAI.*` du **widget « Ask AI »** (`askAI.btn`, `askAI.title`, `askAI.placeholder`, `askAI.intro`, `askAI.thinking`, `askAI.sources`, `askAI.send`, `askAI.supportPrompt`, `askAI.support`, `askAI.error`). + + +## Instructions d'ajout dans Tolgee des chaînes liées à l'agent IA : + +Voilà — **rien à changer dans le widget** (mon `translate()` est la bonne mécanique). La **seule** modification nécessaire était `transform.mjs`, que je viens de faire : ajout du namespace `code` **avec un filtre `askAI.*`**. Le widget rejoint donc **exactement** ton flux navbar/footer. + +## Ce que j'ai modifié +- `tolgee/transform.mjs` : namespace `code` → `code.json` + `PUSH_FILTER` (ne pousse que `askAI.*`, protège les traductions de thème). Syntaxe validée ✅. +- Rien d'autre. (Ton `index.jsx` widget est déjà correct.) + +## Procédure complète (sur le VPS, `~/docs-src`) + +**PUSH — envoyer les 10 chaînes anglaises vers Tolgee** +```bash +cd ~/docs-src +source .env.tolgee # charge TOLGEE_API_KEY + +# 1. Extraire les chaînes du widget → crée/complète i18n/en/code.json +npm run write-translations -- --locale en + +# 2. Convertir la source EN → format Tolgee (pour "code", ne pousse QUE askAI.*) +node tolgee/transform.mjs flatten # écrit tolgee-staging/en/{navbar,footer,code}.json + +# 3. Envoyer vers Tolgee +npx tolgee push +``` + +**→ Traduire dans Tolgee** (projet 4, **namespace `code`**, les ~10 clés `askAI.*`) — à la main ou via l'auto-traduction Tolgee, dans les 32 langues. *(Le namespace `code` se crée tout seul au premier push.)* + +**PULL — récupérer les traductions et builder** +```bash +cd ~/docs-src +source .env.tolgee + +# 1. Rapatrier toutes les langues +npx tolgee pull # remplit tolgee-staging//code.json + +# 2. Réinjecter au format Docusaurus (écrit i18n//code.json : askAI.* uniquement) +node tolgee/transform.mjs wrap + +# 3. Build + déploiement +./deploy.sh +``` + +## Points de vigilance (importants) +- **`write-translations` uniquement pour `--locale en`.** Jamais pour les autres langues — c'est `wrap` (depuis Tolgee) qui les remplit. Sinon tu réinjecterais des chaînes de thème en anglais. +- Le **filtre `askAI.*`** fait que **seules tes 10 chaînes** partent dans Tolgee → les chaînes de thème Docusaurus gardent leurs **traductions intégrées**. C'est le point qui évite une régression. +- **Zéro retraduction de page, zéro OpenRouter.** Exactement le même cycle que navbar/footer. + +--- + +Claude à mis à jour **`tolgee-README.md`** pour refléter le nouveau namespace `code` : + +- **Tableau « Deux systèmes »** : ajout des libellés de composants React (widget IA) → `code.json`. +- **Pièces du dispositif** : `code` ajouté à la liste des namespaces + mention de `PUSH_FILTER`. +- **PUSH – étape 1** : le commentaire inclut désormais « un libellé de composant React (ex. le widget IA) » comme déclencheur du `write-translations`. +- **Nouvelle section « Libellés des composants React (namespace `code`) »** : explique l'extraction dans `code.json`, le **filtre `askAI.*` indispensable** (avec le pourquoi : ne pas écraser les traductions de thème), et le rappel de ne jamais lancer `write-translations` pour une locale ≠ `en`. +- **« Ce qui est traduit aujourd'hui »** : liste des 10 clés `askAI.*`. + +Le README décrit maintenant fidèlement le pipeline réel (navbar + footer + **code**), cohérent avec le `transform.mjs` modifié.