jpskill.com
💼 ビジネス コミュニティ

internationalizing-websites

Next.jsで構築されたウェブサイトに多言語対応機能を追加し、hreflangタグや言語別のサイトマップなどを適切に設定することで、国際的なSEO対策を施し、ローカライズされたコンテンツを提供するSkill。

📜 元の英語説明(参考)

Adds multi-language support to Next.js websites with proper SEO configuration including hreflang tags, localized sitemaps, and language-specific content. Use when adding new languages, setting up i18n, optimizing for international SEO, or when user mentions localization, translation, multi-language, or specific languages like Japanese, Korean, Chinese.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Next.jsで構築されたウェブサイトに多言語対応機能を追加し、hreflangタグや言語別のサイトマップなどを適切に設定することで、国際的なSEO対策を施し、ローカライズされたコンテンツを提供するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o internationalizing-websites.zip https://jpskill.com/download/21257.zip && unzip -o internationalizing-websites.zip && rm internationalizing-websites.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21257.zip -OutFile "$d\internationalizing-websites.zip"; Expand-Archive "$d\internationalizing-websites.zip" -DestinationPath $d -Force; ri "$d\internationalizing-websites.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して internationalizing-websites.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → internationalizing-websites フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
3

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

ウェブサイトの国際化

Next.js ウェブサイトに多言語サポートを追加し、SEO のベストプラクティスを適用するための完全なワークフローです。

このスキルを使用するタイミング

  • 既存のウェブサイトに新しい言語バージョンを追加する場合
  • 新しいウェブサイトの i18n (国際化) を設定する場合
  • 複数の言語の SEO を設定する場合
  • ユーザーの言及: 「言語を追加する」、「翻訳」、「ローカライゼーション」、「hreflang」、「多言語」

サポートされている言語

一般的なターゲット市場:

  • 🇺🇸 英語 (en) - グローバル市場
  • 🇯🇵 日本語 (ja) - アジア市場
  • 🇨🇳 中国語 (zh) - 中国市場

拡張サポートが利用可能な言語:

  • 韓国語 (ko)、ポルトガル語 (pt)、スペイン語 (es)、フランス語 (fr)、ドイツ語 (de)
  • アラビア語 (ar)、ベトナム語 (vi)、ヒンディー語 (hi)、インドネシア語 (id)、タイ語 (th)
  • 繁体字中国語 (zh-hk)、イタリア語 (it)、ロシア語 (ru)

国際化ワークフロー

このチェックリストをコピーして、進捗状況を追跡してください。

i18n 進捗状況:
- [ ] ステップ 1: ベース言語ファイルを準備する
- [ ] ステップ 2: 新しい言語ファイルを追加する
- [ ] ステップ 3: 設定ファイルを更新する
- [ ] ステップ 4: 翻訳を追加する
- [ ] ステップ 5: SEO 要素を設定する
- [ ] ステップ 6: 検証とテスト

ステップ 1: ベース言語ファイルを準備する

英語 (en.json) ファイルがテンプレートとして存在することを確認してください。

必須ディレクトリ:

  • i18n/messages/en.json - メインの翻訳
  • i18n/pages/landing/en.json - ランディングページの翻訳

構造の確認:

# ベースファイルが存在するか確認
ls i18n/messages/en.json
ls i18n/pages/landing/en.json

不足している場合は、ウェブサイトの完全な翻訳キーで作成してください。

ステップ 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-CNzhzh-HKzh-hk のマッピングが存在すること

public/sitemap.xml を確認:

  • すべての言語バージョンがリストされていること
  • 各 URL に hreflang タグが存在すること

ステップ 4: 翻訳を追加する

オプション A: AI 翻訳を使用する (高速ですがレビューが必要です):

# 構造化データと価格設定の翻訳を追加
node scripts/i18n-add-schema.js

スクリプトの translations オブジェクトで翻訳を設定してください。

オプション B: 手動翻訳 (品質のために推奨):

各言語ファイルを適切な翻訳で編集してください。

# 言語ファイルを開く
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

重要: 続行する前にエラーを修正してください。

手動テスト:

  1. 言語スイッチャー:

    • 各言語バージョンにアクセスする
    • 言語スイッチャーがすべての言語を表示していることを確認する
    • 各言語リンクをクリックし、正しいページが読み込まれることを確認する
  2. コンテンツ表示:

    • すべてのページが各言語で正しくレンダリングされることを確認する
    • 未翻訳のテキストがないことを確認する (非英語ページで英語がないか確認する)
    • 特殊文字 (日本語、中国語、アラビア語) が正しく表示されることをテストする
  3. SEO 要素:

    • <html lang="..."> 属性がページ言語と一致することを確認する
    • <link rel="alternate" hreflang="..."> タグが存在することを確認する
    • メタタグが正しい言語であることを確認する

自動検証:

# サイトマップを確認
curl https://your-site.com/sitemap.xml | grep hreflang

# hreflang を検証 (オンラインツールを使用)
# 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 翻訳 vs 人間による翻訳:

  • ✅ AI: F
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Internationalizing Websites

Complete workflow for adding multi-language support to Next.js websites with SEO best practices.

When to use this Skill

  • Adding new language versions to existing website
  • Setting up i18n (internationalization) for new website
  • Configuring SEO for multiple languages
  • User mentions: "add language", "translation", "localization", "hreflang", "multi-language"

Supported Languages

Common target markets:

  • 🇺🇸 English (en) - Global market
  • 🇯🇵 Japanese (ja) - Asian market
  • 🇨🇳 Chinese (zh) - Chinese market

