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本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
internationalizing-websites.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
internationalizing-websitesフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
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-CN→zh、zh-HK→zh-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
重要: 続行する前にエラーを修正してください。
手動テスト:
-
言語スイッチャー:
- 各言語バージョンにアクセスする
- 言語スイッチャーがすべての言語を表示していることを確認する
- 各言語リンクをクリックし、正しいページが読み込まれることを確認する
-
コンテンツ表示:
- すべてのページが各言語で正しくレンダリングされることを確認する
- 未翻訳のテキストがないことを確認する (非英語ページで英語がないか確認する)
- 特殊文字 (日本語、中国語、アラビア語) が正しく表示されることをテストする
-
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 translationsi18n/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.jsonto all target language files - Updates
i18n/locale.tswith new locales - Updates
i18n/request.tswith language mappings - Updates
public/sitemap.xmlwith new language URLs
Script configuration (in i18n-add-languages.mjs):
languagesarray - List of languages to addlanguageNamesobject - Language display namestargetDirsarray - 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-CN→zh,zh-HK→zh-hkmappings present
Check public/sitemap.xml:
- All language versions listed
hreflangtags 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/orhttps://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:
-
Language switcher:
- Visit each language version
- Verify language switcher shows all languages
- Click each language link, verify correct page loads
-
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)
-
SEO elements:
- Inspect
<html lang="...">attribute matches page language - Verify
<link rel="alternate" hreflang="...">tags present - Check meta tags are in correct language
- Inspect
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- Englishja- Japanesezh- Simplified Chinesezh-hk- Traditional Chinese (Hong Kong)pt- Portuguesept-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:
- Use AI to generate initial translations
- Have native speaker review and refine
- Test with target market users
- 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:
- Submit updated sitemap to Google Search Console
- Create separate Search Console properties for each language/region
- Monitor international organic traffic in Analytics
- A/B test translations if conversion rates differ by language
- Set up alerts for international crawl errors
Script Locations
All i18n scripts are in the scripts/ directory:
i18n-add-languages.mjs- Add new language filesi18n-add-schema.js- Add structured data translations
Reference Materials
- WORKFLOW.md - Detailed step-by-step workflow
- reference/hreflang-guide.md - hreflang implementation guide
- reference/locale-codes.md - Language codes reference
- reference/seo-checklist.md - International SEO checklist
For troubleshooting, see WORKFLOW.md troubleshooting section.
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (8,016 bytes)
- 📎 scripts/i18n-add-languages.mjs (12,013 bytes)
- 📎 scripts/i18n-add-schema.js (34,734 bytes)