@intlayer/docs 6.0.1 → 6.0.2

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 (104) hide show
  1. package/dist/cjs/blog.cjs.map +1 -1
  2. package/dist/cjs/common.cjs +6 -5
  3. package/dist/cjs/common.cjs.map +1 -1
  4. package/dist/cjs/generated/blog.entry.cjs +318 -1863
  5. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  6. package/dist/cjs/generated/docs.entry.cjs +1317 -6282
  7. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  8. package/dist/cjs/generated/frequentQuestions.entry.cjs +197 -1182
  9. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  10. package/dist/cjs/generated/legal.entry.cjs +43 -84
  11. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  12. package/dist/esm/blog.mjs.map +1 -1
  13. package/dist/esm/common.mjs +2 -5
  14. package/dist/esm/common.mjs.map +1 -1
  15. package/dist/esm/generated/blog.entry.mjs +318 -1863
  16. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  17. package/dist/esm/generated/docs.entry.mjs +1317 -6282
  18. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  19. package/dist/esm/generated/frequentQuestions.entry.mjs +197 -1182
  20. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  21. package/dist/esm/generated/legal.entry.mjs +43 -84
  22. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  23. package/dist/types/blog.d.ts +1 -1
  24. package/dist/types/blog.d.ts.map +1 -1
  25. package/dist/types/common.d.ts +1 -1
  26. package/dist/types/common.d.ts.map +1 -1
  27. package/dist/types/generated/blog.entry.d.ts +1 -1
  28. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  29. package/dist/types/generated/docs.entry.d.ts +2 -1
  30. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  31. package/dist/types/generated/frequentQuestions.entry.d.ts +1 -1
  32. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  33. package/dist/types/generated/legal.entry.d.ts +1 -1
  34. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  35. package/docs/ar/intlayer_CMS.md +261 -85
  36. package/docs/ar/releases/v6.md +273 -0
  37. package/docs/ar/roadmap.md +1 -3
  38. package/docs/ar/vs_code_extension.md +94 -63
  39. package/docs/de/intlayer_CMS.md +247 -65
  40. package/docs/de/releases/v6.md +298 -0
  41. package/docs/de/roadmap.md +1 -3
  42. package/docs/de/vs_code_extension.md +89 -58
  43. package/docs/en/configuration.md +9 -2
  44. package/docs/en/intlayer_CMS.md +205 -23
  45. package/docs/en/intlayer_cli.md +4 -4
  46. package/docs/en/intlayer_visual_editor.md +7 -6
  47. package/docs/en/intlayer_with_nextjs_14.md +17 -1
  48. package/docs/en/intlayer_with_nextjs_15.md +17 -1
  49. package/docs/en/releases/v6.md +268 -0
  50. package/docs/en/roadmap.md +1 -3
  51. package/docs/en/vs_code_extension.md +79 -49
  52. package/docs/en-GB/intlayer_CMS.md +216 -52
  53. package/docs/en-GB/releases/v6.md +297 -0
  54. package/docs/en-GB/roadmap.md +1 -3
  55. package/docs/en-GB/vs_code_extension.md +79 -48
  56. package/docs/es/intlayer_CMS.md +257 -84
  57. package/docs/es/releases/v6.md +274 -0
  58. package/docs/es/roadmap.md +1 -3
  59. package/docs/es/vs_code_extension.md +90 -60
  60. package/docs/fr/intlayer_CMS.md +250 -68
  61. package/docs/fr/releases/v6.md +274 -0
  62. package/docs/fr/roadmap.md +1 -3
  63. package/docs/fr/vs_code_extension.md +94 -63
  64. package/docs/hi/intlayer_CMS.md +253 -77
  65. package/docs/hi/releases/v6.md +273 -0
  66. package/docs/hi/roadmap.md +1 -3
  67. package/docs/hi/vs_code_extension.md +92 -61
  68. package/docs/it/intlayer_CMS.md +251 -73
  69. package/docs/it/releases/v6.md +273 -0
  70. package/docs/it/roadmap.md +1 -3
  71. package/docs/it/vs_code_extension.md +94 -63
  72. package/docs/ja/intlayer_CMS.md +282 -97
  73. package/docs/ja/releases/v6.md +273 -0
  74. package/docs/ja/roadmap.md +1 -3
  75. package/docs/ja/vs_code_extension.md +99 -68
  76. package/docs/ko/intlayer_CMS.md +267 -93
  77. package/docs/ko/releases/v6.md +273 -0
  78. package/docs/ko/roadmap.md +1 -3
  79. package/docs/ko/vs_code_extension.md +88 -57
  80. package/docs/pt/intlayer_CMS.md +261 -83
  81. package/docs/pt/releases/v6.md +273 -0
  82. package/docs/pt/roadmap.md +1 -3
  83. package/docs/pt/vs_code_extension.md +89 -58
  84. package/docs/ru/intlayer_CMS.md +240 -65
  85. package/docs/ru/releases/v6.md +274 -0
  86. package/docs/ru/roadmap.md +1 -1
  87. package/docs/ru/vs_code_extension.md +83 -52
  88. package/docs/tr/intlayer_CMS.md +278 -96
  89. package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
  90. package/docs/tr/intlayer_with_tanstack.md +3 -0
  91. package/docs/tr/releases/v6.md +273 -0
  92. package/docs/tr/roadmap.md +1 -1
  93. package/docs/tr/vs_code_extension.md +100 -71
  94. package/docs/zh/intlayer_CMS.md +257 -76
  95. package/docs/zh/releases/v6.md +273 -0
  96. package/docs/zh/roadmap.md +1 -3
  97. package/docs/zh/vs_code_extension.md +99 -68
  98. package/package.json +11 -10
  99. package/src/blog.ts +1 -1
  100. package/src/common.ts +2 -6
  101. package/src/generated/blog.entry.ts +323 -1864
  102. package/src/generated/docs.entry.ts +1317 -6278
  103. package/src/generated/frequentQuestions.entry.ts +202 -1183
  104. package/src/generated/legal.entry.ts +48 -85
