rails:953
From: Yugui <yugui@y...>
Date: Sat, 18 Feb 2006 17:42:35 +0900
Subject: [rails:953] Re: ロケールによるテンプレートの切り替え
On Mon, 13 Feb 2006 16:25:43 +0900 manabu togawa <togawamanabu@g...> wrote: > render :template => _('aboutus') > みたいな形にして、jpのテンプレート名を'aboutus_jp'などしてあげれば、できそうなのですが、どうせなら、Renderする時点でロケールのテンプレートを自動的に探してくれるように拡張できないかなと思ったのです。 railsの国際化対応はなんだか色々あってよく把握しておりませんが、重複を恐 れずに適当に実装してみました。 vendor/localize_templates/init.rbに下記を 置きますと、仰るような挙動になると思います。 --vendor/localize_templates/init.rb: ActionController::Base.class_eval do alias render_file_without_locale render_file private :render_file_without_locale def render_file_with_locale(template_path, status = nil, use_full_path = false, locals = {}) locale_components = locale.split('_') until locale_components.empty? localized_path = template_path + "_" + locale_components.join('_') return render_file_without_locale(localized_path, status, use_full_path, locals) if template_exists? localized_path locale_components.pop end render_file_without_locale(template_path, status, use_full_path, locals) end alias render_file render_file_with_locale def locale params[:locale] or '' end end -- ゆうき or Yugui yugui@y... http://idm.s9.xrea.com -- ML: rails@r... 使い方: http://QuickML.com/
934 2006-02-13 06:57 [togawamanabu@g... ] ロケールによるテンプレートの切り替え 935 2006-02-13 07:38 ┣[kazuhiko@f... ] 936 2006-02-13 07:42 ┗[shachi@j... ] 937 2006-02-13 08:25 ┗[togawamanabu@g... ] -> 953 2006-02-18 09:42 ┗[yugui@y... ] 957 2006-02-20 04:25 ┗[togawamanabu@g... ] 965 2006-02-26 10:33 ┗[yugui@y... ]