@intlayer/docs 7.3.1 → 7.3.2-canary.0

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.
Files changed (79) hide show
  1. package/README.md +0 -2
  2. package/blog/ar/compiler_vs_declarative_i18n.md +1 -2
  3. package/blog/ar/list_i18n_technologies/frameworks/flutter.md +0 -22
  4. package/blog/de/compiler_vs_declarative_i18n.md +1 -2
  5. package/blog/de/list_i18n_technologies/frameworks/flutter.md +0 -22
  6. package/blog/en/compiler_vs_declarative_i18n.md +1 -2
  7. package/blog/en/list_i18n_technologies/frameworks/flutter.md +0 -22
  8. package/blog/en/list_i18n_technologies/frameworks/svelte.md +19 -3
  9. package/blog/en/list_i18n_technologies/frameworks/vue.md +16 -2
  10. package/blog/en-GB/compiler_vs_declarative_i18n.md +1 -2
  11. package/blog/en-GB/list_i18n_technologies/frameworks/flutter.md +0 -22
  12. package/blog/es/compiler_vs_declarative_i18n.md +1 -2
  13. package/blog/es/list_i18n_technologies/frameworks/flutter.md +0 -22
  14. package/blog/fr/compiler_vs_declarative_i18n.md +1 -2
  15. package/blog/fr/list_i18n_technologies/frameworks/flutter.md +0 -22
  16. package/blog/hi/compiler_vs_declarative_i18n.md +1 -2
  17. package/blog/hi/list_i18n_technologies/frameworks/flutter.md +0 -22
  18. package/blog/id/compiler_vs_declarative_i18n.md +1 -2
  19. package/blog/id/list_i18n_technologies/frameworks/flutter.md +0 -22
  20. package/blog/it/compiler_vs_declarative_i18n.md +1 -2
  21. package/blog/it/list_i18n_technologies/frameworks/flutter.md +0 -22
  22. package/blog/ja/compiler_vs_declarative_i18n.md +1 -2
  23. package/blog/ja/list_i18n_technologies/frameworks/flutter.md +0 -22
  24. package/blog/ko/compiler_vs_declarative_i18n.md +1 -2
  25. package/blog/ko/list_i18n_technologies/frameworks/flutter.md +0 -22
  26. package/blog/pl/compiler_vs_declarative_i18n.md +1 -2
  27. package/blog/pl/list_i18n_technologies/frameworks/flutter.md +0 -22
  28. package/blog/pt/compiler_vs_declarative_i18n.md +1 -2
  29. package/blog/pt/list_i18n_technologies/frameworks/flutter.md +0 -22
  30. package/blog/ru/compiler_vs_declarative_i18n.md +1 -2
  31. package/blog/ru/list_i18n_technologies/frameworks/flutter.md +0 -22
  32. package/blog/tr/compiler_vs_declarative_i18n.md +1 -2
  33. package/blog/tr/list_i18n_technologies/frameworks/flutter.md +0 -22
  34. package/blog/vi/compiler_vs_declarative_i18n.md +1 -2
  35. package/blog/vi/list_i18n_technologies/frameworks/flutter.md +0 -22
  36. package/blog/zh/compiler_vs_declarative_i18n.md +1 -2
  37. package/blog/zh/list_i18n_technologies/frameworks/flutter.md +0 -22
  38. package/dist/cjs/generated/docs.entry.cjs +19 -0
  39. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  40. package/dist/esm/generated/docs.entry.mjs +19 -0
  41. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  42. package/dist/types/generated/docs.entry.d.ts +1 -0
  43. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  44. package/docs/ar/bundle_optimization.md +6 -2
  45. package/docs/ar/compiler.md +133 -0
  46. package/docs/de/bundle_optimization.md +6 -2
  47. package/docs/de/compiler.md +133 -0
  48. package/docs/en/bundle_optimization.md +6 -2
  49. package/docs/en/compiler.md +133 -0
  50. package/docs/en-GB/bundle_optimization.md +6 -2
  51. package/docs/en-GB/compiler.md +133 -0
  52. package/docs/es/bundle_optimization.md +6 -2
  53. package/docs/es/compiler.md +133 -0
  54. package/docs/fr/bundle_optimization.md +6 -2
  55. package/docs/fr/compiler.md +133 -0
  56. package/docs/hi/bundle_optimization.md +6 -2
  57. package/docs/hi/compiler.md +133 -0
  58. package/docs/id/bundle_optimization.md +6 -2
  59. package/docs/id/compiler.md +133 -0
  60. package/docs/it/bundle_optimization.md +6 -2
  61. package/docs/it/compiler.md +133 -0
  62. package/docs/ja/bundle_optimization.md +6 -2
  63. package/docs/ja/compiler.md +133 -0
  64. package/docs/ko/bundle_optimization.md +6 -2
  65. package/docs/ko/compiler.md +133 -0
  66. package/docs/pl/bundle_optimization.md +6 -2
  67. package/docs/pl/compiler.md +133 -0
  68. package/docs/pt/bundle_optimization.md +6 -2
  69. package/docs/pt/compiler.md +133 -0
  70. package/docs/ru/bundle_optimization.md +6 -2
  71. package/docs/ru/compiler.md +133 -0
  72. package/docs/tr/bundle_optimization.md +6 -2
  73. package/docs/tr/compiler.md +133 -0
  74. package/docs/vi/bundle_optimization.md +6 -2
  75. package/docs/vi/compiler.md +133 -0
  76. package/docs/zh/bundle_optimization.md +6 -2
  77. package/docs/zh/compiler.md +133 -0
  78. package/package.json +8 -7
  79. package/src/generated/docs.entry.ts +19 -0
