Actualiser Docusaurus-tolgee-README.md

This commit is contained in:
2026-08-02 19:43:01 +02:00
parent 662108684c
commit 8e5ffcb50c
+60
View File
@@ -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/<lang>/code.json
# 2. Réinjecter au format Docusaurus (écrit i18n/<lang>/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é.