@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: Sync PO प्लगइन
|
|
5
|
+
description: Intlayer शब्दकोशों को Gettext PO फ़ाइलों के साथ सिंक करें। अपने संदेशों को प्रबंधित करने, अनुवाद करने और परीक्षण करने के लिए Intlayer का उपयोग करते हुए अपने मौजूदा i18n को बनाए रखें।
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Sync PO
|
|
9
|
+
- Gettext
|
|
10
|
+
- i18n
|
|
11
|
+
- अनुवाद
|
|
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: "Sync PO प्लगइन का प्रारंभिक दस्तावेज़ीकरण"
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Sync PO (i18n ब्रिज) - ICU / i18next समर्थन के साथ Sync PO
|
|
24
|
+
|
|
25
|
+
अपने मौजूदा i18n स्टैक के ऐड-ऑन के रूप में Intlayer का उपयोग करें। यह प्लगइन आपके Gettext PO संदेशों को Intlayer शब्दकोशों के साथ सिंक में रखता है ताकि आप:
|
|
26
|
+
|
|
27
|
+
- अपने मौजूदा PO-आधारित अनुवाद वर्कफ़्लो को बनाए रख सकें।
|
|
28
|
+
- अपने ऐप को रिफैक्टर किए बिना Intlayer (CLI, CI, प्रदाता, CMS) के साथ अपने संदेशों को प्रबंधित और अनुवाद कर सकें।
|
|
29
|
+
- प्रत्येक पारिस्थितिकी तंत्र को लक्षित करते हुए ट्यूटोरियल और SEO सामग्री भेज सकें, जबकि Intlayer को PO प्रबंधन परत के रूप में सुझा सकें।
|
|
30
|
+
|
|
31
|
+
नोट्स और वर्तमान दायरा:
|
|
32
|
+
|
|
33
|
+
- CMS के लिए बाहरीकरण अनुवादों और क्लासिक टेक्स्ट के लिए काम करता है।
|
|
34
|
+
- PO प्रविष्टियों के भीतर प्रविष्टि, बहुवचन/ICU, या अन्य पुस्तकालयों की उन्नत रनटाइम सुविधाओं के लिए अभी तक कोई समर्थन नहीं है।
|
|
35
|
+
- विज़ुअल एडिटर अभी तक तृतीय-पक्ष i18n आउटपुट के लिए समर्थित नहीं है।
|
|
36
|
+
|
|
37
|
+
### इस प्लगइन का उपयोग कब करें
|
|
38
|
+
|
|
39
|
+
- आप पहले से ही अपने अनुवादों के लिए Gettext PO फ़ाइलों का उपयोग करते हैं।
|
|
40
|
+
- आप अपने रेंडरिंग रनटाइम को बदले बिना AI-सहायता प्राप्त फिल, CI में टेस्ट और कंटेंट ऑप्स चाहते हैं।
|
|
41
|
+
|
|
42
|
+
## इंस्टॉलेशन
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pnpm add -D @intlayer/sync-po-plugin
|
|
46
|
+
# या
|
|
47
|
+
npm i -D @intlayer/sync-po-plugin
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## प्लगइन्स
|
|
51
|
+
|
|
52
|
+
यह पैकेज दो प्लगइन्स प्रदान करता है:
|
|
53
|
+
|
|
54
|
+
- `loadPO`: Intlayer शब्दकोशों में PO फ़ाइलें लोड करें।
|
|
55
|
+
- इस प्लगइन का उपयोग स्रोत से PO फ़ाइलों को लोड करने के लिए किया जाता है और इसे Intlayer शब्दकोशों में लोड किया जाएगा। यह पूरे कोडबेस को स्कैन कर सकता है और विशिष्ट PO फ़ाइलों को खोज सकता है।
|
|
56
|
+
इस प्लगइन का उपयोग किया जा सकता है:
|
|
57
|
+
- यदि आप एक i18n लाइब्रेरी का उपयोग करते हैं जो आपकी PO फ़ाइलों को लोड करने के लिए एक विशिष्ट स्थान लागू करती है, लेकिन आप अपनी सामग्री घोषणा को अपने कोड बेस में जहां चाहें वहां रखना चाहते हैं।
|
|
58
|
+
- इसका उपयोग तब भी किया जा सकता है जब आप रिमोट स्रोत (जैसे: CMS, एक API, आदि) से अपने संदेश प्राप्त करना चाहते हैं और अपने संदेशों को PO फ़ाइलों में संग्रहीत करना चाहते हैं।
|
|
59
|
+
|
|
60
|
+
> हुड के तहत, यह प्लगइन पूरे कोडबेस को स्कैन करेगा और विशिष्ट PO फ़ाइलों को खोजेगा और उन्हें Intlayer शब्दकोशों में लोड करेगा।
|
|
61
|
+
> ध्यान दें कि यह प्लगइन आउटपुट और अनुवादों को वापस PO फ़ाइलों में नहीं लिखेगा।
|
|
62
|
+
|
|
63
|
+
- `syncPO`: Intlayer शब्दकोशों के साथ PO फ़ाइलों को सिंक्रनाइज़ करें।
|
|
64
|
+
- इस प्लगइन का उपयोग Intlayer शब्दकोशों के साथ PO फ़ाइलों को सिंक्रनाइज़ करने के लिए किया जाता है। यह दिए गए स्थान को स्कैन कर सकता है और विशिष्ट PO फ़ाइलों के पैटर्न से मेल खाने वाले PO को लोड कर सकता है। यदि आप दूसरी i18n लाइब्रेरी का उपयोग करते हुए Intlayer के लाभ प्राप्त करना चाहते हैं तो यह प्लगइन उपयोगी है।
|
|
65
|
+
|
|
66
|
+
## दोनों प्लगइन्स का उपयोग करना
|
|
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
|
+
// अपनी वर्तमान PO फ़ाइलों को Intlayer शब्दकोशों के साथ सिंक में रखें
|
|
79
|
+
plugins: [
|
|
80
|
+
/**
|
|
81
|
+
* src में उन सभी PO फ़ाइलों को लोड करेगा जो {key}.i18n.po पैटर्न से मेल खाती हैं
|
|
82
|
+
*/
|
|
83
|
+
loadPO({
|
|
84
|
+
source: ({ key }) => `./src/**/${key}.i18n.po`,
|
|
85
|
+
locale: Locales.ENGLISH,
|
|
86
|
+
priority: 1, // यह सुनिश्चित करता है कि ये PO फ़ाइलें `./locales/en/${key}.po` की फ़ाइलों पर प्राथमिकता लें
|
|
87
|
+
}),
|
|
88
|
+
/**
|
|
89
|
+
* लोड करेगा, और आउटपुट और अनुवादों को वापस locales निर्देशिका में PO फ़ाइलों में लिखेगा
|
|
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
|
+
## `syncPO` प्लगइन
|
|
102
|
+
|
|
103
|
+
### त्वरित शुरुआत
|
|
104
|
+
|
|
105
|
+
प्लगइन को अपने `intlayer.config.ts` में जोड़ें और इसे अपनी मौजूदा PO संरचना पर इंगित करें।
|
|
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
|
+
// अपनी वर्तमान PO फ़ाइलों को Intlayer शब्दकोशों के साथ सिंक में रखें
|
|
118
|
+
plugins: [
|
|
119
|
+
syncPO({
|
|
120
|
+
// प्रति-लोकेल, प्रति-नेमस्पेस लेआउट
|
|
121
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
122
|
+
}),
|
|
123
|
+
],
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export default config;
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
वैकल्पिक: प्रति लोकेल एकल फ़ाइल:
|
|
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
|
+
#### यह कैसे काम करता है
|
|
151
|
+
|
|
152
|
+
- पढ़ें: प्लगइन आपके `source` बिल्डर से PO फ़ाइलों की खोज करता है और उन्हें Intlayer शब्दकोशों के रूप में लोड करता है।
|
|
153
|
+
- लिखें: बिल्ड और फिल के बाद, यह स्थानीयकृत PO को वापस उन्हीं पथों पर लिखता है (उचित Gettext हेडर के साथ)।
|
|
154
|
+
- ऑटो-फिल: प्लगइन प्रत्येक शब्दकोश के लिए एक `autoFill` पथ घोषित करता है। `intlayer fill` चलाने से डिफ़ॉल्ट रूप से आपकी PO फ़ाइलों में केवल गायब अनुवाद अपडेट होते हैं।
|
|
155
|
+
|
|
156
|
+
API:
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
syncPO({
|
|
160
|
+
source: ({ key, locale }) => string, // आवश्यक
|
|
161
|
+
location?: string, // वैकल्पिक लेबल, डिफ़ॉल्ट: "sync-po::path/to/source"
|
|
162
|
+
priority?: number, // संघर्ष समाधान के लिए वैकल्पिक प्राथमिकता, डिफ़ॉल्ट: 0
|
|
163
|
+
format?: 'icu' | 'i18next' | 'vue-i18n', // वैकल्पिक, केवल तभी आवश्यक जब आपके msgstr मान एक विशिष्ट इंटरपोलेशन सिंटैक्स का उपयोग करते हैं
|
|
164
|
+
});
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
#### `format` ('icu' | 'i18next' | 'vue-i18n')
|
|
168
|
+
|
|
169
|
+
PO फ़ाइलें हमेशा Gettext Portable Object फ़ाइलें होती हैं — वह स्थिर है। यह विकल्प केवल `msgstr` मानों के भीतर उपयोग किए जाने वाले **इंटरपोलेशन सिंटैक्स** का वर्णन करता है, ताकि Intlayer उन्हें पार्स समय ( `formatDictionary` के माध्यम से) पर अपने स्वयं के प्रारूप में परिवर्तित कर सके और आउटपुट लिखते समय वापस परिवर्तित कर सके।
|
|
170
|
+
|
|
171
|
+
- `undefined` _(डिफ़ॉल्ट)_: `msgstr` मानों को सादे स्ट्रिंग्स के रूप में माना जाता है — कोई परिवर्तन नहीं। अधिकांश PO फ़ाइलों के लिए इसका उपयोग करें।
|
|
172
|
+
- `'icu'`: `msgstr` मान ICU संदेश सिंटैक्स का उपयोग करते हैं (जैसे `{count, plural, one {# item} other {# items}}`)।
|
|
173
|
+
- `'i18next'`: `msgstr` मान i18next इंटरपोलेशन सिंटैक्स का उपयोग करते हैं (जैसे `{{variable}}`)।
|
|
174
|
+
- `'vue-i18n'`: `msgstr` मान Vue I18n सिंटैक्स का उपयोग करते हैं।
|
|
175
|
+
|
|
176
|
+
> रूपांतरण लोड होने पर `@intlayer/chokidar` के `formatDictionary` द्वारा लागू किया जाता है, और लिखते समय `formatDictionaryOutput` के साथ उलट दिया जाता है। ICU बहुवचन जैसे जटिल नियमों के लिए, राउंड-ट्रिप निष्ठा की गारंटी नहीं है।
|
|
177
|
+
|
|
178
|
+
**उदाहरण — PO फ़ाइलों में i18next-शैली इंटरपोलेशन शामिल है:**
|
|
179
|
+
|
|
180
|
+
```ts
|
|
181
|
+
syncPO({
|
|
182
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
183
|
+
format: "i18next",
|
|
184
|
+
}),
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### एकाधिक PO स्रोत और प्राथमिकता
|
|
188
|
+
|
|
189
|
+
आप विभिन्न PO स्रोतों को सिंक्रनाइज़ करने के लिए एकाधिक `syncPO` प्लगइन्स जोड़ सकते हैं। यह तब उपयोगी होता है जब आपके प्रोजेक्ट में कई अनुवाद स्रोत या अलग-अलग PO संरचनाएं हों।
|
|
190
|
+
|
|
191
|
+
#### प्राथमिकता प्रणाली
|
|
192
|
+
|
|
193
|
+
जब कई प्लगइन्स एक ही शब्दकोश कुंजी को लक्षित करते हैं, तो `priority` पैरामीटर यह निर्धारित करता है कि कौन सा प्लगइन प्राथमिकता लेता है:
|
|
194
|
+
|
|
195
|
+
- उच्च प्राथमिकता संख्याएँ कम प्राथमिकता वाली संख्याओं पर जीतती हैं
|
|
196
|
+
- `.content` फ़ाइलों की डिफ़ॉल्ट प्राथमिकता `0` है
|
|
197
|
+
- प्लगइन्स की डिफ़ॉल्ट प्राथमिकता `0` है
|
|
198
|
+
- समान प्राथमिकता वाले प्लगइन्स को कॉन्फ़िगरेशन में दिखाई देने वाले क्रम में संसाधित किया जाता है
|
|
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
|
+
// प्राथमिक PO स्रोत (उच्चतम प्राथमिकता)
|
|
212
|
+
syncPO({
|
|
213
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
214
|
+
location: "main-translations",
|
|
215
|
+
priority: 10,
|
|
216
|
+
}),
|
|
217
|
+
|
|
218
|
+
// फॉलबैक PO स्रोत (कम प्राथमिकता)
|
|
219
|
+
syncPO({
|
|
220
|
+
source: ({ locale }) => `./fallback-locales/${locale}.po`,
|
|
221
|
+
location: "fallback-translations",
|
|
222
|
+
priority: 5,
|
|
223
|
+
}),
|
|
224
|
+
|
|
225
|
+
// लीगेसी PO स्रोत (सबसे कम प्राथमिकता)
|
|
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
|
+
## Load PO प्लगइन
|
|
238
|
+
|
|
239
|
+
### त्वरित शुरुआत
|
|
240
|
+
|
|
241
|
+
मौजूदा PO फ़ाइलों को Intlayer शब्दकोशों के रूप में प्राप्त करने के लिए प्लगइन को अपने `intlayer.config.ts` में जोड़ें। यह प्लगइन केवल पढ़ने के लिए है (डिस्क पर कोई लेखन नहीं):
|
|
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
|
+
// अपने स्रोत ट्री में कहीं भी स्थित PO संदेशों को प्राप्त करें
|
|
255
|
+
loadPO({
|
|
256
|
+
source: ({ key }) => `./src/**/${key}.i18n.po`,
|
|
257
|
+
// प्रति प्लगइन इंस्टेंस एक एकल लोकेल लोड करें (कॉन्फ़िगरेशन defaultLocale के लिए डिफ़ॉल्ट)
|
|
258
|
+
locale: Locales.ENGLISH,
|
|
259
|
+
priority: 0,
|
|
260
|
+
}),
|
|
261
|
+
],
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
export default config;
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
वैकल्पिक: प्रति-लोकेल लेआउट, अभी भी केवल-पढ़ने के लिए (केवल चयनित लोकेल लोड किया गया है):
|
|
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
|
+
// इस पैटर्न से केवल Locales.FRENCH के लिए फ़ाइलें प्राप्त की जाएंगी
|
|
281
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
282
|
+
locale: Locales.FRENCH,
|
|
283
|
+
}),
|
|
284
|
+
],
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
export default config;
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### यह कैसे काम करता है
|
|
291
|
+
|
|
292
|
+
- खोज: आपके `source` बिल्डर से एक ग्लब बनाता है और मिलान करने वाली PO फ़ाइलें एकत्र करता है।
|
|
293
|
+
- प्राप्ति: प्रत्येक PO फ़ाइल को प्रदान किए गए `locale` के साथ Intlayer शब्दकोश के रूप में लोड करता है।
|
|
294
|
+
- केवल-पढ़ने के लिए: आउटपुट फ़ाइलों को लिखता या प्रारूपित नहीं करता है; यदि आपको राउंड-ट्रिप सिंक की आवश्यकता है तो `syncPO` का उपयोग करें।
|
|
295
|
+
- ऑटो-फिल तैयार: एक `fill` पथ परिभाषित करता है ताकि `intlayer content fill` गायब कुंजियों को पॉप्युलेट कर सके।
|
|
296
|
+
|
|
297
|
+
### API
|
|
298
|
+
|
|
299
|
+
```ts
|
|
300
|
+
loadPO({
|
|
301
|
+
// आपके PO के पथ बनाएं। `locale` वैकल्पिक है यदि आपकी संरचना में कोई लोकेल सेगमेंट नहीं है
|
|
302
|
+
source: ({ key, locale }) => string,
|
|
303
|
+
|
|
304
|
+
// इस प्लगइन इंस्टेंस द्वारा लोड किए गए शब्दकोशों के लिए लक्षित लोकेल
|
|
305
|
+
// कॉन्फ़िगरेशन configuration.internationalization.defaultLocale के लिए डिफ़ॉल्ट
|
|
306
|
+
locale?: Locale,
|
|
307
|
+
|
|
308
|
+
// स्रोत की पहचान करने के लिए वैकल्पिक लेबल
|
|
309
|
+
location?: string, // डिफ़ॉल्ट: "plugin"
|
|
310
|
+
|
|
311
|
+
// अन्य स्रोतों के खिलाफ संघर्ष समाधान के लिए उपयोग की जाने वाली प्राथमिकता
|
|
312
|
+
priority?: number, // डिफ़ॉल्ट: 0
|
|
313
|
+
});
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### व्यवहार और परंपराएं
|
|
317
|
+
|
|
318
|
+
- यदि आपके `source` मास्क में लोकेल प्लेसहोल्डर शामिल है, तो केवल चयनित `locale` की फ़ाइलें प्राप्त की जाती हैं।
|
|
319
|
+
- यदि आपके मास्क में कोई `{key}` सेगमेंट नहीं है, तो डिक्शनरी कुंजी "index" है।
|
|
320
|
+
- कुंजियाँ आपके `source` बिल्डर में `{key}` प्लेसहोल्डर को प्रतिस्थापित करके फ़ाइल पथों से ली गई हैं।
|
|
321
|
+
- प्लगइन केवल खोजी गई फ़ाइलों का उपयोग करता है और गायब लोकेल या कुंजियों का निर्माण नहीं करता है।
|
|
322
|
+
- `fill` पथ आपके `source` से अनुमानित है और जब आप ऑप्ट-इन करते हैं तो CLI के माध्यम से गायब मानों को अपडेट करने के लिए उपयोग किया जाता है।
|
|
323
|
+
|
|
324
|
+
## संघर्ष समाधान
|
|
325
|
+
|
|
326
|
+
जब एक ही अनुवाद कुंजी कई PO स्रोतों में मौजूद होती है:
|
|
327
|
+
|
|
328
|
+
1. उच्चतम प्राथमिकता वाला प्लगइन अंतिम मान निर्धारित करता है
|
|
329
|
+
2. गायब कुंजियों के लिए निम्न प्राथमिकता स्रोतों का उपयोग फॉलबैक के रूप में किया जाता है
|
|
330
|
+
3. यह आपको नई संरचनाओं में धीरे-धीरे माइग्रेट करते हुए लीगेसी अनुवादों को बनाए रखने की अनुमति देता है
|
|
331
|
+
|
|
332
|
+
## CLI
|
|
333
|
+
|
|
334
|
+
सिंक्रनाइज़ की गई PO फ़ाइलों को अन्य `.content` फ़ाइलों की तरह माना जाएगा। इसका मतलब है, सिंक्रनाइज़ की गई PO फ़ाइलों के लिए सभी intlayer कमांड उपलब्ध होंगे। इसमें शामिल हैं:
|
|
335
|
+
|
|
336
|
+
- गायब अनुवाद हैं या नहीं, यह परीक्षण करने के लिए `intlayer content test`
|
|
337
|
+
- सिंक्रनाइज़ की गई PO फ़ाइलों को सूचीबद्ध करने के लिए `intlayer content list`
|
|
338
|
+
- गायब अनुवादों को भरने के लिए `intlayer content fill`
|
|
339
|
+
- सिंक्रनाइज़ की गई PO फ़ाइलों को पुश करने के लिए `intlayer content push`
|
|
340
|
+
- सिंक्रनाइज़ की गई PO फ़ाइलों को पुल करने के लिए `intlayer content pull`
|
|
341
|
+
|
|
342
|
+
अधिक जानकारी के लिए [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md) देखें।
|
|
343
|
+
|
|
344
|
+
## सीमाएँ (वर्तमान)
|
|
345
|
+
|
|
346
|
+
- तृतीय-पक्ष पुस्तकालयों को लक्षित करते समय कोई प्रविष्टि या बहुवचन/ICU समर्थन नहीं।
|
|
347
|
+
- विज़ुअल एडिटर अभी तक गैर-Intlayer रनटाइम के लिए उपलब्ध नहीं है।
|
|
348
|
+
- केवल PO सिंक्रनाइज़ेशन; गैर-PO कैटलॉग प्रारूप समर्थित नहीं हैं।
|
|
349
|
+
|
|
350
|
+
## यह क्यों मायने रखता है
|
|
351
|
+
|
|
352
|
+
- हम स्थापित i18n समाधानों की सिफारिश कर सकते हैं और Intlayer को ऐड-ऑन के रूप में स्थान दे सकते हैं।
|
|
353
|
+
- हम उनके SEO/कीवर्ड्स का लाभ उठाते हैं ट्यूटोरियल्स के साथ जो PO को प्रबंधित करने के लिए Intlayer का सुझाव देते हुए समाप्त होते हैं।
|
|
354
|
+
- लक्षित दर्शकों को "नए प्रोजेक्ट" से "i18n का उपयोग करने वाली किसी भी टीम" तक विस्तारित करता है।
|
package/docs/id/mcp_server.md
CHANGED
|
@@ -23,7 +23,7 @@ history:
|
|
|
23
23
|
changes: "Menambahkan pengaturan Claude Desktop"
|
|
24
24
|
- version: 5.5.12
|
|
25
25
|
date: 2025-07-10
|
|
26
|
-
changes: "Menambahkan transport
|
|
26
|
+
changes: "Menambahkan transport Streamable HTTP dan server jarak jauh"
|
|
27
27
|
- version: 5.5.10
|
|
28
28
|
date: 2025-06-29
|
|
29
29
|
changes: "Inisialisasi riwayat"
|
|
@@ -51,12 +51,12 @@ Dengan mengaktifkan Intlayer MCP Server di IDE Anda, Anda membuka:
|
|
|
51
51
|
|
|
52
52
|
> Lihat daftar lengkap perintah dan opsi di [dokumentasi Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/cli/index.md).
|
|
53
53
|
|
|
54
|
-
## Server lokal (stdio) vs Server jarak jauh (
|
|
54
|
+
## Server lokal (stdio) vs Server jarak jauh (Streamable HTTP)
|
|
55
55
|
|
|
56
56
|
Server MCP dapat digunakan dengan dua cara:
|
|
57
57
|
|
|
58
58
|
- Server lokal (stdio)
|
|
59
|
-
- Server jarak jauh (
|
|
59
|
+
- Server jarak jauh (Streamable HTTP)
|
|
60
60
|
|
|
61
61
|
### Server lokal (stdio) (direkomendasikan)
|
|
62
62
|
|
|
@@ -64,7 +64,7 @@ Intlayer menyediakan paket NPM yang dapat diinstal secara lokal di mesin Anda. P
|
|
|
64
64
|
|
|
65
65
|
Server ini adalah cara yang direkomendasikan untuk menggunakan server MCP. Karena server ini mengintegrasikan semua fitur dari server MCP, termasuk alat CLI.
|
|
66
66
|
|
|
67
|
-
### Server jarak jauh (
|
|
67
|
+
### Server jarak jauh (Streamable HTTP)
|
|
68
68
|
|
|
69
69
|
Server MCP juga dapat digunakan secara jarak jauh, menggunakan metode transport SSE. Server ini dihosting oleh Intlayer, dan tersedia di https://mcp.intlayer.org. Server ini dapat diakses secara publik, tanpa autentikasi, dan gratis untuk digunakan.
|
|
70
70
|
|
|
@@ -97,7 +97,7 @@ bun x intlayer init mcp
|
|
|
97
97
|
Perintah ini akan:
|
|
98
98
|
|
|
99
99
|
1. Menanyakan platform apa yang Anda gunakan (Cursor, VS Code, Claude Desktop, dll.).
|
|
100
|
-
2. Menanyakan metode transportasi apa yang ingin Anda gunakan (Server lokal (stdio) atau Server jarak jauh (
|
|
100
|
+
2. Menanyakan metode transportasi apa yang ingin Anda gunakan (Server lokal (stdio) atau Server jarak jauh (Streamable HTTP)).
|
|
101
101
|
3. Secara otomatis memperbarui file konfigurasi Anda (misalnya, `.cursor/mcp.json`, `.vscode/mcp.json`, atau konfigurasi global Claude Desktop).
|
|
102
102
|
|
|
103
103
|
---
|
|
@@ -107,7 +107,7 @@ Perintah ini akan:
|
|
|
107
107
|
1. Buka Command Palette (Ctrl+Shift+P atau Cmd+Shift+P).
|
|
108
108
|
2. Ketik `Intlayer: Setup AI Agent Skills`
|
|
109
109
|
3. Pilih platform yang Anda gunakan (mis. `VS Code`, `Cursor`, `Windsurf`, `OpenCode`, `Claude Code`, `GitHub Copilot Workspace`, dll.).
|
|
110
|
-
4. Pilih MCP yang akan diinstal (stdio,
|
|
110
|
+
4. Pilih MCP yang akan diinstal (stdio, Streamable HTTP)
|
|
111
111
|
5. Tekan Enter.
|
|
112
112
|
|
|
113
113
|
---
|
|
@@ -131,16 +131,16 @@ Di root proyek Anda, tambahkan file konfigurasi `.cursor/mcp.json` berikut:
|
|
|
131
131
|
}
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
### Server jarak jauh (
|
|
134
|
+
### Server jarak jauh (Streamable HTTP)
|
|
135
135
|
|
|
136
|
-
Untuk menghubungkan ke server Intlayer MCP jarak jauh menggunakan Server-Sent Events (
|
|
136
|
+
Untuk menghubungkan ke server Intlayer MCP jarak jauh menggunakan Server-Sent Events (Streamable HTTP), Anda dapat mengonfigurasi klien MCP Anda untuk terhubung ke layanan yang dihosting.
|
|
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 @@ Buat file `.vscode/mcp.json` di root proyek Anda:
|
|
|
172
172
|
}
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
### Server jarak jauh (
|
|
175
|
+
### Server jarak jauh (Streamable HTTP)
|
|
176
176
|
|
|
177
|
-
Untuk menghubungkan ke server Intlayer MCP jarak jauh menggunakan Server-Sent Events (
|
|
177
|
+
Untuk menghubungkan ke server Intlayer MCP jarak jauh menggunakan Server-Sent Events (Streamable HTTP), Anda dapat mengonfigurasi klien MCP Anda untuk terhubung ke layanan yang dihosting.
|
|
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 @@ Untuk menghubungkan ke server Intlayer MCP jarak jauh menggunakan Server-Sent Ev
|
|
|
191
191
|
|
|
192
192
|
## Pengaturan di ChatGPT
|
|
193
193
|
|
|
194
|
-
### Server jarak jauh (
|
|
194
|
+
### Server jarak jauh (Streamable HTTP)
|
|
195
195
|
|
|
196
196
|
Ikuti [dokumentasi resmi](https://platform.openai.com/docs/mcp#test-and-connect-your-mcp-server) untuk mengonfigurasi server MCP di ChatGPT.
|
|
197
197
|
|
|
@@ -232,6 +232,19 @@ Lokasi file konfigurasi:
|
|
|
232
232
|
}
|
|
233
233
|
```
|
|
234
234
|
|
|
235
|
+
### Server jarak jauh (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
|
## Menggunakan MCP Server melalui CLI
|