Vueアプリケーション向けi18nキー構造

vue-i18nを使用したVue.jsアプリケーションのi18n翻訳キー構造化方法。コンポーネントスコープメッセージ、グローバル vs ローカル翻訳、SFC i18nブロック、Nuxt i18nモジュールのパターンをカバーします。

Framework Guide

詳細な説明

Vue向けi18nキー構造

Vueアプリケーションは通常、国際化にvue-i18nを使用します。vue-i18nはコンポーネントスコープメッセージやSFC(Single File Component)i18nブロックなどのユニークな機能を提供し、キー整理に影響を与えます。

SFC i18nブロック

Vueのユニークな機能 -- コンポーネントに直接翻訳を埋め込む。<i18n>ブロック内のキーはコンポーネントにスコープされます。

グローバル vs ローカルメッセージ

スコープ 用途 アクセスパターン
グローバル 共有ボタン、エラー、ナビ $t('common.buttons.submit')
ローカル(SFC) コンポーネント固有テキスト $t('title')
ルートレベル ページ固有コンテンツ $t('pages.home.title')

vue-i18nの複数形

vue-i18nは単一キー内でパイプ区切りの値を使用します:

{
  "items": "アイテムなし | {count}個のアイテム | {count}個のアイテム"
}

これはreact-i18nextが複数形ごとに別のキーを使用するのとは異なります。

ユースケース

グローバルメッセージとSFC i18nブロックのどちらを選ぶかを決めるVue開発者は、トレードオフを理解する必要があります。SFCブロックは翻訳をコンポーネントと共配置しますが(より良いDX)、外部での翻訳管理が難しくなります(翻訳会社には不向き)。

試してみる — i18n Key Generator

フルツールを開く