@intlayer/docs 8.1.1 → 8.1.5
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/blog/ar/vue-i18n_vs_intlayer.md +1 -1
- package/blog/de/per-component_vs_centralized_i18n.md +1 -1
- package/blog/de/vue-i18n_vs_intlayer.md +1 -1
- package/blog/en/__per-component_vs_centralized_i18n.md +1 -1
- package/blog/en/per-component_vs_centralized_i18n.md +1 -1
- package/blog/en/vue-i18n_vs_intlayer.md +1 -1
- package/blog/en-GB/per-component_vs_centralized_i18n.md +1 -1
- package/blog/en-GB/vue-i18n_vs_intlayer.md +1 -1
- package/blog/es/per-component_vs_centralized_i18n.md +1 -1
- package/blog/es/vue-i18n_vs_intlayer.md +1 -1
- package/blog/fr/per-component_vs_centralized_i18n.md +1 -1
- package/blog/fr/vue-i18n_vs_intlayer.md +1 -1
- package/blog/hi/vue-i18n_vs_intlayer.md +1 -1
- package/blog/id/vue-i18n_vs_intlayer.md +1 -1
- package/blog/it/vue-i18n_vs_intlayer.md +1 -1
- package/blog/ja/vue-i18n_vs_intlayer.md +1 -1
- package/blog/ko/vue-i18n_vs_intlayer.md +1 -1
- package/blog/pl/vue-i18n_vs_intlayer.md +1 -1
- package/blog/pt/per-component_vs_centralized_i18n.md +1 -1
- package/blog/pt/vue-i18n_vs_intlayer.md +1 -1
- package/blog/ru/vue-i18n_vs_intlayer.md +1 -1
- package/blog/tr/vue-i18n_vs_intlayer.md +1 -1
- package/blog/uk/vue-i18n_vs_intlayer.md +1 -1
- package/blog/vi/vue-i18n_vs_intlayer.md +1 -1
- package/blog/zh/vue-i18n_vs_intlayer.md +1 -1
- package/dist/cjs/blog.cjs +1 -21
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +1 -77
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/doc.cjs +1 -21
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs +1 -21
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +1 -551
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +1 -3071
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +1 -351
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +1 -71
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -34
- package/dist/cjs/legal.cjs +1 -21
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/blog.mjs +1 -14
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +1 -66
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs +1 -14
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs +1 -14
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +1 -550
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +1 -3070
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +1 -350
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +1 -70
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/esm/index.mjs +1 -6
- package/dist/esm/legal.mjs +1 -14
- package/dist/esm/legal.mjs.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +0 -5
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/agent_skills.md +7 -1
- package/docs/ar/cli/build.md +8 -0
- package/docs/ar/cli/index.md +1 -1
- package/docs/ar/compiler.md +1 -1
- package/docs/ar/configuration.md +34 -17
- package/docs/de/agent_skills.md +7 -1
- package/docs/de/cli/build.md +8 -0
- package/docs/de/cli/index.md +1 -1
- package/docs/de/compiler.md +1 -1
- package/docs/de/configuration.md +34 -17
- package/docs/en/agent_skills.md +7 -1
- package/docs/en/cli/build.md +8 -0
- package/docs/en/compiler.md +1 -1
- package/docs/en/configuration.md +79 -11
- package/docs/en-GB/agent_skills.md +7 -1
- package/docs/en-GB/cli/build.md +8 -0
- package/docs/en-GB/cli/index.md +1 -1
- package/docs/en-GB/compiler.md +1 -1
- package/docs/en-GB/configuration.md +34 -17
- package/docs/es/agent_skills.md +7 -1
- package/docs/es/cli/build.md +8 -0
- package/docs/es/cli/index.md +1 -1
- package/docs/es/compiler.md +1 -1
- package/docs/es/configuration.md +34 -17
- package/docs/fr/agent_skills.md +7 -1
- package/docs/fr/cli/build.md +8 -0
- package/docs/fr/cli/index.md +1 -1
- package/docs/fr/compiler.md +1 -1
- package/docs/fr/configuration.md +34 -17
- package/docs/hi/agent_skills.md +7 -1
- package/docs/hi/cli/build.md +8 -0
- package/docs/hi/cli/index.md +1 -1
- package/docs/hi/compiler.md +1 -1
- package/docs/hi/configuration.md +34 -17
- package/docs/id/agent_skills.md +7 -1
- package/docs/id/cli/build.md +8 -0
- package/docs/id/cli/index.md +1 -1
- package/docs/id/compiler.md +1 -1
- package/docs/id/configuration.md +34 -17
- package/docs/it/agent_skills.md +7 -1
- package/docs/it/cli/build.md +8 -0
- package/docs/it/cli/index.md +1 -1
- package/docs/it/compiler.md +1 -1
- package/docs/it/configuration.md +34 -17
- package/docs/ja/agent_skills.md +7 -1
- package/docs/ja/cli/build.md +8 -0
- package/docs/ja/cli/index.md +1 -1
- package/docs/ja/compiler.md +1 -1
- package/docs/ja/configuration.md +34 -17
- package/docs/ko/agent_skills.md +7 -1
- package/docs/ko/cli/build.md +8 -0
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/compiler.md +1 -1
- package/docs/ko/configuration.md +34 -17
- package/docs/pl/agent_skills.md +7 -1
- package/docs/pl/cli/build.md +8 -0
- package/docs/pl/cli/index.md +1 -1
- package/docs/pl/compiler.md +1 -1
- package/docs/pl/configuration.md +34 -17
- package/docs/pt/agent_skills.md +7 -1
- package/docs/pt/cli/build.md +8 -0
- package/docs/pt/cli/index.md +1 -1
- package/docs/pt/compiler.md +1 -1
- package/docs/pt/configuration.md +34 -17
- package/docs/ru/agent_skills.md +7 -1
- package/docs/ru/cli/build.md +8 -0
- package/docs/ru/cli/index.md +1 -1
- package/docs/ru/compiler.md +1 -1
- package/docs/ru/configuration.md +34 -17
- package/docs/tr/agent_skills.md +7 -1
- package/docs/tr/cli/build.md +8 -0
- package/docs/tr/cli/index.md +1 -1
- package/docs/tr/compiler.md +1 -1
- package/docs/tr/configuration.md +34 -17
- package/docs/uk/agent_skills.md +7 -1
- package/docs/uk/cli/build.md +8 -0
- package/docs/uk/cli/index.md +1 -1
- package/docs/uk/compiler.md +1 -1
- package/docs/uk/configuration.md +52 -6
- package/docs/vi/agent_skills.md +7 -1
- package/docs/vi/cli/build.md +8 -0
- package/docs/vi/cli/index.md +1 -1
- package/docs/vi/compiler.md +1 -1
- package/docs/vi/configuration.md +34 -17
- package/docs/zh/agent_skills.md +7 -1
- package/docs/zh/cli/build.md +8 -0
- package/docs/zh/cli/index.md +1 -1
- package/docs/zh/compiler.md +1 -1
- package/docs/zh/configuration.md +34 -17
- package/package.json +11 -12
- package/src/common.ts +2 -1
- package/src/generated/blog.entry.ts +1 -1
- package/src/generated/docs.entry.ts +1 -101
- package/src/generated/frequentQuestions.entry.ts +1 -1
- package/src/generated/legal.entry.ts +1 -1
- package/docs/ar/packages/angular-intlayer.md +0 -50
- package/docs/ar/packages/astro-intlayer.md +0 -40
- package/docs/ar/packages/intlayer-cli.md +0 -46
- package/docs/ar/packages/next-intlayer.md +0 -70
- package/docs/ar/packages/vue-intlayer.md +0 -59
- package/docs/de/packages/angular-intlayer.md +0 -50
- package/docs/de/packages/astro-intlayer.md +0 -37
- package/docs/de/packages/intlayer-cli.md +0 -46
- package/docs/de/packages/next-intlayer.md +0 -70
- package/docs/de/packages/vue-intlayer.md +0 -59
- package/docs/en/packages/angular-intlayer.md +0 -50
- package/docs/en/packages/astro-intlayer.md +0 -37
- package/docs/en/packages/intlayer-cli.md +0 -46
- package/docs/en/packages/next-intlayer.md +0 -70
- package/docs/en/packages/vue-intlayer.md +0 -59
- package/docs/en-GB/packages/angular-intlayer.md +0 -50
- package/docs/en-GB/packages/astro-intlayer.md +0 -37
- package/docs/en-GB/packages/intlayer-cli.md +0 -46
- package/docs/en-GB/packages/next-intlayer.md +0 -70
- package/docs/en-GB/packages/vue-intlayer.md +0 -59
- package/docs/es/packages/angular-intlayer.md +0 -50
- package/docs/es/packages/astro-intlayer.md +0 -37
- package/docs/es/packages/intlayer-cli.md +0 -46
- package/docs/es/packages/next-intlayer.md +0 -70
- package/docs/es/packages/vue-intlayer.md +0 -59
- package/docs/fr/packages/angular-intlayer.md +0 -50
- package/docs/fr/packages/astro-intlayer.md +0 -37
- package/docs/fr/packages/intlayer-cli.md +0 -46
- package/docs/fr/packages/next-intlayer.md +0 -70
- package/docs/fr/packages/vue-intlayer.md +0 -59
- package/docs/hi/packages/angular-intlayer.md +0 -50
- package/docs/hi/packages/astro-intlayer.md +0 -37
- package/docs/hi/packages/intlayer-cli.md +0 -46
- package/docs/hi/packages/next-intlayer.md +0 -70
- package/docs/hi/packages/vue-intlayer.md +0 -60
- package/docs/id/packages/angular-intlayer.md +0 -50
- package/docs/id/packages/astro-intlayer.md +0 -37
- package/docs/id/packages/intlayer-cli.md +0 -46
- package/docs/id/packages/next-intlayer.md +0 -70
- package/docs/id/packages/vue-intlayer.md +0 -59
- package/docs/it/packages/angular-intlayer.md +0 -50
- package/docs/it/packages/astro-intlayer.md +0 -37
- package/docs/it/packages/intlayer-cli.md +0 -46
- package/docs/it/packages/next-intlayer.md +0 -70
- package/docs/it/packages/vue-intlayer.md +0 -59
- package/docs/ja/packages/angular-intlayer.md +0 -50
- package/docs/ja/packages/astro-intlayer.md +0 -37
- package/docs/ja/packages/intlayer-cli.md +0 -46
- package/docs/ja/packages/next-intlayer.md +0 -70
- package/docs/ja/packages/vue-intlayer.md +0 -59
- package/docs/ko/packages/angular-intlayer.md +0 -50
- package/docs/ko/packages/astro-intlayer.md +0 -37
- package/docs/ko/packages/intlayer-cli.md +0 -46
- package/docs/ko/packages/next-intlayer.md +0 -70
- package/docs/ko/packages/vue-intlayer.md +0 -59
- package/docs/pl/packages/angular-intlayer.md +0 -50
- package/docs/pl/packages/astro-intlayer.md +0 -37
- package/docs/pl/packages/intlayer-cli.md +0 -46
- package/docs/pl/packages/next-intlayer.md +0 -70
- package/docs/pl/packages/vue-intlayer.md +0 -59
- package/docs/pt/packages/angular-intlayer.md +0 -50
- package/docs/pt/packages/astro-intlayer.md +0 -37
- package/docs/pt/packages/intlayer-cli.md +0 -46
- package/docs/pt/packages/next-intlayer.md +0 -70
- package/docs/pt/packages/vue-intlayer.md +0 -59
- package/docs/ru/packages/angular-intlayer.md +0 -50
- package/docs/ru/packages/astro-intlayer.md +0 -37
- package/docs/ru/packages/intlayer-cli.md +0 -46
- package/docs/ru/packages/next-intlayer.md +0 -70
- package/docs/ru/packages/vue-intlayer.md +0 -59
- package/docs/tr/packages/angular-intlayer.md +0 -50
- package/docs/tr/packages/astro-intlayer.md +0 -37
- package/docs/tr/packages/intlayer-cli.md +0 -46
- package/docs/tr/packages/next-intlayer.md +0 -70
- package/docs/tr/packages/vue-intlayer.md +0 -59
- package/docs/uk/packages/angular-intlayer.md +0 -50
- package/docs/uk/packages/astro-intlayer.md +0 -37
- package/docs/uk/packages/intlayer-cli.md +0 -46
- package/docs/uk/packages/next-intlayer.md +0 -70
- package/docs/uk/packages/vue-intlayer.md +0 -59
- package/docs/vi/packages/angular-intlayer.md +0 -50
- package/docs/vi/packages/astro-intlayer.md +0 -37
- package/docs/vi/packages/intlayer-cli.md +0 -46
- package/docs/vi/packages/next-intlayer.md +0 -70
- package/docs/vi/packages/vue-intlayer.md +0 -59
- package/docs/zh/packages/angular-intlayer.md +0 -50
- package/docs/zh/packages/astro-intlayer.md +0 -37
- package/docs/zh/packages/intlayer-cli.md +0 -46
- package/docs/zh/packages/next-intlayer.md +0 -70
- package/docs/zh/packages/vue-intlayer.md +0 -59
package/docs/ru/cli/index.md
CHANGED
|
@@ -134,7 +134,7 @@ Intlayer поддерживает несколько форматов конфи
|
|
|
134
134
|
|
|
135
135
|
### Управление компонентами
|
|
136
136
|
|
|
137
|
-
- **[Преобразование компонентов](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/
|
|
137
|
+
- **[Преобразование компонентов](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/extract.md)** - Преобразование существующих компонентов для использования Intlayer
|
|
138
138
|
|
|
139
139
|
### Конфигурация
|
|
140
140
|
|
package/docs/ru/compiler.md
CHANGED
|
@@ -49,7 +49,7 @@ history:
|
|
|
49
49
|
|
|
50
50
|
Для более глубокого архитектурного сравнения см. блог-пост [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/ru/compiler_vs_declarative_i18n.md).
|
|
51
51
|
|
|
52
|
-
В качестве альтернативы, для автоматизации процесса i18n при сохранении полного контроля над контентом, Intlayer также предоставляет команду автоматического извлечения `intlayer
|
|
52
|
+
В качестве альтернативы, для автоматизации процесса i18n при сохранении полного контроля над контентом, Intlayer также предоставляет команду автоматического извлечения `intlayer extract` (см. [документацию CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/extract.md)) или команду `Intlayer: extract content to Dictionary` из расширения Intlayer VS Code (см. [документацию расширения VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/vs_code_extension.md)).
|
|
53
53
|
|
|
54
54
|
## Использование
|
|
55
55
|
|
package/docs/ru/configuration.md
CHANGED
|
@@ -85,6 +85,7 @@ Intlayer поддерживает форматы файлов конфигура
|
|
|
85
85
|
|
|
86
86
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
87
87
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
88
|
+
import { nextjsRewrite } from "intlayer/routing";
|
|
88
89
|
import { z } from "zod";
|
|
89
90
|
|
|
90
91
|
/**
|
|
@@ -191,12 +192,12 @@ const config: IntlayerConfig = {
|
|
|
191
192
|
/**
|
|
192
193
|
* Custom URL rewriting rules for locale-specific paths.
|
|
193
194
|
*/
|
|
194
|
-
rewrite: {
|
|
195
|
-
"/about": {
|
|
196
|
-
en: "/about",
|
|
197
|
-
fr: "/a-propos",
|
|
195
|
+
rewrite: nextjsRewrite({
|
|
196
|
+
"/[locale]/about": {
|
|
197
|
+
en: "/[locale]/about",
|
|
198
|
+
fr: "/[locale]/a-propos",
|
|
198
199
|
},
|
|
199
|
-
},
|
|
200
|
+
}),
|
|
200
201
|
},
|
|
201
202
|
|
|
202
203
|
/**
|
|
@@ -350,6 +351,12 @@ const config: IntlayerConfig = {
|
|
|
350
351
|
* Default: ['esm', 'cjs']
|
|
351
352
|
*/
|
|
352
353
|
outputFormat: ["esm"],
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Indicates if the build should check TypeScript types.
|
|
357
|
+
* Default: false
|
|
358
|
+
*/
|
|
359
|
+
checkTypes: false,
|
|
353
360
|
},
|
|
354
361
|
|
|
355
362
|
/**
|
|
@@ -424,7 +431,10 @@ const config: IntlayerConfig = {
|
|
|
424
431
|
/**
|
|
425
432
|
* Pattern to traverse the code to optimize.
|
|
426
433
|
*/
|
|
427
|
-
transformPattern: [
|
|
434
|
+
transformPattern: [
|
|
435
|
+
"**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
|
|
436
|
+
"!**/node_modules/**",
|
|
437
|
+
],
|
|
428
438
|
|
|
429
439
|
/**
|
|
430
440
|
* Pattern to exclude from the optimization.
|
|
@@ -637,26 +647,27 @@ export default config;
|
|
|
637
647
|
```typescript
|
|
638
648
|
routing: {
|
|
639
649
|
mode: "prefix-no-default", // Стратегия отката
|
|
640
|
-
rewrite: {
|
|
641
|
-
"/about": {
|
|
642
|
-
en: "/about",
|
|
643
|
-
fr: "/a-propos",
|
|
650
|
+
rewrite: nextjsRewrite({
|
|
651
|
+
"/[locale]/about": {
|
|
652
|
+
en: "/[locale]/about",
|
|
653
|
+
fr: "/[locale]/a-propos",
|
|
644
654
|
},
|
|
645
|
-
"/product/[slug]": {
|
|
646
|
-
en: "/product/[slug]",
|
|
647
|
-
fr: "/produit/[slug]",
|
|
655
|
+
"/[locale]/product/[slug]": {
|
|
656
|
+
en: "/[locale]/product/[slug]",
|
|
657
|
+
fr: "/[locale]/produit/[slug]",
|
|
648
658
|
},
|
|
649
|
-
"/blog/[category]/[id]": {
|
|
650
|
-
en: "/blog/[category]/[id]",
|
|
651
|
-
fr: "/journal/[category]/[id]",
|
|
659
|
+
"/[locale]/blog/[category]/[id]": {
|
|
660
|
+
en: "/[locale]/blog/[category]/[id]",
|
|
661
|
+
fr: "/[locale]/journal/[category]/[id]",
|
|
652
662
|
},
|
|
653
|
-
},
|
|
663
|
+
}),
|
|
654
664
|
}
|
|
655
665
|
```
|
|
656
666
|
- _Примечание_: Правила перезаписи имеют приоритет над поведением `mode` по умолчанию. Если путь соответствует правилу перезаписи, будет использован локализованный путь из конфигурации перезаписи вместо стандартного префикса языка.
|
|
657
667
|
- _Примечание_: Динамические параметры маршрута поддерживаются с использованием нотации в квадратных скобках (например, `[slug]`, `[id]`). Значения параметров автоматически извлекаются из URL и интерполируются в перезаписанный путь.
|
|
658
668
|
- _Примечание_: Работает с приложениями Next.js и Vite. Промежуточное ПО/прокси автоматически перезапишет входящие запросы, чтобы соответствовать внутренней структуре маршрута.
|
|
659
669
|
- _Примечание_: При генерации URL с помощью `getLocalizedUrl()` правила перезаписи автоматически применяются, если они соответствуют предоставленному пути.
|
|
670
|
+
- _Ссылка_: Дополнительную информацию см. в разделе [Пользовательская перезапись URL](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/custom_url_rewrites.md).
|
|
660
671
|
|
|
661
672
|
- **serverSetCookie**:
|
|
662
673
|
- _Тип_: `string`
|
|
@@ -944,6 +955,12 @@ Intlayer поддерживает несколько провайдеров ИИ
|
|
|
944
955
|
- _Примечание_: Если 'manual', сборка будет установлена только при выполнении команды сборки.
|
|
945
956
|
- _Примечание_: Может использоваться для отключения сборки словарей, например, когда следует избегать выполнения в среде Node.js.
|
|
946
957
|
|
|
958
|
+
- **checkTypes**:
|
|
959
|
+
- _Type_: `boolean`
|
|
960
|
+
- _Default_: `false`
|
|
961
|
+
- _Description_: Указывает, должна ли сборка проверять типы TypeScript и регистрировать ошибки.
|
|
962
|
+
- _Note_: Это может замедлить процесс сборки.
|
|
963
|
+
|
|
947
964
|
- **optimize**:
|
|
948
965
|
- _Тип_: `boolean`
|
|
949
966
|
- _По умолчанию_: `process.env.NODE_ENV === 'production'`
|
package/docs/tr/agent_skills.md
CHANGED
|
@@ -26,11 +26,17 @@ history:
|
|
|
26
26
|
npx intlayer init skills
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
Veya Vercel Skill SDK kullanarak
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx skills add aymericzip/intlayer-skills
|
|
33
|
+
```
|
|
34
|
+
|
|
29
35
|
Bu komutu çalıştırdığınızda şu işlemleri yapar:
|
|
30
36
|
|
|
31
37
|
1. Kullandığınız framework'ü algılar (ör. Next.js, React, Vite).
|
|
32
38
|
2. Hangi platformlar için yetenekler yüklemek istediğinizi sorar (Cursor, Windsurf, VS Code, OpenCode, Claude Code, GitHub Copilot Workspace vb.).
|
|
33
|
-
3. Gerekli yapılandırma dosyalarını üretir (ör. `.cursor/skills/
|
|
39
|
+
3. Gerekli yapılandırma dosyalarını üretir (ör. `.cursor/skills/intlayer-next-js/SKILL.md`, `.windsurf/skills/intlayer-next-js/SKILL.md`, `.opencode/skills/intlayer-next-js/SKILL.md`, `.vscode/mcp.json` vb.).
|
|
34
40
|
|
|
35
41
|
## Desteklenen Platformlar
|
|
36
42
|
|
package/docs/tr/cli/build.md
CHANGED
|
@@ -13,6 +13,10 @@ slugs:
|
|
|
13
13
|
- concept
|
|
14
14
|
- cli
|
|
15
15
|
- build
|
|
16
|
+
history:
|
|
17
|
+
- version: 8.1.5
|
|
18
|
+
date: 2026-02-23
|
|
19
|
+
changes: checkTypes seçeneği eklendi
|
|
16
20
|
---
|
|
17
21
|
|
|
18
22
|
# Sözlükleri Oluşturma
|
|
@@ -62,3 +66,7 @@ Bu komut, varsayılan olarak `./src/**/*.content.{ts|js|mjs|cjs|json|tsx|jsx}` d
|
|
|
62
66
|
- **`--no-cache`**: Önbelleği devre dışı bırakın.
|
|
63
67
|
|
|
64
68
|
> Örnek: `npx intlayer build --no-cache`
|
|
69
|
+
|
|
70
|
+
- **`--check-types`**: İçerik bildirim dosyalarının türlerini kontrol eder.
|
|
71
|
+
|
|
72
|
+
> Örnek: `npx intlayer build --check-types`
|
package/docs/tr/cli/index.md
CHANGED
|
@@ -134,7 +134,7 @@ Mevcut yerellerin veya diğer parametrelerin nasıl yapılandırılacağını g
|
|
|
134
134
|
|
|
135
135
|
### Bileşen Yönetimi
|
|
136
136
|
|
|
137
|
-
- **[Bileşenleri Dönüştür](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/
|
|
137
|
+
- **[Bileşenleri Dönüştür](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/extract.md)** - Mevcut bileşenleri Intlayer kullanacak şekilde dönüştürün
|
|
138
138
|
|
|
139
139
|
### Konfigürasyon
|
|
140
140
|
|
package/docs/tr/compiler.md
CHANGED
|
@@ -49,7 +49,7 @@ Derleyici mükemmel bir "hemen çalışır" deneyimi sunarken, aynı zamanda far
|
|
|
49
49
|
|
|
50
50
|
Daha derin bir mimari karşılaştırma için [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/compiler_vs_declarative_i18n.md) blog yazısına bakın.
|
|
51
51
|
|
|
52
|
-
Alternatif olarak, içeriğiniz üzerinde tam kontrolü korurken i18n sürecinizi otomatikleştirmek için, Intlayer ayrıca otomatik çıkarım komutu `intlayer
|
|
52
|
+
Alternatif olarak, içeriğiniz üzerinde tam kontrolü korurken i18n sürecinizi otomatikleştirmek için, Intlayer ayrıca otomatik çıkarım komutu `intlayer extract` (bkz. [CLI dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/extract.md)) veya Intlayer VS Code uzantısının `Intlayer: extract content to Dictionary` komutunu (bkz. [VS Code uzantı dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/vs_code_extension.md)) sağlar.
|
|
53
53
|
|
|
54
54
|
## Kullanım
|
|
55
55
|
|
package/docs/tr/configuration.md
CHANGED
|
@@ -88,6 +88,7 @@ Intlayer, JSON, JS, MJS ve TS yapılandırma dosyası formatlarını kabul eder:
|
|
|
88
88
|
|
|
89
89
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
90
90
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
91
|
+
import { nextjsRewrite } from "intlayer/routing";
|
|
91
92
|
import { z } from "zod";
|
|
92
93
|
|
|
93
94
|
/**
|
|
@@ -194,12 +195,12 @@ const config: IntlayerConfig = {
|
|
|
194
195
|
/**
|
|
195
196
|
* Custom URL rewriting rules for locale-specific paths.
|
|
196
197
|
*/
|
|
197
|
-
rewrite: {
|
|
198
|
-
"/about": {
|
|
199
|
-
en: "/about",
|
|
200
|
-
fr: "/a-propos",
|
|
198
|
+
rewrite: nextjsRewrite({
|
|
199
|
+
"/[locale]/about": {
|
|
200
|
+
en: "/[locale]/about",
|
|
201
|
+
fr: "/[locale]/a-propos",
|
|
201
202
|
},
|
|
202
|
-
},
|
|
203
|
+
}),
|
|
203
204
|
},
|
|
204
205
|
|
|
205
206
|
/**
|
|
@@ -345,6 +346,12 @@ const config: IntlayerConfig = {
|
|
|
345
346
|
* Default: ['esm', 'cjs']
|
|
346
347
|
*/
|
|
347
348
|
outputFormat: ["esm"],
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Indicates if the build should check TypeScript types.
|
|
352
|
+
* Default: false
|
|
353
|
+
*/
|
|
354
|
+
checkTypes: false,
|
|
348
355
|
},
|
|
349
356
|
|
|
350
357
|
/**
|
|
@@ -419,7 +426,10 @@ const config: IntlayerConfig = {
|
|
|
419
426
|
/**
|
|
420
427
|
* Pattern to traverse the code to optimize.
|
|
421
428
|
*/
|
|
422
|
-
transformPattern: [
|
|
429
|
+
transformPattern: [
|
|
430
|
+
"**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
|
|
431
|
+
"!**/node_modules/**",
|
|
432
|
+
],
|
|
423
433
|
|
|
424
434
|
/**
|
|
425
435
|
* Pattern to exclude from the optimization.
|
|
@@ -632,26 +642,27 @@ Uygulamanın çerezleri, başlıkları ve yerel yönetimi için URL öneklerini
|
|
|
632
642
|
```typescript
|
|
633
643
|
routing: {
|
|
634
644
|
mode: "prefix-no-default", // Yedek strateji
|
|
635
|
-
rewrite: {
|
|
636
|
-
"/about": {
|
|
637
|
-
en: "/about",
|
|
638
|
-
fr: "/a-propos",
|
|
645
|
+
rewrite: nextjsRewrite({
|
|
646
|
+
"/[locale]/about": {
|
|
647
|
+
en: "/[locale]/about",
|
|
648
|
+
fr: "/[locale]/a-propos",
|
|
639
649
|
},
|
|
640
|
-
"/product/[slug]": {
|
|
641
|
-
en: "/product/[slug]",
|
|
642
|
-
fr: "/produit/[slug]",
|
|
650
|
+
"/[locale]/product/[slug]": {
|
|
651
|
+
en: "/[locale]/product/[slug]",
|
|
652
|
+
fr: "/[locale]/produit/[slug]",
|
|
643
653
|
},
|
|
644
|
-
"/blog/[category]/[id]": {
|
|
645
|
-
en: "/blog/[category]/[id]",
|
|
646
|
-
fr: "/journal/[category]/[id]",
|
|
654
|
+
"/[locale]/blog/[category]/[id]": {
|
|
655
|
+
en: "/[locale]/blog/[category]/[id]",
|
|
656
|
+
fr: "/[locale]/journal/[category]/[id]",
|
|
647
657
|
},
|
|
648
|
-
},
|
|
658
|
+
}),
|
|
649
659
|
}
|
|
650
660
|
```
|
|
651
661
|
- _Not_: Yeniden yazma kuralları varsayılan `mode` davranışından önceliklidir. Bir yol bir yeniden yazma kuralıyla eşleşirse, standart dil öneki yerine yeniden yazma yapılandırmasından yerelleştirilmiş yol kullanılacaktır.
|
|
652
662
|
- _Not_: Dinamik rota parametreleri köşeli ayraç gösterimi (örneğin, `[slug]`, `[id]`) kullanılarak desteklenir. Parametre değerleri URL'den otomatik olarak çıkarılır ve yeniden yazılan yola eklenir.
|
|
653
663
|
- _Not_: Next.js ve Vite uygulamalarıyla çalışır. Middleware/proxy, gelen istekleri iç rota yapısıyla eşleşecek şekilde otomatik olarak yeniden yazacaktır.
|
|
654
664
|
- _Not_: `getLocalizedUrl()` ile URL oluştururken, sağlanan yolla eşleşirlerse yeniden yazma kuralları otomatik olarak uygulanır.
|
|
665
|
+
- _Referans_: Daha fazla bilgi için, [Özel URL Yeniden Yazma](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/custom_url_rewrites.md) konusuna bakın.
|
|
655
666
|
|
|
656
667
|
- **serverSetCookie**:
|
|
657
668
|
- _Tür_: `string`
|
|
@@ -932,6 +943,12 @@ Derleme seçenekleri `@intlayer/babel` ve `@intlayer/swc` eklentilerine uygulan
|
|
|
932
943
|
- _Not_: 'manual' ise, derleme yalnızca derleme komutu çalıştırıldığında ayarlanır.
|
|
933
944
|
- _Not_: Sözlük derlemesini devre dışı bırakmak için kullanılabilir, örneğin Node.js ortamında yürütmeden kaçınılması gerektiğinde.
|
|
934
945
|
|
|
946
|
+
- **checkTypes**:
|
|
947
|
+
- _Type_: `boolean`
|
|
948
|
+
- _Default_: `false`
|
|
949
|
+
- _Description_: Derlemenin TypeScript türlerini kontrol edip etmeyeceğini ve hataları kaydedip kaydetmeyeceğini belirtir.
|
|
950
|
+
- _Note_: Bu, derleme işlemini yavaşlatabilir.
|
|
951
|
+
|
|
935
952
|
- **optimize**:
|
|
936
953
|
- _Tür_: `boolean`
|
|
937
954
|
- _Varsayılan_: `process.env.NODE_ENV === 'production'`
|
package/docs/uk/agent_skills.md
CHANGED
|
@@ -26,11 +26,17 @@ history:
|
|
|
26
26
|
npx intlayer init skills
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
Або використовуючи Vercel Skill SDK
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx skills add aymericzip/intlayer-skills
|
|
33
|
+
```
|
|
34
|
+
|
|
29
35
|
Коли ви запускаєте цю команду, вона:
|
|
30
36
|
|
|
31
37
|
1. Визначить фреймворк, який ви використовуєте (наприклад, Next.js, React, Vite).
|
|
32
38
|
2. Запитає, для яких платформ ви хочете встановити навички (Cursor, Windsurf, VS Code, OpenCode, Claude Code, GitHub Copilot Workspace тощо).
|
|
33
|
-
3. Згенерує потрібні конфігураційні файли (наприклад, `.cursor/skills/
|
|
39
|
+
3. Згенерує потрібні конфігураційні файли (наприклад, `.cursor/skills/intlayer-next-js/SKILL.md`, `.windsurf/skills/intlayer-next-js/SKILL.md`, `.opencode/skills/intlayer-next-js/SKILL.md`, `.vscode/mcp.json` тощо).
|
|
34
40
|
|
|
35
41
|
## Підтримувані платформи
|
|
36
42
|
|
package/docs/uk/cli/build.md
CHANGED
|
@@ -13,6 +13,10 @@ slugs:
|
|
|
13
13
|
- concept
|
|
14
14
|
- cli
|
|
15
15
|
- build
|
|
16
|
+
history:
|
|
17
|
+
- version: 8.1.5
|
|
18
|
+
date: 2026-02-23
|
|
19
|
+
changes: Додати опцію checkTypes
|
|
16
20
|
---
|
|
17
21
|
|
|
18
22
|
# Побудова словників
|
|
@@ -62,3 +66,7 @@ npx intlayer build --watch
|
|
|
62
66
|
- **`--no-cache`**: Вимкнути кеш.
|
|
63
67
|
|
|
64
68
|
> Приклад: `npx intlayer build --no-cache`
|
|
69
|
+
|
|
70
|
+
- **`--check-types`**: Перевіряє типи файлів оголошення контенту.
|
|
71
|
+
|
|
72
|
+
> Приклад: `npx intlayer build --check-types`
|
package/docs/uk/cli/index.md
CHANGED
|
@@ -137,7 +137,7 @@ Intlayer підтримує кілька форматів конфігураці
|
|
|
137
137
|
|
|
138
138
|
### Керування компонентами
|
|
139
139
|
|
|
140
|
-
- **[Трансформувати компоненти](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/
|
|
140
|
+
- **[Трансформувати компоненти](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md)** - Трансформувати існуючі компоненти для використання Intlayer
|
|
141
141
|
|
|
142
142
|
### Конфігурація
|
|
143
143
|
|
package/docs/uk/compiler.md
CHANGED
|
@@ -49,7 +49,7 @@ The **Intlayer Compiler** — потужний інструмент, створ
|
|
|
49
49
|
|
|
50
50
|
Для більш глибокого архітектурного порівняння див. публікацію в блозі [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/uk/compiler_vs_declarative_i18n.md).
|
|
51
51
|
|
|
52
|
-
Як альтернативу, щоб автоматизувати ваш процес i18n і зберегти повний контроль над контентом, Intlayer також надає команду автоматичної екстракції `intlayer
|
|
52
|
+
Як альтернативу, щоб автоматизувати ваш процес i18n і зберегти повний контроль над контентом, Intlayer також надає команду автоматичної екстракції `intlayer extract` (див. [Документація CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md)), або команду `Intlayer: extract content to Dictionary` з розширення Intlayer для VS Code (див. [Документація розширення VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/vs_code_extension.md)).
|
|
53
53
|
|
|
54
54
|
## Використання
|
|
55
55
|
|
package/docs/uk/configuration.md
CHANGED
|
@@ -103,6 +103,7 @@ Intlayer підтримує формати файлів конфігурації
|
|
|
103
103
|
|
|
104
104
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
105
105
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
106
|
+
import { nextjsRewrite } from "intlayer/routing";
|
|
106
107
|
import { z } from "zod";
|
|
107
108
|
|
|
108
109
|
/**
|
|
@@ -209,12 +210,12 @@ const config: IntlayerConfig = {
|
|
|
209
210
|
/**
|
|
210
211
|
* Custom URL rewriting rules for locale-specific paths.
|
|
211
212
|
*/
|
|
212
|
-
rewrite: {
|
|
213
|
-
"/about": {
|
|
214
|
-
en: "/about",
|
|
215
|
-
fr: "/a-propos",
|
|
213
|
+
rewrite: nextjsRewrite({
|
|
214
|
+
"/[locale]/about": {
|
|
215
|
+
en: "/[locale]/about",
|
|
216
|
+
fr: "/[locale]/a-propos",
|
|
216
217
|
},
|
|
217
|
-
},
|
|
218
|
+
}),
|
|
218
219
|
},
|
|
219
220
|
|
|
220
221
|
/**
|
|
@@ -360,6 +361,12 @@ const config: IntlayerConfig = {
|
|
|
360
361
|
* Default: ['esm', 'cjs']
|
|
361
362
|
*/
|
|
362
363
|
outputFormat: ["esm"],
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Indicates if the build should check TypeScript types.
|
|
367
|
+
* Default: false
|
|
368
|
+
*/
|
|
369
|
+
checkTypes: false,
|
|
363
370
|
},
|
|
364
371
|
|
|
365
372
|
/**
|
|
@@ -434,7 +441,10 @@ const config: IntlayerConfig = {
|
|
|
434
441
|
/**
|
|
435
442
|
* Pattern to traverse the code to optimize.
|
|
436
443
|
*/
|
|
437
|
-
transformPattern: [
|
|
444
|
+
transformPattern: [
|
|
445
|
+
"**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
|
|
446
|
+
"!**/node_modules/**",
|
|
447
|
+
],
|
|
438
448
|
|
|
439
449
|
/**
|
|
440
450
|
* Pattern to exclude from the optimization.
|
|
@@ -655,6 +665,36 @@ export default config;
|
|
|
655
665
|
- URL буде `https://example.com/my-app/en`
|
|
656
666
|
- Якщо базовий шлях не встановлено, URL буде `https://example.com/en`
|
|
657
667
|
|
|
668
|
+
- **rewrite**:
|
|
669
|
+
- _Тип_: `Record<string, StrictModeLocaleMap<string>>`
|
|
670
|
+
- _За замовчуванням_: `undefined`
|
|
671
|
+
- _Опис_: Користувацькі правила перезапису URL, які перевизначають режим маршрутизації за замовчуванням для певних шляхів. Дозволяє визначати специфічні для локалі шляхи, які відрізняються від стандартної поведінки маршрутизації. Підтримує динамічні параметри маршруту з використанням синтаксису `[param]`.
|
|
672
|
+
- _Приклад_:
|
|
673
|
+
```typescript
|
|
674
|
+
routing: {
|
|
675
|
+
mode: "prefix-no-default", // Стратегія відкату
|
|
676
|
+
rewrite: nextjsRewrite({
|
|
677
|
+
"/[locale]/about": {
|
|
678
|
+
en: "/[locale]/about",
|
|
679
|
+
fr: "/[locale]/a-propos",
|
|
680
|
+
},
|
|
681
|
+
"/[locale]/product/[slug]": {
|
|
682
|
+
en: "/[locale]/product/[slug]",
|
|
683
|
+
fr: "/[locale]/produit/[slug]",
|
|
684
|
+
},
|
|
685
|
+
"/[locale]/blog/[category]/[id]": {
|
|
686
|
+
en: "/[locale]/blog/[category]/[id]",
|
|
687
|
+
fr: "/[locale]/journal/[category]/[id]",
|
|
688
|
+
},
|
|
689
|
+
}),
|
|
690
|
+
}
|
|
691
|
+
```
|
|
692
|
+
- _Примітка_: Правила перезапису мають пріоритет над поведінкою `mode` за замовчуванням. Якщо шлях відповідає правилу перезапису, буде використано локалізований шлях з конфігурації перезапису замість стандартного префікса локалі.
|
|
693
|
+
- _Примітка_: Динамічні параметри маршруту підтримуються з використанням нотації в квадратних дужках (наприклад, `[slug]`, `[id]`). Значення параметрів автоматично витягуються з URL та інтерполюються в перезаписаний шлях.
|
|
694
|
+
- _Примітка_: Працює з додатками Next.js та Vite. Middleware/proxy автоматично перезапише вхідні запити, щоб відповідати внутрішній структурі маршруту.
|
|
695
|
+
- _Примітка_: При генерації URL за допомогою `getLocalizedUrl()` правила перезапису автоматично застосовуються, якщо вони відповідають наданому шляху.
|
|
696
|
+
- _Посилання_: Для отримання додаткової інформації див. [Користувацьке перезаписування URL](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/custom_url_rewrites.md).
|
|
697
|
+
|
|
658
698
|
#### Атрибути cookie
|
|
659
699
|
|
|
660
700
|
При використанні зберігання в cookie ви можете налаштувати додаткові атрибути cookie:
|
|
@@ -1045,6 +1085,12 @@ Intlayer підтримує кількох постачальників ШІ д
|
|
|
1045
1085
|
- _Note_: Якщо встановлено в "live", лише ті словники, які містять віддалений контент і позначені прапорцем "live", будуть перетворені у live-режим. Інші будуть імпортовані динамічно як режим "dynamic" для оптимізації кількості запитів і швидкості завантаження.
|
|
1046
1086
|
- _Note_: У режимі live буде використовуватися Live Sync API для отримання словників. Якщо виклик API завершиться невдачею, словники будуть імпортовані динамічно в режимі "dynamic".
|
|
1047
1087
|
- _Note_: Ця опція не вплине на функції `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` та `useDictionaryDynamic`.
|
|
1088
|
+
- **checkTypes**:
|
|
1089
|
+
- _Type_: `boolean`
|
|
1090
|
+
- _Default_: `false`
|
|
1091
|
+
- _Description_: Вказує, чи повинна збірка перевіряти типи TypeScript та реєструвати помилки.
|
|
1092
|
+
- _Note_: Це може уповільнити процес збірки.
|
|
1093
|
+
|
|
1048
1094
|
- **outputFormat**:
|
|
1049
1095
|
- _Type_: `'esm' | 'cjs'`
|
|
1050
1096
|
- _Default_: `'esm'`
|
package/docs/vi/agent_skills.md
CHANGED
|
@@ -26,11 +26,17 @@ Lệnh `intlayer init skills` là cách dễ nhất để thiết lập agent sk
|
|
|
26
26
|
npx intlayer init skills
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
Hoặc sử dụng Vercel Skill SDK
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx skills add aymericzip/intlayer-skills
|
|
33
|
+
```
|
|
34
|
+
|
|
29
35
|
Khi bạn chạy lệnh này, nó sẽ:
|
|
30
36
|
|
|
31
37
|
1. Phát hiện framework mà bạn đang sử dụng (ví dụ: Next.js, React, Vite).
|
|
32
38
|
2. Hỏi bạn muốn cài kỹ năng cho nền tảng nào (Cursor, Windsurf, VS Code, OpenCode, Claude Code, GitHub Copilot Workspace, v.v.).
|
|
33
|
-
3. Tạo các tệp cấu hình cần thiết (chẳng hạn `.cursor/skills/
|
|
39
|
+
3. Tạo các tệp cấu hình cần thiết (chẳng hạn `.cursor/skills/intlayer-next-js/SKILL.md`, `.windsurf/skills/intlayer-next-js/SKILL.md`, `.opencode/skills/intlayer-next-js/SKILL.md`, `.vscode/mcp.json`, v.v.).
|
|
34
40
|
|
|
35
41
|
## Các nền tảng được hỗ trợ
|
|
36
42
|
|
package/docs/vi/cli/build.md
CHANGED
|
@@ -13,6 +13,10 @@ slugs:
|
|
|
13
13
|
- concept
|
|
14
14
|
- cli
|
|
15
15
|
- build
|
|
16
|
+
history:
|
|
17
|
+
- version: 8.1.5
|
|
18
|
+
date: 2026-02-23
|
|
19
|
+
changes: Thêm tùy chọn checkTypes
|
|
16
20
|
---
|
|
17
21
|
|
|
18
22
|
# Xây dựng Từ điển
|
|
@@ -62,3 +66,7 @@ Lệnh này sẽ tìm các tệp khai báo nội dung của bạn theo mặc đ
|
|
|
62
66
|
- **`--no-cache`**: Vô hiệu hóa bộ nhớ đệm.
|
|
63
67
|
|
|
64
68
|
> Ví dụ: `npx intlayer build --no-cache`
|
|
69
|
+
|
|
70
|
+
- **`--check-types`**: Kiểm tra các kiểu của tệp khai báo nội dung.
|
|
71
|
+
|
|
72
|
+
> Ví dụ: `npx intlayer build --check-types`
|
package/docs/vi/cli/index.md
CHANGED
|
@@ -135,7 +135,7 @@ Intlayer chấp nhận nhiều định dạng tệp cấu hình:
|
|
|
135
135
|
|
|
136
136
|
### Quản lý Thành phần
|
|
137
137
|
|
|
138
|
-
- **[Chuyển đổi Thành phần](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/
|
|
138
|
+
- **[Chuyển đổi Thành phần](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md)** - Chuyển đổi các thành phần hiện có để sử dụng Intlayer
|
|
139
139
|
|
|
140
140
|
### Cấu hình
|
|
141
141
|
|
package/docs/vi/compiler.md
CHANGED
|
@@ -49,7 +49,7 @@ Mặc dù trình biên dịch mang lại trải nghiệm "hoạt động ngay" t
|
|
|
49
49
|
|
|
50
50
|
Để có so sánh kiến trúc sâu hơn, xem bài viết blog [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/compiler_vs_declarative_i18n.md).
|
|
51
51
|
|
|
52
|
-
Như một giải pháp thay thế, để tự động hóa quy trình i18n của bạn trong khi vẫn giữ quyền kiểm soát hoàn toàn đối với nội dung của bạn, Intlayer cũng cung cấp lệnh tự động trích xuất `intlayer
|
|
52
|
+
Như một giải pháp thay thế, để tự động hóa quy trình i18n của bạn trong khi vẫn giữ quyền kiểm soát hoàn toàn đối với nội dung của bạn, Intlayer cũng cung cấp lệnh tự động trích xuất `intlayer extract` (xem [tài liệu CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md)), hoặc lệnh `Intlayer: extract content to Dictionary` từ tiện ích mở rộng Intlayer VS Code (xem [tài liệu tiện ích mở rộng VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/vs_code_extension.md)).
|
|
53
53
|
|
|
54
54
|
## Cách sử dụng
|
|
55
55
|
|
package/docs/vi/configuration.md
CHANGED
|
@@ -103,6 +103,7 @@ Intlayer chấp nhận các định dạng tệp cấu hình JSON, JS, MJS và T
|
|
|
103
103
|
|
|
104
104
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
105
105
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
106
|
+
import { nextjsRewrite } from "intlayer/routing";
|
|
106
107
|
import { z } from "zod";
|
|
107
108
|
|
|
108
109
|
/**
|
|
@@ -209,12 +210,12 @@ const config: IntlayerConfig = {
|
|
|
209
210
|
/**
|
|
210
211
|
* Custom URL rewriting rules for locale-specific paths.
|
|
211
212
|
*/
|
|
212
|
-
rewrite: {
|
|
213
|
-
"/about": {
|
|
214
|
-
en: "/about",
|
|
215
|
-
fr: "/a-propos",
|
|
213
|
+
rewrite: nextjsRewrite({
|
|
214
|
+
"/[locale]/about": {
|
|
215
|
+
en: "/[locale]/about",
|
|
216
|
+
fr: "/[locale]/a-propos",
|
|
216
217
|
},
|
|
217
|
-
},
|
|
218
|
+
}),
|
|
218
219
|
},
|
|
219
220
|
|
|
220
221
|
/**
|
|
@@ -360,6 +361,12 @@ const config: IntlayerConfig = {
|
|
|
360
361
|
* Default: ['esm', 'cjs']
|
|
361
362
|
*/
|
|
362
363
|
outputFormat: ["esm"],
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Indicates if the build should check TypeScript types.
|
|
367
|
+
* Default: false
|
|
368
|
+
*/
|
|
369
|
+
checkTypes: false,
|
|
363
370
|
},
|
|
364
371
|
|
|
365
372
|
/**
|
|
@@ -434,7 +441,10 @@ const config: IntlayerConfig = {
|
|
|
434
441
|
/**
|
|
435
442
|
* Pattern to traverse the code to optimize.
|
|
436
443
|
*/
|
|
437
|
-
transformPattern: [
|
|
444
|
+
transformPattern: [
|
|
445
|
+
"**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
|
|
446
|
+
"!**/node_modules/**",
|
|
447
|
+
],
|
|
438
448
|
|
|
439
449
|
/**
|
|
440
450
|
* Pattern to exclude from the optimization.
|
|
@@ -663,26 +673,27 @@ Các thiết lập kiểm soát hành vi routing, bao gồm cấu trúc URL, lư
|
|
|
663
673
|
```typescript
|
|
664
674
|
routing: {
|
|
665
675
|
mode: "prefix-no-default", // Chiến lược dự phòng
|
|
666
|
-
rewrite: {
|
|
667
|
-
"/about": {
|
|
668
|
-
en: "/about",
|
|
669
|
-
fr: "/a-propos",
|
|
676
|
+
rewrite: nextjsRewrite({
|
|
677
|
+
"/[locale]/about": {
|
|
678
|
+
en: "/[locale]/about",
|
|
679
|
+
fr: "/[locale]/a-propos",
|
|
670
680
|
},
|
|
671
|
-
"/product/[slug]": {
|
|
672
|
-
en: "/product/[slug]",
|
|
673
|
-
fr: "/produit/[slug]",
|
|
681
|
+
"/[locale]/product/[slug]": {
|
|
682
|
+
en: "/[locale]/product/[slug]",
|
|
683
|
+
fr: "/[locale]/produit/[slug]",
|
|
674
684
|
},
|
|
675
|
-
"/blog/[category]/[id]": {
|
|
676
|
-
en: "/blog/[category]/[id]",
|
|
677
|
-
fr: "/journal/[category]/[id]",
|
|
685
|
+
"/[locale]/blog/[category]/[id]": {
|
|
686
|
+
en: "/[locale]/blog/[category]/[id]",
|
|
687
|
+
fr: "/[locale]/journal/[category]/[id]",
|
|
678
688
|
},
|
|
679
|
-
},
|
|
689
|
+
}),
|
|
680
690
|
}
|
|
681
691
|
```
|
|
682
692
|
- _Lưu ý_: Các quy tắc viết lại có ưu tiên cao hơn hành vi `mode` mặc định. Nếu một đường dẫn khớp với quy tắc viết lại, đường dẫn đã được bản địa hóa từ cấu hình viết lại sẽ được sử dụng thay vì tiền tố ngôn ngữ tiêu chuẩn.
|
|
683
693
|
- _Lưu ý_: Tham số tuyến động được hỗ trợ bằng cách sử dụng ký hiệu ngoặc vuông (ví dụ: `[slug]`, `[id]`). Giá trị tham số được tự động trích xuất từ URL và nội suy vào đường dẫn đã viết lại.
|
|
684
694
|
- _Lưu ý_: Hoạt động với ứng dụng Next.js và Vite. Middleware/proxy sẽ tự động viết lại các yêu cầu đến để khớp với cấu trúc tuyến nội bộ.
|
|
685
695
|
- _Lưu ý_: Khi tạo URL bằng `getLocalizedUrl()`, các quy tắc viết lại được áp dụng tự động nếu chúng khớp với đường dẫn được cung cấp.
|
|
696
|
+
- _Tham khảo_: Để biết thêm thông tin, xem [Viết lại URL tùy chỉnh](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/custom_url_rewrites.md).
|
|
686
697
|
|
|
687
698
|
#### Thuộc tính Cookie
|
|
688
699
|
|
|
@@ -1062,6 +1073,12 @@ Các tùy chọn build áp dụng cho các plugin `@intlayer/babel` và `@intlay
|
|
|
1062
1073
|
- _Lưu ý_: Nếu được đặt thành "live", chỉ những từ điển bao gồm nội dung từ xa và được đánh dấu là "live" mới được chuyển đổi sang chế độ live. Các từ điển khác sẽ được nhập động dưới dạng chế độ "dynamic" để tối ưu số lượng truy vấn fetch và hiệu suất tải.
|
|
1063
1074
|
- _Lưu ý_: Chế độ live sẽ sử dụng live sync API để lấy các từ điển. Nếu cuộc gọi API thất bại, các từ điển sẽ được nhập động dưới dạng chế độ "dynamic".
|
|
1064
1075
|
- _Lưu ý_: Tùy chọn này sẽ không ảnh hưởng đến các hàm `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` và `useDictionaryDynamic`.
|
|
1076
|
+
- **checkTypes**:
|
|
1077
|
+
- _Type_: `boolean`
|
|
1078
|
+
- _Default_: `false`
|
|
1079
|
+
- _Description_: Cho biết liệu quá trình xây dựng có nên kiểm tra các kiểu TypeScript và ghi lại lỗi hay không.
|
|
1080
|
+
- _Note_: Điều này có thể làm chậm quá trình xây dựng.
|
|
1081
|
+
|
|
1065
1082
|
- **outputFormat**:
|
|
1066
1083
|
- _Kiểu_: `'esm' | 'cjs'`
|
|
1067
1084
|
- _Mặc định_: `'esm'`
|
package/docs/zh/agent_skills.md
CHANGED
|
@@ -26,11 +26,17 @@ history:
|
|
|
26
26
|
npx intlayer init skills
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
或使用 Vercel Skill SDK
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx skills add aymericzip/intlayer-skills
|
|
33
|
+
```
|
|
34
|
+
|
|
29
35
|
运行此命令时,它将:
|
|
30
36
|
|
|
31
37
|
1. 检测您正在使用的框架(例如 Next.js、React、Vite)。
|
|
32
38
|
2. 询问您要为哪些平台安装技能(Cursor、Windsurf、VS Code、OpenCode、Claude Code、GitHub Copilot Workspace 等)。
|
|
33
|
-
3. 生成所需的配置文件(例如 `.cursor/skills/
|
|
39
|
+
3. 生成所需的配置文件(例如 `.cursor/skills/intlayer-next-js/SKILL.md`、`.windsurf/skills/intlayer-next-js/SKILL.md`、`.opencode/skills/intlayer-next-js/SKILL.md`、`.vscode/mcp.json` 等)。
|
|
34
40
|
|
|
35
41
|
## 支持的平台
|
|
36
42
|
|