LoginSignup
3
3

More than 5 years have passed since last update.

[Rails] JSONを返すWebAPIに翻訳済み文字列を含める

Posted at

たぶん典型的にはActiveRecordにはenum型で入れていて、viewレイヤでI18nで翻訳してから表示する設計のとき。

erbと同じようにI18n.tが使える。

index.json.jbuilder
json.array!(@users) do |user|
  json.kind t("enums.user.kind.#{user.kind}")
end

なお、そもそもJSONにはenum値をそのまま入れておいて、使うときJS側で翻訳するという方法もある。
その方法だとJSONが言語依存しないので、WebAPI単体としての設計は良いのかもしれない。

ただ今回は下記の理由からWebAPIに翻訳済みの文字列を含める設計とした。

  • JS側で翻訳する方法だとI18nが使いにくい
  • WebAPIとして一般に公開する予定がない(特定のWebアプリケーションからのみ使う)
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3