next intl
v3.25.1
Next.js の国際化 (i18n)
国際化 (i18n) はユーザー エクスペリエンスの重要な部分であるため、 next-intl
言語のニュアンスを正しく理解するために必要なすべての部分を提供します。
ICU メッセージ構文: 補間、基数と序数の複数形、列挙型ベースのラベル選択、リッチ テキストを使用してメッセージをローカライズします。
日付、時刻、数値: タイムゾーンなどのサーバーとクライアントの違いを気にせずに、適切な書式設定を適用します。
タイプセーフ: メッセージ キーのオートコンプリートにより開発をスピードアップし、コンパイル時のチェックでタイプミスを早期に検出します。
フックベースの API : 翻訳をプレーン文字列またはリッチ テキストに変換するためにコード ベース全体で使用できる単一の API を学習します。
Next.js ネイティブでパフォーマンス重視: アプリ ルーター、サーバー コンポーネント、静的レンダリング - 適切なジョブに適切なツールを選択し、next-intl はどこでも機能します。
国際化されたルーティング: 言語ごとに一意のパス名を提供し、オプションで検索エンジンの最適化のためにパス名をローカライズします。
// UserProfile.tsximport {useTranslations} から 'next-intl'; デフォルト関数のエクスポート UserProfile({user}) { const t = useTranslations('UserProfile'); return (<section> <h1>{t('title', {firstName: user.firstName})}</h1> <p>{t('membership', {memberfaith: user.memberfaith})}</p > <p>{t('フォロワー', {count: user.numFollowers})}</p></section> );}
// en.json{ "UserProfile": {"title": "{firstName} のプロフィール","membership": "{memberSince, date, short} 以降のメンバー","followers": "{count, plural, ↵ =0 {フォロワーがいませんまだ} ↵ =1 {フォロワー 1 人} ↵ その他 {フォロワー数} ↵ }" }}
ヴェルセルで開催