@intlayer/docs 8.9.4-canary.0 → 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 +6 -6
- 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. Сохраняйте существующую i18n, используя Intlayer для управления, перевода и тестирования ваших сообщений.
|
|
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 мосты) - Синхронизация PO с поддержкой ICU / i18next
|
|
24
|
+
|
|
25
|
+
Используйте Intlayer как дополнение к вашему существующему стеку i18n. Этот плагин синхронизирует ваши сообщения Gettext PO со словарями Intlayer, чтобы вы могли:
|
|
26
|
+
|
|
27
|
+
- Сохранить существующий рабочий процесс перевода на основе PO.
|
|
28
|
+
- Управлять и переводить свои сообщения с помощью Intlayer (CLI, CI, провайдеры, CMS) без рефакторинга вашего приложения.
|
|
29
|
+
- Выпускать учебные пособия и SEO-контент для каждой экосистемы, предлагая Intlayer в качестве уровня управления PO.
|
|
30
|
+
|
|
31
|
+
Примечания и текущая область применения:
|
|
32
|
+
|
|
33
|
+
- Экстернализация в CMS работает для переводов и классического текста.
|
|
34
|
+
- Пока нет поддержки вставок, множественного числа/ICU или расширенных функций среды выполнения других библиотек внутри самих записей PO.
|
|
35
|
+
- Визуальный редактор пока не поддерживается для сторонних выходных данных i18n.
|
|
36
|
+
|
|
37
|
+
### Когда использовать этот плагин
|
|
38
|
+
|
|
39
|
+
- Вы уже используете файлы Gettext PO для своих переводов.
|
|
40
|
+
- Вы хотите использовать заполнение с помощью ИИ, тестирование в 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`: Загрузка PO-файлов в словари Intlayer.
|
|
55
|
+
- Этот плагин используется для загрузки PO-файлов из источника и их добавления в словари Intlayer. Он может сканировать всю кодовую базу и искать определенные PO-файлы.
|
|
56
|
+
Этот плагин можно использовать:
|
|
57
|
+
- если вы используете библиотеку i18n, которая навязывает определенное местоположение для загрузки ваших PO-файлов, но вы хотите разместить объявление контента там, где вам удобно в вашей кодовой базе.
|
|
58
|
+
- Его также можно использовать, если вы хотите получать свои сообщения из удаленного источника (например, CMS, API и т. д.) и сохранять их в PO-файлах.
|
|
59
|
+
|
|
60
|
+
> Под капотом этот плагин сканирует всю кодовую базу, ищет определенные PO-файлы и загружает их в словари Intlayer.
|
|
61
|
+
> Обратите внимание, что этот плагин не записывает вывод и переводы обратно в PO-файлы.
|
|
62
|
+
|
|
63
|
+
- `syncPO`: Синхронизация PO-файлов со словарями Intlayer.
|
|
64
|
+
- Этот плагин используется для синхронизации PO-файлов со словарями Intlayer. Он может сканировать заданное местоположение и загружать PO, соответствующие шаблону для определенных PO-файлов. Этот плагин полезен, если вы хотите получить преимущества Intlayer, используя другую библиотеку i18n.
|
|
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
|
+
* Загрузит все PO-файлы в src, соответствующие шаблону {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
|
+
* Загрузит и запишет вывод и переводы обратно в PO-файлы в каталоге 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
|
+
## Плагин `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
|
+
- Чтение: плагин обнаруживает PO-файлы с помощью вашего сборщика `source` и загружает их как словари 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
|
+
> Преобразование применяется функцией `formatDictionary` плагина `@intlayer/chokidar` при загрузке и обращается функцией `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
|
+
Вы можете добавить несколько плагинов `syncPO` для синхронизации различных источников PO. Это полезно, когда у вас есть несколько источников перевода или различные структуры 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
|
+
Добавьте плагин в свой `intlayer.config.ts`, чтобы поглощать существующие PO-файлы как словари Intlayer. Этот плагин работает только на чтение (без записи на диск):
|
|
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
|
+
- Обнаружение: создает glob из вашего сборщика `source` и собирает соответствующие PO-файлы.
|
|
293
|
+
- Поглощение: загружает каждый PO-файл как словарь Intlayer с указанной локалью `locale`.
|
|
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
|
+
- Ключи извлекаются из путей к файлам путем замены заполнителя `{key}` в вашем сборщике `source`.
|
|
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
|
+
- `intlayer content list` для вывода списка синхронизированных PO-файлов
|
|
338
|
+
- `intlayer content fill` для заполнения отсутствующих переводов
|
|
339
|
+
- `intlayer content push` для отправки синхронизированных PO-файлов
|
|
340
|
+
- `intlayer content pull` для получения синхронизированных PO-файлов
|
|
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/ключевые слова с учебными пособиями, которые заканчиваются предложением использовать Intlayer для управления PO.
|
|
354
|
+
- Расширяет целевую аудиторию с «новых проектов» до «любой команды, уже использующей i18n».
|
package/docs/tr/mcp_server.md
CHANGED
|
@@ -23,7 +23,7 @@ history:
|
|
|
23
23
|
changes: "Claude Desktop kurulumu eklendi"
|
|
24
24
|
- version: 5.5.12
|
|
25
25
|
date: 2025-07-10
|
|
26
|
-
changes: "
|
|
26
|
+
changes: "Streamable HTTP aktarımı ve uzak sunucu eklendi"
|
|
27
27
|
- version: 5.5.10
|
|
28
28
|
date: 2025-06-29
|
|
29
29
|
changes: "Geçmiş başlatıldı"
|
|
@@ -51,12 +51,12 @@ IDE'nizde Intlayer MCP Sunucusunu etkinleştirerek şunları açığa çıkarır
|
|
|
51
51
|
|
|
52
52
|
> Komutların ve seçeneklerin tam listesini [Intlayer CLI dokümantasyonunda](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md) görüntüleyin.
|
|
53
53
|
|
|
54
|
-
## Yerel sunucu (stdio) vs Uzak sunucu (
|
|
54
|
+
## Yerel sunucu (stdio) vs Uzak sunucu (Streamable HTTP)
|
|
55
55
|
|
|
56
56
|
MCP sunucusu iki şekilde kullanılabilir:
|
|
57
57
|
|
|
58
58
|
- Yerel sunucu (stdio)
|
|
59
|
-
- Uzak sunucu (
|
|
59
|
+
- Uzak sunucu (Streamable HTTP)
|
|
60
60
|
|
|
61
61
|
### Yerel sunucu (stdio) (önerilen)
|
|
62
62
|
|
|
@@ -64,9 +64,9 @@ Intlayer, makinenizde yerel olarak yüklenebilen bir NPM paketi sağlar. VS Code
|
|
|
64
64
|
|
|
65
65
|
Bu sunucu, MCP sunucusunun tüm özelliklerini entegre ettiği için önerilen yol, CLI araçları dahil.
|
|
66
66
|
|
|
67
|
-
### Uzak sunucu (
|
|
67
|
+
### Uzak sunucu (Streamable HTTP)
|
|
68
68
|
|
|
69
|
-
MCP sunucusu ayrıca uzak olarak,
|
|
69
|
+
MCP sunucusu ayrıca uzak olarak, Streamable HTTP aktarım yöntemini kullanarak kullanılabilir. Bu sunucu Intlayer tarafından barındırılır ve https://mcp.intlayer.org adresinde kullanılabilir. Bu sunucuya herkese açık olarak, herhangi bir kimlik doğrulaması olmadan erişilebilir ve kullanımı ücretsizdir.
|
|
70
70
|
|
|
71
71
|
Uzak sunucunun CLI araçlarını, AI otomatik tamamlama vb. entegre etmediğini unutmayın. Uzak sunucu sadece AI asistanınızın Intlayer ekosistemiyle etkileşim kurması için dokümantasyon içindir.
|
|
72
72
|
|
|
@@ -97,7 +97,7 @@ bun x intlayer init mcp
|
|
|
97
97
|
Bu komut şunları yapacaktır:
|
|
98
98
|
|
|
99
99
|
1. Hangi platformu kullandığınızı soracaktır (Cursor, VS Code, Claude Desktop vb.).
|
|
100
|
-
2. Hangi taşıma yöntemini kullanmak istediğinizi soracaktır (Yerel sunucu (stdio) veya Uzak sunucu (
|
|
100
|
+
2. Hangi taşıma yöntemini kullanmak istediğinizi soracaktır (Yerel sunucu (stdio) veya Uzak sunucu (Streamable HTTP)).
|
|
101
101
|
3. Yapılandırma dosyanızı otomatik olarak güncelleyecektir (örneğin, `.cursor/mcp.json`, `.vscode/mcp.json` veya genel Claude Desktop yapılandırması).
|
|
102
102
|
|
|
103
103
|
---
|
|
@@ -107,7 +107,7 @@ Bu komut şunları yapacaktır:
|
|
|
107
107
|
1. Komut Paletini açın (Ctrl+Shift+P veya Cmd+Shift+P).
|
|
108
108
|
2. `Intlayer: Setup AI Agent Skills` yazın
|
|
109
109
|
3. Kullandığınız platformu seçin (örn. `VS Code`, `Cursor`, `Windsurf`, `OpenCode`, `Claude Code`, `GitHub Copilot Workspace` vb.).
|
|
110
|
-
4. Kurulacak MCP'yi seçin (stdio,
|
|
110
|
+
4. Kurulacak MCP'yi seçin (stdio, Streamable HTTP)
|
|
111
111
|
5. Enter'a basın.
|
|
112
112
|
|
|
113
113
|
---
|
|
@@ -131,16 +131,16 @@ Proje kökünüzde aşağıdaki `.cursor/mcp.json` yapılandırma dosyasını ek
|
|
|
131
131
|
}
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
### Uzak sunucu (
|
|
134
|
+
### Uzak sunucu (Streamable HTTP)
|
|
135
135
|
|
|
136
|
-
Server-Sent Events (
|
|
136
|
+
Server-Sent Events (Streamable HTTP) kullanarak uzak bir Intlayer MCP sunucusuna bağlanmak için, MCP istemcinizi barındırılan servise bağlanacak şekilde yapılandırabilirsiniz.
|
|
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 @@ Proje kökünüzde bir `.vscode/mcp.json` dosyası oluşturun:
|
|
|
172
172
|
}
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
### Uzak sunucu (
|
|
175
|
+
### Uzak sunucu (Streamable HTTP)
|
|
176
176
|
|
|
177
|
-
Server-Sent Events (
|
|
177
|
+
Server-Sent Events (Streamable HTTP) kullanarak uzak bir Intlayer MCP sunucusuna bağlanmak için, MCP istemcinizi barındırılan servise bağlanacak şekilde yapılandırabilirsiniz.
|
|
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 @@ Server-Sent Events (SSE) kullanarak uzak bir Intlayer MCP sunucusuna bağlanmak
|
|
|
191
191
|
|
|
192
192
|
## ChatGPT'de Kurulum
|
|
193
193
|
|
|
194
|
-
### Uzak sunucu (
|
|
194
|
+
### Uzak sunucu (Streamable HTTP)
|
|
195
195
|
|
|
196
196
|
ChatGPT'de MCP sunucusunu yapılandırmak için [resmi dokümantasyonu](https://platform.openai.com/docs/mcp#test-and-connect-your-mcp-server) takip edin.
|
|
197
197
|
|
|
@@ -232,6 +232,19 @@ Yapılandırma dosyasının yolu:
|
|
|
232
232
|
}
|
|
233
233
|
```
|
|
234
234
|
|
|
235
|
+
### Uzak sunucu (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 aracılığıyla MCP Sunucusunu Kullanma
|