阿珏のBlog の国際化への道
最近、個人ブログに「大改修」を施しました。 単一言語バージョンから多言語サイト(簡体字中国語、繁体字中国語、英語、日本語)にアップグレードし、 その全プロセスを自動化しました。💪 主な内容は以下の通りです。 メインサイトの記事を自動同期 コンテンツを自動AI翻訳 多言語サイトの自動構築とデプロイ なぜ Hugo を選んだのか? それは、その自信に満ちたスローガンがあったからです。 “The world’s fastest framework for building websites.” —— この一言で、これに決めました 😆。 しかし、私は「一つのテーマで多言語を切り替える」という伝統的な方法ではなく、 各言語に独立したテーマを持たせることにしました。 これにより、各言語バージョンが独自のデザインとレイアウトスタイルを保持し、 真に「文化的なローカライゼーション」を実現できます。 設計目標と制約 🎯 言語: 簡体字中国語、繁体字中国語、英語、日本語をサポートし、将来的に拡張可能。 テーマ: 各言語に最適な Hugo テーマを使用し、無理に再利用しない。 コンテンツ同期: 全言語で一つのコンテンツリポジトリを共有し、必要に応じて翻訳。 デプロイ戦略: 各言語を独立して構築・公開し、異なるブランチやドメインにデプロイ可能。 カスタムページ: 「友だちリンク」、「書斎」、「アーカイブ」などのページは、多言語で一貫した体験を維持する。 多言語設定戦略 🧩 各言語用に個別の設定ファイルを用意しました。 config/<lang>.toml で、主に以下の役割を担います。 テーマの指定(例: theme = "PaperMod")。 その言語固有の title / description / keywords の定義。 異なるテーマのナビゲーション構造に合わせるためのメニュー設定 [[params.menu]] の上書き。 全体的な視覚的一貫性を保証するためのカスタムスタイルの注入。 この構造は非常に明確で、将来的にさらに多くの言語バージョンを拡張するのにも便利です。 GitHub Actions 自動デプロイマトリックス ⚙️ CI/CD 部分は完全に GitHub Actions に任せています。 .github/workflows/hugo.yml では、マトリックスビルドを使用し、 各言語を独立して構築・公開しています。 ...