2006年12月21日 星期四

Rails Localization

reference

1.gem install gettext

2.application.rb
require 'gettext/rails'
GetText.output_charset = "UTF-8"

3.Error Message 中文化

4.app/test.rb
module ActiveRecord
class Errors
begin
@@default_error_messages.update( {
:inclusion => "ist nicht in Liste g羹ltiger Optionen enthalten",
:exclusion => "ist reserviert",
:invalid => "ist ung羹ltig",
:confirmation => "entspricht nicht der Best瓣tigung",
:accepted => "muss akzeptiert werden",
:empty => "不能是空的",
:blank => "darf nicht leer sein",
:too_long => "ist zu lang (h繹chstens %d Zeichen)",
:too_short => "ist zu kurz (mindestens %d Zeichen)",
:wrong_length => "hat eine falsche L瓣nge (es sollten %d Zeichen
sein)",
:taken => "ist schon vergeben",
:not_a_number => "不能是空的",
})
end
end
end

module ActionView #nodoc
module Helpers
module ActiveRecordHelper
def error_messages_for(object_name, options = {})
options = options.symbolize_keys
object = instance_variable_get("@#{object_name}")
unless object.errors.empty?
content_tag("div",
content_tag(
options[:header_tag] || "h2",
"一共有 #{pluralize(object.errors.count, "error")} 問題 "
) +
content_tag("p", "請更正:") +
content_tag("ul", object.errors.full_messages.collect { |msg| content_tag("li", msg) }),

"id" => options[:id] || "errorExplanation", "class" => options[:class] || "errorExplanation"
)
end
end
end
end
end

5.config/enviorment.rb
require "#{RAILS_ROOT}/app/test.rb"

沒有留言: