@intlayer/docs 9.3.0 → 9.3.1

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 (162) hide show
  1. package/README.md +24 -24
  2. package/blog/ar/rag_powered_documentation_assistant.md +1 -1
  3. package/blog/pl/rag_powered_documentation_assistant.md +1 -1
  4. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
  5. package/dist/cjs/authors2.cjs +0 -1
  6. package/dist/cjs/common.cjs.map +1 -1
  7. package/dist/cjs/generated/blog.entry.cjs +4 -2
  8. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  9. package/dist/cjs/generated/docs.entry.cjs +4 -2
  10. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  11. package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -2
  12. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  13. package/dist/cjs/generated/legal.entry.cjs +4 -2
  14. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  15. package/dist/esm/generated/blog.entry.mjs +4 -2
  16. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  17. package/dist/esm/generated/docs.entry.mjs +4 -2
  18. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  19. package/dist/esm/generated/frequentQuestions.entry.mjs +4 -2
  20. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  21. package/dist/esm/generated/legal.entry.mjs +4 -2
  22. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  23. package/docs/ar/configuration.md +10 -10
  24. package/docs/ar/interest_of_intlayer.md +24 -22
  25. package/docs/ar/intlayer_with_express.md +1 -1
  26. package/docs/ar/intlayer_with_svelte_kit.md +1 -1
  27. package/docs/ar/intlayer_with_tanstack+solid.md +5 -3
  28. package/docs/ar/intlayer_with_tanstack.md +5 -3
  29. package/docs/ar/lsp.md +114 -175
  30. package/docs/ar/readme.md +25 -25
  31. package/docs/bn/configuration.md +10 -10
  32. package/docs/bn/interest_of_intlayer.md +24 -22
  33. package/docs/cs/configuration.md +10 -10
  34. package/docs/cs/interest_of_intlayer.md +24 -22
  35. package/docs/de/configuration.md +10 -10
  36. package/docs/de/interest_of_intlayer.md +24 -22
  37. package/docs/de/intlayer_with_svelte_kit.md +1 -1
  38. package/docs/de/intlayer_with_tanstack+solid.md +5 -3
  39. package/docs/de/intlayer_with_tanstack.md +5 -3
  40. package/docs/de/lsp.md +111 -172
  41. package/docs/de/readme.md +24 -24
  42. package/docs/en/configuration.md +10 -10
  43. package/docs/en/interest_of_intlayer.md +24 -22
  44. package/docs/en/intlayer_with_svelte_kit.md +1 -1
  45. package/docs/en/intlayer_with_tanstack+solid.md +5 -3
  46. package/docs/en/intlayer_with_tanstack.md +5 -3
  47. package/docs/en/lsp.md +109 -170
  48. package/docs/en/readme.md +24 -24
  49. package/docs/en-GB/configuration.md +10 -10
  50. package/docs/en-GB/interest_of_intlayer.md +24 -22
  51. package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
  52. package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -3
  53. package/docs/en-GB/intlayer_with_tanstack.md +5 -3
  54. package/docs/en-GB/lsp.md +109 -170
  55. package/docs/en-GB/readme.md +24 -24
  56. package/docs/es/configuration.md +10 -10
  57. package/docs/es/interest_of_intlayer.md +24 -22
  58. package/docs/es/intlayer_with_svelte_kit.md +1 -1
  59. package/docs/es/intlayer_with_tanstack+solid.md +5 -3
  60. package/docs/es/intlayer_with_tanstack.md +5 -3
  61. package/docs/es/lsp.md +114 -175
  62. package/docs/es/readme.md +24 -24
  63. package/docs/fr/configuration.md +10 -10
  64. package/docs/fr/interest_of_intlayer.md +24 -22
  65. package/docs/fr/intlayer_with_svelte_kit.md +1 -1
  66. package/docs/fr/intlayer_with_tanstack+solid.md +5 -3
  67. package/docs/fr/intlayer_with_tanstack.md +5 -3
  68. package/docs/fr/lsp.md +110 -171
  69. package/docs/fr/readme.md +24 -24
  70. package/docs/hi/configuration.md +10 -10
  71. package/docs/hi/interest_of_intlayer.md +24 -22
  72. package/docs/hi/intlayer_with_express.md +1 -1
  73. package/docs/hi/intlayer_with_svelte_kit.md +1 -1
  74. package/docs/hi/intlayer_with_tanstack+solid.md +5 -3
  75. package/docs/hi/intlayer_with_tanstack.md +5 -3
  76. package/docs/hi/lsp.md +113 -174
  77. package/docs/hi/readme.md +24 -24
  78. package/docs/id/configuration.md +10 -10
  79. package/docs/id/interest_of_intlayer.md +24 -22
  80. package/docs/id/intlayer_with_svelte_kit.md +1 -1
  81. package/docs/id/intlayer_with_tanstack+solid.md +5 -3
  82. package/docs/id/intlayer_with_tanstack.md +5 -3
  83. package/docs/id/lsp.md +113 -174
  84. package/docs/id/readme.md +24 -24
  85. package/docs/it/configuration.md +10 -10
  86. package/docs/it/interest_of_intlayer.md +24 -22
  87. package/docs/it/intlayer_with_svelte_kit.md +1 -1
  88. package/docs/it/intlayer_with_tanstack+solid.md +5 -3
  89. package/docs/it/intlayer_with_tanstack.md +5 -3
  90. package/docs/it/lsp.md +115 -176
  91. package/docs/it/readme.md +24 -24
  92. package/docs/ja/configuration.md +10 -10
  93. package/docs/ja/interest_of_intlayer.md +24 -22
  94. package/docs/ja/intlayer_with_tanstack+solid.md +5 -3
  95. package/docs/ja/intlayer_with_tanstack.md +5 -3
  96. package/docs/ja/lsp.md +113 -174
  97. package/docs/ja/readme.md +24 -24
  98. package/docs/ko/configuration.md +10 -10
  99. package/docs/ko/interest_of_intlayer.md +24 -22
  100. package/docs/ko/intlayer_with_svelte_kit.md +1 -1
  101. package/docs/ko/intlayer_with_tanstack+solid.md +5 -3
  102. package/docs/ko/intlayer_with_tanstack.md +5 -3
  103. package/docs/ko/lsp.md +112 -173
  104. package/docs/ko/readme.md +24 -24
  105. package/docs/nl/configuration.md +10 -10
  106. package/docs/nl/interest_of_intlayer.md +24 -22
  107. package/docs/pl/configuration.md +10 -10
  108. package/docs/pl/interest_of_intlayer.md +4 -2
  109. package/docs/pl/intlayer_with_svelte_kit.md +1 -1
  110. package/docs/pl/intlayer_with_tanstack+solid.md +5 -3
  111. package/docs/pl/intlayer_with_tanstack.md +5 -3
  112. package/docs/pl/lsp.md +115 -176
  113. package/docs/pl/readme.md +24 -24
  114. package/docs/pt/configuration.md +10 -10
  115. package/docs/pt/interest_of_intlayer.md +24 -22
  116. package/docs/pt/intlayer_with_svelte_kit.md +1 -1
  117. package/docs/pt/intlayer_with_tanstack+solid.md +5 -3
  118. package/docs/pt/intlayer_with_tanstack.md +5 -3
  119. package/docs/pt/lsp.md +113 -174
  120. package/docs/pt/readme.md +24 -24
  121. package/docs/ru/configuration.md +10 -10
  122. package/docs/ru/interest_of_intlayer.md +24 -22
  123. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  124. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  125. package/docs/ru/intlayer_with_svelte_kit.md +1 -1
  126. package/docs/ru/intlayer_with_tanstack+solid.md +5 -3
  127. package/docs/ru/intlayer_with_tanstack.md +5 -3
  128. package/docs/ru/lsp.md +112 -173
  129. package/docs/ru/readme.md +24 -24
  130. package/docs/tr/configuration.md +10 -10
  131. package/docs/tr/interest_of_intlayer.md +24 -22
  132. package/docs/tr/intlayer_with_svelte_kit.md +1 -1
  133. package/docs/tr/intlayer_with_tanstack+solid.md +5 -3
  134. package/docs/tr/intlayer_with_tanstack.md +5 -3
  135. package/docs/tr/lsp.md +113 -174
  136. package/docs/tr/readme.md +24 -24
  137. package/docs/uk/configuration.md +10 -10
  138. package/docs/uk/interest_of_intlayer.md +4 -2
  139. package/docs/uk/intlayer_with_svelte_kit.md +1 -1
  140. package/docs/uk/intlayer_with_tanstack+solid.md +5 -3
  141. package/docs/uk/intlayer_with_tanstack.md +5 -3
  142. package/docs/uk/lsp.md +113 -174
  143. package/docs/uk/per_locale_file.md +1 -1
  144. package/docs/uk/readme.md +24 -24
  145. package/docs/ur/configuration.md +10 -10
  146. package/docs/ur/interest_of_intlayer.md +24 -22
  147. package/docs/vi/configuration.md +10 -10
  148. package/docs/vi/interest_of_intlayer.md +24 -22
  149. package/docs/vi/intlayer_with_svelte_kit.md +1 -1
  150. package/docs/vi/intlayer_with_tanstack+solid.md +5 -3
  151. package/docs/vi/intlayer_with_tanstack.md +5 -3
  152. package/docs/vi/lsp.md +115 -176
  153. package/docs/vi/readme.md +24 -24
  154. package/docs/zh/configuration.md +10 -10
  155. package/docs/zh/interest_of_intlayer.md +24 -22
  156. package/docs/zh/intlayer_with_svelte_kit.md +1 -1
  157. package/docs/zh/intlayer_with_tanstack+solid.md +5 -3
  158. package/docs/zh/intlayer_with_tanstack.md +5 -3
  159. package/docs/zh/lsp.md +113 -174
  160. package/docs/zh/readme.md +21 -21
  161. package/docs/zh-TW/interest_of_intlayer.md +24 -22
  162. package/package.json +6 -6
