21
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Phoenixのlocaleを日本語に設定して、エラーメッセージを日本語にする

Last updated at Posted at 2016-01-01

Phoenix 1.1.0 から gettext に対応しました。日本語の.poファイルを用意し、locale を設定することでエラーメッセージを日本語に変更することができるようになりましたので、方法を共有します。

設定方法

GitHubで公開している日本語の.poファイルの説明そのままなので、説明自体は割愛します。

このファイルを適用すると、モデルの changeset/2 で何も設定しなくても、このようにエラーメッセージが日本語で表示されるようになります。

スクリーンショット 2016-01-01 16.46.15.png

メッセージの置き換え

標準でメッセージが設定されている関数(Ecto.Changesetとか)では、message オプションを指定すると、メッセージを任意の文字列で置き換えることができます。標準の日本語訳だとしっくりこない場合、便利かと思います。

例)

model
|> cast(params, @required_fields, @optional_fields)
|> validate_length(:password, min: 2, max: 4)
|> validate_format(:password, ~r/^[0-9]*$/, [message: "数字以外が設定されてるよ!"])
21
18
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
21
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?