@@ -1,13 +1,13 @@
1
1
  ---
2
- createdAt: 2024-08-11
3
- updatedAt: 2025-06-29
4
- title: Intlayer CMS | Intlayer CMSにコンテンツを外部化します
5
- description: Intlayer CMSにコンテンツを外部化して、コンテンツの管理をチームに委譲します。
2
+ createdAt: 2025-08-23
3
+ updatedAt: 2025-08-23
4
+ title: Intlayer CMS | コンテンツをIntlayer CMSに外部化する
5
+ description: コンテンツ管理をチームに委任するために、コンテンツをIntlayer CMSに外部化します。
6
6
  keywords:
7
7
  - CMS
8
8
  - ビジュアルエディター
9
9
  - 国際化
10
- - ドキュメント
10
+ - ドキュメンテーション
11
11
  - Intlayer
12
12
  - Next.js
13
13
  - JavaScript
@@ -19,70 +19,70 @@ slugs:
19
19
  youtubeVideo: https://www.youtube.com/watch?v=UDDTnirwi_4
20
20
  ---
21
21
 
22
- # Intlayer コンテンツ管理システム (CMS) ドキュメント
22
+ # Intlayer コンテンツ管理システム(CMS)ドキュメント
23
23
 
24
- <iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
24
+ <iframe title="あなたのWebアプリのためのビジュアルエディター + CMS: Intlayerの説明" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
25
25
 
26
- Intlayer CMS は、Intlayer プロジェクトのコンテンツを外部化することを可能にするアプリケーションです。
26
+ Intlayer CMSは、Intlayerプロジェクトのコンテンツを外部化できるアプリケーションです。
27
27
 
28
- そのために、Intlayer は「遠隔辞書」という概念を導入しています。
28
+ そのために、Intlayerは「遠隔辞書(distant dictionaries)」の概念を導入しています。
29
29
 
