Internationalizing Websites について
Internationalizing Websitesは、Next.jsサイトに多言語対応と国際SEOを追加するスキルです。言語ファイルやルーティングの設定から、翻訳、hreflang、サイトマップ、検証までを扱います。
主な機能
- 01Next.js多言語化の設定手順
- 02言語ファイルとロケール設定
- 03翻訳と言語切り替えのガイド
- 04ローカライズSEOとhreflangの確認
- 05ビルドと言語の検証手順
活用シーン
- 01既存サイトへの言語追加
- 02新規サイトの多言語ルーティング設定
- 03ローカライズされたメタデータとhreflangの準備
- 04翻訳ページとサイトマップ項目の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zhanlincui/ agent-skills-hunter --skill internationalizing-websitesインストール後、Claude Code で/internationalizing-websitesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
WORKFLOW.mdreference/locale-codes.mdhreflang-guide.mdseo-checklist.mdscripts/i18n-add-languages.mjsi18n-add-schema.js詳細
Web サイトの国際化
SEO のベストプラクティスに沿って、Next.js の Web サイトに多言語対応を追加するための完全なワークフローです。
このスキルを使用する場面
- 既存の Web サイトに新しい言語バージョンを追加する場合
- 新しい Web サイトで i18n(国際化)を設定する場合
- 複数言語向けの SEO を設定する場合
- ユーザーが「言語を追加」「翻訳」「ローカライズ」「hreflang」「多言語」に言及した場合
対応言語
主なターゲット市場:
- 🇺🇸 英語(en)- グローバル市場
- 🇯🇵 日本語(ja)- アジア市場
- 🇨🇳 中国語(zh)- 中国市場
以下の言語にも対応しています:
- 韓国語(ko)、ポルトガル語(pt)、スペイン語(es)、フランス語(fr)、ドイツ語(de)
- アラビア語(ar)、ベトナム語(vi)、ヒンディー語(hi)、インドネシア語(id)、タイ語(th)
- 繁体字中国語(zh-hk)、イタリア語(it)、ロシア語(ru)
国際化のワークフロー
このチェックリストをコピーして、進捗を記録してください。
i18n Progress:
- [ ] Step 1: Prepare base language files
- [ ] Step 2: Add new language files
- [ ] Step 3: Update configuration files
- [ ] Step 4: Add translations
- [ ] Step 5: Configure SEO elements
- [ ] Step 6: Validate and test
ステップ 1:ベース言語のファイルを準備する
英語(en.json)のファイルがテンプレートとして存在することを確認してください。
必要なディレクトリ:
i18n/messages/en.json- メインの翻訳i18n/pages/landing/en.json- ランディングページの翻訳
構造を確認する:
# Check if base files exist
ls i18n/messages/en.json
ls i18n/pages/landing/en.json
存在しない場合は、Web サイトに必要なすべての翻訳キーを含めて作成してください。
ステップ 2:新しい言語のファイルを追加する
言語追加スクリプトを実行します。
node scripts/i18n-add-languages.mjs
このスクリプトで行うこと:
en.jsonをすべてのターゲット言語のファイルにコピーしますi18n/locale.tsに新しいロケールを追加しますi18n/request.tsに言語マッピングを追加しますpublic/sitemap.xmlに新しい言語の URL を追加します
スクリプトの設定(i18n-add-languages.mjs 内):
languages配列 - 追加する言語の一覧languageNamesオブジェクト - 言語の表示名targetDirs配列 - 翻訳ファイルを含むディレクトリ
詳しい手順については、WORKFLOW.md を参照してください。
ステップ 3:設定の更新を確認する
i18n/locale.ts を確認する:
export const locales = ["en", "ja", "zh", "ko", ...];
export const localeNames: any = {
en: "English",
ja: "日本語",
zh: "中文",
ko: "한국어",
...
};
i18n/request.ts を確認する:
- 言語コードのマッピングが設定されている
zh-CN→zh、zh-HK→zh-hkのマッピングが含まれている
public/sitemap.xml を確認する:
- すべての言語バージョンが記載されている
- 各 URL に
hreflangタグがある
ステップ 4:翻訳を追加する
オプション A:AI 翻訳を使用する(より迅速ですが、レビューが必要です):
# Add structured data and pricing translations
node scripts/i18n-add-schema.js
スクリプトの translations オブジェクトで翻訳を設定してください。
オプション B:手動で翻訳する(品質を重視する場合に推奨):
各言語のファイルを編集し、適切な翻訳を追加してください。
# Open language file
code i18n/messages/ja.json
翻訳のベストプラクティス:
- 可能であればネイティブスピーカーに依頼する
- ターゲット言語の SEO キーワードを維持する
- 単に翻訳するだけでなく、現地の文化に合わせて内容を調整する
- 書式(プレースホルダー、変数)を統一する
言語コードについては、reference/locale-codes.md を参照してください。
ステップ 5:SEO 要素を設定する
hreflang タグ - サイトマップで自動設定されますが、確認してください。
詳しくは、reference/hreflang-guide.md を参照してください。
ローカライズされたメタタグ - 各言語のファイルで翻訳します。
{
"metadata": {
"title": "Your Site Title",
"description": "Your SEO description"
}
}
URL 構造 - 正しい形式になっていることを確認します。
- 英語:
https://example.com/またはhttps://example.com/en/ - 日本語:
https://example.com/ja/ - 中国語:
https://example.com/zh/
ステップ 6:検証とテスト
プロジェクトをビルドします:
npm run build
重要:続行する前に、エラーをすべて修正してください。
手動テスト:
-
言語切り替え:
- 各言語版にアクセスします
- 言語切り替えにすべての言語が表示されることを確認します
- 各言語のリンクをクリックし、正しいページが読み込まれることを確認します
-
コンテンツの表示:
- 各言語ですべてのページが正しく表示されることを確認します
- 未翻訳のテキストがないことを確認します(英語以外のページに英語が残っていないか確認します)
- 特殊文字が正しく表示されることをテストします(日本語、中国語、アラビア語)
-
SEO 要素:
<html lang="...">属性がページの言語と一致していることを確認します<link rel="alternate" hreflang="...">タグが存在することを確認します- メタタグが正しい言語になっていることを確認します
自動検証:
# Check sitemap
curl https://your-site.com/sitemap.xml | grep hreflang
# Validate hreflang (use online tool)
# Google Search Console > Internationalization > hreflang
SEO チェックリスト - reference/seo-checklist.mdを参照してください。
検証に失敗した場合:
- エラーメッセージを注意深く確認します
- 設定ファイルに誤字がないか確認します
- 言語コードが正しいことを確認します
- ステップ 3 に戻り、問題を修正します
すべての検証に合格してから続行してください。
重要な注意事項
言語コードの標準
ISO 639-1(2 文字コード)を、必要に応じて地域バリアントと組み合わせて使用します:
en- 英語ja- 日本語zh- 簡体字中国語zh-hk- 繁体字中国語(香港)pt- ポルトガル語pt-br- ブラジルポルトガル語
完全な一覧はreference/locale-codes.mdを参照してください。
SEO への影響
適切な i18n は SEO を改善します:
- ユーザーの母語で情報を提供できます
- 重複コンテンツによるペナルティを回避できます
- 検索エンジンが適切な言語版を提供しやすくなります
避けるべき一般的な SEO の誤り:
- ❌ IP に基づく自動リダイレクト(検索エンジンがすべての言語版をクロールできなくなります)
- ❌ hreflang タグの欠落(重複コンテンツの問題につながります)
- ❌ 言語間で URL 構造に一貫性がない
- ❌ メタタグが未翻訳
翻訳の品質
AI 翻訳と人間による翻訳:
- ✅ AI:迅速で費用対効果が高く、初稿の作成に適しています
- ⚠️ AI:文化的なニュアンスを見落とす場合があり、レビューが必要です
- ✅ 人間:品質が高く、文化に合わせた調整ができます
- ⚠️ 人間:時間がかかり、費用も高くなります
推奨される方法:
- AI を使って翻訳の初稿を作成します
- ネイティブスピーカーにレビューと推敲を依頼します
- 対象市場のユーザーを対象にテストします
- フィードバックに基づいて改善を重ねます
Next.js の i18n ルーティング
このシステムではルーティングに next-intl を使用します:
- URL からロケールを自動検出します
- 言語切り替えコンポーネント
- ローカライズされたナビゲーション
設定は i18n/locale.ts と i18n/request.ts にあります。
国際化後のタスク
言語を追加した後は、次の作業を行います:
- 更新したサイトマップを Google Search Console に送信します
- 言語/地域ごとに Search Console のプロパティを作成します
- Analytics で海外からの自然検索トラフィックを監視します
- 言語によってコンバージョン率が異なる場合は、翻訳の A/B テストを実施します
- 海外からのクロールエラーに関するアラートを設定します
スクリプトの場所
i18n スクリプトはすべて scripts/ ディレクトリにあります:
i18n-add-languages.mjs- 新しい言語ファイルを追加しますi18n-add-schema.js- 構造化データの翻訳を追加します
参考資料
- WORKFLOW.md - 詳細なステップごとのワークフロー
- reference/hreflang-guide.md - hreflang の実装ガイド
- reference/locale-codes.md - 言語コードのリファレンス
- reference/seo-checklist.md - 国際 SEO チェックリスト
トラブルシューティングについては、WORKFLOW.mdのトラブルシューティングのセクションを参照してください。