Intlayerの今後のリリースに関する通知を受け取る
    作成:2024-08-11最終更新:2025-06-29

    ドキュメント: intlayergetMultilingualUrls 関数

    説明

    getMultilingualUrls 関数は、指定された URL に各サポートされているロケールをプレフィックスとして付加することで、多言語対応の URL マッピングを生成します。絶対 URL と相対 URL の両方に対応しており、提供された設定またはデフォルトに基づいて適切なロケールプレフィックスを適用します。


    パラメータ

    • url: string

      • 説明: ロケールを付加する元の URL 文字列。
      • : string
    • locales: Locales[]

      • 説明: オプションのサポートされているロケールの配列。プロジェクトで設定されたロケールがデフォルト。
      • : Locales[]
      • デフォルト: localesDefault
    • defaultLocale: Locales

      • 説明: アプリケーションのデフォルトロケール。プロジェクトで設定されたデフォルトロケールがデフォルト。
      • : Locales
      • デフォルト: defaultLocaleDefault
    • prefixDefault: boolean

      • 説明: デフォルトロケールにプレフィックスを付けるかどうか。プロジェクトで設定された値がデフォルト。
      • : boolean
      • デフォルト: prefixDefaultDefault

    戻り値

    • : IConfigLocales<string>
    • 説明: 各ロケールを対応する多言語 URL にマッピングしたオブジェクト。

    使用例

    相対 URL

    typescript
    import { getMultilingualUrls, Locales } from "intlayer";getMultilingualUrls(  "/dashboard",  [Locales.ENGLISH, Locales.FRENCH],  Locales.ENGLISH,  false);// 出力: {//   en: "/dashboard",//   fr: "/fr/dashboard"// }

    絶対URL

    typescript
    getMultilingualUrls(  "https://example.com/dashboard",  [Locales.ENGLISH, Locales.FRENCH],  Locales.ENGLISH,  true);// 出力: {//   en: "https://example.com/en/dashboard",//   fr: "https://example.com/fr/dashboard"// }

    エッジケース

    • ロケールセグメントなし:

      • 関数は多言語マッピングを生成する前に、URLから既存のロケールセグメントを削除します。
    • デフォルトロケール:

      • prefixDefaultfalse の場合、デフォルトロケールのURLにはプレフィックスを付けません。
    • サポートされていないロケール:

      • URL生成には、locales 配列に指定されたロケールのみが考慮されます。

    アプリケーションでの使用方法

    多言語対応アプリケーションでは、localesdefaultLocale を使って国際化設定を行うことが、正しい言語表示を保証するために重要です。以下は、getMultilingualUrls をアプリケーション設定で使用する例です:

    tsx
    import { Locales, type IntlayerConfig } from "intlayer";// 対応ロケールとデフォルトロケールの設定export default {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,  },} satisfies IntlayerConfig;export default config;

    上記の設定により、アプリケーションは ENGLISHFRENCHSPANISH をサポート言語として認識し、ENGLISH をフォールバック言語として使用します。

    この設定を使用すると、getMultilingualUrls 関数はアプリケーションのサポートロケールに基づいて多言語URLマッピングを動的に生成できます。

    typescript
    getMultilingualUrls(  "/dashboard",  [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],  Locales.ENGLISH);// 出力例:// {//   en: "/dashboard",//   fr: "/fr/dashboard",//   es: "/es/dashboard"// }getMultilingualUrls(  "https://example.com/dashboard",  [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],  Locales.ENGLISH,  true);// 出力例:// {//   en: "https://example.com/en/dashboard",module.exports = config;

    上記の設定により、アプリケーションは ENGLISHFRENCH、および SPANISH をサポート言語として認識し、ENGLISH をフォールバック言語として使用します。

    この設定を使用すると、getMultilingualUrls 関数はアプリケーションのサポートされているロケールに基づいて、多言語のURLマッピングを動的に生成できます。

    typescript
    getMultilingualUrls(  "/dashboard",  [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],  Locales.ENGLISH);// 出力例:// {//   en: "/dashboard",//   fr: "/fr/dashboard",//   es: "/es/dashboard"// }

    上記の設定により、アプリケーションは ENGLISHFRENCHSPANISH をサポート言語として認識し、ENGLISH をフォールバック言語として使用します。

    この設定を使用すると、getMultilingualUrls 関数はアプリケーションのサポートされているロケールに基づいて多言語URLマッピングを動的に生成できます:

    typescript
    getMultilingualUrls(  "/dashboard",  [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],  Locales.ENGLISH);// 出力例:// {//   en: "/dashboard",//   fr: "/fr/dashboard",//   es: "/es/dashboard"// }getMultilingualUrls(  "https://example.com/dashboard",  [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],  Locales.ENGLISH,  true);// 出力例:// {//   en: "https://example.com/en/dashboard",//   fr: "https://example.com/fr/dashboard",//   es: "https://example.com/es/dashboard"// }

    getMultilingualUrls を統合することで、開発者は複数言語にわたって一貫したURL構造を維持でき、ユーザー体験とSEOの両方を向上させることができます。

    ドキュメント履歴

    • 5.5.10 - 2025-06-29: 履歴初期化
    Intlayerの今後のリリースに関する通知を受け取る