@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 eklentisi
|
|
5
|
+
description: Intlayer sözlüklerini Gettext PO dosyalarıyla senkronize edin. Mesajlarınızı yönetmek, çevirmek ve test etmek için Intlayer'ı kullanırken mevcut i18n yapınızı koruyun.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Sync PO
|
|
9
|
+
- Gettext
|
|
10
|
+
- i18n
|
|
11
|
+
- çeviriler
|
|
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 eklentisi ilk dokümantasyonu"
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Sync PO (i18n köprüleri) - ICU / i18next desteğiyle Sync PO
|
|
24
|
+
|
|
25
|
+
Intlayer'ı mevcut i18n yığınınız için bir eklenti olarak kullanın. Bu eklenti, Gettext PO mesajlarınızı Intlayer sözlükleriyle senkronize tutar, böylece şunları yapabilirsiniz:
|
|
26
|
+
|
|
27
|
+
- Mevcut PO tabanlı çeviri iş akışınızı koruyun.
|
|
28
|
+
- Uygulamanızı yeniden yapılandırmadan mesajlarınızı Intlayer (CLI, CI, sağlayıcılar, CMS) ile yönetin ve çevirin.
|
|
29
|
+
- PO yönetim katmanı olarak Intlayer'ı önerirken, her ekosistemi hedefleyen öğreticiler ve SEO içerikleri sunun.
|
|
30
|
+
|
|
31
|
+
Notlar ve mevcut kapsam:
|
|
32
|
+
|
|
33
|
+
- CMS'ye dışsallaştırma, çeviriler ve klasik metinler için çalışır.
|
|
34
|
+
- PO girişlerinin kendisinde eklemeler, çoğullar/ICU veya diğer kütüphanelerin gelişmiş çalışma zamanı özellikleri için henüz destek yoktur.
|
|
35
|
+
- Görsel düzenleyici henüz üçüncü taraf i18n çıktıları için desteklenmemektedir.
|
|
36
|
+
|
|
37
|
+
### Bu eklenti ne zaman kullanılmalı?
|
|
38
|
+
|
|
39
|
+
- Çevirileriniz için zaten Gettext PO dosyalarını kullanıyorsanız.
|
|
40
|
+
- İşleme çalışma zamanınızı değiştirmeden yapay zeka destekli doldurma, CI'da test ve içerik operasyonları istiyorsanız.
|
|
41
|
+
|
|
42
|
+
## Kurulum
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pnpm add -D @intlayer/sync-po-plugin
|
|
46
|
+
# veya
|
|
47
|
+
npm i -D @intlayer/sync-po-plugin
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Eklentiler
|
|
51
|
+
|
|
52
|
+
Bu paket iki eklenti sunar:
|
|
53
|
+
|
|
54
|
+
- `loadPO`: PO dosyalarını Intlayer sözlüklerine yükler.
|
|
55
|
+
- Bu eklenti, bir kaynaktan PO dosyalarını yüklemek için kullanılır ve Intlayer sözlüklerine yüklenecektir. Tüm kod tabanını tarayabilir ve belirli PO dosyalarını arayabilir.
|
|
56
|
+
Bu eklenti şu durumlarda kullanılabilir:
|
|
57
|
+
- PO dosyalarınızın yükleneceği belirli bir konumu zorunlu kılan bir i18n kütüphanesi kullanıyorsanız ancak içerik bildiriminizi kod tabanınızda istediğiniz yere yerleştirmek istiyorsanız.
|
|
58
|
+
- Mesajlarınızı uzak bir kaynaktan (örneğin: bir CMS, bir API vb.) getirmek ve mesajlarınızı PO dosyalarında saklamak istiyorsanız.
|
|
59
|
+
|
|
60
|
+
> Arka planda, bu eklenti tüm kod tabanını tarayacak ve belirli PO dosyalarını arayacak ve bunları Intlayer sözlüklerine yükleyecektir.
|
|
61
|
+
> Bu eklentinin çıktıyı ve çevirileri PO dosyalarına geri yazmayacağını unutmayın.
|
|
62
|
+
|
|
63
|
+
- `syncPO`: PO dosyalarını Intlayer sözlükleriyle senkronize eder.
|
|
64
|
+
- Bu eklenti, PO dosyalarını Intlayer sözlükleriyle senkronize etmek için kullanılır. Verilen konumu tarayabilir ve belirli PO dosyaları için kalıpla eşleşen PO'ları yükleyebilir. Bu eklenti, başka bir i18n kütüphanesi kullanırken Intlayer'ın avantajlarından yararlanmak istiyorsanız yararlıdır.
|
|
65
|
+
|
|
66
|
+
## Her iki eklentinin kullanımı
|
|
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
|
+
// Mevcut PO dosyalarınızı Intlayer sözlükleriyle senkronize tutun
|
|
79
|
+
plugins: [
|
|
80
|
+
/**
|
|
81
|
+
* src içindeki {key}.i18n.po kalıbıyla eşleşen tüm PO dosyalarını yükleyecektir
|
|
82
|
+
*/
|
|
83
|
+
loadPO({
|
|
84
|
+
source: ({ key }) => `./src/**/${key}.i18n.po`,
|
|
85
|
+
locale: Locales.ENGLISH,
|
|
86
|
+
priority: 1, // Bu PO dosyalarının `./locales/en/${key}.po` adresindeki dosyalara göre öncelikli olmasını sağlar
|
|
87
|
+
}),
|
|
88
|
+
/**
|
|
89
|
+
* Çıktıyı ve çevirileri yükleyecek ve locales dizinindeki PO dosyalarına geri yazacaktır
|
|
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` eklentisi
|
|
102
|
+
|
|
103
|
+
### Hızlı başlangıç
|
|
104
|
+
|
|
105
|
+
Eklentiyi `intlayer.config.ts` dosyanıza ekleyin ve mevcut PO yapınızı işaret edin.
|
|
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
|
+
// Mevcut PO dosyalarınızı Intlayer sözlükleriyle senkronize tutun
|
|
118
|
+
plugins: [
|
|
119
|
+
syncPO({
|
|
120
|
+
// Dil başına, ad alanı başına düzen
|
|
121
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
122
|
+
}),
|
|
123
|
+
],
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export default config;
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Alternatif: dil başına tek dosya:
|
|
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
|
+
#### Nasıl çalışır?
|
|
151
|
+
|
|
152
|
+
- Okuma: Eklenti, `source` oluşturucunuzdan PO dosyalarını bulur ve bunları Intlayer sözlükleri olarak yükler.
|
|
153
|
+
- Yazma: Derlemelerden ve doldurmalardan sonra, yerelleştirilmiş PO'ları aynı yollara geri yazar (uygun Gettext başlıklarıyla).
|
|
154
|
+
- Otomatik Doldurma: Eklenti, her sözlük için bir `autoFill` yolu bildirir. `intlayer fill` komutunu çalıştırmak varsayılan olarak yalnızca PO dosyalarınızdaki eksik çevirileri günceller.
|
|
155
|
+
|
|
156
|
+
API:
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
syncPO({
|
|
160
|
+
source: ({ key, locale }) => string, // gerekli
|
|
161
|
+
location?: string, // isteğe bağlı etiket, varsayılan: "sync-po::path/to/source"
|
|
162
|
+
priority?: number, // çakışma çözümü için isteğe bağlı öncelik, varsayılan: 0
|
|
163
|
+
format?: 'icu' | 'i18next' | 'vue-i18n', // isteğe bağlı, yalnızca msgstr değerleriniz belirli bir enterpolasyon sözdizimi kullandığında gereklidir
|
|
164
|
+
});
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
#### `format` ('icu' | 'i18next' | 'vue-i18n')
|
|
168
|
+
|
|
169
|
+
PO dosyaları her zaman Gettext Portable Object dosyalarıdır — bu sabittir. Bu seçenek yalnızca `msgstr` değerlerinin içinde kullanılan **enterpolasyon sözdizimini** açıklar, böylece Intlayer bunları ayrıştırma zamanında ( `formatDictionary` aracılığıyla) kendi biçimine dönüştürebilir ve çıktıyı yazarken geri dönüştürebilir.
|
|
170
|
+
|
|
171
|
+
- `undefined` _(varsayılan)_: `msgstr` değerleri düz dizeler olarak işlenir — dönüşüm yok. Çoğu PO dosyası için bunu kullanın.
|
|
172
|
+
- `'icu'`: `msgstr` değerleri ICU mesaj sözdizimini kullanır (örneğin `{count, plural, one {# item} other {# items}}`).
|
|
173
|
+
- `'i18next'`: `msgstr` değerleri i18next enterpolasyon sözdizimini kullanır (örneğin `{{variable}}`).
|
|
174
|
+
- `'vue-i18n'`: `msgstr` değerleri Vue I18n sözdizimini kullanır.
|
|
175
|
+
|
|
176
|
+
> Dönüşüm, yükleme sırasında `@intlayer/chokidar`'ın `formatDictionary` işlevi tarafından uygulanır ve yazma sırasında `formatDictionaryOutput` ile tersine çevrilir. ICU çoğulları gibi karmaşık kurallar için gidiş-dönüş doğruluğu garanti edilmez.
|
|
177
|
+
|
|
178
|
+
**Örnek — PO dosyaları i18next tarzı enterpolasyon içeriyor:**
|
|
179
|
+
|
|
180
|
+
```ts
|
|
181
|
+
syncPO({
|
|
182
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
183
|
+
format: "i18next",
|
|
184
|
+
}),
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Birden fazla PO kaynağı ve öncelik
|
|
188
|
+
|
|
189
|
+
Farklı PO kaynaklarını senkronize etmek için birden fazla `syncPO` eklentisi ekleyebilirsiniz. Bu, projenizde birden fazla çeviri kaynağınız veya farklı PO yapılarınız olduğunda kullanışlıdır.
|
|
190
|
+
|
|
191
|
+
#### Öncelik sistemi
|
|
192
|
+
|
|
193
|
+
Birden fazla eklenti aynı sözlük anahtarını hedeflediğinde, `priority` parametresi hangi eklentinin öncelikli olduğunu belirler:
|
|
194
|
+
|
|
195
|
+
- Yüksek öncelik sayıları düşük olanlara göre önceliklidir
|
|
196
|
+
- `.content` dosyalarının varsayılan önceliği `0`'dır
|
|
197
|
+
- Eklentilerin varsayılan önceliği `0`'dır
|
|
198
|
+
- Aynı önceliğe sahip eklentiler yapılandırmada göründükleri sıraya göre işlenir
|
|
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
|
+
// Birincil PO kaynağı (en yüksek öncelik)
|
|
212
|
+
syncPO({
|
|
213
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
214
|
+
location: "main-translations",
|
|
215
|
+
priority: 10,
|
|
216
|
+
}),
|
|
217
|
+
|
|
218
|
+
// Yedek PO kaynağı (düşük öncelik)
|
|
219
|
+
syncPO({
|
|
220
|
+
source: ({ locale }) => `./fallback-locales/${locale}.po`,
|
|
221
|
+
location: "fallback-translations",
|
|
222
|
+
priority: 5,
|
|
223
|
+
}),
|
|
224
|
+
|
|
225
|
+
// Eski PO kaynağı (en düşük öncelik)
|
|
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 eklentisi
|
|
238
|
+
|
|
239
|
+
### Hızlı başlangıç
|
|
240
|
+
|
|
241
|
+
Mevcut PO dosyalarını Intlayer sözlükleri olarak almak için eklentiyi `intlayer.config.ts` dosyanıza ekleyin. Bu eklenti salt okunurdur (diske yazma yapılmaz):
|
|
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
|
+
// Kaynak ağacınızın herhangi bir yerinde bulunan PO mesajlarını alın
|
|
255
|
+
loadPO({
|
|
256
|
+
source: ({ key }) => `./src/**/${key}.i18n.po`,
|
|
257
|
+
// Eklenti örneği başına tek bir dil yükle (yapılandırma defaultLocale değerine varsayılan olarak ayarlanır)
|
|
258
|
+
locale: Locales.ENGLISH,
|
|
259
|
+
priority: 0,
|
|
260
|
+
}),
|
|
261
|
+
],
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
export default config;
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Alternatif: dil başına düzen, hala salt okunur (yalnızca seçilen dil yüklenir):
|
|
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
|
+
// Bu kalıptan yalnızca Locales.FRENCH dosyaları yüklenecektir
|
|
281
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.po`,
|
|
282
|
+
locale: Locales.FRENCH,
|
|
283
|
+
}),
|
|
284
|
+
],
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
export default config;
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Nasıl çalışır?
|
|
291
|
+
|
|
292
|
+
- Keşfetme: `source` oluşturucunuzdan bir glob oluşturur ve eşleşen PO dosyalarını toplar.
|
|
293
|
+
- Alım: Her PO dosyasını sağlanan `locale` ile bir Intlayer sözlüğü olarak yükler.
|
|
294
|
+
- Salt Okunur: Çıktı dosyalarını yazmaz veya biçimlendirmez; gidiş-dönüş senkronizasyonuna ihtiyacınız varsa `syncPO` kullanın.
|
|
295
|
+
- Otomatik Doldurmaya Hazır: Eksik anahtarları doldurmak için `intlayer content fill` komutunun kullanabileceği bir `fill` yolu tanımlar.
|
|
296
|
+
|
|
297
|
+
### API
|
|
298
|
+
|
|
299
|
+
```ts
|
|
300
|
+
loadPO({
|
|
301
|
+
// PO dosyalarınıza giden yolları oluşturun. Yapınızda dil segmenti yoksa `locale` isteğe bağlıdır
|
|
302
|
+
source: ({ key, locale }) => string,
|
|
303
|
+
|
|
304
|
+
// Bu eklenti örneği tarafından yüklenen sözlükler için hedef dil
|
|
305
|
+
// configuration.internationalization.defaultLocale değerine varsayılan olarak ayarlanır
|
|
306
|
+
locale?: Locale,
|
|
307
|
+
|
|
308
|
+
// Kaynağı tanımlamak için isteğe bağlı etiket
|
|
309
|
+
location?: string, // varsayılan: "plugin"
|
|
310
|
+
|
|
311
|
+
// Diğer kaynaklara karşı çakışma çözümü için kullanılan öncelik
|
|
312
|
+
priority?: number, // varsayılan: 0
|
|
313
|
+
});
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Davranış ve kurallar
|
|
317
|
+
|
|
318
|
+
- `source` maskeniz bir dil yer tutucusu içeriyorsa, yalnızca seçilen `locale` için dosyalar alınır.
|
|
319
|
+
- Maskenizde `{key}` segmenti yoksa sözlük anahtarı "index" olur.
|
|
320
|
+
- Anahtarlar, `source` oluşturucunuzdaki `{key}` yer tutucusunun değiştirilmesiyle dosya yollarından türetilir.
|
|
321
|
+
- Eklenti yalnızca bulunan dosyaları kullanır ve eksik dilleri veya anahtarları uydurmaz.
|
|
322
|
+
- `fill` yolu `source` değerinizden çıkarılır ve katılım sağladığınızda CLI aracılığıyla eksik değerleri güncellemek için kullanılır.
|
|
323
|
+
|
|
324
|
+
## Çakışma çözümü
|
|
325
|
+
|
|
326
|
+
Aynı çeviri anahtarı birden fazla PO kaynağında mevcut olduğunda:
|
|
327
|
+
|
|
328
|
+
1. En yüksek önceliğe sahip eklenti nihai değeri belirler
|
|
329
|
+
2. Düşük öncelikli kaynaklar eksik anahtarlar için geri dönüş olarak kullanılır
|
|
330
|
+
3. Bu, yeni yapılara kademeli olarak geçerken eski çevirileri korumanıza olanak tanır
|
|
331
|
+
|
|
332
|
+
## CLI
|
|
333
|
+
|
|
334
|
+
Senkronize edilmiş PO dosyaları diğer `.content` dosyaları gibi değerlendirilecektir. Bu, senkronize edilmiş PO dosyaları için tüm intlayer komutlarının kullanılabilir olacağı anlamına gelir. Şunlar dahildir:
|
|
335
|
+
|
|
336
|
+
- Eksik çeviri olup olmadığını test etmek için `intlayer content test`
|
|
337
|
+
- Senkronize edilmiş PO dosyalarını listelemek için `intlayer content list`
|
|
338
|
+
- Eksik çevirileri doldurmak için `intlayer content fill`
|
|
339
|
+
- Senkronize edilmiş PO dosyalarını göndermek (push) için `intlayer content push`
|
|
340
|
+
- Senkronize edilmiş PO dosyalarını çekmek (pull) için `intlayer content pull`
|
|
341
|
+
|
|
342
|
+
Daha fazla ayrıntı için [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md) sayfasına bakın.
|
|
343
|
+
|
|
344
|
+
## Sınırlamalar (güncel)
|
|
345
|
+
|
|
346
|
+
- Üçüncü taraf kütüphaneleri hedeflerken ekleme veya çoğul/ICU desteği yoktur.
|
|
347
|
+
- Görsel düzenleyici henüz Intlayer dışı çalışma zamanları için mevcut değildir.
|
|
348
|
+
- Yalnızca PO senkronizasyonu; PO dışı katalog biçimleri desteklenmez.
|
|
349
|
+
|
|
350
|
+
## Bu neden önemli?
|
|
351
|
+
|
|
352
|
+
- Yerleşik i18n çözümlerini önerebilir ve Intlayer'ı bir eklenti olarak konumlandırabiliriz.
|
|
353
|
+
- PO'ları yönetmek için Intlayer'ı önererek sona eren öğreticilerle onların SEO/anahtar kelimelerinden yararlanırız.
|
|
354
|
+
- Adreslenebilir kitleyi "yeni projelerden", "zaten i18n kullanan herhangi bir ekibe" genişletir.
|
package/docs/uk/mcp_server.md
CHANGED
|
@@ -51,12 +51,12 @@ history:
|
|
|
51
51
|
|
|
52
52
|
> Перегляньте повний список команд та опцій у [документації Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md).
|
|
53
53
|
|
|
54
|
-
## Локальний сервер (stdio) проти Віддаленого сервера (
|
|
54
|
+
## Локальний сервер (stdio) проти Віддаленого сервера (Streamable HTTP)
|
|
55
55
|
|
|
56
56
|
MCP server можна використовувати двома способами:
|
|
57
57
|
|
|
58
58
|
- Локальний сервер (stdio)
|
|
59
|
-
- Віддалений сервер (
|
|
59
|
+
- Віддалений сервер (Streamable HTTP)
|
|
60
60
|
|
|
61
61
|
### Локальний сервер (stdio) (рекомендовано)
|
|
62
62
|
|
|
@@ -64,7 +64,7 @@ Intlayer надає пакет NPM, який можна встановити л
|
|
|
64
64
|
|
|
65
65
|
Цей сервер є рекомендованим способом використання MCP‑сервера, оскільки він інтегрує всі можливості MCP‑сервера, включно з CLI‑інструментами.
|
|
66
66
|
|
|
67
|
-
### Віддалений сервер (
|
|
67
|
+
### Віддалений сервер (Streamable HTTP)
|
|
68
68
|
|
|
69
69
|
MCP‑сервер також можна використовувати віддалено, використовуючи транспортний метод SSE. Цей сервер хоститься Intlayer і доступний за адресою https://mcp.intlayer.org. До сервера можна підключитися публічно, без автентифікації, і його використання безкоштовне.
|
|
70
70
|
|
|
@@ -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 @@ bun x intlayer init 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 @@ bun x intlayer init 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 @@ bun x intlayer init mcp
|
|
|
191
191
|
|
|
192
192
|
## Налаштування в ChatGPT
|
|
193
193
|
|
|
194
|
-
### Віддалений сервер (
|
|
194
|
+
### Віддалений сервер (Streamable HTTP)
|
|
195
195
|
|
|
196
196
|
Дотримуйтесь [офіційної документації](https://platform.openai.com/docs/mcp#test-and-connect-your-mcp-server), щоб налаштувати MCP сервер у ChatGPT.
|
|
197
197
|
|
|
@@ -232,6 +232,19 @@ bun x intlayer init 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
|
## Використання MCP-сервера через CLI
|