Class I18n::Backend::Simple
In: lib/active_support/vendor/i18n-0.0.1/i18n/backend/simple.rb
Parent: Object

Methods

Constants

INTERPOLATION_RESERVED_KEYS = %w(scope default)
MATCH = /(\\\\)?\{\{([^\}]+)\}\}/

Public Instance methods

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 returns a localized version of the formatted date 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.

Protected Instance methods

Return a new hash with all keys and nested keys converted to symbols.

Evaluates a default translation. If the given default is a String it is used literally. If it is a Symbol it will be translated with the given options. If it is an Array the first translation yielded will be returned.

I.e., default(locale, [:foo, ‘default’]) will return default if translate(locale, :foo) does not yield a result.

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).

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.

Loads a YAML translations file. The data must have 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.

[Validate]