@@ -0,0 +1,133 @@
1
+ ---
2
+ createdAt: 2025-09-09
3
+ updatedAt: 2025-09-09
4
+ title: Intlayer Compiler | Estrazione Automatica dei Contenuti per i18n
5
+ description: Automatizza il tuo processo di internazionalizzazione con Intlayer Compiler. Estrai contenuti direttamente dai tuoi componenti per un i18n più veloce ed efficiente in Vite, Next.js e altro.
6
+ keywords:
7
+ - Intlayer
8
+ - Compiler
9
+ - Internazionalizzazione
10
+ - i18n
11
+ - Automazione
12
+ - Estrazione
13
+ - Velocità
14
+ - Vite
15
+ - Next.js
16
+ - React
17
+ - Vue
18
+ - Svelte
19
+ slugs:
20
+ - doc
21
+ - compiler
22
+ history:
23
+ - version: 7.3.1
24
+ date: 2025-11-27
25
+ changes: Rilascio Compiler
26
+ ---
27
+
28
+ # Intlayer Compiler | Estrazione Automatica dei Contenuti per i18n
29
+
30
+ ## Cos'è Intlayer Compiler?
31
+
32
+ Il **Intlayer Compiler** è uno strumento potente progettato per automatizzare il processo di internazionalizzazione (i18n) nelle tue applicazioni. Scansiona il tuo codice sorgente (JSX, TSX, Vue, Svelte) alla ricerca di dichiarazioni di contenuto, le estrae e genera automaticamente i file di dizionario necessari. Questo ti permette di mantenere i contenuti co-localizzati con i tuoi componenti mentre Intlayer gestisce la sincronizzazione e la gestione dei dizionari.
33
+
34
+ ## Perché Usare Intlayer Compiler?
35
+
36
+ - **Automazione**: Elimina il copia-incolla manuale dei contenuti nei dizionari.
37
+ - **Velocità**: Estrazione dei contenuti ottimizzata per garantire che il processo di build rimanga veloce.
38
+ - **Esperienza Sviluppatore**: Mantieni le dichiarazioni di contenuto esattamente dove vengono utilizzate, migliorando la manutenibilità.
39
+ - **Aggiornamenti in tempo reale**: Supporta Hot Module Replacement (HMR) per un feedback immediato durante lo sviluppo.
40
+
41
+ Consulta il post sul blog [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/compiler_vs_declarative_i18n.md) per un confronto più approfondito.
42
+
43
+ ## Perché non usare Intlayer Compiler?
44
+
45
+ Sebbene il compiler offra un'esperienza eccellente "funziona subito", introduce anche alcuni compromessi di cui dovresti essere consapevole:
46
+
47
+ - **Ambiguità euristica**: Il compiler deve indovinare cosa è contenuto orientato all'utente rispetto alla logica dell'applicazione (ad esempio, `className="active"`, codici di stato, ID prodotto). In codebase complesse, questo può portare a falsi positivi o stringhe mancate che richiedono annotazioni manuali ed eccezioni.
48
+ - **Estrazione solo statica**: L'estrazione basata sul compiler si basa sull'analisi statica. Le stringhe che esistono solo in fase di esecuzione (codici di errore API, campi CMS, ecc.) non possono essere scoperte o tradotte dal compiler da solo, quindi hai ancora bisogno di una strategia i18n di runtime complementare.
49
+
50
+ Per un confronto architetturale più approfondito, consulta il post sul blog [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/it/compiler_vs_declarative_i18n.md).
51
+
52
+ Come alternativa, per automatizzare il tuo processo i18n mantenendo il pieno controllo del tuo contenuto, Intlayer fornisce anche un comando di auto-estrazione `intlayer transform` (vedi [documentazione CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/cli/transform.md)), o il comando `Intlayer: extract content to Dictionary` dall'estensione Intlayer VS Code (vedi [documentazione estensione VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/vs_code_extension.md)).
53
+
54
+ ## Utilizzo
55
+
56
+ ### Vite
57
+
58
+ Per le applicazioni basate su Vite (React, Vue, Svelte, ecc.), il modo più semplice per utilizzare il compiler è tramite il plugin `vite-intlayer`.
59
+
60
+ #### Installazione
61
+
62
+ ```bash
63
+ npm install vite-intlayer
64
+ ```
65
+
66
+ #### Configurazione
67
+
68
+ Aggiorna il tuo `vite.config.ts` per includere il plugin `intlayerCompiler`:
69
+
70
+ ```ts fileName="vite.config.ts"
71
+ import { defineConfig } from "vite";
72
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
73
+
74
+ export default defineConfig({
75
+ plugins: [
76
+ intlayer(),
77
+ intlayerCompiler(), // Aggiunge il plugin del compiler
78
+ ],
79
+ });
80
+ ```
81
+
82
+ #### Supporto per Framework
83
+
84
+ Il plugin Vite rileva e gestisce automaticamente diversi tipi di file:
85
+
86
+ - **React / JSX / TSX**: Gestito nativamente.
87
+ - **Vue**: Richiede `@intlayer/vue-compiler`.
88
+ - **Svelte**: Richiede `@intlayer/svelte-compiler`.
89
+
90
+ Assicurati di installare il pacchetto compiler appropriato per il tuo framework:
91
+
92
+ ```bash
93
+ # Per Vue
94
+ npm install @intlayer/vue-compiler
95
+
96
+ # Per Svelte
97
+ npm install @intlayer/svelte-compiler
98
+ ```
99
+
100
+ ### Next.js (Babel)
101
+
102
+ Per Next.js o altre applicazioni basate su Webpack che utilizzano Babel, puoi configurare il compiler usando il plugin `@intlayer/babel`.
103
+
104
+ #### Installazione
105
+
106
+ ```bash
107
+ npm install @intlayer/babel
108
+ ```
109
+
110
+ #### Configurazione
111
+
112
+ Aggiorna il tuo `babel.config.js` (o `babel.config.json`) per includere il plugin di estrazione. Forniamo un helper `getExtractPluginOptions` per caricare automaticamente la tua configurazione Intlayer.
113
+
114
+ ```js fileName="babel.config.js"
115
+ const {
116
+ intlayerExtractBabelPlugin,
117
+ intlayerOptimizeBabelPlugin,
118
+ getExtractPluginOptions,
119
+ getOptimizePluginOptions,
120
+ } = require("@intlayer/babel");
121
+
122
+ module.exports = {
123
+ presets: ["next/babel"],
124
+ plugins: [
125
+ // Extract content from components into dictionaries
126
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
127
+ // Optimize imports by replacing useIntlayer with direct dictionary imports
128
+ [intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
129
+ ],
130
+ };
131
+ ```
132
+
133
+ Questa configurazione garantisce che il contenuto dichiarato nei tuoi componenti venga estratto automaticamente e utilizzato per generare i dizionari durante il processo di build.
@@ -153,9 +153,13 @@ const content = useIntlayer("my-key");
153
153
  // 最適化されたコード(動的)
