Next.jsのJSSサンプルアプリでの国際化
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Next.jsサンプル アプリに基づいて作成されたJSS Next.jsアプリケーションには、国際化 (i18n) を有効にするために必要な設定が事前構成されています。
JSS Next.jsアプリケーションは、サブパスルーティングによる 国際化ルーティング をサポートします。ドメインルーティングにはカスタム実装が必要です。
Next.js JSSアプリケーションのソースディレクトリにあるファイルnext.config.jsには、アプリケーションとdefaultLocaleがサポートするlocalesの定義が含まれています。
-
localesは、アプリケーションでサポートするすべての言語であり、Sitecoreで定義された言語と一致する (または少なくともそのサブセットである) 必要があります。Next.jsのこの構成オプションには、いくつかの 制限があります。
-
defaultLocaleは、接頭辞が付いていないパスにアクセスするときに使用されるロケールです。この値は、config.languageオプションのファイルpackage.jsonで設定した値に設定されます。
Next.jsは追加のi18n機能を提供しておらず、どのコンテンツ翻訳ライブラリを使用する必要があるかについて意見を述べていません。コンテンツのローカリゼーションを有効にするために、JSS Next.jsアプリではnext-localizationライブラリを使用します。 src/pages/_app.tsxファイルで定義されているAppコンポーネントでは、JSS Next.jsアプリケーションはnext-localizationモジュールからi18nプロバイダをインポートし、Next.jsによって提供される値でpageProps.localeプロパティを使用し、Sitecore Dictionary Servicesからのデータでdictionaryプロパティを使用して初期化します。プロパティは、Page Propsファクトリによって入力されます。
動的ルートの場合、JSS Next.jsアプリは、SitecoreSitemapFetcherクラスのインスタンスを使用して、localegetStaticPaths関数 .
コンテンツの翻訳
ページのコンテンツを翻訳するには、useI18nフックを使用できます。フックは、翻訳関数 のtと現在の言語localeを提供します。
例えば: