方法
实例公共方法
localize(object, **options) 链接
委托给 I18n.localize
。
也被称为:l
源代码:显示 | 在 GitHub 上
# File actionpack/lib/abstract_controller/translation.rb, line 37 def localize(object, **options) I18n.localize(object, **options) end
translate(key, **options) 链接
委托给 I18n.translate
。
当给定键以句点开头时,它将被当前控制器和操作范围化。所以如果你从 PeopleController#index
调用 translate(".foo")
,它会将调用转换为 I18n.translate("people.index.foo")
。这使得在一个控制器/操作中翻译多个键变得不那么重复,并为你提供了一个简单一致地对其进行范围化的框架。
也被称为:t
源代码:显示 | 在 GitHub 上
# File actionpack/lib/abstract_controller/translation.rb, line 17 def translate(key, **options) if key&.start_with?(".") path = controller_path.tr("/", ".") defaults = [:"#{path}#{key}"] defaults << options[:default] if options[:default] options[:default] = defaults.flatten key = "#{path}.#{action_name}#{key}" end if options[:default] && ActiveSupport::HtmlSafeTranslation.html_safe_translation_key?(key) options[:default] = Array(options[:default]).map do |value| value.is_a?(String) ? ERB::Util.html_escape(value) : value end end ActiveSupport::HtmlSafeTranslation.translate(key, **options) end