このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "Solid の useIntlayer API の使用法を直接プロパティアクセスに更新"v8.9.02026/5/4
- "initコマンドを追加"v7.5.92025/12/30
- "履歴開始"v5.5.102025/6/29
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
IntlayerでLynx and React mobile appを翻訳する
アプリケーションテンプレートをGitHubで見る。
なぜ他の選択肢ではなく Intlayer なのか?
「react-native-localize」や「i18next」などの主要なソリューションと比較して、Intlayer は次のような統合された最適化を備えたソリューションです。
Intlayer は、コンポーネント レベルのコンテンツ スコープ、TypeScript サポート、および国際化 (i18n) のスケーリングに必要なすべての機能を提供することにより、Lynx および React と完全に連携するように最適化されています。
巨大な JSON ファイルをページ全体に読み込む代わりに、必要なコンテンツのみをロードします。Intlayer はバンドルサイズとページ容量を最大 50% 削減します。
アプリケーションのコンテンツのスコープを設定すると、大規模なアプリケーションの メンテナンスが容易になります。コンテンツコードベース全体を確認するという認知的負荷を負うことなく、単一の機能フォルダーを複製または削除できます。さらに、Intlayer は完全な型安全性(TypeScript 型定義)を提供し、コンテンツの正確性を保証します。
コンテンツをコンポーネントと同一ディレクトリに配置(Co-location)すると、大規模言語モデル (LLM) によって 必要なコンテキストが削減されます。 Intlayer には、翻訳の欠落をテストする CLI、LSP、MCP などのツールスイートも付属しています。および agent skills により、AI エージェントの開発者エクスペリエンス (DX) がさらにスムーズになります。
自前の AI プロバイダーの API 利用料のみで、好みの LLM を使って CI/CD パイプライン内で翻訳を自動化します。 Intlayer は、コンテンツ抽出を自動化する コンパイラー と、バックグラウンド翻訳を支援する Web プラットフォーム も提供します。
大量の JSON ファイルをコンポーネントに接続すると、レンダリングパフォーマンスの低下や反応性の遅延を引き起こす可能性があります。 Intlayer は、ビルド時のコンテンツの読み込みを最適化します。
Intlayer は単なる i18n ソリューションではなく、セルフホスト可能なビジュアルエディター と 完全な CMS を提供します。 リアルタイムで多言語コンテンツを管理できるようになり、翻訳者、コピーライター、その他のチームメンバーとのコラボレーションがシームレスになります。コンテンツはローカルおよび/またはリモートに保存できます。
依存関係をインストールする
Lynxプロジェクトから、以下のパッケージをインストールします:
bashコードをコピーコードをクリップボードにコピー
--interactiveフラグはオプションです。AI エージェントの場合はintlayer-cli initを使用してください。このコマンドは環境を検出し、必要なパッケージをインストールします。例えば:
bashコードをコピーコードをクリップボードにコピー
パッケージ
intlayer
設定、辞書コンテンツ、型生成、CLIコマンドのためのコアi18nツールキット。react-intlayer
Lynxでロケールの取得と切り替えに使用するコンテキストプロバイダーとReactフックを提供するReact統合。lynx-intlayer
IntlayerをLynxバンドラーと統合するためのプラグインを提供するLynx統合。
Intlayer設定を作成する
プロジェクトのルート(または便利な場所)にIntlayer設定ファイルを作成します。以下のようになります:
intlayer.config.tsコードをコピーコードをクリップボードにコピー
import { Locales, type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, // ... 必要な他のロケールを追加 ], defaultLocale: Locales.ENGLISH, }, }; export default config;この設定内で以下を行うことができます:
- サポートするロケールのリストを設定します。
- デフォルトロケールを設定します。
- 後で、より高度なオプション(例:ログ、カスタムコンテンツディレクトリなど)を追加することができます。
- 詳細はIntlayer設定ドキュメントをご覧ください。
LynxバンドラーにIntlayerプラグインを追加する
LynxでIntlayerを使用するには、
lynx.config.tsファイルにプラグインを追加する必要があります:lynx.config.tsコードをコピーコードをクリップボードにコピー
Intlayerプロバイダーを追加する
アプリケーション全体でユーザーの言語を同期させるには、
react-intlayerのIntlayerProviderコンポーネントでルートコンポーネントをラップする必要があります。また、Intlayerが正しく動作するようにするために、
intlayerPolyfill関数ファイルを追加する必要があります。src/index.tsxコードをコピーコードをクリップボードにコピー
コンテンツを宣言する
プロジェクト内の任意の場所(通常は
src/内)にコンテンツ宣言ファイルを作成します。Intlayerがサポートする任意の拡張形式を使用できます:.content.json.content.jsonc.content.json5.content.ts.content.tsx.content.js.content.jsx.content.mjs.content.mjx.content.cjs.content.md.content.mdx.content.yaml.content.yml- など
例:
src/app.content.tsコードをコピーコードをクリップボードにコピー
import { t, type Dictionary } from "intlayer"; const appContent = { key: "app", content: { title: "React", subtitle: t({ en: "on Lynx", fr: "sur Lynx", es: "en Lynx", }), description: t({ ja: "ロゴをタップして楽しんでください!", en: "Tap the logo and have fun!", fr: "Appuyez sur le logo et amusez-vous!", es: "¡Toca el logo y diviértete!", }), hint: [ t({ ja: "編集", en: "Edit", fr: "Modifier", es: "Editar", }), " src/App.tsx ", t({ ja: "更新を確認してください!", en: "to see updates!", fr: "pour voir les mises à jour!", es: "para ver actualizaciones!", }), ], }, } satisfies Dictionary; export default appContent;コンテンツ宣言の詳細については、Intlayerのコンテンツドキュメントを参照してください。
コンポーネントでIntlayerを使用する
子コンポーネントで
useIntlayerフックを使用してローカライズされたコンテンツを取得します。src/App.tsxコードをコピーコードをクリップボードにコピー
文字列ベースのプロパティ(例: ボタンの
titleやTextコンポーネントのchildren)でcontent.someKeyを使用する場合、content.someKey.valueを呼び出して実際の文字列を取得してください。アプリのロケールを変更する
コンポーネント内からロケールを切り替えるには、
useLocaleフックのsetLocaleメソッドを使用します。src/components/LocaleSwitcher.tsxコードをコピーコードをクリップボードにコピー
これにより、Intlayerコンテンツを使用するすべてのコンポーネントが再レンダリングされ、新しいロケールの翻訳が表示されます。
詳細については、
useLocaleドキュメントを参照してください。
TypeScriptの設定(TypeScriptを使用している場合)
Intlayerは、自動補完を改善し翻訳エラーを検出するために、隠しフォルダ(デフォルトは.intlayer)に型定義を生成します。
コードをクリップボードにコピー
これにより、以下の機能が有効になります:
- 辞書キーの自動補完。
- 存在しないキーにアクセスしたり型が不一致の場合に警告する型チェック。
Gitの設定
Intlayerによって自動生成されたファイルをコミットしないようにするには、以下を.gitignoreに追加します。
コードをクリップボードにコピー
VS Code拡張機能
Intlayerでの開発体験を向上させるために、公式のIntlayer VS Code拡張機能をインストールできます。
この拡張機能は以下の機能を提供します:
- 翻訳キーの オートコンプリート。
- 不足している翻訳の リアルタイムエラー検出。
- 翻訳済みコンテンツの インラインプレビュー。
- 翻訳を簡単に作成・更新するための クイックアクション。
拡張機能の使用方法の詳細については、Intlayer VS Code Extension ドキュメントを参照してください。
