restful_authenticationをいれたんだから、まず、これをi18nで日本語化しましょうかね?
ああ、いきなり、
$ script/generate i18n ja
なんてやってるけど、そんなgenerator、rails 2.2.2には、入っていません。
んで、当然ながら、
$ script/plugin install git://github.com/amatsuda/i18n_generators.git
などとして、インストールする事に。
今回はplugin版をセレクト。
gem版もあるけどね。
で、N7 - sandbox | Ruby on Rails, iPhone開発 etc.は、凄く参考になったんだけど、ちょっと情報が古くなってたりなんかする。
i18nジェネレータは、今は、ja.ymlとmodel_ja.ymlの2つしか、生成しません。
あと、ここのやり方で、ちょっと腑に落ちないところがあったんで、オイラ的アレンジを。
続きのページ、「Rails 2.2の国際化(i18n)を試す(3) restful_authentication #2では、h1要素を、
ってしてるけど、こりゃあ、オイラ的には、
だね。
んで、model_ja.ymlは、
ja:(省略)header:user:new: 新規ユーザー登録lable:user:signup: 登録
ってな具合にする。
h1要素の「新規ユーザー登録 」は、labelじゃなくってheaderだからね:-)
あと、「エラーメッセージの日本語化」のところで、user.rbの:login、:name、:emailをrails標準のエラーメッセージを使うように変更しているけど、これは、なんかオイラ的には、嫌いなんで、
validates_presence_of :loginvalidates_length_of :login, :within => 3..40validates_uniqueness_of :loginvalidates_format_of :login, :with => Authentication.login_regex, :message => :bad_login_messagevalidates_format_of :name, :with => Authentication.name_regex, :message => :bad_name_message, :allow_nil => truevalidates_length_of :name, :maximum => 100
こんな調子に書き換えた。
んで、ja.ymlを、
activerecord:errors:(略)messages:(略)bad_login_message: "は英数字と\".\"、\"-\"、\"_\"、\"@\"のみを使用して下さい。"bad_name_message: "には不可視キャラクタと\"\\\"、\">\"、\"<\"、\"/\"を使用しないで下さい。"bad_email_message: "を正確に入力して下さい。"
こんな調子に。
あと、app/views/users/new.html.erbの書き方が、非常にマズいwww
for属性をコロしちゃってますやんwww
なんで、こんなふうに書き換えた。
<h1><%= t('header.user.new') %></h1><% @user.password = @user.password_confirmation = nil %><%= error_messages_for :user %><% form_for :user, :url => users_path do |f| -%><p><%= label_tag 'login', t('activerecord.attributes.user.login') %><br/><%= f.text_field :login %></p><p><%= label_tag 'email', t('activerecord.attributes.user.email') %><br/><%= f.text_field :email %></p><p><%= label_tag 'passoword', t('activerecord.attributes.user.password') %><br/><%= f.password_field :password %></p><p><%= label_tag 'password_confirmation', t('activerecord.attributes.user.password_confirmation') %><br/><%= f.password_field :password_confirmation %></p><p><%= submit_tag 'Sign up' %></p><% end -%>
これで、http://localhost:3000/hogehoge/users/newを見て、何も記入せずにsubmitボタンを押してみれば、日本語化しているのが確認できるでしょう。
ステキ(ハート)
0 件のコメント:
コメントを投稿