mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
628e51ff10
The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
29 lines
1.1 KiB
Ruby
29 lines
1.1 KiB
Ruby
module AbstractController
|
|
module Translation
|
|
# Delegates to <tt>I18n.translate</tt>. Also aliased as <tt>t</tt>.
|
|
#
|
|
# When the given key starts with a period, it will be scoped by the current
|
|
# controller and action. So if you call <tt>translate(".foo")</tt> from
|
|
# <tt>PeopleController#index</tt>, it will convert the call to
|
|
# <tt>I18n.translate("people.index.foo")</tt>. This makes it less repetitive
|
|
# to translate many keys within the same controller / action and gives you a
|
|
# simple framework for scoping them consistently.
|
|
def translate(key, options = {})
|
|
if key.to_s.first == "."
|
|
path = controller_path.tr("/", ".")
|
|
defaults = [:"#{path}#{key}"]
|
|
defaults << options[:default] if options[:default]
|
|
options[:default] = defaults
|
|
key = "#{path}.#{action_name}#{key}"
|
|
end
|
|
I18n.translate(key, options)
|
|
end
|
|
alias :t :translate
|
|
|
|
# Delegates to <tt>I18n.localize</tt>. Also aliased as <tt>l</tt>.
|
|
def localize(*args)
|
|
I18n.localize(*args)
|
|
end
|
|
alias :l :localize
|
|
end
|
|
end
|