package/docs/ja/lsp.md CHANGED
@@ -1,12 +1,14 @@
1
1
  ---
2
2
  createdAt: 2025-06-07
3
- updatedAt: 2026-05-31
3
+ updatedAt: 2026-08-10
4
4
  title: Intlayer LSP サーバー
5
- description: Intlayer Language Server が、サポートされているすべてのエディタで useIntlayer、getIntlayer、および関連する呼び出しに対して定義への移動(Go-to-Definition)やその他の IDE 機能を提供する方法について学びます。
5
+ description: Intlayer 言語サーバーが、定義へ移動・参照の検索・ホバープレビュー・キーの自動補完・診断を、IDE AI エージェントにもたらす方法を紹介します。
6
6
  keywords:
7
7
  - LSP
8
- - Language Server
9
- - 定義への移動
8
+ - 言語サーバー
9
+ - Go to Definition
10
+ - 自動補完
11
+ - 診断
10
12
  - IDE
11
13
  - Intlayer
12
14
  - VS Code
@@ -16,6 +18,9 @@ slugs:
16
18
  - doc
17
19
  - lsp
18
20
  history:
21
+ - version: 9.1.3
22
+ date: 2026-08-10
23
+ changes: "参照の検索、ホバー、自動補完、診断を追加"
19
24
  - version: 8.12.0
20
25
  date: 2026-06-01
21
26
  changes: "Release LSP"
@@ -24,48 +29,47 @@ author: aymericzip
24
29
 
25
30
  # Intlayer LSP サーバー
26
31
 
