このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "Solid の useIntlayer API の使用法を直接プロパティアクセスに更新"v8.9.02026/5/4
- "履歴の初期化"v8.4.102026/3/31
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
Intlayerを使用したVanilla JSウェブサイトの翻訳 | 国際化 (i18n)
目次
代替手段ではなく Interlayer を使用する理由
「i18next」や「i18n.js」などの主要なソリューションと比較して、Intlayer は次のような統合された最適化を備えたソリューションです。
Vanilla JS を完全にカバー
Intlayer は、フレームワークに依存しないコンテンツ管理、TypeScript サポート、および国際化 (i18n) の拡張に必要なすべての機能を提供することにより、Vanilla JavaScript と完全に連携するように最適化されています。
バンドルサイズ
大量の JSON ファイルをページにロードするのではなく、必要なコンテンツのみをロードします。 Intlayer は、バンドルとページのサイズを最大 50% 削減するのに役立ちます。
保守性
アプリケーションのコンテンツのスコープを設定すると、大規模なアプリケーションの メンテナンスが容易になります。コンテンツ コードベース全体を確認するという精神的な負担を負うことなく、単一の機能フォルダーを複製または削除できます。さらに、Intlayer は完全に型指定されており、コンテンツの正確性を保証します。
AI エージェント
コンテンツを同じ場所に配置すると、大規模言語モデル (LLM) によって 必要なコンテキストが削減されます。 Intlayer には、翻訳の欠落をテストする CLI、LSP、MCP などのツール スイートも付属しています。および エージェント スキル により、AI エージェントの開発者エクスペリエンス (DX) がさらにスムーズになります。
オートメーション
AI プロバイダーの費用で、選択した LLM を使用して CI/CD パイプラインで自動化を変換します。 Intlayer は、コンテンツ抽出を自動化する コンパイラー と、バックグラウンドでの翻訳を支援する Web プラットフォーム も提供します。
パフォーマンス
大量の JSON ファイルをコンポーネントに接続すると、パフォーマンスと反応性の問題が発生する可能性があります。 Intlayer は、ビルド時のコンテンツの読み込みを最適化します。
非開発によるスケーリング
Intlayer は単なる i18n ソリューションではなく、自己ホスト型 ビジュアル エディター と 完全な CMS を提供します。 リアルタイムで多言語コンテンツを管理できるようになり、翻訳者、コピーライター、その他のチーム メンバーとのコラボレーションがシームレスになります。コンテンツはローカルおよび/またはリモートに保存できます。
Vanilla JSアプリケーションでIntlayerをセットアップするためのステップバイステップガイド
依存関係のインストール
npmを使用して必要なパッケージをインストールします:
intlayer 設定管理、翻訳、コンテンツ宣言、トランスパイル、CLIコマンドのための国際化ツールを提供するコアパッケージです。
vanilla-intlayer Intlayerを純粋なJavaScript / TypeScriptアプリケーションと統合するパッケージです。パブ/サブシングルトン (
IntlayerClient) とコールバックベースのヘルパー (useIntlayer、useLocaleなど) を提供し、UIフレームワークに依存することなく、アプリのあらゆる部分がロケールの変更に反応できるようにします。
intlayer standaloneCLIによるバンドリングエクスポートは、設定に特化した未使用のパッケージ、ロケール、および非本質的なロジック(リダイレクトやプレフィックスなど)をツリーシェイキング(不要なコードの削除)することで、最適化されたビルドを生成します。プロジェクトの設定
アプリケーションの言語を設定するための設定ファイルを作成します:
この設定ファイルを通じて、ローカライズされたURL、ミドルウェアのリダイレクト、クッキー名、コンテンツ宣言の場所と拡張子、コンソールでのIntlayerログの無効化などを設定できます。利用可能なパラメータの完全なリストについては、設定ドキュメントを参照してください。
HTMLへのバンドルのインポート
intlayer.jsバンドルを生成したら、それをHTMLファイルにインポートできます:バンドルは、
window上にグローバルオブジェクトとしてIntlayerとVanillaIntlayerを公開します。エントリポイントでのIntlayerのブートストラップ
src/main.jsで、コンテンツがレンダリングされる前にinstallIntlayer()を呼び出し、グローバルロケールシングルトンの準備を整えます。Markdownレンダラーも使用したい場合は、
installIntlayerMarkdown()を呼び出します:コンテンツの宣言
翻訳を保存するためのコンテンツ宣言を作成および管理します:
コンテンツ宣言は、
contentDirディレクトリ(デフォルトは./src)に含まれ、コンテンツ宣言のファイル拡張子(デフォルトは.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml})に一致していれば、アプリケーションのどこにでも定義できます。詳細については、コンテンツ宣言のドキュメントを参照してください。
JavaScriptでIntlayerを使用する
window.VanillaIntlayerオブジェクトは API ヘルパーを提供します:useIntlayer(key, locale?)は、指定されたキーに対応する翻訳済みコンテンツを返します。リーフ値を文字列として取得するには、それらを
String()でラップします。これにより、ノードのtoString()メソッドが呼び出され、翻訳されたテキストが返されます。ネイティブ HTML 属性(
alt、aria-labelなど)の値が必要な場合は、直接.valueを使用します:コンテンツの言語を変更する
コンテンツの言語を変更するには、
useLocaleによって公開されるsetLocale関数を使用します。HTMLの言語および方向属性の切り替え
アクセシビリティとSEOのために、
<html>タグのlangおよびdir属性を現在のロケールに合わせて更新します。ロケールごとのディクショナリの遅延読み込み
ロケールごとにディクショナリを遅延読み込みしたい場合は、
useDictionaryDynamicを使用できます。これは、初期のintlayer.jsファイルにすべての翻訳をバンドルしたくない場合に便利です。注意:
useDictionaryDynamicには、ディクショナリが個別の ESM ファイルとして利用可能である必要があります。このアプローチは通常、ディクショナリを配信するウェブサーバーがある場合に使用されます。
TypeScriptの設定
TypeScriptの設定に自動生成された型が含まれていることを確認してください。
VS Code拡張機能
Intlayerでの開発体験を向上させるために、公式の Intlayer VS Code拡張機能 をインストールできます。
この拡張機能は以下を提供します:
- 翻訳キーの 自動補完。
- 欠落している翻訳に対する リアルタイムのエラー検出。
- 翻訳済みコンテンツの インラインプレビュー。
- 翻訳を簡単に作成および更新するための クイックアクション。
拡張機能の使用方法の詳細については、Intlayer VS Code拡張機能のドキュメントを参照してください。
さらに詳しく
さらに詳しく知るには、ビジュアルエディターを実装したり、CMSを使用してコンテンツを外部化したりできます。