Next.jsi18nアーキテクチャ
なぜプロジェクト途中でBlogのi18nアーキテクチャを変更したか
May 21, 20263 min read
なぜプロジェクト途中でBlogのi18nアーキテクチャを変更したか
今日は、6个月前に就应该やったリファクタリングについて书きたい。
3ファイル構成の問題点
私のブログは理论上はシンプルな構成だった: /en/post-slug/、/ja/post-slug/、/zh/post-slug/。3つのディレクトリ、3つのファイル、3つの言語。理解しやすい。
でも实际にはこうなった:新しい記事を书いて、英语版を作成して发布して、そして...日本語と中国語のページはただ英语を表示していただけだった。「後で翻译する」と自分に言い聞かせ続けた。後から見ると、その「后来」は来なかった。
6个月後、私の8つの投稿には实际上英语のコピペだった日本語コンテンツがあった。语言スイッチャーは壊れて見えた。「日本語」をクリックした访问者は、英语のコンテンツと中途半端に翻译されたフロントマターを見ていた。
解决方法:1ファイル、全言語
新しいアーキテクチャではすべてを单一のMDXファイルに入れる:
---
slug: post-name
date: 2026-05-21
en:
title: English Title
content: |
English body...
ja:
title: 日本語タイトル
content: |
日本語の本文...
zh:
title: 中文标题
content: |
中文正文...
---
もう「后来」はない — 3つの言語はすべて同じファイルに存在しなければならない。英语を追加したら、同時に日本語と中国語も追加している。スキーマが完全性を强制する。
主な教训
10件の投稿の移行は痛苦だったか?はい。後悔しているか?いいえ。今、誰かが语言スイッチャーをクリックすると、实际の翻译済みコンテンツがもらえる。それがリファクタリングに値した。
💬 交流とフィードバック
すべてのフィードバックを真剣に読んでいます。
記事について質問がある、誤りを見つけた、技術や生活について交流したい場合は、お気軽に Telegram でご連絡ください。