Module | I18n::Backend::Base |
In: |
lib/active_support/vendor/i18n-0.3.7/i18n/backend/base.rb
|
RESERVED_KEYS | = | [:scope, :default, :separator, :resolve] |
INTERPOLATION_SYNTAX_PATTERN | = | /(\\)?\{\{([^\}]+)\}\}/ |
Returns an array of locales for which translations are available ignoring the reserved translation meta data key :i18n.
Accepts a list of paths to translation files. Loads translations from plain Ruby (*.rb) or YAML files (*.yml). See load_rb and load_yml for details.
Acts the same as strftime, but uses a localized version of the format string. Takes a key from the date/time formats translations as a format argument (e.g., :short in :’date.formats‘).
Stores translations for the given locale in memory. This uses a deep merge for the translations hash, so existing translations will be overwritten by new ones only at the deepest level of the hash.
Evaluates defaults. If given subject is an Array, it walks the array and returns the first translation that can be resolved. Otherwise it tries to resolve the translation directly.
Interpolates values into a given string.
interpolate "file {{file}} opened by \\{{user}}", :file => 'test.txt', :user => 'Mr. X' # => "file test.txt opened by {{user}}"
Note that you have to double escape the \ when you want to escape the {{…}} key in a string (once for the string and once for the interpolation).
returns true when the given value responds to :call and the key is an interpolation placeholder in the given string
Loads a single translations file by delegating to load_rb or load_yml depending on the file extension and directly merges the data to the existing translations. Raises I18n::UnknownFileType for all other file extensions.
Loads a plain Ruby translations file. eval‘ing the file must yield a Hash containing translation data with locales as toplevel keys.
Looks up a translation from the translations hash. Returns nil if eiher key is nil, or locale, scope or key do not exist as a key in the nested translations hash. Splits keys or scopes containing dots into multiple keys, i.e. currency.format is regarded the same as %w(currency format).
Deep merges the given translations hash with the existing translations for the given locale
Picks a translation from an array according to English pluralization rules. It will pick the first translation if count is not equal to 1 and the second translation if it is equal to 1. Other backends can implement more flexible or complex pluralization rules.