@intlayer/docs 8.9.3 → 8.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/generated/docs.entry.cjs +20 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +20 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/mcp_server.md +30 -17
- package/docs/ar/plugins/sync-po.md +354 -0
- package/docs/de/mcp_server.md +29 -16
- package/docs/de/plugins/sync-po.md +354 -0
- package/docs/en/mcp_server.md +31 -18
- package/docs/en/plugins/sync-po.md +354 -0
- package/docs/en-GB/mcp_server.md +31 -18
- package/docs/en-GB/plugins/sync-po.md +354 -0
- package/docs/es/mcp_server.md +30 -17
- package/docs/es/plugins/sync-po.md +354 -0
- package/docs/fr/mcp_server.md +30 -17
- package/docs/fr/plugins/sync-po.md +354 -0
- package/docs/hi/mcp_server.md +31 -18
- package/docs/hi/plugins/sync-po.md +354 -0
- package/docs/id/mcp_server.md +30 -17
- package/docs/id/plugins/sync-po.md +354 -0
- package/docs/it/mcp_server.md +30 -17
- package/docs/it/plugins/sync-po.md +354 -0
- package/docs/ja/mcp_server.md +29 -16
- package/docs/ja/plugins/sync-po.md +354 -0
- package/docs/ko/mcp_server.md +31 -18
- package/docs/ko/plugins/sync-po.md +354 -0
- package/docs/pl/mcp_server.md +30 -17
- package/docs/pl/plugins/sync-po.md +354 -0
- package/docs/pt/mcp_server.md +30 -17
- package/docs/pt/plugins/sync-po.md +354 -0
- package/docs/ru/mcp_server.md +30 -17
- package/docs/ru/plugins/sync-po.md +354 -0
- package/docs/tr/mcp_server.md +31 -18
- package/docs/tr/plugins/sync-po.md +354 -0
- package/docs/uk/mcp_server.md +29 -16
- package/docs/uk/plugins/sync-po.md +354 -0
- package/docs/vi/mcp_server.md +30 -17
- package/docs/vi/plugins/sync-po.md +354 -0
- package/docs/zh/mcp_server.md +31 -18
- package/docs/zh/plugins/sync-po.md +354 -0
- package/package.json +7 -7
- package/src/generated/docs.entry.ts +20 -0
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-05-10
|
|
3
|
+
updatedAt: 2026-05-10
|
|
4
|
+
title: Plugin Sync PO
|
|
5
|
+
description: Synchronisez les dictionnaires Intlayer avec les fichiers Gettext PO. Conservez votre i18n existante tout en utilisant Intlayer pour gérer, traduire et tester vos messages.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Sync PO
|
|
9
|
+
- Gettext
|
|
10
|
+
- i18n
|
|
11
|
+
- traductions
|
|
12
|
+
slugs:
|
|
13
|
+
- doc
|
|
14
|
+
- plugin
|
|
15
|
+
- sync-po
|
|
16
|
+
youtubeVideo: https://www.youtube.com/watch?v=MpGMxniDHNg
|
|
17
|
+
history:
|
|
18
|
+
- version: 8.9.4
|
|
19
|
+
date: 2026-05-10
|
|
20
|
+
changes: "Documentation initiale du plugin Sync PO"
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Sync PO (ponts i18n) - Sync PO avec support ICU / i18next
|
|
24
|
+
|
|
25
|
+
Utilisez Intlayer comme un complément à votre stack i18n existante. Ce plugin maintient vos messages Gettext PO synchronisés avec les dictionnaires Intlayer afin que vous puissiez :
|
|
26
|
+
|
|
27
|
+
- Conserver votre workflow de traduction basé sur PO existant.
|
|
28
|
+
- Gérer et traduire vos messages avec Intlayer (CLI, CI, fournisseurs, CMS), sans refactoriser votre application.
|
|
29
|
+
- Publier des tutoriels et du contenu SEO ciblant chaque écosystème, tout en suggérant Intlayer comme couche de gestion PO.
|
|
30
|
+
|
|
31
|
+
Notes et portée actuelle :
|
|
32
|
+
|
|
33
|
+
- L'externalisation vers le CMS fonctionne pour les traductions et le texte classique.
|
|
34
|
+
- Pas encore de support pour les insertions, les pluriels/ICU ou les fonctionnalités avancées au moment de l'exécution d'autres bibliothèques au sein des entrées PO elles-mêmes.
|
|
35
|
+
- L'éditeur visuel n'est pas encore supporté pour les sorties i18n tierces.
|
|
36
|
+
|
|
37
|
+
### Quand utiliser ce plugin
|
|
38
|
+
|
|
39
|
+
- Vous utilisez déjà des fichiers Gettext PO pour vos traductions.
|
|
40
|
+
- Vous souhaitez bénéficier du remplissage assisté par IA, des tests en CI et des opérations de contenu sans changer votre runtime de rendu.
|
|
41
|
+
|
|
42
|
+
## Installation
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pnpm add -D @intlayer/sync-po-plugin
|
|
46
|
+
# ou
|
|
47
|
+
npm i -D @intlayer/sync-po-plugin
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Plugins
|
|
51
|
+
|
|
52
|
+
Ce package fournit deux plugins :
|
|
53
|
+
|
|
54
|
+
- `loadPO` : Charge les fichiers PO dans les dictionnaires Intlayer.
|
|
55
|
+
- Ce plugin est utilisé pour charger des fichiers PO à partir d'une source et les intégrer dans les dictionnaires Intlayer. Il peut scanner toute la base de code et rechercher des fichiers PO spécifiques.
|
|
56
|
+
Ce plugin peut être utilisé :
|
|
57
|
+
- si vous utilisez une bibliothèque i18n qui impose un emplacement spécifique pour le chargement de vos fichiers PO, mais que vous souhaitez placer votre déclaration de contenu où vous le souhaitez dans votre base de code.
|
|
58
|
+
- Il peut également être utilisé si vous souhaitez récupérer vos messages à partir d'une source distante (ex : un CMS, une API, etc.) et stocker vos messages dans des fichiers PO.
|
|
59
|
+
|
|
60
|
+
> Sous le capot, ce plugin scannera toute la base de code, recherchera des fichiers PO spécifiques et les chargera dans les dictionnaires Intlayer.
|
|
61
|
+
> Notez que ce plugin n'écrira pas la sortie et les traductions en retour dans les fichiers PO.
|
|
62
|
+
|
|
63
|
+
- `syncPO` : Synchronise les fichiers PO avec les dictionnaires Intlayer.
|
|
64
|
+
- Ce plugin est utilisé pour synchroniser les fichiers PO avec les dictionnaires Intlayer. Il peut scanner l'emplacement donné et charger les PO qui correspondent au motif pour des fichiers PO spécifiques. Ce plugin est utile si vous souhaitez bénéficier des avantages d'Intlayer tout en utilisant une autre bibliothèque i18n.
|
|
65
|
+
|
|
66
|
+
## Utilisation des deux plugins
|
|
67
|
+
|
|
68
|
+
```ts fileName="intlayer.config.ts"
|
|
69
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
70
|
+
import { loadPO, syncPO } from "@intlayer/sync-po-plugin";
|
|
71
|
+
|
|
72
|
+
const config: IntlayerConfig = {
|
|
73
|
+
internationalization: {
|
|
74
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
75
|
+
defaultLocale: Locales.ENGLISH,
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
// Gardez vos fichiers PO actuels synchronisés avec les dictionnaires Intlayer
|
|
79
|
+
plugins: [
|
|
80
|
+
/**
|
|
81
|
+
* Chargera tous les fichiers PO dans le src qui correspondent au motif {key}.i18n.po
|
|
82
|
+
*/
|
|
83
|
+
loadPO({
|
|
84
|
+
source: ({ key }) => `./src/**/${key}.i18n.po`,
|
|
85
|
+
locale: Locales.ENGLISH,
|
|
86
|
+
priority: 1, // Garantit que ces fichiers PO ont la priorité sur les fichiers à `./locales/en/${key}.po`
|
|
87
|
+
}),
|
|
88
|
+
/**
|
|
89
|
+
* Chargera et écrira la sortie et les traductions en retour dans les fichiers PO du répertoire locales
|
|
90
|
+
*/
|
|
91
|
+
syncPO({
|
|
92
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
93
|
+
priority: 0,
|
|
94
|
+
}),
|
|
95
|
+
],
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export default config;
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Plugin `syncPO`
|
|
102
|
+
|
|
103
|
+
### Démarrage rapide
|
|
104
|
+
|
|
105
|
+
Ajoutez le plugin à votre `intlayer.config.ts` et pointez-le vers votre structure PO existante.
|
|
106
|
+
|
|
107
|
+
```ts fileName="intlayer.config.ts"
|
|
108
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
109
|
+
import { syncPO } from "@intlayer/sync-po-plugin";
|
|
110
|
+
|
|
111
|
+
const config: IntlayerConfig = {
|
|
112
|
+
internationalization: {
|
|
113
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
114
|
+
defaultLocale: Locales.ENGLISH,
|
|
115
|
+
},
|
|
116
|
+
|
|
117
|
+
// Gardez vos fichiers PO actuels synchronisés avec les dictionnaires Intlayer
|
|
118
|
+
plugins: [
|
|
119
|
+
syncPO({
|
|
120
|
+
// Mise en page par langue, par espace de noms
|
|
121
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
122
|
+
}),
|
|
123
|
+
],
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export default config;
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Alternative : un seul fichier par langue :
|
|
130
|
+
|
|
131
|
+
```ts fileName="intlayer.config.ts"
|
|
132
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
133
|
+
import { syncPO } from "@intlayer/sync-po-plugin";
|
|
134
|
+
|
|
135
|
+
const config: IntlayerConfig = {
|
|
136
|
+
internationalization: {
|
|
137
|
+
locales: [Locales.ENGLISH, Locales.FRENCH],
|
|
138
|
+
defaultLocale: Locales.ENGLISH,
|
|
139
|
+
},
|
|
140
|
+
plugins: [
|
|
141
|
+
syncPO({
|
|
142
|
+
source: ({ locale }) => `./locales/${locale}.po`,
|
|
143
|
+
}),
|
|
144
|
+
],
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export default config;
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
#### Comment ça marche
|
|
151
|
+
|
|
152
|
+
- Lecture : le plugin découvre les fichiers PO à partir de votre constructeur `source` et les charge en tant que dictionnaires Intlayer.
|
|
153
|
+
- Écriture : après les constructions et les remplissages, il réécrit les PO localisés dans les mêmes chemins (avec les en-têtes Gettext appropriés).
|
|
154
|
+
- Auto-remplissage : le plugin déclare un chemin `autoFill` pour chaque dictionnaire. L'exécution de `intlayer fill` met à jour uniquement les traductions manquantes dans vos fichiers PO par défaut.
|
|
155
|
+
|
|
156
|
+
API :
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
syncPO({
|
|
160
|
+
source: ({ key, locale }) => string, // requis
|
|
161
|
+
location?: string, // étiquette optionnelle, défaut : "sync-po::path/to/source"
|
|
162
|
+
priority?: number, // priorité optionnelle pour la résolution de conflits, défaut : 0
|
|
163
|
+
format?: 'icu' | 'i18next' | 'vue-i18n', // optionnel, nécessaire uniquement lorsque vos valeurs msgstr utilisent une syntaxe d'interpolation spécifique
|
|
164
|
+
});
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
#### `format` ('icu' | 'i18next' | 'vue-i18n')
|
|
168
|
+
|
|
169
|
+
Les fichiers PO sont toujours des fichiers Gettext Portable Object — c'est fixe. Cette option décrit uniquement la **syntaxe d'interpolation** utilisée à l'intérieur des valeurs `msgstr`, afin qu'Intlayer puisse les convertir dans son propre format au moment de l'analyse (via `formatDictionary`) et inversement lors de l'écriture de la sortie.
|
|
170
|
+
|
|
171
|
+
- `undefined` _(défaut)_ : les valeurs `msgstr` sont traitées comme des chaînes de caractères simples — pas de transformation. Utilisez ceci pour la plupart des fichiers PO.
|
|
172
|
+
- `'icu'` : les valeurs `msgstr` utilisent la syntaxe de message ICU (ex : `{count, plural, one {# item} other {# items}}`).
|
|
173
|
+
- `'i18next'` : les valeurs `msgstr` utilisent la syntaxe d'interpolation i18next (ex : `{{variable}}`).
|
|
174
|
+
- `'vue-i18n'` : les valeurs `msgstr` utilisent la syntaxe Vue I18n.
|
|
175
|
+
|
|
176
|
+
> La transformation est appliquée par `formatDictionary` de `@intlayer/chokidar` au chargement, et inversée avec `formatDictionaryOutput` à l'écriture. Pour les règles complexes comme les pluriels ICU, la fidélité de l'aller-retour n'est pas garantie.
|
|
177
|
+
|
|
178
|
+
**Exemple — les fichiers PO contiennent une interpolation de style i18next :**
|
|
179
|
+
|
|
180
|
+
```ts
|
|
181
|
+
syncPO({
|
|
182
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
183
|
+
format: "i18next",
|
|
184
|
+
}),
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Sources PO multiples et priorité
|
|
188
|
+
|
|
189
|
+
Vous pouvez ajouter plusieurs plugins `syncPO` pour synchroniser différentes sources PO. Ceci est utile lorsque vous avez plusieurs sources de traduction ou différentes structures PO dans votre projet.
|
|
190
|
+
|
|
191
|
+
#### Système de priorité
|
|
192
|
+
|
|
193
|
+
Lorsque plusieurs plugins ciblent la même clé de dictionnaire, le paramètre `priority` détermine quel plugin prime :
|
|
194
|
+
|
|
195
|
+
- Les numéros de priorité plus élevés l'emportent sur les plus bas
|
|
196
|
+
- La priorité par défaut des fichiers `.content` est `0`
|
|
197
|
+
- La priorité par défaut des plugins est `0`
|
|
198
|
+
- Les plugins ayant la même priorité sont traités dans l'ordre où ils apparaissent dans la configuration
|
|
199
|
+
|
|
200
|
+
```ts fileName="intlayer.config.ts"
|
|
201
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
202
|
+
import { syncPO } from "@intlayer/sync-po-plugin";
|
|
203
|
+
|
|
204
|
+
const config: IntlayerConfig = {
|
|
205
|
+
internationalization: {
|
|
206
|
+
locales: [Locales.ENGLISH, Locales.FRENCH],
|
|
207
|
+
defaultLocale: Locales.ENGLISH,
|
|
208
|
+
},
|
|
209
|
+
|
|
210
|
+
plugins: [
|
|
211
|
+
// Source PO principale (priorité la plus élevée)
|
|
212
|
+
syncPO({
|
|
213
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
214
|
+
location: "main-translations",
|
|
215
|
+
priority: 10,
|
|
216
|
+
}),
|
|
217
|
+
|
|
218
|
+
// Source PO de secours (priorité plus basse)
|
|
219
|
+
syncPO({
|
|
220
|
+
source: ({ locale }) => `./fallback-locales/${locale}.po`,
|
|
221
|
+
location: "fallback-translations",
|
|
222
|
+
priority: 5,
|
|
223
|
+
}),
|
|
224
|
+
|
|
225
|
+
// Source PO héritée (priorité la plus basse)
|
|
226
|
+
syncPO({
|
|
227
|
+
source: ({ locale }) => `/my/other/app/legacy/${locale}/messages.po`,
|
|
228
|
+
location: "legacy-translations",
|
|
229
|
+
priority: 1,
|
|
230
|
+
}),
|
|
231
|
+
],
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
export default config;
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Plugin Load PO
|
|
238
|
+
|
|
239
|
+
### Démarrage rapide
|
|
240
|
+
|
|
241
|
+
Ajoutez le plugin à votre `intlayer.config.ts` pour ingérer des fichiers PO existants en tant que dictionnaires Intlayer. Ce plugin est en lecture seule (pas d'écriture sur le disque) :
|
|
242
|
+
|
|
243
|
+
```ts fileName="intlayer.config.ts"
|
|
244
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
245
|
+
import { loadPO } from "@intlayer/sync-po-plugin";
|
|
246
|
+
|
|
247
|
+
const config: IntlayerConfig = {
|
|
248
|
+
internationalization: {
|
|
249
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
250
|
+
defaultLocale: Locales.ENGLISH,
|
|
251
|
+
},
|
|
252
|
+
|
|
253
|
+
plugins: [
|
|
254
|
+
// Ingérer les messages PO situés n'importe où dans votre arborescence source
|
|
255
|
+
loadPO({
|
|
256
|
+
source: ({ key }) => `./src/**/${key}.i18n.po`,
|
|
257
|
+
// Charger une seule langue par instance de plugin (par défaut la langue par défaut de la configuration)
|
|
258
|
+
locale: Locales.ENGLISH,
|
|
259
|
+
priority: 0,
|
|
260
|
+
}),
|
|
261
|
+
],
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
export default config;
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Alternative : mise en page par langue, toujours en lecture seule (seule la langue sélectionnée est chargée) :
|
|
268
|
+
|
|
269
|
+
```ts fileName="intlayer.config.ts"
|
|
270
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
271
|
+
import { loadPO } from "@intlayer/sync-po-plugin";
|
|
272
|
+
|
|
273
|
+
const config: IntlayerConfig = {
|
|
274
|
+
internationalization: {
|
|
275
|
+
locales: [Locales.ENGLISH, Locales.FRENCH],
|
|
276
|
+
defaultLocale: Locales.ENGLISH,
|
|
277
|
+
},
|
|
278
|
+
plugins: [
|
|
279
|
+
loadPO({
|
|
280
|
+
// Seuls les fichiers pour Locales.FRENCH seront chargés à partir de ce motif
|
|
281
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
282
|
+
locale: Locales.FRENCH,
|
|
283
|
+
}),
|
|
284
|
+
],
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
export default config;
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Comment ça marche
|
|
291
|
+
|
|
292
|
+
- Découverte : construit un glob à partir de votre constructeur `source` et collecte les fichiers PO correspondants.
|
|
293
|
+
- Ingestion : charge chaque fichier PO en tant que dictionnaire Intlayer avec la `locale` fournie.
|
|
294
|
+
- Lecture seule : n'écrit ni ne formate les fichiers de sortie ; utilisez `syncPO` si vous avez besoin d'une synchronisation aller-retour.
|
|
295
|
+
- Prêt pour l'auto-remplissage : définit un chemin `fill` afin que `intlayer content fill` puisse peupler les clés manquantes.
|
|
296
|
+
|
|
297
|
+
### API
|
|
298
|
+
|
|
299
|
+
```ts
|
|
300
|
+
loadPO({
|
|
301
|
+
// Construire les chemins vers vos PO. `locale` est optionnel si votre structure n'a pas de segment de langue
|
|
302
|
+
source: ({ key, locale }) => string,
|
|
303
|
+
|
|
304
|
+
// Langue cible pour les dictionnaires chargés par cette instance de plugin
|
|
305
|
+
// Par défaut configuration.internationalization.defaultLocale
|
|
306
|
+
locale?: Locale,
|
|
307
|
+
|
|
308
|
+
// Étiquette optionnelle pour identifier la source
|
|
309
|
+
location?: string, // défaut : "plugin"
|
|
310
|
+
|
|
311
|
+
// Priorité utilisée pour la résolution de conflits avec d'autres sources
|
|
312
|
+
priority?: number, // défaut : 0
|
|
313
|
+
});
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Comportement et conventions
|
|
317
|
+
|
|
318
|
+
- Si votre masque `source` inclut un espace réservé pour la langue, seuls les fichiers pour la `locale` sélectionnée sont ingérés.
|
|
319
|
+
- S'il n'y a pas de segment `{key}` dans votre masque, la clé du dictionnaire est "index".
|
|
320
|
+
- Les clés sont dérivées des chemins de fichiers en remplaçant l'espace réservé `{key}` dans votre constructeur `source`.
|
|
321
|
+
- Le plugin utilise uniquement les fichiers découverts et ne fabrique pas de langues ou de clés manquantes.
|
|
322
|
+
- Le chemin `fill` est déduit de votre `source` et utilisé pour mettre à jour les valeurs manquantes via CLI lorsque vous l'acceptez.
|
|
323
|
+
|
|
324
|
+
## Résolution de conflits
|
|
325
|
+
|
|
326
|
+
Lorsque la même clé de traduction existe dans plusieurs sources PO :
|
|
327
|
+
|
|
328
|
+
1. Le plugin ayant la priorité la plus élevée détermine la valeur finale
|
|
329
|
+
2. Les sources de priorité inférieure sont utilisées comme secours pour les clés manquantes
|
|
330
|
+
3. Cela vous permet de conserver les traductions héritées tout en migrant progressivement vers de nouvelles structures
|
|
331
|
+
|
|
332
|
+
## CLI
|
|
333
|
+
|
|
334
|
+
Les fichiers PO synchronisés seront considérés comme les autres fichiers `.content`. Cela signifie que toutes les commandes intlayer seront disponibles pour les fichiers PO synchronisés. Y compris :
|
|
335
|
+
|
|
336
|
+
- `intlayer content test` pour tester s'il y a des traductions manquantes
|
|
337
|
+
- `intlayer content list` pour lister les fichiers PO synchronisés
|
|
338
|
+
- `intlayer content fill` pour remplir les traductions manquantes
|
|
339
|
+
- `intlayer content push` pour pousser les fichiers PO synchronisés
|
|
340
|
+
- `intlayer content pull` pour tirer les fichiers PO synchronisés
|
|
341
|
+
|
|
342
|
+
Voir [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md) pour plus de détails.
|
|
343
|
+
|
|
344
|
+
## Limitations (actuelles)
|
|
345
|
+
|
|
346
|
+
- Pas de support pour les insertions ou les pluriels/ICU lors du ciblage de bibliothèques tierces.
|
|
347
|
+
- L'éditeur visuel n'est pas encore disponible pour les runtimes non-Intlayer.
|
|
348
|
+
- Synchronisation PO uniquement ; les formats de catalogue non-PO ne sont pas supportés.
|
|
349
|
+
|
|
350
|
+
## Pourquoi c'est important
|
|
351
|
+
|
|
352
|
+
- Nous pouvons recommander des solutions i18n établies et positionner Intlayer comme un complément.
|
|
353
|
+
- Nous exploitons leur SEO/mots-clés avec des tutoriels qui se terminent par la suggestion d'utiliser Intlayer pour gérer les PO.
|
|
354
|
+
- Étend l'audience adressable des « nouveaux projets » à « toute équipe utilisant déjà i18n ».
|
package/docs/hi/mcp_server.md
CHANGED
|
@@ -23,7 +23,7 @@ history:
|
|
|
23
23
|
changes: "Claude Desktop सेट अप जोड़ा"
|
|
24
24
|
- version: 5.5.12
|
|
25
25
|
date: 2025-07-10
|
|
26
|
-
changes: "
|
|
26
|
+
changes: "Streamable HTTP ट्रांसपोर्ट और दूरस्थ सर्वर जोड़ा"
|
|
27
27
|
- version: 5.5.10
|
|
28
28
|
date: 2025-06-29
|
|
29
29
|
changes: "इतिहास प्रारंभ करें"
|
|
@@ -51,12 +51,12 @@ Intlayer MCP सर्वर को अपने IDE में सक्षम
|
|
|
51
51
|
|
|
52
52
|
> कमांड्स और विकल्पों की पूरी सूची देखने के लिए [Intlayer CLI दस्तावेज़ीकरण](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/cli/index.md) देखें।
|
|
53
53
|
|
|
54
|
-
## लोकल सर्वर (stdio) बनाम रिमोट सर्वर (
|
|
54
|
+
## लोकल सर्वर (stdio) बनाम रिमोट सर्वर (Streamable HTTP)
|
|
55
55
|
|
|
56
56
|
MCP सर्वर का उपयोग दो तरीकों से किया जा सकता है:
|
|
57
57
|
|
|
58
58
|
- लोकल सर्वर (stdio)
|
|
59
|
-
- रिमोट सर्वर (
|
|
59
|
+
- रिमोट सर्वर (Streamable HTTP)
|
|
60
60
|
|
|
61
61
|
### लोकल सर्वर (stdio) (सिफारिश की गई)
|
|
62
62
|
|
|
@@ -64,9 +64,9 @@ Intlayer एक NPM पैकेज प्रदान करता है ज
|
|
|
64
64
|
|
|
65
65
|
यह सर्वर MCP सर्वर का उपयोग करने का सिफारिश किया गया तरीका है। क्योंकि यह MCP सर्वर की सभी सुविधाओं को एकीकृत करता है, जिसमें CLI टूल्स भी शामिल हैं।
|
|
66
66
|
|
|
67
|
-
### रिमोट सर्वर (
|
|
67
|
+
### रिमोट सर्वर (Streamable HTTP)
|
|
68
68
|
|
|
69
|
-
MCP सर्वर को दूरस्थ रूप से भी उपयोग किया जा सकता है,
|
|
69
|
+
MCP सर्वर को दूरस्थ रूप से भी उपयोग किया जा सकता है, Streamable HTTP ट्रांसपोर्ट विधि का उपयोग करके। यह सर्वर Intlayer द्वारा होस्ट किया जाता है, और https://mcp.intlayer.org पर उपलब्ध है। इस सर्वर तक सार्वजनिक रूप से, बिना किसी प्रमाणीकरण के पहुंचा जा सकता है, और यह उपयोग के लिए मुफ्त है।
|
|
70
70
|
|
|
71
71
|
ध्यान दें कि रिमोट सर्वर CLI टूल्स, AI ऑटोकम्प्लीशन आदि को एकीकृत नहीं करता है। दूरस्थ सर्वर केवल दस्तावेज़ीकरण के साथ इंटरैक्शन के लिए है ताकि आपका AI असिस्टेंट Intlayer इकोसिस्टम में मदद कर सके।
|
|
72
72
|
|
|
@@ -97,7 +97,7 @@ bun x intlayer init mcp
|
|
|
97
97
|
यह कमांड:
|
|
98
98
|
|
|
99
99
|
1. आपसे पूछेगा कि आप किस प्लेटफॉर्म का उपयोग कर रहे हैं (Cursor, VS Code, Claude Desktop, आदि)।
|
|
100
|
-
2. आपसे पूछेगा कि आप किस ट्रांसपोर्ट विधि का उपयोग करना चाहते हैं (लोकल सर्वर (stdio) या रिमोट सर्वर (
|
|
100
|
+
2. आपसे पूछेगा कि आप किस ट्रांसपोर्ट विधि का उपयोग करना चाहते हैं (लोकल सर्वर (stdio) या रिमोट सर्वर (Streamable HTTP))।
|
|
101
101
|
3. आपकी कॉन्फ़िगरेशन फ़ाइल (जैसे, `.cursor/mcp.json`, `.vscode/mcp.json`, या ग्लोबल Claude Desktop कॉन्फ़िगरेशन) को स्वचालित रूप से अपडेट करेगा।
|
|
102
102
|
|
|
103
103
|
---
|
|
@@ -107,7 +107,7 @@ bun x intlayer init mcp
|
|
|
107
107
|
1. कमांड पैलेट खोलें (Ctrl+Shift+P या Cmd+Shift+P)।
|
|
108
108
|
2. `Intlayer: Setup AI Agent Skills` टाइप करें।
|
|
109
109
|
3. वह प्लेटफॉर्म चुनें जिसका आप उपयोग करते हैं (जैसे `VS Code`, `Cursor`, `Windsurf`, `OpenCode`, `Claude Code`, `GitHub Copilot Workspace`, आदि)।
|
|
110
|
-
4. इंस्टॉल करने के लिए MCP चुनें (stdio,
|
|
110
|
+
4. इंस्टॉल करने के लिए MCP चुनें (stdio, Streamable HTTP)।
|
|
111
111
|
5. Enter दबाएं।
|
|
112
112
|
|
|
113
113
|
---
|
|
@@ -131,16 +131,16 @@ Cursor में MCP सर्वर को कॉन्फ़िगर कर
|
|
|
131
131
|
}
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
### रिमोट सर्वर (
|
|
134
|
+
### रिमोट सर्वर (Streamable HTTP)
|
|
135
135
|
|
|
136
|
-
रिमोट Intlayer MCP सर्वर से Server-Sent Events (
|
|
136
|
+
रिमोट Intlayer MCP सर्वर से Server-Sent Events (Streamable HTTP) का उपयोग करके कनेक्ट करने के लिए, आप अपने MCP क्लाइंट को होस्टेड सेवा से कनेक्ट करने के लिए कॉन्फ़िगर कर सकते हैं।
|
|
137
137
|
|
|
138
138
|
```json fileName=".cursor/mcp.json"
|
|
139
139
|
{
|
|
140
140
|
"mcpServers": {
|
|
141
|
-
"intlayer": {
|
|
142
|
-
"
|
|
143
|
-
"
|
|
141
|
+
"intlayer-sse": {
|
|
142
|
+
"command": "npx",
|
|
143
|
+
"args": ["-y", "mcp-remote@latest", "https://mcp.intlayer.org"]
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
}
|
|
@@ -172,16 +172,16 @@ VS Code के साथ Intlayer MCP सर्वर का उपयोग क
|
|
|
172
172
|
}
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
### रिमोट सर्वर (
|
|
175
|
+
### रिमोट सर्वर (Streamable HTTP)
|
|
176
176
|
|
|
177
|
-
रिमोट Intlayer MCP सर्वर से Server-Sent Events (
|
|
177
|
+
रिमोट Intlayer MCP सर्वर से Server-Sent Events (Streamable HTTP) का उपयोग करके कनेक्ट करने के लिए, आप अपने MCP क्लाइंट को होस्टेड सेवा से कनेक्ट करने के लिए कॉन्फ़िगर कर सकते हैं।
|
|
178
178
|
|
|
179
179
|
```json fileName=".vscode/mcp.json"
|
|
180
180
|
{
|
|
181
181
|
"servers": {
|
|
182
|
-
"intlayer": {
|
|
183
|
-
"
|
|
184
|
-
"
|
|
182
|
+
"intlayer-sse": {
|
|
183
|
+
"command": "npx",
|
|
184
|
+
"args": ["-y", "mcp-remote@latest", "https://mcp.intlayer.org"]
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
}
|
|
@@ -191,7 +191,7 @@ VS Code के साथ Intlayer MCP सर्वर का उपयोग क
|
|
|
191
191
|
|
|
192
192
|
## ChatGPT में सेटअप
|
|
193
193
|
|
|
194
|
-
### रिमोट सर्वर (
|
|
194
|
+
### रिमोट सर्वर (Streamable HTTP)
|
|
195
195
|
|
|
196
196
|
ChatGPT में MCP सर्वर को कॉन्फ़िगर करने के लिए [आधिकारिक दस्तावेज़](https://platform.openai.com/docs/mcp#test-and-connect-your-mcp-server) का पालन करें।
|
|
197
197
|
|
|
@@ -232,6 +232,19 @@ Claude Desktop में MCP सर्वर कॉन्फ़िगर कर
|
|
|
232
232
|
}
|
|
233
233
|
```
|
|
234
234
|
|
|
235
|
+
### रिमोट सर्वर (Streamable HTTP)
|
|
236
|
+
|
|
237
|
+
```json fileName="claude_desktop_config.json"
|
|
238
|
+
{
|
|
239
|
+
"mcpServers": {
|
|
240
|
+
"intlayer-sse": {
|
|
241
|
+
"command": "npx",
|
|
242
|
+
"args": ["-y", "mcp-remote@latest", "https://mcp.intlayer.org"]
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
235
248
|
---
|
|
236
249
|
|
|
237
250
|
## CLI के माध्यम से MCP सर्वर का उपयोग करना
|