30
30
  ![Intlayer CMS インターフェース](https://github.com/aymericzip/intlayer/blob/main/docs/assets/CMS.png)
31
31
 
32
32
  ## 遠隔辞書の理解
33
33
 
34
- Intlayer は「ローカル辞書」と「遠隔辞書」を区別しています。
34
+ Intlayerは「ローカル辞書」と「遠隔辞書」を区別しています。
35
35
 
36
- - 「ローカル辞書」は、Intlayer プロジェクト内で宣言される辞書です。ボタンの宣言ファイルやナビゲーションバーなどが該当します。この場合、コンテンツは頻繁に変更されることが想定されていないため、外部化する意味はあまりありません。
36
+ - 「ローカル」辞書とは、Intlayerプロジェクト内で宣言されている辞書のことです。例えば、ボタンの宣言ファイルやナビゲーションバーなどです。この場合、コンテンツは頻繁に変更されることを想定していないため、コンテンツを外部化することは意味がありません。
37
37
 
38
- - 「遠隔辞書」は、Intlayer CMS を通じて管理される辞書です。これにより、チームがウェブサイト上で直接コンテンツを管理できるようになり、A/B テスト機能や SEO 自動最適化の利用も目的としています。
38
+ - 「遠隔」辞書とは、Intlayer CMSを通じて管理される辞書のことです。これは、チームがウェブサイト上で直接コンテンツを管理できるようにするために役立ち、さらにA/Bテスト機能やSEOの自動最適化を利用することも目的としています。
39
39
 
40
- ## ビジュアルエディタ vs CMS
40
+ ## ビジュアルエディターとCMSの違い
41
41
 
42
- [Intlayer Visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_visual_editor.md) エディタは、ローカル辞書のコンテンツをビジュアルエディタで管理するためのツールです。変更が行われると、コンテンツはコードベースに置き換えられます。つまり、アプリケーションが再構築され、新しいコンテンツを表示するためにページがリロードされます。
42
+ [Intlayer Visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_visual_editor.md) エディターは、ローカル辞書のコンテンツをビジュアルエディターで管理できるツールです。変更が行われると、コンテンツはコードベースに置き換えられます。つまり、アプリケーションが再ビルドされ、ページがリロードされて新しいコンテンツが表示されることを意味します。
43
43
 
44
- 対照的に、Intlayer CMS は遠隔辞書のコンテンツをビジュアルエディタで管理するためのツールです。変更が行われても、コードベースには影響を与えません。そして、ウェブサイトは自動的に変更されたコンテンツを表示します。
44
+ これに対して、Intlayer CMSは、遠隔辞書のコンテンツをビジュアルエディターで管理できるツールです。変更が行われても、コンテンツはコードベースに影響を与えません。そして、ウェブサイトは自動的に変更されたコンテンツを表示します。
45
45
 
46
46
  ## 統合
47
47
 
48
- パッケージのインストール方法についての詳細は、以下の関連セクションを参照してください。
48
+ パッケージのインストール方法の詳細については、以下の該当セクションを参照してください。
49
49
 
50
- ### Next.js との統合
50
+ ### Next.jsとの統合
51
51
 
52
- Next.js との統合については、[セットアップガイド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_nextjs_15.md)を参照してください。
52
+ Next.jsとの統合については、[セットアップガイド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_nextjs_15.md)を参照してください。
53
53
 
54
- ### Create React App との統合
54
+ ### Create React Appとの統合
55
55
 
56
- Create React App との統合については、[セットアップガイド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_create_react_app.md)を参照してください。
56
+ Create React Appとの統合については、[セットアップガイド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_create_react_app.md)を参照してください。
57
57
 
58
- ### Vite + React との統合
58
+ ### Vite + Reactとの統合
59
59
 
60
- Vite + React との統合については、[セットアップガイド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_vite+react.md)を参照してください。
60
+ Vite + Reactとの統合については、[セットアップガイド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_vite+react.md)を参照してください。
61
61
 
62
62
  ## 設定
63
63
 
64
- Intlayer 設定ファイル内で、CMS 設定をカスタマイズできます。
64
+ Intlayerの設定ファイル内で、CMSの設定をカスタマイズできます:
65
65
 
66
66
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
67
67
  import type { IntlayerConfig } from "intlayer";
68
68
 
69
69
  const config: IntlayerConfig = {
70
- // ... 他の設定
70
+ // ... その他の設定
71
71
  editor: {
72
72
  /**
73
73
  * 必須
74
74
  *
75
- * アプリケーションの URL。
76
- * これはビジュアルエディタがターゲットとする URL です。
75
+ * アプリケーションのURL。
76
+ * これはビジュアルエディターがターゲットとするURLです。
77
77
  */
78
78
  applicationURL: process.env.INTLAYER_APPLICATION_URL,
79
79
 
80
80
  /**
81
81
  * 必須
82
82
  *
83
- * クライアント ID とクライアントシークレットはエディタを有効にするために必要です。
83
+ * エディターを有効にするためにクライアントIDとクライアントシークレットが必要です。
84
84
  * これらはコンテンツを編集しているユーザーを識別するために使用されます。
85
- * Intlayer ダッシュボード - プロジェクト (https://intlayer.org/dashboard/projects) で新しいクライアントを作成することで取得できます。
85
+ * Intlayerダッシュボードのプロジェクト(https://intlayer.org/dashboard/projects)で新しいクライアントを作成することで取得できます。
86
86
  * clientId: process.env.INTLAYER_CLIENT_ID,
87
87
  * clientSecret: process.env.INTLAYER_CLIENT_SECRET,
88
88
  */
@@ -92,19 +92,19 @@ const config: IntlayerConfig = {
92
92
  /**
93
93
  * 任意
94
94
  *
95
- * Intlayer CMS をセルフホストする場合、CMS URL を設定できます。
95
+ * Intlayer CMSをセルフホスティングしている場合、CMSのURLを設定できます。
96
96
  *
97
- * Intlayer CMS URL。
97
+ * Intlayer CMSのURL。
98
98
  * デフォルトでは https://intlayer.org に設定されています。
99
99
  */
100
100
  cmsURL: process.env.INTLAYER_CMS_URL,
101
101
 
102
102
  /**
103
- * 任意
103
+ * オプション
104
104
  *
105
- * Intlayer CMS をセルフホストする場合、バックエンドの URL を設定できます。
105
+ * Intlayer CMSをセルフホスティングしている場合、バックエンドのURLを設定できます。
106
106
  *
107
- * Intlayer CMS URL。
107
+ * Intlayer CMSのURL。
108
108
  * デフォルトでは https://back.intlayer.org に設定されています。
109
109
  */
110
110
  backendURL: process.env.INTLAYER_BACKEND_URL,
@@ -122,17 +122,17 @@ const config = {
122
122
  /**
123
123
  * 必須
124
124
  *
125
- * アプリケーションの URL。
126
- * これはビジュアルエディタがターゲットとする URL です。
125
+ * アプリケーションのURL。
126
+ * これはビジュアルエディタが対象とするURLです。
127
127
  */
128
128
  applicationURL: process.env.INTLAYER_APPLICATION_URL,
129
129
 
130
130
  /**
131
131
  * 必須
132
132
  *
133
- * クライアント ID とクライアントシークレットはエディタを有効にするために必要です。
133
+ * エディタを有効にするには、クライアントIDとクライアントシークレットが必要です。
134
134
  * これらはコンテンツを編集しているユーザーを識別するために使用されます。
135
- * Intlayer ダッシュボード - プロジェクト (https://intlayer.org/dashboard/projects) で新しいクライアントを作成することで取得できます。
135
+ * Intlayerダッシュボードのプロジェクト(https://intlayer.org/dashboard/projects)で新しいクライアントを作成することで取得できます。
136
136
  * clientId: process.env.INTLAYER_CLIENT_ID,
137
137
  * clientSecret: process.env.INTLAYER_CLIENT_SECRET,
138
138
  */
@@ -142,19 +142,19 @@ const config = {
142
142
  /**
143
143
  * 任意
144
144
  *
145
- * Intlayer CMS をセルフホストする場合、CMS URL を設定できます。
145
+ * Intlayer CMSをセルフホスティングしている場合、CMSのURLを設定できます。
146
146
  *
147
- * Intlayer CMS URL。
147
+ * Intlayer CMSのURL。
148
148
  * デフォルトでは https://intlayer.org に設定されています。
149
149
  */
150
150
  cmsURL: process.env.INTLAYER_CMS_URL,
151
151
 
152
152
  /**
153
- * 任意
153
+ * オプション
154
154
  *
155
- * Intlayer CMS をセルフホストする場合、バックエンドの URL を設定できます。
155
+ * Intlayer CMSをセルフホスティングしている場合、バックエンドのURLを設定できます。
156
156
  *
157
- * Intlayer CMS URL。
157
+ * Intlayer CMSのURL。
158
158
  * デフォルトでは https://back.intlayer.org に設定されています。
159
159
  */
160
160
  backendURL: process.env.INTLAYER_BACKEND_URL,
@@ -167,22 +167,22 @@ export default config;
167
167
  ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
168
168
  /** @type {import('intlayer').IntlayerConfig} */
169
169
  const config = {
170
- // ... 他の設定
170
+ // ... その他の設定
171
171
  editor: {
172
172
  /**
173
173
  * 必須
174
174
  *
175
- * アプリケーションの URL。
176
- * これはビジュアルエディタがターゲットとする URL です。
175
+ * アプリケーションのURL。
176
+ * これはビジュアルエディターがターゲットとするURLです。
177
177
  */
178
178
  applicationURL: process.env.INTLAYER_APPLICATION_URL,
179
179
 
180
180
  /**
181
181
  * 必須
182
182
  *
183
- * クライアント ID とクライアントシークレットはエディタを有効にするために必要です。
183
+ * エディターを有効にするには、クライアントIDとクライアントシークレットが必要です。
184
184
  * これらはコンテンツを編集しているユーザーを識別するために使用されます。
185
- * Intlayer ダッシュボード - プロジェクト (https://intlayer.org/dashboard/projects) で新しいクライアントを作成することで取得できます。
185
+ * Intlayerダッシュボードのプロジェクトページ(https://intlayer.org/dashboard/projects)で新しいクライアントを作成することで取得できます。
186
186
  * clientId: process.env.INTLAYER_CLIENT_ID,
187
187
  * clientSecret: process.env.INTLAYER_CLIENT_SECRET,
188
188
  */
@@ -192,18 +192,19 @@ const config = {
192
192
  /**
193
193
  * 任意
194
194
  *
195
- * Intlayer CMS をセルフホストする場合、CMS URL を設定できます。
195
+ * Intlayer CMSをセルフホスティングしている場合、CMSのURLを設定できます。
196
196
  *
197
- * Intlayer CMS URL。
197
+ * Intlayer CMSのURL。
198
198
  * デフォルトでは https://intlayer.org に設定されています。
199
+ */
199
200
  cmsURL: process.env.INTLAYER_CMS_URL,
200
201
 
201
202
  /**
202
- * 任意
203
+ * オプション
203
204
  *
204
- * Intlayer CMS をセルフホストしている場合、バックエンドの URL を設定できます。
205
+ * Intlayer CMSをセルフホスティングしている場合、バックエンドのURLを設定できます。
205
206
  *
206
- * Intlayer CMS のバックエンドの URL
207
+ * Intlayer CMSURLです。
207
208
  * デフォルトでは https://back.intlayer.org に設定されています。
208
209
  */
209
210
  backendURL: process.env.INTLAYER_BACKEND_URL,
@@ -213,73 +214,88 @@ const config = {
213
214
  module.exports = config;
214
215
  ```
215
216
 
216
- > クライアント ID とクライアントシークレットをお持ちでない場合は、[Intlayer ダッシュボード - プロジェクト](https://intlayer.org/dashboard/projects)で新しいクライアントを作成することで取得できます。
217
+ > クライアントIDとクライアントシークレットをお持ちでない場合は、[Intlayerダッシュボード - プロジェクト](https://intlayer.org/dashboard/projects)で新しいクライアントを作成して取得できます。
217
218
 
218
219
  > 利用可能なすべてのパラメータについては、[設定ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)を参照してください。
219
220
 
220
- ## CMS の使用
221
+ ## CMSの使用方法
221
222
 
222
- ### 設定をプッシュする
223
+ ### 設定のプッシュ
223
224
 
224
- Intlayer CMS を設定するには、[intlayer CLI](https://github.com/aymericzip/intlayer/tree/main/docs/ja/intlayer_cli.md) コマンドを使用できます。
225
+ Intlayer CMSを設定するには、[intlayer CLI](https://github.com/aymericzip/intlayer/tree/main/docs/ja/intlayer_cli.md)コマンドを使用できます。
225
226
 
226
227
  ```bash
227
228
  npx intlayer config push
228
229
  ```
229
230
 
230
- > `intlayer.config.ts` 設定ファイルで環境変数を使用している場合は、`--env` 引数を使用して目的の環境を指定できます。
231
+ > `intlayer.config.ts`設定ファイルで環境変数を使用している場合は、`--env`引数を使って希望の環境を指定できます:
231
232
 
232
233
  ```bash
233
234
  npx intlayer config push --env production
234
235
  ```
235
236
 
236
- このコマンドは設定を Intlayer CMS にアップロードします。
237
+ このコマンドは設定をIntlayer CMSにアップロードします。
237
238
 
238
239
  ### 辞書をプッシュする
239
240
 
240
- ローカル辞書を遠隔辞書に変換するには、[intlayer CLI](https://github.com/aymericzip/intlayer/tree/main/docs/ja/intlayer_cli.md) コマンドを使用できます。
241
+ ロケール辞書をリモート辞書に変換するには、[intlayer CLI](https://github.com/aymericzip/intlayer/tree/main/docs/ja/intlayer_cli.md)コマンドを使用できます。
241
242
 
242
243
  ```bash
243
244
  npx intlayer dictionary push -d my-first-dictionary-key
244
245
  ```
245
246
 
246
- > `intlayer.config.ts` 設定ファイルで環境変数を使用している場合は、`--env` 引数を使用して目的の環境を指定できます。
247
+ > `intlayer.config.ts` 設定ファイルで環境変数を使用している場合は、`--env` 引数を使って希望の環境を指定できます。
247
248
 
248
249
  ```bash
249
250
  npx intlayer dictionary push -d my-first-dictionary-key --env production
250
251
  ```
251
252
 
252
- このコマンドは、初期コンテンツ辞書をアップロードし、非同期フェッチおよび Intlayer プラットフォームを通じた編集が可能になります。
253
+ このコマンドは初期コンテンツの辞書をアップロードし、Intlayer プラットフォームを通じて非同期に取得および編集できるようにします。
253
254
 
254
- ### 辞書を編集する
255
+ ### 辞書の編集
255
256
 
256
257
  その後、[Intlayer CMS](https://intlayer.org/dashboard/content) で辞書を確認および管理できるようになります。
257
258
 
258
- ## ホットリロード
259
+ ## ライブ同期
260
+
261
+ ライブ同期は、アプリが実行時に CMS のコンテンツ変更を反映できるようにします。再ビルドや再デプロイは不要です。有効にすると、更新がライブ同期サーバーにストリームされ、アプリケーションが読み込む辞書が更新されます。
259
262
 
260
- Intlayer CMS は、変更が検出された場合に辞書をホットリロードすることができます。
263
+ > Live Syncは継続的なサーバー接続を必要とし、エンタープライズプランで利用可能です。
261
264
 
262
- ホットリロードがない場合、新しいコンテンツを表示するにはアプリケーションの新しいビルドが必要です。
263
- [`liveSync`](https://intlayer.org/doc/concept/configuration#editor-configuration) 設定を有効にすると、変更が検出された際にアプリケーションは自動的に更新されたコンテンツを置き換えます。
265
+ Intlayerの設定を更新してLive Syncを有効にします:
264
266
 
265
267
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
266
268
  import type { IntlayerConfig } from "intlayer";
267
269
 
268
270
  const config: IntlayerConfig = {
269
- // ... 他の設定
271
+ // ... その他の設定
270
272
  editor: {
271
- // ... 他の設定
272
-
273
273
  /**
274
- * ロケール設定が変更された場合にアプリケーションがホットリロードを行うかどうかを示します。
275
- * 例えば、新しい辞書が追加または更新された場合、アプリケーションはページに表示するコンテンツを更新します。
274
+ * 変更が検出されたときにロケール設定のホットリロードを有効にします。
275
+ * 例えば、辞書が追加または更新された場合、アプリケーションは
276
+ * ページに表示されるコンテンツを更新します。
276
277
  *
277
- * ホットリロードにはサーバーへの継続的な接続が必要なため、`enterprise` プランのクライアントのみ利用可能です。
278
+ * ホットリロードは継続的なサーバー接続を必要とするため、
279
+ * `enterprise`プランのクライアントのみ利用可能です。
278
280
  *
279
281
  * デフォルト: false
280
282
  */
281
283
  liveSync: true,
282
284
  },
285
+ build: {
286
+ /**
287
+ * 辞書のインポート方法を制御します:
288
+ *
289
+ * - "live":辞書はLive Sync APIを使用して動的に取得されます。
290
+ * useIntlayerの代わりにuseDictionaryDynamicを使用します。
291
+ *
292
+ * 注意:ライブモードはLive Sync APIを使用して辞書を取得します。API呼び出しが
293
+ * 失敗した場合、辞書は動的にインポートされます。
294
+ * 注意:リモートコンテンツかつ"live"フラグが付いた辞書のみがライブモードを使用します。
295
+ * その他はパフォーマンスのために動的モードを使用します。
296
+ */
297
+ importMode: "live",
298
+ },
283
299
  };
284
300
 
285
301
  export default config;
@@ -288,20 +304,34 @@ export default config;
288
304
  ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
289
305
  /** @type {import('intlayer').IntlayerConfig} */
290
306
  const config = {
291
- // ... 他の設定
307
+ // ... その他の設定
292
308
  editor: {
293
- // ... 他の設定
294
-
295
309
  /**
296
- * ロケール設定が変更された場合にアプリケーションがホットリロードを行うかどうかを示します。
297
- * 例えば、新しい辞書が追加または更新された場合、アプリケーションはページに表示するコンテンツを更新します。
310
+ * ロケール設定の変更が検出されたときにホットリロードを有効にします。
311
+ * 例えば、辞書が追加または更新された場合、アプリケーションは
312
+ * ページに表示されるコンテンツを更新します。
298
313
  *
299
- * ホットリロードにはサーバーへの継続的な接続が必要なため、`enterprise` プランのクライアントのみ利用可能です。
314
+ * ホットリロードはサーバーへの継続的な接続を必要とするため、
315
+ * `enterprise` プランのクライアントのみ利用可能です。
300
316
  *
301
317
  * デフォルト: false
302
318
  */
303
319
  liveSync: true,
304
320
  },
321
+ build: {
322
+ /**
323
+ * 辞書のインポート方法を制御します:
324
+ *
325
+ * - "live": Live Sync APIを使用して辞書を動的に取得します。
326
+ * useIntlayerをuseDictionaryDynamicに置き換えます。
327
+ *
328
+ * 注意: ライブモードはLive Sync APIを使用して辞書を取得します。API呼び出しが
329
+ * 失敗した場合、辞書は動的にインポートされます。
330
+ * 注意: リモートコンテンツを持ち、かつ "live" フラグが設定された辞書のみがライブモードを使用します。
331
+ * その他の辞書はパフォーマンスのためにダイナミックモードを使用します。
332
+ */
333
+ importMode: "live",
334
+ },
305
335
  };
306
336
 
307
337
  export default config;
@@ -310,46 +340,201 @@ export default config;
310
340
  ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
311
341
  /** @type {import('intlayer').IntlayerConfig} */
312
342
  const config = {
313
- // ... 他の設定
343
+ // ... その他の設定
314
344
  editor: {
315
- // ... 他の設定
316
-
317
345
  /**
318
- * ロケール設定が変更された場合にアプリケーションがホットリロードを行うかどうかを示します。
319
- * 例えば、新しい辞書が追加または更新された場合、アプリケーションはページに表示するコンテンツを更新します。
346
+ * 変更が検出された際にロケール設定のホットリロードを有効にします。
347
+ * 例えば、辞書が追加または更新された場合、アプリケーションは
348
+ * ページに表示されるコンテンツを更新します。
320
349
  *
321
- * ホットリロードにはサーバーへの継続的な接続が必要なため、`enterprise` プランのクライアントのみ利用可能です。
350
+ * ホットリロードはサーバーへの継続的な接続を必要とするため、
351
+ * `enterprise` プランのクライアントのみ利用可能です。
322
352
  *
323
353
  * デフォルト: false
324
354
  */
325
355
  liveSync: true,
356
+
357
+ /**
358
+ * Live Syncサーバーのポート番号。
359
+ *
360
+ * デフォルト: 4000
361
+ */
362
+ liveSyncPort: 4000,
363
+
364
+ /**
365
+ * Live SyncサーバーのURL。
366
+ *
367
+ * デフォルト: http://localhost:{liveSyncPort}
368
+ */
369
+ liveSyncURL: "https://live.example.com",
370
+ },
371
+ build: {
372
+ /**
373
+ * 辞書のインポート方法を制御します:
374
+ *
375
+ * - "live": Live Sync APIを使用して辞書を動的に取得します。
376
+ * useIntlayerをuseDictionaryDynamicに置き換えます。
377
+ *
378
+ * 注意: ライブモードはLive Sync APIを使用して辞書を取得します。API呼び出しが失敗した場合、
379
+ * 辞書は動的にインポートされます。
380
+ * 注意: リモートコンテンツかつ"live"フラグが付いた辞書のみがライブモードを使用します。
381
+ * その他はパフォーマンスのために動的モードを使用します。
382
+ */
383
+ importMode: "live",
326
384
  },
327
385
  };
328
386
 
329
387
  module.exports = config;
330
388
  ```
331
389
 
332
- ホットリロードは、サーバーサイドとクライアントサイドの両方でコンテンツを置き換えます。
390
+ アプリケーションをラップするために Live Sync サーバーを起動します:
333
391
 
334
- - サーバーサイドでは、アプリケーションプロセスが `.intlayer/dictionaries` ディレクトリへの書き込みアクセス権を持っていることを確認してください。
335
- - クライアントサイドでは、ホットリロードによりページをリロードすることなくブラウザ内でコンテンツをホットリロードできます。ただし、この機能はクライアントコンポーネントでのみ利用可能です。
392
+ Next.js を使用した例:
393
+
394
+ ```json5 fileName="package.json"
395
+ {
396
+ "scripts": {
397
+ // ... その他のスクリプト
398
+ "build": "next build",
399
+ "dev": "next dev",
400
+ "start": "npx intlayer live --process 'next start'",
401
+ },
402
+ }
403
+ ```
336
404
 
337
- > ホットリロードには `EventListener` を使用したサーバーへの継続的な接続が必要なため、`enterprise` プランのクライアントのみ利用可能です。
405
+ Vite を使用した例:
406
+
407
+ ```json5 fileName="package.json"
408
+ {
409
+ "scripts": {
410
+ // ... その他のスクリプト
411
+ "build": "vite build",
412
+ "dev": "vite dev",
413
+ "start": "npx intlayer live --process 'vite start'",
414
+ },
415
+ }
416
+ ```
417
+
418
+ Live Sync サーバーはあなたのアプリケーションをラップし、更新されたコンテンツが到着すると自動的に適用します。
419
+
420
+ CMSからの変更通知を受け取るために、Live SyncサーバーはバックエンドとのSSE接続を維持します。CMSのコンテンツが変更されると、バックエンドは更新情報をLive Syncサーバーに転送し、新しい辞書を書き込みます。アプリケーションは次のナビゲーションまたはブラウザのリロード時に更新を反映し、再ビルドは不要です。
421
+
422
+ フローチャート(CMS/バックエンド -> Live Syncサーバー -> アプリケーションサーバー -> フロントエンド):
423
+
424
+ ![Live Sync ロジックスキーマ](https://github.com/aymericzip/intlayer/blob/main/docs/assets/live_sync_logic_schema.svg)
425
+
426
+ 動作の仕組み:
427
+
428
+ ![Live Sync フロー CMS/バックエンド/Live Syncサーバー/アプリケーションサーバー/フロントエンド スキーマ](https://github.com/aymericzip/intlayer/blob/main/docs/assets/live_sync_flow_scema.svg)
429
+
430
+ ### 開発ワークフロー(ローカル)
431
+
432
+ - 開発中は、アプリケーション起動時にすべてのリモート辞書が取得されるため、更新をすばやくテストできます。
433
+ - Next.jsでローカルにLive Syncをテストするには、開発サーバーをラップします:
434
+
435
+ ```json5 fileName="package.json"
436
+ {
437
+ "scripts": {
438
+ // ... 他のスクリプト
439
+ "dev": "npx intlayer live --process 'next dev'",
440
+ // "dev": "npx intlayer live --process 'vite dev'", // Vite用
441
+ },
442
+ }
443
+ ```
444
+
445
+ 開発中にIntlayerがLiveインポート変換を適用するように最適化を有効にします:
446
+
447
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
448
+ import type { IntlayerConfig } from "intlayer";
449
+
450
+ const config: IntlayerConfig = {
451
+ editor: {
452
+ applicationURL: "http://localhost:5173",
453
+ liveSyncURL: "http://localhost:4000",
454
+ liveSync: true,
455
+ },
456
+ build: {
457
+ optimize: true,
458
+ importMode: "live",
459
+ },
460
+ };
461
+
462
+ export default config;
463
+ ```
464
+
465
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
466
+ /** @type {import('intlayer').IntlayerConfig} */
467
+ const config = {
468
+ editor: {
469
+ applicationURL: "http://localhost:5173",
470
+ liveSyncURL: "http://localhost:4000",
471
+ liveSync: true,
472
+ },
473
+ build: {
474
+ optimize: true,
475
+ importMode: "live",
476
+ },
477
+ };
478
+
479
+ export default config;
480
+ ```
481
+
482
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
483
+ /** @type {import('intlayer').IntlayerConfig} */
484
+ const config = {
485
+ editor: {
486
+ applicationURL: "http://localhost:5173",
487
+ liveSyncURL: "http://localhost:4000",
488
+ liveSync: true,
489
+ },
490
+ build: {
491
+ optimize: true,
492
+ importMode: "live",
493
+ },
494
+ };
495
+
496
+ module.exports = config;
497
+ ```
498
+
499
+ この設定により、開発サーバーがLive Syncサーバーでラップされ、起動時にリモート辞書を取得し、CMSからの更新をSSE経由でストリーミングします。変更を確認するにはページをリロードしてください。
500
+
501
+ 注意事項と制約:
502
+
503
+ - サイトのセキュリティポリシー(CSP)にLive Syncのオリジンを追加してください。`connect-src`(および該当する場合は`frame-ancestors`)にLive SyncのURLが許可されていることを確認してください。
504
+ - Live Syncは静的出力では動作しません。Next.jsの場合、ページは動的である必要があり、ランタイムで更新を受け取るために(例:`generateStaticParams`、`generateMetadata`、`getServerSideProps`、または`getStaticProps`を適切に使用して)完全な静的のみの制約を回避してください。
505
+
506
+ ```
507
+
508
+ このセットアップは、開発サーバーを Live Sync サーバーでラップし、起動時にリモート辞書を取得し、CMS からの更新を SSE 経由でストリーミングします。変更を確認するにはページをリフレッシュしてください。
509
+
510
+ 注意事項と制約:
511
+
512
+ - Live Sync のオリジンをサイトのセキュリティポリシー(CSP)に追加してください。Live Sync の URL が `connect-src`(および該当する場合は `frame-ancestors`)で許可されていることを確認してください。
513
+ - Live Sync は静的出力では動作しません。Next.js の場合、ページはランタイムで更新を受け取るために動的である必要があります(例:完全な静的のみの制約を避けるために、`generateStaticParams`、`generateMetadata`、`getServerSideProps`、または `getStaticProps` を適切に使用してください)。
514
+ - CMSでは、各辞書に`live`フラグがあります。`live=true`の辞書のみがライブ同期APIを通じて取得され、それ以外は動的にインポートされ、実行時には変更されません。
515
+ - `live`フラグはビルド時に各辞書ごとに評価されます。ビルド時にリモートコンテンツが`live=true`に設定されていなかった場合、その辞書のライブ同期を有効にするには再ビルドが必要です。
516
+ - ライブ同期サーバーは`.intlayer`に書き込み可能でなければなりません。コンテナ環境では`/.intlayer`への書き込み権限を確保してください。
338
517
 
339
518
  ## デバッグ
340
519
 
341
- CMS に問題が発生した場合、以下を確認してください。
520
+ CMSで問題が発生した場合は、以下を確認してください:
521
+
522
+ - アプリケーションが稼働していること。
342
523
 
343
- - アプリケーションが実行中であること。
524
+ - [`editor`](https://intlayer.org/doc/concept/configuration#editor-configuration)の設定がIntlayerの設定ファイルで正しく行われていること。
525
+ - 必須フィールド:
526
+ - アプリケーションのURLは、エディター設定の `applicationURL` と一致している必要があります。
527
+ - CMSのURL
344
528
 
345
- - Intlayer 設定ファイルで [`editor`](https://intlayer.org/doc/concept/configuration#editor-configuration) 設定が正しく設定されていること。
346
- - 必須フィールド:
347
- - アプリケーション URL がエディタ設定 (`applicationURL`) に設定したものと一致していること。
348
- - CMS URL
529
+ - プロジェクトの設定がIntlayer CMSにプッシュされていることを確認してください。
349
530
 
350
- - プロジェクト設定が Intlayer CMS にプッシュされていることを確認してください。
351
- - ビジュアルエディタは iframe を使用してウェブサイトを表示します。ウェブサイトのコンテンツセキュリティポリシー (CSP) が `frame-ancestors` として CMS URL ('https://intlayer.org' がデフォルト) を許可していることを確認してください。エディタコンソールでエラーを確認してください。
531
+ - ビジュアルエディターはiframeを使用してウェブサイトを表示します。ウェブサイトのコンテンツセキュリティポリシー(CSP)がCMSのURLを `frame-ancestors`(デフォルトは 'https://intlayer.org')として許可していることを確認してください。エディターのコンソールでエラーがないか確認してください。
352
532
 
353
533
  ## ドキュメント履歴
354
534
 
355
- - 5.5.10 - 2025-06-29: 履歴を初期化
535
+ | バージョン | 日付 | 変更内容 |
536
+ | ---------- | ---------- | --------------------------------------- |
537
+ | 6.0.1 | 2025-09-22 | ライブ同期のドキュメントを追加 |
538
+ | 6.0.0 | 2025-09-04 | `hotReload` フィールドを `liveSync` に置き換え |
539
+ | 5.5.10 | 2025-06-29 | 履歴を初期化 |
540
+ ```