CMS内で各言語に明確な位置を与える
PostnHost の Language レコードは、公開物がサポートする言語を CMS に伝えます。また、ローカライズされた URL に使用されるコードやページの HTML lang 属性にもそのコードを提供します。
互いに関連する 3 つの要素が連携します:
- Language records は CMS に言語を登録します。
- Content translations は記事、ページ、カテゴリのローカライズ版を提供します。
- Locale files or I18n overrides はナビゲーションラベルや空状態などの共通の公開テキストを翻訳します。
いずれか一つを追加しても、残りの二つが自動的に作成されるわけではありません。
言語を追加する
- CMS のナビゲーションから Languages を開きます。
- 「New Language」を選択します。
- 公開名(例: 「Spanish」)を入力します。
- 対応する言語コード(例:
es)を入力します。 - サイトの主要言語にする場合にのみ Default Language を有効にします。
- 言語を作成します。
コードは短く一貫したものにしてください。コードは /es のようなローカライズされたルートの一部になるため、後で変更すると公開 URL が変わる可能性があります。
Languages リストはデフォルト言語を示し、原文コンテンツと翻訳コンテンツの件数を表示します。
デフォルト言語を理解する
すべてのサイトには 1 つのデフォルト言語が必要です。それは主な公開言語であり、ローカライズ版が要求されていない場合のフォールバックになります。サイト全体の言語や URL 計画に基づく意図的な変更でない限り、変更しないでください。
言語リストと詳細ページを使用する
2 つのカウントバッジは、その言語で元々書かれたコンテンツと、その言語に翻訳されたバリアントの件数を示します。言語名またはその表示アクションを選択すると、関連コンテンツの詳細を確認できます。
翻訳が準備される前に言語が存在することがあるため、ゼロ件は正常です。翻訳は、元コンテンツとなる記事、ページ、カテゴリとは別に作成してください。
詳細ページにロケールファイルが存在しない旨の警告が表示される場合、その Language レコードは利用可能ですが、そのコード向けの共通公開インターフェース用テキストが完全に用意されていません。以下の開発者向け設定(任意)を使用してください。
コードを編集したり言語を削除したりする前に、該当するコンテンツと翻訳を確認してください。これらの変更はローカライズされたルートや関連レコードに影響を与える可能性があります。
開発者の設定が不要な場合
PostnHost には英語、フランス語、ドイツ語、日本語、韓国語、ポルトガル語、ポーランド語、スペイン語、ロシア語向けの公開ロケールファイルが含まれています:en, fr, de, ja, ko, pt, pl, es, ru。
選択したコードがホストアプリケーションで既に利用可能な場合は、ダッシュボードで対応する Language レコードを作成し、コンテンツ翻訳を追加し、Settings → I18n で共通テキストをカスタマイズできます。
さらに言語を追加する
このセクションは、ホストアプリケーションがまだサポートしていない言語コード向けのみです。Rails アプリケーションにアクセスできる開発者に実施を依頼してください。
既存のロケールリストを保持したまま新しいコードを追加します:
# config/application.rb
config.i18n.default_locale = :en
config.i18n.available_locales = %i[en fr de ja ko pt pl es ru it]
config.i18n.fallbacks = [:en]
同じコードのホストアプリケーション用ロケールファイルを生成します:
bin/rails g postnhost:locale it
config/locales/it.ymlのpostnhost.public以下の該当するキーを翻訳します。config/application.rbを変更したら Rails を再起動します。- PostnHost でコード
itの対応する Language レコードを作成します。 - 記事、ページ、カテゴリの翻訳をそれぞれ別に追加します。
Language レコード、available_locales のエントリ、ロケールファイル名は同じコードを使用する必要があります。不一致があるとインターフェースのテキストが欠けたり、予期しないローカライズされたルートが発生したりする可能性があります。英語のフォールバックを残すか、最終的にデフォルト言語に到達するフォールバックマップを使用してください。
新しい言語を確認する
- ローカライズされたインデックス(例:
/esや/it)を開きます。 - 公開用の言語スイッチャーを確認します。
- Settings → I18n で共通テキストを確認します。
- 少なくとも1つ翻訳されたコンテンツを公開して開きます。