Open5

nextjsでi18nを実現するにはどのライブラリがよさそうなの?

miyatakamiyataka

前提 Next.js 10から,公式でi18n routingがサポートされている.
https://nextjs.org/docs/advanced-features/i18n-routing

しかし,これだけでは十分ではなさそう.
公式としては,localeを区別する手段を提供したよ,くらいにみえる.
よって追加でライブラリを利用する必要がありそう.

とりあえずググると上位にでてきたもの

  1. https://github.com/vinissimus/next-translate
  2. https://github.com/isaachinman/next-i18next
miyatakamiyataka

公式としては,localeを区別する手段を提供したよ,くらいにみえる.

ていうか先程の公式のリンクにはこう書いてあったな.

The i18n routing support is currently meant to complement existing i18n library solutions like react-intl, react-i18next, lingui, rosetta, and others by streamlining the routes and locale parsing.

google翻訳

i18nルーティングのサポートは、現在、ルートとロケールの解析を合理化することにより、react-intl、react-i18next、lingui、rosettaなどの既存のi18nライブラリソリューションを補完することを目的としています。
miyatakamiyataka
  • ダウンロード数は next-i18nextのほうが多い.
  • documentation(README)はnext-translateのほうが充実している印象
  • 単数複数の考慮をしているのはわりかし好印象
  • next-translateは最適化を謳っているし,たしかにi18nのために作成する翻訳ファイル?もページごとに分割させていて,なるほど感