react-intlayer: Reactアプリケーションを国際化(i18n)するためのNPMパッケージ

    Intlayerは、JavaScript開発者向けに特化したパッケージ群です。React、React、Express.jsなどのフレームワークと互換性があります。

    react-intlayerパッケージは、Reactアプリケーションを国際化するためのものです。Reactの国際化のためのコンテキストプロバイダーとフックを提供します。

    なぜReactアプリケーションを国際化するのか?

    Reactアプリケーションを国際化することは、グローバルなオーディエンスに効果的に対応するために不可欠です。これにより、各ユーザーの好みの言語でコンテンツやメッセージを提供することができます。この機能はユーザーエクスペリエンスを向上させ、異なる言語背景を持つ人々にとってアプリケーションをよりアクセスしやすく、関連性のあるものにすることで、アプリケーションのリーチを広げます。

    なぜIntlayerを統合するのか?

    • JavaScript駆動のコンテンツ管理: JavaScriptの柔軟性を活用して、効率的にコンテンツを定義および管理します。
    • 型安全な環境: TypeScriptを活用して、すべてのコンテンツ定義を正確かつエラーのないものにします。
    • 統合されたコンテンツファイル: 翻訳を対応するコンポーネントの近くに保持し、保守性と明確性を向上させます。

    インストール

    お好みのパッケージマネージャーを使用して必要なパッケージをインストールします:

    bash
    npm install react-intlayer

    使用例

    Intlayerを使用すると、コードベースのどこにでも構造化された方法でコンテンツを宣言できます。

    デフォルトでは、Intlayerは拡張子が.content.{ts,tsx,js,jsx,mjs,cjs}のファイルをスキャンします。

    デフォルトの拡張子は設定ファイルcontentDirプロパティを設定することで変更できます。

    bash
    .├── intlayer.config.ts└── src    └── components        ├── Component1        │   ├── index.content.ts        │   └── index.tsx        └── Component2            ├── index.content.ts            └── index.tsx

    コンテンツを宣言する

    react-intlayerintlayerパッケージと連携して動作します。intlayerは、コード内のどこにでもコンテンツを宣言できるパッケージです。多言語コンテンツの宣言を構造化された辞書に変換し、アプリケーションにシームレスに統合します。

    以下はコンテンツ宣言の例です:

    tsx
    import { t, type Dictionary } from "intlayer";const component1Content = {  key: "component-1",  content: {    myTranslatedContent: t({      en: "Hello World",      fr: "Bonjour le monde",      es: "Hola Mundo",    }),    numberOfCar: enu({      "<-1": "Less than minus one car",      "-1": "Minus one car",      "0": "No cars",      "1": "One car",      ">5": "Some cars",      ">19": "Many cars",    }),  },} satisfies Dictionary;export default component1Content;

    コード内でコンテンツを利用する

    コンテンツを宣言したら、コード内で使用できます。以下はReactコンポーネントでコンテンツを使用する例です:

    src/components/Component1Example.tsx
    "use client";import type { FC } from "react";import { useIntlayer } from "react-intlayer";export const Component1Example: FC = () => {  const { myTranslatedContent } = useIntlayer("component-1"); // 関連するコンテンツ宣言を作成  return (    <div>      <p>{myTranslatedContent}</p>    </div>  );};

    Reactアプリケーションの国際化をマスターする

    Intlayerは、Reactアプリケーションを国際化するための多くの機能を提供します。

    これらの機能について詳しくは、ViteとReactを使用したIntlayerによるReact国際化(i18n)ガイド、またはReact Create Appを使用したIntlayerによるReact国際化(i18n)ガイドをご覧ください。

    react-intlayerパッケージが提供する関数

    react-intlayerパッケージは、アプリケーションを国際化するためのいくつかの関数も提供します。

    このドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。

    ドキュメントへのGitHubリンク