154
154
  const content = useDictionaryAsync({
155
155
  en: () =>
156
- import(".intlayer/dynamic_dictionary/en.json").then((mod) => mod.default),
156
+ import(".intlayer/dynamic_dictionary/my-key/en.json").then(
157
+ (mod) => mod.default
158
+ ),
157
159
  fr: () =>
158
- import(".intlayer/dynamic_dictionary/fr.json").then((mod) => mod.default),
160
+ import(".intlayer/dynamic_dictionary/my-key/fr.json").then(
161
+ (mod) => mod.default
162
+ ),
159
163
  });
160
164
  ```
161
165
 
@@ -0,0 +1,133 @@
1
+ ---
2
+ createdAt: 2025-09-09
3
+ updatedAt: 2025-09-09
4
+ title: Intlayer コンパイラー | i18n のための自動コンテンツ抽出
5
+ description: Intlayer コンパイラーで国際化プロセスを自動化しましょう。コンポーネントから直接コンテンツを抽出し、Vite、Next.js などでより高速かつ効率的な i18n を実現します。
6
+ keywords:
7
+ - Intlayer
8
+ - コンパイラー
9
+ - 国際化
10
+ - i18n
11
+ - 自動化
12
+ - 抽出
13
+ - 速度
14
+ - Vite
15
+ - Next.js
16
+ - React
17
+ - Vue
18
+ - Svelte
19
+ slugs:
20
+ - doc
21
+ - compiler
22
+ history:
23
+ - version: 7.3.1
24
+ date: 2025-11-27
25
+ changes: コンパイラーリリース
26
+ ---
27
+
28
+ # Intlayer コンパイラー | i18n のための自動コンテンツ抽出
29
+
30
+ ## Intlayer コンパイラーとは?
31
+
32
+ **Intlayer コンパイラー**は、アプリケーションの国際化(i18n)プロセスを自動化するために設計された強力なツールです。ソースコード(JSX、TSX、Vue、Svelte)内のコンテンツ宣言をスキャンし、それらを抽出して必要な辞書ファイルを自動的に生成します。これにより、コンテンツをコンポーネントと共に配置したままにでき、Intlayer が辞書の管理と同期を担当します。
33
+
34
+ ## なぜ Intlayer コンパイラーを使うのか?
35
+
36
+ - **自動化**: コンテンツを辞書に手動でコピー&ペーストする手間を排除します。
37
+ - **高速化**: 最適化されたコンテンツ抽出により、ビルドプロセスの高速化を実現します。
38
+ - **開発者体験**: コンテンツ宣言を使用箇所にそのまま保持し、保守性を向上させます。
39
+ - **ライブアップデート**: 開発中に即時フィードバックを得られるホットモジュールリプレースメント(HMR)をサポートします。
40
+
41
+ より詳しい比較については、[Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/ja/compiler_vs_declarative_i18n.md) のブログ記事をご覧ください。
42
+
43
+ ## Intlayer コンパイラーを使わない理由
44
+
45
+ コンパイラーは優れた「そのまま動作する」体験を提供しますが、いくつかのトレードオフも導入します:
46
+
47
+ - **ヒューリスティックの曖昧さ**:コンパイラーは、ユーザー向けコンテンツとアプリケーションロジック(例:`className="active"`、ステータスコード、製品ID)を推測する必要があります。複雑なコードベースでは、これにより誤検出や見逃された文字列が発生し、手動での注釈と例外処理が必要になる場合があります。
48
+ - **静的抽出のみ**:コンパイラーベースの抽出は静的解析に依存しています。実行時のみ存在する文字列(APIエラーコード、CMSフィールドなど)は、コンパイラー単独では発見または翻訳できないため、補完的なランタイムi18n戦略が必要です。
49
+
50
+ より深いアーキテクチャの比較については、ブログ記事[Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/ja/compiler_vs_declarative_i18n.md)を参照してください。
51
+
52
+ 代替として、コンテンツの完全な制御を維持しながらi18nプロセスを自動化するために、Intlayerは自動抽出コマンド `intlayer transform`([CLIドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/cli/transform.md)を参照)またはIntlayer VS Code拡張機能の `Intlayer: extract content to Dictionary` コマンド([VS Code拡張機能ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/vs_code_extension.md)を参照)も提供しています。
53
+
54
+ ## 使い方
55
+
56
+ ### Vite
57
+
58
+ Viteベースのアプリケーション(React、Vue、Svelteなど)では、`vite-intlayer` プラグインを使うのが最も簡単な方法です。
59
+
60
+ #### インストール
61
+
62
+ ```bash
63
+ npm install vite-intlayer
64
+ ```
65
+
66
+ #### 設定
67
+
68
+ `vite.config.ts` を更新して `intlayerCompiler` プラグインを含めます:
69
+
70
+ ```ts fileName="vite.config.ts"
71
+ import { defineConfig } from "vite";
72
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
73
+
74
+ export default defineConfig({
75
+ plugins: [
76
+ intlayer(),
77
+ intlayerCompiler(), // コンパイラプラグインを追加
78
+ ],
79
+ });
80
+ ```
81
+
82
+ #### フレームワークサポート
83
+
84
+ Viteプラグインは自動的に異なるファイルタイプを検出し処理します:
85
+
86
+ - **React / JSX / TSX**: ネイティブに対応。
87
+ - **Vue**: `@intlayer/vue-compiler` が必要です。
88
+ - **Svelte**: `@intlayer/svelte-compiler` が必要です。
89
+
90
+ 使用しているフレームワークに応じて、適切なコンパイラパッケージをインストールしてください:
91
+
92
+ ```bash
93
+ # Vue用
94
+ npm install @intlayer/vue-compiler
95
+
96
+ # Svelte用
97
+ npm install @intlayer/svelte-compiler
98
+ ```
99
+
100
+ ### Next.js (Babel)
101
+
102
+ Next.jsやその他のWebpackベースのBabelを使用するアプリケーションでは、`@intlayer/babel`プラグインを使ってコンパイラを設定できます。
103
+
104
+ #### インストール
105
+
106
+ ```bash
107
+ npm install @intlayer/babel
108
+ ```
109
+
110
+ #### 設定
111
+
112
+ `babel.config.js`(または `babel.config.json`)を更新して、抽出プラグインを含めます。Intlayerの設定を自動的に読み込むためのヘルパー `getExtractPluginOptions` を提供しています。
113
+
114
+ ```js fileName="babel.config.js"
115
+ const {
116
+ intlayerExtractBabelPlugin,
117
+ intlayerOptimizeBabelPlugin,
118
+ getExtractPluginOptions,
119
+ getOptimizePluginOptions,
120
+ } = require("@intlayer/babel");
121
+
122
+ module.exports = {
123
+ presets: ["next/babel"],
124
+ plugins: [
125
+ // Extract content from components into dictionaries
126
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
127
+ // Optimize imports by replacing useIntlayer with direct dictionary imports
128
+ [intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
129
+ ],
130
+ };
131
+ ```
132
+
133
+ この設定により、コンポーネント内で宣言されたコンテンツが自動的に抽出され、ビルドプロセス中に辞書の生成に使用されます。
@@ -153,9 +153,13 @@ const content = useIntlayer("my-key");
153
153
  // Optimized code (Dynamic)
154
154
  const content = useDictionaryAsync({
155
155
  en: () =>
156
- import(".intlayer/dynamic_dictionary/en.json").then((mod) => mod.default),
156
+ import(".intlayer/dynamic_dictionary/my-key/en.json").then(
157
+ (mod) => mod.default
158
+ ),
157
159
  fr: () =>
158
- import(".intlayer/dynamic_dictionary/fr.json").then((mod) => mod.default),
160
+ import(".intlayer/dynamic_dictionary/my-key/fr.json").then(
161
+ (mod) => mod.default
162
+ ),
159
163
  });
160
164
  ```
161
165
 
@@ -0,0 +1,133 @@
1
+ ---
2
+ createdAt: 2025-09-09
3
+ updatedAt: 2025-09-09
4
+ title: Intlayer 컴파일러 | i18n을 위한 자동화된 콘텐츠 추출
5
+ description: Intlayer 컴파일러로 국제화 프로세스를 자동화하세요. Vite, Next.js 등에서 더 빠르고 효율적인 i18n을 위해 컴포넌트에서 직접 콘텐츠를 추출합니다.
6
+ keywords:
7
+ - Intlayer
8
+ - 컴파일러
9
+ - 국제화
10
+ - i18n
11
+ - 자동화
12
+ - 추출
13
+ - 속도
14
+ - Vite
15
+ - Next.js
16
+ - React
17
+ - Vue
18
+ - Svelte
19
+ slugs:
20
+ - doc
21
+ - compiler
22
+ history:
23
+ - version: 7.3.1
24
+ date: 2025-11-27
25
+ changes: 컴파일러 출시
26
+ ---
27
+
28
+ # Intlayer 컴파일러 | i18n을 위한 자동화된 콘텐츠 추출
29
+
30
+ ## Intlayer 컴파일러란?
31
+
32
+ **Intlayer 컴파일러**는 애플리케이션의 국제화(i18n) 프로세스를 자동화하도록 설계된 강력한 도구입니다. 소스 코드(JSX, TSX, Vue, Svelte)에서 콘텐츠 선언을 스캔하고 추출하여 필요한 사전(dictionary) 파일을 자동으로 생성합니다. 이를 통해 콘텐츠를 컴포넌트와 함께 위치시킬 수 있으며, Intlayer가 사전의 관리 및 동기화를 처리합니다.
33
+
34
+ ## Intlayer 컴파일러를 사용하는 이유
35
+
36
+ - **자동화**: 콘텐츠를 사전에 수동으로 복사하여 붙여넣는 작업을 제거합니다.
37
+ - **속도**: 빌드 프로세스가 빠르게 유지되도록 최적화된 콘텐츠 추출을 제공합니다.
38
+ - **개발자 경험**: 콘텐츠 선언을 사용되는 위치에 그대로 유지하여 유지보수성을 향상시킵니다.
39
+ - **실시간 업데이트**: 개발 중 즉각적인 피드백을 위한 Hot Module Replacement(HMR)를 지원합니다.
40
+
41
+ 더 깊은 비교를 원한다면 [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/ko/compiler_vs_declarative_i18n.md) 블로그 게시물을 참조하세요.
42
+
43
+ ## Intlayer 컴파일러를 사용하지 않는 이유
44
+
45
+ 컴파일러는 훌륭한 "바로 작동" 경험을 제공하지만, 인지해야 할 몇 가지 트레이드오프도 도입합니다:
46
+
47
+ - **휴리스틱 모호성**: 컴파일러는 사용자 지향 콘텐츠와 애플리케이션 로직(예: `className="active"`, 상태 코드, 제품 ID)을 추측해야 합니다. 복잡한 코드베이스에서는 이것이 오탐지 또는 누락된 문자열로 이어질 수 있으며, 수동 주석 및 예외 처리가 필요합니다.
48
+ - **정적 추출만**: 컴파일러 기반 추출은 정적 분석에 의존합니다. 런타임에만 존재하는 문자열(API 오류 코드, CMS 필드 등)은 컴파일러만으로는 발견하거나 번역할 수 없으므로 여전히 보완적인 런타임 i18n 전략이 필요합니다.
49
+
50
+ 더 깊은 아키텍처 비교를 위해서는 블로그 게시물 [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/ko/compiler_vs_declarative_i18n.md)을 참조하세요.
51
+
52
+ 대안으로, 콘텐츠에 대한 완전한 제어를 유지하면서 i18n 프로세스를 자동화하기 위해 Intlayer는 자동 추출 명령 `intlayer transform`([CLI 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/transform.md) 참조) 또는 Intlayer VS Code 확장의 `Intlayer: extract content to Dictionary` 명령([VS Code 확장 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/vs_code_extension.md) 참조)도 제공합니다.
53
+
54
+ ## 사용법
55
+
56
+ ### Vite
57
+
58
+ Vite 기반 애플리케이션(React, Vue, Svelte 등)의 경우, 컴파일러를 사용하는 가장 쉬운 방법은 `vite-intlayer` 플러그인을 사용하는 것입니다.
59
+
60
+ #### 설치
61
+
62
+ ```bash
63
+ npm install vite-intlayer
64
+ ```
65
+
66
+ #### 구성
67
+
68
+ `vite.config.ts` 파일을 업데이트하여 `intlayerCompiler` 플러그인을 포함하세요:
69
+
70
+ ```ts fileName="vite.config.ts"
71
+ import { defineConfig } from "vite";
72
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
73
+
74
+ export default defineConfig({
75
+ plugins: [
76
+ intlayer(),
77
+ intlayerCompiler(), // 컴파일러 플러그인 추가
78
+ ],
79
+ });
80
+ ```
81
+
82
+ #### 프레임워크 지원
83
+
84
+ Vite 플러그인은 다양한 파일 유형을 자동으로 감지하고 처리합니다:
85
+
86
+ - **React / JSX / TSX**: 기본적으로 처리됩니다.
87
+ - **Vue**: `@intlayer/vue-compiler`가 필요합니다.
88
+ - **Svelte**: `@intlayer/svelte-compiler`가 필요합니다.
89
+
90
+ 사용하는 프레임워크에 맞는 컴파일러 패키지를 반드시 설치하세요:
91
+
92
+ ```bash
93
+ # Vue용
94
+ npm install @intlayer/vue-compiler
95
+
96
+ # Svelte용
97
+ npm install @intlayer/svelte-compiler
98
+ ```
99
+
100
+ ### Next.js (Babel)
101
+
102
+ Next.js 또는 Babel을 사용하는 다른 Webpack 기반 애플리케이션의 경우, `@intlayer/babel` 플러그인을 사용하여 컴파일러를 구성할 수 있습니다.
103
+
104
+ #### 설치
105
+
106
+ ```bash
107
+ npm install @intlayer/babel
108
+ ```
109
+
110
+ #### 구성
111
+
112
+ `babel.config.js`(또는 `babel.config.json`) 파일을 업데이트하여 추출 플러그인을 포함하세요. Intlayer 구성을 자동으로 로드하는 헬퍼 함수 `getExtractPluginOptions`를 제공합니다.
113
+
114
+ ```js fileName="babel.config.js"
115
+ const {
116
+ intlayerExtractBabelPlugin,
117
+ intlayerOptimizeBabelPlugin,
118
+ getExtractPluginOptions,
119
+ getOptimizePluginOptions,
120
+ } = require("@intlayer/babel");
121
+
122
+ module.exports = {
123
+ presets: ["next/babel"],
124
+ plugins: [
125
+ // Extract content from components into dictionaries
126
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
127
+ // Optimize imports by replacing useIntlayer with direct dictionary imports
128
+ [intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
129
+ ],
130
+ };
131
+ ```
132
+
133
+ 이 구성은 컴포넌트 내에 선언된 콘텐츠가 자동으로 추출되어 빌드 과정 중에 사전 생성에 사용되도록 보장합니다.
@@ -153,9 +153,13 @@ const content = useIntlayer("my-key");
153
153
  // Kod zoptymalizowany (Dynamiczny)
154
154
  const content = useDictionaryAsync({
155
155
  en: () =>
156
- import(".intlayer/dynamic_dictionary/en.json").then((mod) => mod.default),
156
+ import(".intlayer/dynamic_dictionary/my-key/en.json").then(
157
+ (mod) => mod.default
158
+ ),
157
159
  fr: () =>
158
- import(".intlayer/dynamic_dictionary/fr.json").then((mod) => mod.default),
160
+ import(".intlayer/dynamic_dictionary/my-key/fr.json").then(
161
+ (mod) => mod.default
162
+ ),
159
163
  });
160
164
  ```
161
165
 
@@ -0,0 +1,133 @@
1
+ ---
2
+ createdAt: 2025-09-09
3
+ updatedAt: 2025-09-09
4
+ title: Intlayer Compiler | Zautomatyzowane wydobywanie treści dla i18n
5
+ description: Zautomatyzuj proces internacjonalizacji za pomocą Intlayer Compiler. Wydobywaj treści bezpośrednio z komponentów dla szybszego i bardziej efektywnego i18n w Vite, Next.js i innych.
6
+ keywords:
7
+ - Intlayer
8
+ - Compiler
9
+ - Internacjonalizacja
10
+ - i18n
11
+ - Automatyzacja
12
+ - Wydobywanie
13
+ - Szybkość
14
+ - Vite
15
+ - Next.js
16
+ - React
17
+ - Vue
18
+ - Svelte
19
+ slugs:
20
+ - doc
21
+ - compiler
22
+ history:
23
+ - version: 7.3.1
24
+ date: 2025-11-27
25
+ changes: Wydanie kompilatora
26
+ ---
27
+
28
+ # Intlayer Compiler | Zautomatyzowane wydobywanie treści dla i18n
29
+
30
+ ## Czym jest Intlayer Compiler?
31
+
32
+ **Intlayer Compiler** to potężne narzędzie zaprojektowane w celu automatyzacji procesu internacjonalizacji (i18n) w Twoich aplikacjach. Przeszukuje Twój kod źródłowy (JSX, TSX, Vue, Svelte) w poszukiwaniu deklaracji treści, wydobywa je i automatycznie generuje niezbędne pliki słowników. Pozwala to na utrzymanie treści współlokalnie z komponentami, podczas gdy Intlayer zajmuje się zarządzaniem i synchronizacją Twoich słowników.
33
+
34
+ ## Dlaczego warto używać Intlayer Compiler?
35
+
36
+ - **Automatyzacja**: Eliminuje ręczne kopiowanie i wklejanie treści do słowników.
37
+ - **Szybkość**: Optymalizowane wydobywanie treści zapewnia szybki proces budowania.
38
+ - **Doświadczenie programisty**: Zachowaj deklaracje treści dokładnie tam, gdzie są używane, co poprawia utrzymanie kodu.
39
+ - **Aktualizacje na żywo**: Obsługuje Hot Module Replacement (HMR) dla natychmiastowej informacji zwrotnej podczas tworzenia aplikacji.
40
+
41
+ Zobacz wpis na blogu [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pl/compiler_vs_declarative_i18n.md) dla głębszego porównania.
42
+
43
+ ## Dlaczego nie używać Intlayer Compiler?
44
+
45
+ Chociaż kompilator oferuje doskonałe doświadczenie "działa od razu", wprowadza również pewne kompromisy, o których powinieneś wiedzieć:
46
+
47
+ - **Niejednoznaczność heurystyczna**: Kompilator musi zgadywać, co jest treścią skierowaną do użytkownika, a co logiką aplikacji (np. `className="active"`, kody statusu, ID produktów). W złożonych bazach kodu może to prowadzić do fałszywych pozytywów lub pominiętych ciągów znaków, które wymagają ręcznych adnotacji i wyjątków.
48
+ - **Tylko statyczna ekstrakcja**: Ekstrakcja oparta na kompilatorze opiera się na analizie statycznej. Ciągi znaków, które istnieją tylko w czasie wykonywania (kody błędów API, pola CMS itp.), nie mogą być odkryte ani przetłumaczone przez sam kompilator, więc nadal potrzebujesz uzupełniającej strategii i18n czasu wykonywania.
49
+
50
+ Aby uzyskać głębsze porównanie architektoniczne, zobacz wpis na blogu [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pl/compiler_vs_declarative_i18n.md).
51
+
52
+ Jako alternatywę, aby zautomatyzować proces i18n przy zachowaniu pełnej kontroli nad treścią, Intlayer zapewnia również polecenie auto-ekstrakcji `intlayer transform` (zobacz [dokumentację CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/cli/transform.md)) lub polecenie `Intlayer: extract content to Dictionary` z rozszerzenia Intlayer VS Code (zobacz [dokumentację rozszerzenia VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/vs_code_extension.md)).
53
+
54
+ ## Użycie
55
+
56
+ ### Vite
57
+
58
+ Dla aplikacji opartych na Vite (React, Vue, Svelte itp.) najprostszym sposobem użycia kompilatora jest wtyczka `vite-intlayer`.
59
+
60
+ #### Instalacja
61
+
62
+ ```bash
63
+ npm install vite-intlayer
64
+ ```
65
+
66
+ #### Konfiguracja
67
+
68
+ Zaktualizuj swój plik `vite.config.ts`, aby dołączyć wtyczkę `intlayerCompiler`:
69
+
70
+ ```ts fileName="vite.config.ts"
71
+ import { defineConfig } from "vite";
72
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
73
+
74
+ export default defineConfig({
75
+ plugins: [
76
+ intlayer(),
77
+ intlayerCompiler(), // Dodaje wtyczkę kompilatora
78
+ ],
79
+ });
80
+ ```
81
+
82
+ #### Wsparcie dla frameworków
83
+
84
+ Wtyczka Vite automatycznie wykrywa i obsługuje różne typy plików:
85
+
86
+ - **React / JSX / TSX**: Obsługiwane natywnie.
87
+ - **Vue**: Wymaga `@intlayer/vue-compiler`.
88
+ - **Svelte**: Wymaga `@intlayer/svelte-compiler`.
89
+
90
+ Upewnij się, że zainstalowałeś odpowiedni pakiet kompilatora dla swojego frameworka:
91
+
92
+ ```bash
93
+ # Dla Vue
94
+ npm install @intlayer/vue-compiler
95
+
96
+ # Dla Svelte
97
+ npm install @intlayer/svelte-compiler
98
+ ```
99
+
100
+ ### Next.js (Babel)
101
+
102
+ Dla Next.js lub innych aplikacji opartych na Webpack z użyciem Babel, możesz skonfigurować kompilator za pomocą wtyczki `@intlayer/babel`.
103
+
104
+ #### Instalacja
105
+
106
+ ```bash
107
+ npm install @intlayer/babel
108
+ ```
109
+
110
+ #### Konfiguracja
111
+
112
+ Zaktualizuj swój plik `babel.config.js` (lub `babel.config.json`), aby uwzględnić wtyczkę ekstrakcji. Udostępniamy pomocniczą funkcję `getExtractPluginOptions`, która automatycznie ładuje Twoją konfigurację Intlayer.
113
+
114
+ ```js fileName="babel.config.js"
115
+ const {
116
+ intlayerExtractBabelPlugin,
117
+ intlayerOptimizeBabelPlugin,
118
+ getExtractPluginOptions,
119
+ getOptimizePluginOptions,
120
+ } = require("@intlayer/babel");
121
+
122
+ module.exports = {
123
+ presets: ["next/babel"],
124
+ plugins: [
125
+ // Extract content from components into dictionaries
126
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
127
+ // Optimize imports by replacing useIntlayer with direct dictionary imports
128
+ [intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
129
+ ],
130
+ };
131
+ ```
132
+
133
+ Ta konfiguracja zapewnia, że zawartość zadeklarowana w Twoich komponentach jest automatycznie wyodrębniana i używana do generowania słowników podczas procesu budowania.
@@ -153,9 +153,13 @@ const content = useIntlayer("my-key");
153
153
  // Código otimizado (Dinâmico)
154
154
  const content = useDictionaryAsync({
155
155
  en: () =>
156
- import(".intlayer/dynamic_dictionary/en.json").then((mod) => mod.default),
156
+ import(".intlayer/dynamic_dictionary/my-key/en.json").then(
157
+ (mod) => mod.default
158
+ ),
157
159
  fr: () =>
158
- import(".intlayer/dynamic_dictionary/fr.json").then((mod) => mod.default),
160
+ import(".intlayer/dynamic_dictionary/my-key/fr.json").then(
161
+ (mod) => mod.default
162
+ ),
159
163
  });
160
164
  ```
161
165