@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.
- package/README.md +24 -24
- package/blog/ar/rag_powered_documentation_assistant.md +1 -1
- package/blog/pl/rag_powered_documentation_assistant.md +1 -1
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
- package/dist/cjs/authors2.cjs +0 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +4 -2
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +4 -2
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -2
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -2
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +4 -2
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +4 -2
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +4 -2
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +4 -2
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/docs/ar/configuration.md +10 -10
- package/docs/ar/interest_of_intlayer.md +24 -22
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_svelte_kit.md +1 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ar/intlayer_with_tanstack.md +5 -3
- package/docs/ar/lsp.md +114 -175
- package/docs/ar/readme.md +25 -25
- package/docs/bn/configuration.md +10 -10
- package/docs/bn/interest_of_intlayer.md +24 -22
- package/docs/cs/configuration.md +10 -10
- package/docs/cs/interest_of_intlayer.md +24 -22
- package/docs/de/configuration.md +10 -10
- package/docs/de/interest_of_intlayer.md +24 -22
- package/docs/de/intlayer_with_svelte_kit.md +1 -1
- package/docs/de/intlayer_with_tanstack+solid.md +5 -3
- package/docs/de/intlayer_with_tanstack.md +5 -3
- package/docs/de/lsp.md +111 -172
- package/docs/de/readme.md +24 -24
- package/docs/en/configuration.md +10 -10
- package/docs/en/interest_of_intlayer.md +24 -22
- package/docs/en/intlayer_with_svelte_kit.md +1 -1
- package/docs/en/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en/intlayer_with_tanstack.md +5 -3
- package/docs/en/lsp.md +109 -170
- package/docs/en/readme.md +24 -24
- package/docs/en-GB/configuration.md +10 -10
- package/docs/en-GB/interest_of_intlayer.md +24 -22
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en-GB/intlayer_with_tanstack.md +5 -3
- package/docs/en-GB/lsp.md +109 -170
- package/docs/en-GB/readme.md +24 -24
- package/docs/es/configuration.md +10 -10
- package/docs/es/interest_of_intlayer.md +24 -22
- package/docs/es/intlayer_with_svelte_kit.md +1 -1
- package/docs/es/intlayer_with_tanstack+solid.md +5 -3
- package/docs/es/intlayer_with_tanstack.md +5 -3
- package/docs/es/lsp.md +114 -175
- package/docs/es/readme.md +24 -24
- package/docs/fr/configuration.md +10 -10
- package/docs/fr/interest_of_intlayer.md +24 -22
- package/docs/fr/intlayer_with_svelte_kit.md +1 -1
- package/docs/fr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/fr/intlayer_with_tanstack.md +5 -3
- package/docs/fr/lsp.md +110 -171
- package/docs/fr/readme.md +24 -24
- package/docs/hi/configuration.md +10 -10
- package/docs/hi/interest_of_intlayer.md +24 -22
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_svelte_kit.md +1 -1
- package/docs/hi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/hi/intlayer_with_tanstack.md +5 -3
- package/docs/hi/lsp.md +113 -174
- package/docs/hi/readme.md +24 -24
- package/docs/id/configuration.md +10 -10
- package/docs/id/interest_of_intlayer.md +24 -22
- package/docs/id/intlayer_with_svelte_kit.md +1 -1
- package/docs/id/intlayer_with_tanstack+solid.md +5 -3
- package/docs/id/intlayer_with_tanstack.md +5 -3
- package/docs/id/lsp.md +113 -174
- package/docs/id/readme.md +24 -24
- package/docs/it/configuration.md +10 -10
- package/docs/it/interest_of_intlayer.md +24 -22
- package/docs/it/intlayer_with_svelte_kit.md +1 -1
- package/docs/it/intlayer_with_tanstack+solid.md +5 -3
- package/docs/it/intlayer_with_tanstack.md +5 -3
- package/docs/it/lsp.md +115 -176
- package/docs/it/readme.md +24 -24
- package/docs/ja/configuration.md +10 -10
- package/docs/ja/interest_of_intlayer.md +24 -22
- package/docs/ja/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ja/intlayer_with_tanstack.md +5 -3
- package/docs/ja/lsp.md +113 -174
- package/docs/ja/readme.md +24 -24
- package/docs/ko/configuration.md +10 -10
- package/docs/ko/interest_of_intlayer.md +24 -22
- package/docs/ko/intlayer_with_svelte_kit.md +1 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ko/intlayer_with_tanstack.md +5 -3
- package/docs/ko/lsp.md +112 -173
- package/docs/ko/readme.md +24 -24
- package/docs/nl/configuration.md +10 -10
- package/docs/nl/interest_of_intlayer.md +24 -22
- package/docs/pl/configuration.md +10 -10
- package/docs/pl/interest_of_intlayer.md +4 -2
- package/docs/pl/intlayer_with_svelte_kit.md +1 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pl/intlayer_with_tanstack.md +5 -3
- package/docs/pl/lsp.md +115 -176
- package/docs/pl/readme.md +24 -24
- package/docs/pt/configuration.md +10 -10
- package/docs/pt/interest_of_intlayer.md +24 -22
- package/docs/pt/intlayer_with_svelte_kit.md +1 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pt/intlayer_with_tanstack.md +5 -3
- package/docs/pt/lsp.md +113 -174
- package/docs/pt/readme.md +24 -24
- package/docs/ru/configuration.md +10 -10
- package/docs/ru/interest_of_intlayer.md +24 -22
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_svelte_kit.md +1 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ru/intlayer_with_tanstack.md +5 -3
- package/docs/ru/lsp.md +112 -173
- package/docs/ru/readme.md +24 -24
- package/docs/tr/configuration.md +10 -10
- package/docs/tr/interest_of_intlayer.md +24 -22
- package/docs/tr/intlayer_with_svelte_kit.md +1 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/tr/intlayer_with_tanstack.md +5 -3
- package/docs/tr/lsp.md +113 -174
- package/docs/tr/readme.md +24 -24
- package/docs/uk/configuration.md +10 -10
- package/docs/uk/interest_of_intlayer.md +4 -2
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +5 -3
- package/docs/uk/intlayer_with_tanstack.md +5 -3
- package/docs/uk/lsp.md +113 -174
- package/docs/uk/per_locale_file.md +1 -1
- package/docs/uk/readme.md +24 -24
- package/docs/ur/configuration.md +10 -10
- package/docs/ur/interest_of_intlayer.md +24 -22
- package/docs/vi/configuration.md +10 -10
- package/docs/vi/interest_of_intlayer.md +24 -22
- package/docs/vi/intlayer_with_svelte_kit.md +1 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/vi/intlayer_with_tanstack.md +5 -3
- package/docs/vi/lsp.md +115 -176
- package/docs/vi/readme.md +24 -24
- package/docs/zh/configuration.md +10 -10
- package/docs/zh/interest_of_intlayer.md +24 -22
- package/docs/zh/intlayer_with_svelte_kit.md +1 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +5 -3
- package/docs/zh/intlayer_with_tanstack.md +5 -3
- package/docs/zh/lsp.md +113 -174
- package/docs/zh/readme.md +21 -21
- package/docs/zh-TW/interest_of_intlayer.md +24 -22
- 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-
|
|
3
|
+
updatedAt: 2026-08-10
|
|
4
4
|
title: Intlayer LSP サーバー
|
|
5
|
-
description: Intlayer
|
|
5
|
+
description: Intlayer 言語サーバーが、定義へ移動・参照の検索・ホバープレビュー・キーの自動補完・診断を、IDE と AI エージェントにもたらす方法を紹介します。
|
|
6
6
|
keywords:
|
|
7
7
|
- LSP
|
|
8
|
-
-
|
|
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
|
|
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
|
-
##
|
|
36
|
+
## 機能
|
|
32
37
|
|
|
33
|
-
|
|
38
|
+
| 機能 | ショートカット | 説明 |
|
|
39
|
+
| ---------------------- | ---------------------- | ------------------------------------------------------------------------------------------ |
|
|
40
|
+
| **定義へ移動** | `F12` / `Cmd+クリック` | 辞書キーやフィールドの使用箇所から、コンテンツファイル内の宣言へジャンプします |
|
|
41
|
+
| **すべての参照を検索** | `Shift+F12` | コンテンツファイルから、そのキーまたはフィールドを使うすべての呼び出し箇所を一覧表示します |
|
|
42
|
+
| **ホバー** | カーソルを重ねる | ファイルを離れずに、辞書のフィールドやフィールドの翻訳値をプレビューします |
|
|
43
|
+
| **自動補完** | `"` `'` `` ` `` `.` | ゲッター内で宣言済みの辞書キーを、`.` の後や分割代入ではコンテンツフィールドを提案します |
|
|
44
|
+
| **診断** | 自動 | どのコンテンツファイルにも宣言されていないキーを警告します |
|
|
34
45
|
|
|
35
|
-
|
|
46
|
+
知っておくとよい挙動が 2 つあります。
|
|
36
47
|
|
|
37
|
-
|
|
48
|
+
- **マージされた辞書** — 複数のコンテンツファイルに分割されたキーは、ファイルごとに 1 件の結果を返すため、すべての宣言へ移動できます。
|
|
49
|
+
- **モノレポ対応** — サーバーは各ファイルに _最も近い_ `intlayer.config.*` を解決するため、1 つのワークスペース内の複数プロジェクトがそれぞれ独自の辞書を持てます。
|
|
38
50
|
|
|
39
|
-
|
|
51
|
+
### サポートされる呼び出し
|
|
40
52
|
|
|
41
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
90
|
+
エディターが `PATH` 上の `intlayer-lsp` を必要とする場合は、代わりにグローバルインストール(`npm install -g @intlayer/lsp`)してください。Claude Code プラグインや、バイナリを直接呼び出す以下の設定がこれに該当します。
|
|
87
91
|
|
|
88
92
|
---
|
|
89
93
|
|
|
90
|
-
##
|
|
94
|
+
## セットアップ
|
|
91
95
|
|
|
92
|
-
|
|
96
|
+
<Tabs defaultTab="vscode">
|
|
97
|
+
<Tab label="VS Code" value="vscode">
|
|
93
98
|
|
|
94
|
-
|
|
99
|
+
[Intlayer VS Code 拡張機能](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)をインストールしてください。言語サーバーは v8.12.0 以降同梱されており、自動的に起動します — **設定は不要です**。
|
|
95
100
|
|
|
96
|
-
|
|
97
|
-
npm install -g @intlayer/lsp
|
|
98
|
-
```
|
|
101
|
+
その他の機能については [VS Code 拡張機能のドキュメント](https://intlayer.org/doc/vs-code-extension)を参照してください。
|
|
99
102
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
```
|
|
103
|
+
</Tab>
|
|
104
|
+
<Tab label="Cursor / Windsurf" value="cursor">
|
|
103
105
|
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
111
|
+
Intlayer は、Intlayer リポジトリでホストされている **Claude Code プラグイン**を提供しています。これにより Claude Code は `grep` に頼らず、辞書キーの本物のシンボル解決を行えます。
|
|
109
112
|
|
|
110
|
-
|
|
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
|
|
122
|
+
`install` はプラグインの有効化も行います。**Claude Code を再起動してください** — 言語サーバーは起動時に読み込まれるため、それまではプラグインは機能しません。
|
|
119
123
|
|
|
120
|
-
|
|
124
|
+
その後 Claude Code は `.ts`、`.tsx`、`.js`、`.jsx`、`.vue`、`.astro`、`.svelte` ファイルでサーバーを起動し、コードを辿る際に `goToDefinition`、`findReferences`、`hover` を使用します。
|
|
121
125
|
|
|
122
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
201
|
-
},
|
|
202
|
-
"
|
|
203
|
-
|
|
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
|
-
`"..."`
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## AI エージェント CLI (Claude Code、Codex など) でのセットアップ
|
|
223
|
-
|
|
224
|
-
**Claude Code** は、優れた LSP プラグインサポートを備えています。上記の [Claude Code プラグインとしてのセットアップ](#claude-code-プラグインとしてのセットアップ)に従って、ターミナルセッションで直接完全な定義への移動体験を取得してください。
|
|
161
|
+
`"..."` のプレースホルダーにより、Zed の既定の言語サーバーが Intlayer のものと併存します。
|
|
225
162
|
|
|
226
|
-
|
|
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
|
-
--
|
|
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
|
|
271
|
-
|
|
272
|
-
---
|
|
273
|
-
|
|
274
|
-
## その他のエディタでの手動セットアップ
|
|
275
|
-
|
|
276
|
-
Language Server Protocol をサポートする任意のエディタで `@intlayer/lsp` を使用できます。サーバー仕様は以下の通りです。
|
|
197
|
+
Neovim を再起動すると、辞書キー上で `gd` が定義へ移動、`gr` が参照の検索を実行します。
|
|
277
198
|
|
|
278
|
-
|
|
279
|
-
|
|
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
|
-
|
|
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
|
-
|
|
262
|
+
**Claude Code** は本物の LSP クライアントとして動作します — 上のタブを参照してください。
|
|
331
263
|
|
|
332
|
-
|
|
264
|
+
**OpenAI Codex** をはじめとするほとんどのターミナルツールは LSP クライアントではなく、ファイルを直接読み書きします。サーバーを単独で起動しても役に立ちません。価値が生まれるのは、エージェントがインデックスを照会できる併用エディター(Cursor Composer、Windsurf Cascade、Copilot Chat)でサーバーが有効になっている場合です。
|
|
333
265
|
|
|
334
|
-
|
|
335
|
-
2. 正規表現を使用して、ゲッター呼び出し(`useIntlayer`、`getIntlayer` など)をスキャンします。
|
|
336
|
-
3. カーソル位置がそれらの呼び出しのいずれかの内部にあるかどうかを確認します。
|
|
337
|
-
4. 内部にある場合、辞書キー(正規表現のキャプチャグループ 3)を抽出し、`getUnmergedDictionaries()` を呼び出して、そのキーを宣言しているすべてのコンテンツファイルを特定します。
|
|
338
|
-
5. 一致する各ファイルを読み取り、カーソルを正確に配置するために `key: "<key>"` を含む正確な行を見つけます。
|
|
339
|
-
6. `Location` オブジェクトの配列(ソースファイルごとに 1 つ)を返します。
|
|
266
|
+
---
|
|
340
267
|
|
|
341
|
-
|
|
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
|
-
|
|
|
350
|
-
|
|
|
351
|
-
| キーの定義が見つからない
|
|
352
|
-
|
|
|
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/
|
|
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-
|
|
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/
|
|
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>
|