27
- **Intlayer Language Server** は、Intlayer に対応したインテリジェンスで IDE を強化する [Language Server Protocol (LSP)](https://microsoft.github.io/language-server-protocol/) の実装です。現在、辞書キー呼び出しに対する **定義への移動(Go to Definition)** を提供しており、コンポーネント内の `useIntlayer("my-key")` からそれを宣言している `.content.ts` ファイルへ直接ジャンプすることができます。
32
+ **Intlayer 言語サーバー**は、IDE AI エージェントに Intlayer を理解させる [Language Server Protocol (LSP)](https://microsoft.github.io/language-server-protocol/) の実装です。`useIntlayer("home")` のような呼び出しと、それを宣言する `.content.ts` ファイルを双方向に結び付けます。
28
33
 
29
34
  ---
30
35
 
31
- ## なぜ LSP を使用するのか?
36
+ ## 機能
32
37
 
33
- Intlayer を使用する場合、コンポーネント内の `useIntlayer("homepage")` のような呼び出しと、`src/homepage.content.ts` でのその宣言との接続は暗黙的です。ツールがない場合、ファイルを手動で検索する必要があります。LSP はそのリンクを明示的にします。
38
+ | 機能 | ショートカット | 説明 |
39
+ | ---------------------- | ---------------------- | ------------------------------------------------------------------------------------------ |
40
+ | **定義へ移動** | `F12` / `Cmd+クリック` | 辞書キーやフィールドの使用箇所から、コンテンツファイル内の宣言へジャンプします |
41
+ | **すべての参照を検索** | `Shift+F12` | コンテンツファイルから、そのキーまたはフィールドを使うすべての呼び出し箇所を一覧表示します |
42
+ | **ホバー** | カーソルを重ねる | ファイルを離れずに、辞書のフィールドやフィールドの翻訳値をプレビューします |
43
+ | **自動補完** | `"` `'` `` ` `` `.` | ゲッター内で宣言済みの辞書キーを、`.` の後や分割代入ではコンテンツフィールドを提案します |
44
+ | **診断** | 自動 | どのコンテンツファイルにも宣言されていないキーを警告します |
34
45
 
35
- **AI エージェントの認識**
46
+ 知っておくとよい挙動が 2 つあります。
36
47
 
37
- AI コーディングエージェント(Cursor、Windsurf、GitHub Copilot、Claude Code、Codex)は、シンボルを解決し、ファイル間の関係を理解するためにランゲージサーバーに依存しています。Intlayer LSP が実行されていると、エージェントは `useIntlayer("key")` をその宣言までたどることができるため、利用可能なコンテンツキー、各辞書の形状、および読み取りまたは編集するファイルに関する正確なコンテキストを得ることができます。
48
+ - **マージされた辞書** 複数のコンテンツファイルに分割されたキーは、ファイルごとに 1 件の結果を返すため、すべての宣言へ移動できます。
49
+ - **モノレポ対応** — サーバーは各ファイルに _最も近い_ `intlayer.config.*` を解決するため、1 つのワークスペース内の複数プロジェクトがそれぞれ独自の辞書を持てます。
38
50
 
39
- **定義への移動**
51
+ ### サポートされる呼び出し
40
52
 
41
- サポートされているゲッター呼び出し内の任意の辞書キー文字列にカーソルを合わせ、`F12`(または `Cmd/Ctrl+クリック`)を押します。エディタはコンテンツ宣言ファイルを開き、カーソルを `key:` 行に配置します。
53
+ キーは位置指定の文字列引数、またはオプションオブジェクト(`{ namespace }`、`{ id }`)から読み取られます。
42
54
 
43
- **マージされた辞書のサポート**
55
+ | ライブラリ | 呼び出し |
56
+ | --------------------------- | -------------------------------------------------------- |
57
+ | **Intlayer** | `useIntlayer`, `getIntlayer` |
58
+ | **i18next / react-i18next** | `useTranslation`, `getFixedT`, `t`, `Trans` |
59
+ | **next-intl / use-intl** | `useTranslations`, `getTranslations`, `createTranslator` |
60
+ | **react-intl** | `formatMessage`, `FormattedMessage` |
61
+ | **Lingui** | `useLingui`, `t`, `Trans`, `_` |
62
+ | **vue-i18n** | `useI18n` |
44
63
 
45
- キーは複数のコンテンツファイルに分割されている場合があります(Intlayer はこれらをマージします)。サーバーはソースファイルごとに 1 つの `Location` を返すため、すべての宣言にナビゲートできます。
64
+ これはすべての `*-intlayer` パッケージ(`next-intlayer`、`react-intlayer`、`vue-intlayer`、`svelte-intlayer`、`solid-intlayer`、`preact-intlayer`、`angular-intlayer`、`lit-intlayer`、`express-intlayer`、`hono-intlayer`、`fastify-intlayer`、`intlayer`)と、既存の i18n 構文を維持できる compat アダプターパッケージで動作します。
46
65
 
47
- **どこでも動作**
48
-
49
- すべての `*-intlayer` パッケージ(`next-intlayer`、`react-intlayer`、`vue-intlayer`、`svelte-intlayer`、`solid-intlayer`、`preact-intlayer`、`angular-intlayer`、`lit-intlayer`、`express-intlayer`、`hono-intlayer`、`fastify-intlayer`、`adonis-intlayer`、`intlayer`)をサポートしています。
50
-
51
- ### サポートされているゲッター呼び出し
52
-
53
- サーバーは以下の関数呼び出しを検出し、最初の文字列リテラル引数を辞書キーとして抽出します。
54
-
55
- | 関数 | 例 |
56
- | ------------- | ----------------------------- |
57
- | `useIntlayer` | `useIntlayer("hero")` |
58
- | `getIntlayer` | `getIntlayer("hero", locale)` |
59
-
60
- TypeScript のジェネリクスや追加の引数は無視され、キー文字列のみが重要となります。
61
-
62
- > `useDictionary` と `getDictionary` は、最初の引数として文字列キーではなく、すでにインポートされた `Dictionary` オブジェクトを受け取るため、定義への移動の恩恵を受けず、サーバーによって追跡されません。
66
+ > 辞書はビルド出力から読み込まれます。サーバーが解決できるよう、`npx intlayer build` を実行するか、開発サーバーを起動したままにしてください。
63
67
 
64
68
  ---
65
69
 
66
70
  ## インストール
67
71
 
68
- LSP サーバーは `@intlayer/lsp` の一部として配布されています。
72
+ サーバーは `@intlayer/lsp` 内の `intlayer-lsp` バイナリとして提供されます。
69
73
 
70
74
  ```bash packageManager="npm"
71
75
  npm install --save-dev @intlayer/lsp
@@ -83,43 +87,43 @@ pnpm add --save-dev @intlayer/lsp
83
87
  bun add --dev @intlayer/lsp
84
88
  ```
85
89
 
86
- このパッケージは、エディタがサーバー実行ファイルとして使用する `intlayer-lsp` バイナリを提供します。
90
+ エディターが `PATH` 上の `intlayer-lsp` を必要とする場合は、代わりにグローバルインストール(`npm install -g @intlayer/lsp`)してください。Claude Code プラグインや、バイナリを直接呼び出す以下の設定がこれに該当します。
87
91
 
88
92
  ---
89
93
 
90
- ## Claude Code プラグインとしてのセットアップ
94
+ ## セットアップ
91
95
 
92
- Intlayer LSP は、Intlayer GitHub リポジトリで直接ホストされている **Claude Code プラグイン**として利用可能です。これをインストールすると、Claude Code にすべての `useIntlayer` / `getIntlayer` 呼び出しに対するネイティブな定義への移動の認識が与えられます。
96
+ <Tabs defaultTab="vscode">
97
+ <Tab label="VS Code" value="vscode">
93
98
 
94
- ### 1. ランゲージサーバーバイナリのインストール
99
+ [Intlayer VS Code 拡張機能](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)をインストールしてください。言語サーバーは v8.12.0 以降同梱されており、自動的に起動します — **設定は不要です**。
95
100
 
96
- ```bash packageManager="npm"
97
- npm install -g @intlayer/lsp
98
- ```
101
+ その他の機能については [VS Code 拡張機能のドキュメント](https://intlayer.org/doc/vs-code-extension)を参照してください。
99
102
 
100
- ```bash packageManager="yarn"
101
- yarn global add @intlayer/lsp
102
- ```
103
+ </Tab>
104
+ <Tab label="Cursor / Windsurf" value="cursor">
103
105
 
104
- ```bash packageManager="pnpm"
105
- pnpm add -g @intlayer/lsp
106
- ```
106
+ [Cursor](https://www.cursor.com/) と [Windsurf](https://windsurf.com/) は VS Code のフォークで、同じ拡張機能エコシステムを使用します。[Intlayer VS Code 拡張機能](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)を一度インストールすれば、サーバーは自動的に有効になります — **設定は不要です**。
107
+
108
+ </Tab>
109
+ <Tab label="Claude Code" value="claude-code">
107
110
 
108
- これにより、`intlayer-lsp` バイナリが PATH に追加され、プラグインの `lspServers` エントリがこれを呼び出します。
111
+ Intlayer は、Intlayer リポジトリでホストされている **Claude Code プラグイン**を提供しています。これにより Claude Code は `grep` に頼らず、辞書キーの本物のシンボル解決を行えます。
109
112
 
110
- ### 2. Intlayer マーケットプレイスの登録とプラグインのインストール
113
+ バイナリを `PATH` に配置し、続いてマーケットプレイスを登録してプラグインをインストールします。
111
114
 
112
115
  ```bash
116
+ npm install -g @intlayer/lsp
117
+
113
118
  claude plugin marketplace add intlayer@github:aymericzip/intlayer
114
119
  claude plugin install intlayer-lsp@intlayer
115
- claude plugin enable intlayer-lsp@intlayer
116
120
  ```
117
121
 
118
- Claude Code は、有効化されたプラグイン(`enabledPlugins`)に `"intlayer-lsp@intlayer": true` を追加し、サポートされているファイルタイプ(`.ts`、`.tsx`、`.js`、`.jsx`、`.vue`、`.svelte`)でランゲージサーバーを自動的に起動します。
122
+ `install` はプラグインの有効化も行います。**Claude Code を再起動してください** 言語サーバーは起動時に読み込まれるため、それまではプラグインは機能しません。
119
123
 
120
- ### 3. LSP ツールの有効化(まだアクティブでない場合)
124
+ その後 Claude Code は `.ts`、`.tsx`、`.js`、`.jsx`、`.vue`、`.astro`、`.svelte` ファイルでサーバーを起動し、コードを辿る際に `goToDefinition`、`findReferences`、`hover` を使用します。
121
125
 
122
- 一部の Claude Code バージョンでは、LSP フィーチャフラグを設定する必要があります。インストール後に定義への移動が機能しない場合は、以下を `~/.claude/settings.json` に追加してください。
126
+ 定義へ移動が依然として動作しない場合、お使いの Claude Code のバージョンでは LSP ツールがフラグで制御されている可能性があります。
123
127
 
124
128
  ```json fileName="~/.claude/settings.json"
125
129
  {
@@ -129,61 +133,10 @@ Claude Code は、有効化されたプラグイン(`enabledPlugins`)に `"i
129
133
  }
130
134
  ```
131
135
 
132
- Claude Code を再起動すると、Intlayer コードベースをナビゲートする際に `grep` にフォールバックする代わりに、`goToDefinition`、`findReferences`、およびその他の LSP 操作が使用されるようになります。
133
-
134
- ---
135
-
136
- ## VS Code でのセットアップ(拡張機能経由 — 推奨)
137
-
138
- [Intlayer VS Code 拡張機能](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)がインストールされている場合、ランゲージサーバーは自動的に起動します。追加の構成は必要ありません。 LSPはv8.12.0からVSCode拡張機能に直接統合されています。
139
-
140
- > インストールやその他の機能については、[VS Code 拡張機能のドキュメント](https://intlayer.org/doc/vs-code-extension)を参照してください。
141
-
142
- ---
143
-
144
- ## VS Code での手動セットアップ
145
-
146
- Intlayer 拡張機能を使用していない場合は、[**vscode-glspc**](https://marketplace.visualstudio.com/items?itemName=sibiraj-s.vscode-scss-formatter) などの汎用 LSP クライアント拡張機能を使用するか、独自の小さな拡張機能を作成して、ランゲージサーバーを手動で接続できます。推奨されるアプローチは、Intlayer 拡張機能を使用することです。
147
-
148
- 参考までに、サーバーは stdio 経由で `intlayer-lsp` バイナリを起動します。
149
-
150
- ```json fileName=".vscode/settings.json"
151
- {
152
- "intlayer.languageServer.command": "npx",
153
- "intlayer.languageServer.args": ["@intlayer/lsp"]
154
- }
155
- ```
156
-
157
- Intlayer 拡張機能は、これらの設定を読み取ってサーバーを起動します。拡張機能のみに依存する場合、手動での設定は不要です。
158
-
159
- ---
160
-
161
- ## Cursor でのセットアップ
162
-
163
- [Cursor](https://www.cursor.com/) は、AI 機能を組み込んだ VS Code のフォークです。同じ拡張機能エコシステムを使用するため、**Intlayer VS Code 拡張機能**は追加の構成なしで動作します。一度インストールすれば、Cursor が自動的に検出します。
164
-
165
- 手動構成を好む場合、Cursor はワークスペースのルートから `.vscode/settings.json` も読み取るため、上記の VS Code のスニペットが直接適用されます。
166
-
167
- ---
168
-
169
- ## Windsurf でのセットアップ
170
-
171
- [Windsurf](https://windsurf.com/) (by Codeium) も、VS Code ベースのエディタです。VS Code Marketplace から Intlayer 拡張機能をインストールすると、VS Code や Cursor と同様に、ランゲージサーバーが自動的にアクティブ化されます。
172
-
173
- 手動構成の場合は、プロジェクトルートに `.vscode/settings.json` を作成します。
174
-
175
- ```json fileName=".vscode/settings.json"
176
- {
177
- "intlayer.languageServer.command": "npx",
178
- "intlayer.languageServer.args": ["@intlayer/lsp"]
179
- }
180
- ```
181
-
182
- ---
183
-
184
- ## Zed でのセットアップ
136
+ </Tab>
137
+ <Tab label="Zed" value="zed">
185
138
 
186
- [Zed](https://zed.dev/) は、言語設定を通じてネイティブな LSP サポートを提供しています。Zed ユーザー設定(`~/.config/zed/settings.json`)にエントリを追加します。
139
+ Zed はネイティブに LSP をサポートしています。ユーザー設定にサーバーを追加してください。
187
140
 
188
141
  ```json fileName="~/.config/zed/settings.json"
189
142
  {
@@ -196,47 +149,21 @@ Intlayer 拡張機能は、これらの設定を読み取ってサーバーを
196
149
  }
197
150
  },
198
151
  "languages": {
199
- "TypeScript": {
200
- "language_servers": ["intlayer-lsp", "..."]
201
- },
202
- "TSX": {
203
- "language_servers": ["intlayer-lsp", "..."]
204
- },
205
- "JavaScript": {
206
- "language_servers": ["intlayer-lsp", "..."]
207
- },
208
- "Vue.js": {
209
- "language_servers": ["intlayer-lsp", "..."]
210
- },
211
- "Svelte": {
212
- "language_servers": ["intlayer-lsp", "..."]
213
- }
152
+ "TypeScript": { "language_servers": ["intlayer-lsp", "..."] },
153
+ "TSX": { "language_servers": ["intlayer-lsp", "..."] },
154
+ "JavaScript": { "language_servers": ["intlayer-lsp", "..."] },
155
+ "Vue.js": { "language_servers": ["intlayer-lsp", "..."] },
156
+ "Svelte": { "language_servers": ["intlayer-lsp", "..."] }
214
157
  }
215
158
  }
216
159
  ```
217
160
 
218
- `"..."` プレースホルダーは、Intlayer のサーバーと並行してデフォルトのランゲージサーバーを維持するよう Zed に指示します。
219
-
220
- ---
221
-
222
- ## AI エージェント CLI (Claude Code、Codex など) でのセットアップ
223
-
224
- **Claude Code** は、優れた LSP プラグインサポートを備えています。上記の [Claude Code プラグインとしてのセットアップ](#claude-code-プラグインとしてのセットアップ)に従って、ターミナルセッションで直接完全な定義への移動体験を取得してください。
161
+ `"..."` のプレースホルダーにより、Zed の既定の言語サーバーが Intlayer のものと併存します。
225
162
 
226
- **OpenAI Codex** やその他のターミナルベースのツールは、まだ LSP クライアントとして動作しません。永続的なランゲージサーバーセッションを維持するのではなく、ファイルを直接読み書きします。これらのツールにとって、LSP が実行されていることの価値は間接的に得られます。コンパニオンエディタ(VS Code、Cursor、Windsurf など)でサーバーがアクティブである場合、エディタが提供するコンテキスト(Cursor Composer、Windsurf Cascade、GitHub Copilot Chat など)を介して照会できる AI エージェントに、エディタのライブインデックスが利用可能になります。
163
+ </Tab>
164
+ <Tab label="Neovim" value="neovim">
227
165
 
228
- エディタを開かずにターミナルのみで作業している場合は、ランゲージサーバーをバックグラウンドで起動して、後で同じワークスペースに接続するエディタに備えることができます。
229
-
230
- ```bash
231
- # サーバーをバックグラウンドで起動したままにする
232
- npx @intlayer/lsp &
233
- ```
234
-
235
- ---
236
-
237
- ## Neovim での手動セットアップ
238
-
239
- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) を使用して、カスタムサーバー構成を登録します。
166
+ [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) を使って、カスタムのサーバー設定を登録します。
240
167
 
241
168
  ```lua fileName="~/.config/nvim/init.lua"
242
169
  local lspconfig = require('lspconfig')
@@ -245,7 +172,7 @@ local configs = require('lspconfig.configs')
245
172
  if not configs.intlayer_lsp then
246
173
  configs.intlayer_lsp = {
247
174
  default_config = {
248
- -- グローバルインストールを避けるために npx でサーバーを起動
175
+ -- グローバルインストールが不要になるよう npx でサーバーを起動する
249
176
  cmd = { 'npx', '--yes', '@intlayer/lsp' },
250
177
  filetypes = {
251
178
  'typescript',
@@ -267,21 +194,10 @@ end
267
194
  lspconfig.intlayer_lsp.setup({})
268
195
  ```
269
196
 
270
- Neovim を再起動した後、Intlayer キーの上で `gd` を押すと、定義への移動が呼び出されます。
271
-
272
- ---
273
-
274
- ## その他のエディタでの手動セットアップ
275
-
276
- Language Server Protocol をサポートする任意のエディタで `@intlayer/lsp` を使用できます。サーバー仕様は以下の通りです。
197
+ Neovim を再起動すると、辞書キー上で `gd` が定義へ移動、`gr` が参照の検索を実行します。
277
198
 
278
- - **トランスポート** – Node.js IPC / stdio (標準)
279
- - **実行ファイル** – `npx @intlayer/lsp` (またはローカルにインストールされた `intlayer-lsp` バイナリ)
280
- - **機能** – `definitionProvider: true`、`textDocumentSync: Incremental`
281
-
282
- 正確な構成フォーマット(例: [coc.nvim](https://github.com/neoclide/coc.nvim) の `languageserver.json`、または [Helix](https://helix-editor.com) の LSP クライアント設定)については、エディタの LSP ドキュメントを参照してください。
283
-
284
- ### 例: coc.nvim
199
+ </Tab>
200
+ <Tab label="coc.nvim" value="coc">
285
201
 
286
202
  ```json fileName="~/.config/nvim/coc-settings.json"
287
203
  {
@@ -307,9 +223,14 @@ Language Server Protocol をサポートする任意のエディタで `@intlaye
307
223
  }
308
224
  ```
309
225
 
310
- ### 例: Helix
226
+ </Tab>
227
+ <Tab label="Helix" value="helix">
311
228
 
312
229
  ```toml fileName="~/.config/helix/languages.toml"
230
+ [language-server.intlayer-lsp]
231
+ command = "npx"
232
+ args = ["@intlayer/lsp"]
233
+
313
234
  [[language]]
314
235
  name = "typescript"
315
236
  language-servers = ["intlayer-lsp", "typescript-language-server"]
@@ -317,36 +238,54 @@ language-servers = ["intlayer-lsp", "typescript-language-server"]
317
238
  [[language]]
318
239
  name = "tsx"
319
240
  language-servers = ["intlayer-lsp", "typescript-language-server"]
320
-
321
- [language-server.intlayer-lsp]
322
- command = "npx"
323
- args = ["@intlayer/lsp"]
324
241
  ```
325
242
 
243
+ </Tab>
244
+ <Tab label="その他のエディター" value="other">
245
+
246
+ LSP に対応したエディターであれば `@intlayer/lsp` を実行できます。次を指定してください。
247
+
248
+ - **実行ファイル** — `npx @intlayer/lsp`、または `intlayer-lsp` バイナリ
249
+ - **トランスポート** — stdio(標準)
250
+ - **機能** — `definitionProvider`、`referencesProvider`、`hoverProvider`、`completionProvider`(トリガー文字 `"` `'` `` ` `` `.`)、プッシュ診断、`textDocumentSync: Incremental`
251
+ - **ルートパターン** — `intlayer.config.ts`、`intlayer.config.js`、`package.json`
252
+
253
+ 正確な設定形式は、お使いのエディターの LSP ドキュメントを参照してください。
254
+
255
+ </Tab>
256
+ </Tabs>
257
+
326
258
  ---
327
259
 
328
- ## 仕組み
260
+ ## ターミナル AI エージェントについて
329
261
 
330
- サーバーが起動すると、`getConfiguration()` を使用してワークスペースルートから Intlayer 構成を解決します。これにより、コンパイルされた辞書を見つけるために必要な `build` および `system` パスがサーバーに提供されます。
262
+ **Claude Code** は本物の LSP クライアントとして動作します 上のタブを参照してください。
331
263
 
332
- **定義への移動** リクエスト時:
264
+ **OpenAI Codex** をはじめとするほとんどのターミナルツールは LSP クライアントではなく、ファイルを直接読み書きします。サーバーを単独で起動しても役に立ちません。価値が生まれるのは、エージェントがインデックスを照会できる併用エディター(Cursor Composer、Windsurf Cascade、Copilot Chat)でサーバーが有効になっている場合です。
333
265
 
334
- 1. サーバーは開いているドキュメントの全文を読み取ります。
335
- 2. 正規表現を使用して、ゲッター呼び出し(`useIntlayer`、`getIntlayer` など)をスキャンします。
336
- 3. カーソル位置がそれらの呼び出しのいずれかの内部にあるかどうかを確認します。
337
- 4. 内部にある場合、辞書キー(正規表現のキャプチャグループ 3)を抽出し、`getUnmergedDictionaries()` を呼び出して、そのキーを宣言しているすべてのコンテンツファイルを特定します。
338
- 5. 一致する各ファイルを読み取り、カーソルを正確に配置するために `key: "<key>"` を含む正確な行を見つけます。
339
- 6. `Location` オブジェクトの配列(ソースファイルごとに 1 つ)を返します。
266
+ ---
340
267
 
341
- 構成は遅延解決され、セッションごとにキャッシュされます。新しいワークスペースフォルダーを開いたときなどの各 `initialize` リクエスト時にリセットされます。
268
+ ## 仕組み
269
+
270
+ サーバーはファイルごとに最も近い `intlayer.config.*` を探し、そのプロジェクトの設定を読み込んでコンパイル済み辞書を見つけます。設定・辞書・ソースファイル一覧は短い TTL でキャッシュされ、監視中のコンテンツファイルが変更されるたびに無効化されます。
271
+
272
+ リクエスト時、サーバーは([oxc](https://oxc.rs/) を用いて)ドキュメントを解析し、カーソル位置を調べます。
273
+
274
+ 1. **キー文字列の上**(`useIntlayer("home")`)→ そのキーを宣言しているすべてのコンテンツファイルを、`key:` の行に位置づけて返します。
275
+ 2. **フィールド使用箇所の上**(`content.title`、分割代入したプロパティ、`t('path.to.field')`、`<Trans>` など)→ 変数を辞書までさかのぼって解決し、コンテンツファイル内の該当フィールドを返します。
276
+ 3. **コンテンツファイルから** → 逆引きを実行し、そのキーやフィールドの呼び出し箇所をプロジェクトのソースから探索します。
342
277
 
343
278
  ---
344
279
 
345
280
  ## トラブルシューティング
346
281
 
347
- | 症状 | 考えられる原因 | 対策 |
348
- | -------------------------------------- | ---------------------------- | ----------------------------------------------------------------------------------------- |
349
- | 定義への移動が機能しない | サーバーが起動していない | `@intlayer/lsp` がインストールされ、エディタがそれを起動しているか確認する |
350
- | 誤ったワークスペースルートが検出される | 複数のワークスペースフォルダ | `intlayer.config.ts` が含まれるフォルダが最初のワークスペースフォルダであることを確認する |
351
- | キーの定義が見つからない | 構成が解決されていない | `intlayer.config.ts`(または `.js`)がワークスペースルートに存在することを確認する |
352
- | 起動時にサーバーがクラッシュする | Node.js バージョンが古すぎる | Node.js ≥ 14.18 が必要です |
282
+ | 症状 | 考えられる原因 | 対処 |
283
+ | --------------------------------------------- | ---------------------------------- | --------------------------------------------------------------------------------- |
284
+ | まったく何も起こらない | サーバーが動作していない | `@intlayer/lsp` がインストールされ、エディターが起動しているか確認してください |
285
+ | エディターでは動くが Claude Code では動かない | セッション中にプラグインを導入した | Claude Code を再起動してください — 言語サーバーは起動時に読み込まれます |
286
+ | キーの定義が見つからない | 辞書がビルドされていない | `npx intlayer build` を実行するか、開発サーバーを起動してください |
287
+ | すべてのキーが未宣言として報告される | 設定が解決されていない | プロジェクトルートに `intlayer.config.ts`(または `.js`)があるか確認してください |
288
+ | モノレポで誤ったプロジェクトが使われる | パッケージごとの設定がない | 独自のコンテンツを宣言する各パッケージに `intlayer.config.*` を追加してください |
289
+ | 起動時にサーバーがクラッシュする | Node.js のバージョンが古すぎる | Node.js 14.18 以上が必要です |
290
+
291
+ VS Code では、サーバーは **表示 → 出力 →「Intlayer LSP」** にログを出力します。どの設定が解決され、辞書がいくつ見つかったかを確認するのに役立ちます。
package/docs/ja/readme.md CHANGED
@@ -46,27 +46,27 @@ Intlayer は、ウェブおよびモバイルアプリ向けの**最新の i18n
46
46
 
47
47
  ## Intlayer の主な利点:
48
48
 
49
- | 機能 | 説明 |
50
- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
51
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true" alt="Feature" width="700"> | **マルチフレームワーク対応**<br><br>Intlayer は、Next.js、React、Vite、Vue.js、Nuxt、Preact、Express など、主要なフレームワークやライブラリすべてに対応しています。 |
52
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true" alt="Feature" width="700"> | **JavaScript 駆動のコンテンツ管理**<br><br>JavaScript の柔軟性を活用して、コンテンツを効率的に定義および管理します。<br><br> - [コンテンツ宣言](https://intlayer.org/doc/concept/content) |
53
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true" alt="Feature" width="700"> | **ロケール別コンテンツ宣言ファイル**<br><br>自動生成の前にコンテンツを一度宣言することで、開発をスピードアップします。<br><br> - [ロケール別コンテンツ宣言ファイル](https://intlayer.org/doc/concept/per-locale-file) |
54
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **コンパイラ**<br><br>Intlayer コンパイラは、コンポーネントからコンテンツを自動的に抽出し、辞書ファイルを作成します。<br><br> - [コンパイラ](https://intlayer.org/doc/compiler) |
55
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true" alt="Feature" width="700"> | **型安全な環境**<br><br>TypeScript を活用して、コンテンツ定義やコードのエラーを防ぎつつ、IDE の自動補完機能も利用できます。<br><br> - [TypeScript の設定](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
56
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true" alt="Feature" width="700"> | **簡素化されたセットアップ**<br><br>最小限の設定で迅速に開始できます。国際化、ルーティング、AI、ビルド、コンテンツ管理の設定を簡単に調整可能です。<br><br> - [Next.js 統合を探る](https://intlayer.org/doc/environment/nextjs) |
57
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true" alt="Feature" width="700"> | **簡素化されたコンテンツ取得**<br><br>各コンテンツごとに `t` 関数を呼び出す必要はありません。単一のフックを使ってすべてのコンテンツを直接取得できます。<br><br> - [React 統合](https://intlayer.org/doc/environment/create-react-app) |
58
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true" alt="Feature" width="700"> | **一貫したサーバーコンポーネントの実装**<br><br>Next.js のサーバーコンポーネントに完全に適合し、クライアントコンポーネントとサーバーコンポーネントの両方で同じ実装を使用できます。各サーバーコンポーネントに `t` 関数を渡す必要はありません。<br><br> - [サーバーコンポーネント](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
59
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true" alt="Feature" width="700"> | **整理されたコードベース**<br><br>コードベースをより整理された状態に保ちます:1つのコンポーネント = 同じフォルダ内の1つの辞書。翻訳をそれぞれのコンポーネントの近くに配置することで、保守性と明確さを向上させます。<br><br> - [Intlayer の仕組み](https://intlayer.org/doc/concept/how-works-intlayer) |
60
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true" alt="Feature" width="700"> | **強化されたルーティング**<br><br>Next.js、React、Vite、Vue.js などの複雑なアプリケーション構造にシームレスに対応し、アプリのルーティングを完全にサポートします。<br><br> - [Next.js 統合を探る](https://intlayer.org/doc/environment/nextjs) |
61
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true" alt="Feature" width="700"> | **Markdown サポート**<br><br>多言語コンテンツ(プライバシーポリシー、ドキュメントなど)向けに、ロケールファイルやリモートの Markdown をインポートして解釈します。Markdown のメタデータを解釈し、コード内でアクセス可能にします。<br><br> - [コンテンツファイル](https://intlayer.org/doc/concept/content/file) |
62
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true" alt="Feature" width="700"> | **無料のビジュアルエディター & CMS**<br><br>コンテンツライター向けに無料のビジュアルエディターと CMS が利用可能で、ローカリゼーションプラットフォームは不要です。Git を使ってコンテンツを同期させるか、CMS で完全または部分的に外部化できます。<br><br> - [Intlayer エディター](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
63
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true" alt="Feature" width="700"> | **ツリーシェイカブルコンテンツ**<br><br>ツリーシェイカブルコンテンツにより、最終バンドルのサイズを削減します。コンポーネントごとにコンテンツを読み込み、未使用のコンテンツはバンドルから除外されます。遅延読み込みをサポートし、アプリの読み込み効率を向上させます。<br><br> - [アプリビルドの最適化](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
64
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true" alt="Feature" width="700"> | **静的レンダリング**<br><br>静的レンダリングを妨げません。<br><br> - [Next.js 統合](https://intlayer.org/doc/environment/nextjs) |
65
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true" alt="Feature" width="700"> | **AI 駆動の翻訳**<br><br>Intlayer の高度な AI 駆動翻訳ツールを使用し、ご自身の AI プロバイダー / API キーを使って、ワンクリックでウェブサイトを 231 言語に変換します。 <br><br> - [CI/CD 統合](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [自動入力](https://intlayer.org/doc/concept/auto-fill) |
66
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true" alt="Feature" width="700"> | **MCP サーバー統合**<br><br>IDE の自動化のための MCP(モデルコンテキストプロトコル)サーバーを提供し、開発環境内でシームレスなコンテンツ管理と国際化(i18n)ワークフローを可能にします。<br><br> - [MCP サーバー](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/mcp_server.md) |
67
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true" alt="Feature" width="700"> | **VSCode 拡張機能**<br><br>Intlayer は、コンテンツと翻訳の管理、辞書の構築、コンテンツの翻訳などを支援する VSCode 拡張機能を提供します。<br><br> - [VSCode 拡張機能](https://intlayer.org/doc/vs-code-extension) |
68
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true" alt="Feature" width="700"> | **相互運用性**<br><br>react-i18next、next-i18next、next-intl, react-intl, vue-i18n との相互運用性を可能にします。<br><br> - [Intlayer と react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer と next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer と next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer と vue-i18n](https://intlayer.org/blog/intlayer-with-vue-i18n) |
69
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/benchmark.png?raw=true" alt="Feature" width="700"> | **パフォーマンスとベンチマーク**<br><br>高度なツリーシェイキングと動的ローディングを使用してパフォーマンスを向上させ、ソリューションを可能な限り軽量に保ちます。 <br><br> - [パフォーマンスとベンチマーク](https://intlayer.org/doc/benchmark) |
49
+ | 機能 | 説明 |
50
+ | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
51
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true" alt="Feature" width="700"> | **マルチフレームワーク対応**<br><br>Intlayer は、Next.js、React、Vite、Vue.js、Nuxt、Preact、Express など、主要なフレームワークやライブラリすべてに対応しています。 |
52
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true" alt="Feature" width="700"> | **JavaScript 駆動のコンテンツ管理**<br><br>JavaScript の柔軟性を活用して、コンテンツを効率的に定義および管理します。<br><br> - [コンテンツ宣言](https://intlayer.org/doc/concept/content) |
53
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true" alt="Feature" width="700"> | **ロケール別コンテンツ宣言ファイル**<br><br>自動生成の前にコンテンツを一度宣言することで、開発をスピードアップします。<br><br> - [ロケール別コンテンツ宣言ファイル](https://intlayer.org/doc/concept/per-locale-file) |
54
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **コンパイラ**<br><br>Intlayer コンパイラは、コンポーネントからコンテンツを自動的に抽出し、辞書ファイルを作成します。<br><br> - [コンパイラ](https://intlayer.org/doc/compiler) |
55
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true" alt="Feature" width="700"> | **型安全な環境**<br><br>TypeScript を活用して、コンテンツ定義やコードのエラーを防ぎつつ、IDE の自動補完機能も利用できます。<br><br> - [TypeScript の設定](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
56
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true" alt="Feature" width="700"> | **簡素化されたセットアップ**<br><br>最小限の設定で迅速に開始できます。国際化、ルーティング、AI、ビルド、コンテンツ管理の設定を簡単に調整可能です。<br><br> - [Next.js 統合を探る](https://intlayer.org/doc/environment/nextjs) |
57
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true" alt="Feature" width="700"> | **簡素化されたコンテンツ取得**<br><br>各コンテンツごとに `t` 関数を呼び出す必要はありません。単一のフックを使ってすべてのコンテンツを直接取得できます。<br><br> - [React 統合](https://intlayer.org/doc/environment/create-react-app) |
58
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true" alt="Feature" width="700"> | **一貫したサーバーコンポーネントの実装**<br><br>Next.js のサーバーコンポーネントに完全に適合し、クライアントコンポーネントとサーバーコンポーネントの両方で同じ実装を使用できます。各サーバーコンポーネントに `t` 関数を渡す必要はありません。<br><br> - [サーバーコンポーネント](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
59
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true" alt="Feature" width="700"> | **整理されたコードベース**<br><br>コードベースをより整理された状態に保ちます:1つのコンポーネント = 同じフォルダ内の1つの辞書。翻訳をそれぞれのコンポーネントの近くに配置することで、保守性と明確さを向上させます。<br><br> - [Intlayer の仕組み](https://intlayer.org/doc/concept/how-works-intlayer) |
60
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true" alt="Feature" width="700"> | **強化されたルーティング**<br><br>Next.js、React、Vite、Vue.js などの複雑なアプリケーション構造にシームレスに対応し、アプリのルーティングを完全にサポートします。<br><br> - [Next.js 統合を探る](https://intlayer.org/doc/environment/nextjs) |
61
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true" alt="Feature" width="700"> | **Markdown サポート**<br><br>多言語コンテンツ(プライバシーポリシー、ドキュメントなど)向けに、ロケールファイルやリモートの Markdown をインポートして解釈します。Markdown のメタデータを解釈し、コード内でアクセス可能にします。<br><br> - [コンテンツファイル](https://intlayer.org/doc/concept/content/file) |
62
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true" alt="Feature" width="700"> | **無料のビジュアルエディター & CMS**<br><br>コンテンツライター向けに無料のビジュアルエディターと CMS が利用可能で、ローカリゼーションプラットフォームは不要です。Git を使ってコンテンツを同期させるか、CMS で完全または部分的に外部化できます。<br><br> - [Intlayer エディター](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
63
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true" alt="Feature" width="700"> | **ツリーシェイカブルコンテンツ**<br><br>ツリーシェイカブルコンテンツにより、最終バンドルのサイズを削減します。コンポーネントごとにコンテンツを読み込み、未使用のコンテンツはバンドルから除外されます。遅延読み込みをサポートし、アプリの読み込み効率を向上させます。<br><br> - [アプリビルドの最適化](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
64
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true" alt="Feature" width="700"> | **静的レンダリング**<br><br>静的レンダリングを妨げません。<br><br> - [Next.js 統合](https://intlayer.org/doc/environment/nextjs) |
65
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true" alt="Feature" width="700"> | **AI 駆動の翻訳**<br><br>Intlayer の高度な AI 駆動翻訳ツールを使用し、ご自身の AI プロバイダー / API キーを使って、ワンクリックでウェブサイトを 231 言語に変換します。 <br><br> - [CI/CD 統合](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [自動入力](https://intlayer.org/doc/concept/auto-fill) |
66
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true" alt="Feature" width="700"> | **MCP サーバー統合**<br><br>IDE の自動化のための MCP(モデルコンテキストプロトコル)サーバーを提供し、開発環境内でシームレスなコンテンツ管理と国際化(i18n)ワークフローを可能にします。<br><br> - [MCP サーバー](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/mcp_server.md) |
67
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true" alt="Feature" width="700"> | **VSCode 拡張機能**<br><br>Intlayer は、コンテンツと翻訳の管理、辞書の構築、コンテンツの翻訳などを支援する VSCode 拡張機能を提供します。<br><br> - [VSCode 拡張機能](https://intlayer.org/doc/vs-code-extension) |
68
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true" alt="Feature" width="700"> | **相互運用性**<br><br>react-i18next、next-i18next、next-intl, react-intl, vue-i18n との相互運用性を可能にします。<br><br> - [Intlayer と react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer と next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer と next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer と vue-i18n](https://intlayer.org/blog/intlayer-with-vue-i18n) <br> - [Intlayer の互換アダプター](https://intlayer.org/doc/compatibility) |
69
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/benchmark.png?raw=true" alt="Feature" width="700"> | **パフォーマンスとベンチマーク**<br><br>高度なツリーシェイキングと動的ローディングを使用してパフォーマンスを向上させ、ソリューションを可能な限り軽量に保ちます。 <br><br> - [パフォーマンスとベンチマーク](https://intlayer.org/doc/benchmark) |
70
70
 
71
71
  ---
72
72
 
@@ -173,7 +173,7 @@ Intlayer の包括的なドキュメントを探索し、Intlayer の使い始
173
173
  <li><a href="https://intlayer.org/doc/concept/cms" rel=''>Intlayer CMS</a></li>
174
174
  <li><a href="https://intlayer.org/doc/concept/content" rel=''>辞書</a>
175
175
  <ul>
176
- <li><a href="https://intlayer.org/doc/concept/content/per-locale-file" rel=''>ロケール別コンテンツ宣言ファイル</a></li>
176
+ <li><a href="https://intlayer.org/doc/concept/per-locale-file" rel=''>ロケール別コンテンツ宣言ファイル</a></li>
177
177
  <li><a href="https://intlayer.org/doc/concept/content/translation" rel=''>翻訳</a></li>
178
178
  <li><a href="https://intlayer.org/doc/concept/content/enumeration" rel=''>列挙</a></li>
179
179
  <li><a href="https://intlayer.org/doc/concept/content/condition" rel=''>条件</a></li>
@@ -194,7 +194,7 @@ Intlayer の包括的なドキュメントを探索し、Intlayer の使い始
194
194
  <ul>
195
195
  <li><a href="https://intlayer.org/doc/environment/nextjs/15" rel=''>Next.js 15</a></li>
196
196
  <li><a href="https://intlayer.org/doc/environment/nextjs/14" rel=''>Next.js 14(App Router)</a></li>
197
- <li><a href="https://intlayer.org/doc/environment/nextjs/next-with-Page-Router" rel=''>Next.js Page Router</a></li>
197
+ <li><a href="https://intlayer.org/doc/environment/nextjs/next-with-page-router" rel=''>Next.js Page Router</a></li>
198
198
  <li><a href="https://intlayer.org/doc/environment/nextjs/compiler" rel=''>コンパイラを使用した Next.js</a></li>
199
199
  </ul>
200
200
  </li>
@@ -223,7 +223,7 @@ Intlayer の包括的なドキュメントを探索し、Intlayer の使い始
223
223
  <li><a href="https://intlayer.org/doc/environment/sveltekit" rel=''>SvelteKit</a></li>
224
224
  <li><a href="https://intlayer.org/doc/environment/vite-and-preact" rel=''>Vite + Preact</a></li>
225
225
  <li><a href="https://intlayer.org/doc/environment/vite-and-vue" rel=''>Vite + Vue</a></li>
226
- <li><a href="https://intlayer.org/doc/environment/vite-and-nuxt" rel=''>Vite + Nuxt</a></li>
226
+ <li><a href="https://intlayer.org/doc/environment/nuxt-and-vue" rel=''>Vite + Nuxt</a></li>
227
227
  <li><a href="https://intlayer.org/doc/environment/vite-and-solid" rel=''>Vite + Solid</a></li>
228
228
  <li><a href="https://intlayer.org/doc/environment/angular" rel=''>Angular</a></li>
229
229
  <li>