最近 Node.js な Web アプリケーションの多言語対応について調べる機会があったので、自分なりの考えをまとめておく。 結論としては、特にライブラリを使わず、自前の実装で片付けてしまうことにした。 誰でも思いつきそうな至極単純な発想なのだけれど、調べた限りこういう情報が出てこなかったので、記事にすることで誰かのお役に立てれば幸い。 既存ライブラリに対する不満: 静的型付を実現できない1 TypeScript ユーザーにとっては、以下のようなものがコンパイル時ではなく、 実行時のエラーになるのは耐え難い。 message の key の typo message の引数の typo, 過不足, 型違い 異なる言語間で message の定義に一貫性がない ピンと来ない人向けに、それなりに人気のありそうな i18next という package の記法を例として書いておく。 [参考] i