Extended support available for:

  • Korean (ko), Portuguese (pt), Spanish (es), French (fr), German (de)
  • Arabic (ar), Vietnamese (vi), Hindi (hi), Indonesian (id), Thai (th)
  • Traditional Chinese (zh-hk), Italian (it), Russian (ru)

Internationalization Workflow

Copy this checklist and track your progress:

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

Step 1: Prepare base language files

Ensure English (en.json) files exist as templates:

Required directories:

  • i18n/messages/en.json - Main translations
  • i18n/pages/landing/en.json - Landing page translations

Verify structure:

# Check if base files exist
ls i18n/messages/en.json
ls i18n/pages/landing/en.json

If missing, create them with complete translation keys for your website.

Step 2: Add new language files

Run the language addition script:

node scripts/i18n-add-languages.mjs

What this script does:

  • Copies en.json to all target language files
  • Updates i18n/locale.ts with new locales
  • Updates i18n/request.ts with language mappings
  • Updates public/sitemap.xml with new language URLs

Script configuration (in i18n-add-languages.mjs):

  • languages array - List of languages to add
  • languageNames object - Language display names
  • targetDirs array - Directories containing translation files

See WORKFLOW.md for detailed step-by-step guide.

Step 3: Verify configuration updates

Check i18n/locale.ts:

export const locales = ["en", "ja", "zh", "ko", ...];

export const localeNames: any = {
  en: "English",
  ja: "日本語",
  zh: "中文",
  ko: "한국어",
  ...
};

Check i18n/request.ts:

  • Language code mappings configured
  • zh-CNzh, zh-HKzh-hk mappings present

Check public/sitemap.xml:

  • All language versions listed
  • hreflang tags present for each URL

Step 4: Add translations

Option A: Using AI translation (faster but needs review):

# Add structured data and pricing translations
node scripts/i18n-add-schema.js

Configure translations in the script's translations object.

Option B: Manual translation (recommended for quality):

Edit each language file with proper translations:

# Open language file
code i18n/messages/ja.json

Translation best practices:

  • Use native speakers when possible
  • Maintain SEO keywords in target language
  • Adapt content to local culture, don't just translate
  • Keep formatting consistent (placeholders, variables)

See reference/locale-codes.md for language code reference.

Step 5: Configure SEO elements

hreflang tags - Automatic via sitemap, but verify:

See reference/hreflang-guide.md for complete guide.

Localized meta tags - Translate in each language file:

{
  "metadata": {
    "title": "Your Site Title",
    "description": "Your SEO description"
  }
}

URL structure - Verify correct format:

  • English: https://example.com/ or https://example.com/en/
  • Japanese: https://example.com/ja/
  • Chinese: https://example.com/zh/

Step 6: Validate and test

Build the project:

npm run build

CRITICAL: Fix any errors before proceeding.

Manual testing:

  1. Language switcher:

    • Visit each language version
    • Verify language switcher shows all languages
    • Click each language link, verify correct page loads
  2. Content display:

    • Check all pages render correctly in each language
    • Verify no untranslated text (check for English in non-English pages)
    • Test special characters display correctly (Japanese, Chinese, Arabic)
  3. SEO elements:

    • Inspect <html lang="..."> attribute matches page language
    • Verify <link rel="alternate" hreflang="..."> tags present
    • Check meta tags are in correct language

Automated validation:

# Check sitemap
curl https://your-site.com/sitemap.xml | grep hreflang

# Validate hreflang (use online tool)
# Google Search Console > Internationalization > hreflang

SEO checklist - See reference/seo-checklist.md.

If validation fails:

  • Review error messages carefully
  • Check configuration files for typos
  • Verify language codes are correct
  • Return to Step 3 and fix issues

Only proceed when all validations pass.

Important Notes

Language Code Standards

Use ISO 639-1 (two-letter codes) with optional regional variants:

  • en - English
  • ja - Japanese
  • zh - Simplified Chinese
  • zh-hk - Traditional Chinese (Hong Kong)
  • pt - Portuguese
  • pt-br - Brazilian Portuguese

See reference/locale-codes.md for complete list.

SEO Implications

Correct i18n improves SEO by:

  • Targeting users in their native language
  • Avoiding duplicate content penalties
  • Helping search engines serve correct language version

Common SEO mistakes to avoid:

  • ❌ Auto-redirect based on IP (prevents search engines from crawling all versions)
  • ❌ Missing hreflang tags (causes duplicate content issues)
  • ❌ Inconsistent URL structure across languages
  • ❌ Untranslated meta tags

Translation Quality

AI translation vs Human translation:

  • ✅ AI: Fast, cost-effective, good for initial draft
  • ⚠️ AI: May miss cultural nuances, needs review
  • ✅ Human: Better quality, cultural adaptation
  • ⚠️ Human: Slower, more expensive

Recommended approach:

  1. Use AI to generate initial translations
  2. Have native speaker review and refine
  3. Test with target market users
  4. Iterate based on feedback

Next.js i18n Routing

The system uses next-intl for routing:

  • Automatic locale detection from URL
  • Language switcher component
  • Localized navigation

Configuration in i18n/locale.ts and i18n/request.ts.

Post-Internationalization Tasks

After adding languages:

  1. Submit updated sitemap to Google Search Console
  2. Create separate Search Console properties for each language/region
  3. Monitor international organic traffic in Analytics
  4. A/B test translations if conversion rates differ by language
  5. Set up alerts for international crawl errors

Script Locations

All i18n scripts are in the scripts/ directory:

  • i18n-add-languages.mjs - Add new language files
  • i18n-add-schema.js - Add structured data translations

Reference Materials

For troubleshooting, see WORKFLOW.md troubleshooting section.

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。