Class: GettextI18nRails::Backend

Inherits:
Object
  • Object
show all
Defined in:
lib/gettext_i18n_rails/backend.rb

Overview

translates i18n calls to gettext calls

Constant Summary collapse

RUBY19 =
(RUBY_VERSION > "1.9")
@@translate_defaults =
true

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Backend

Returns a new instance of Backend.



10
11
12
# File 'lib/gettext_i18n_rails/backend.rb', line 10

def initialize(*args)
  self.backend = I18n::Backend::Simple.new(*args)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



29
30
31
# File 'lib/gettext_i18n_rails/backend.rb', line 29

def method_missing(method, *args)
  backend.send(method, *args)
end

Instance Attribute Details

#backendObject

Returns the value of attribute backend.



6
7
8
# File 'lib/gettext_i18n_rails/backend.rb', line 6

def backend
  @backend
end

Instance Method Details

#available_localesObject



14
15
16
# File 'lib/gettext_i18n_rails/backend.rb', line 14

def available_locales
  FastGettext.available_locales || []
end

#translate(locale, key, options) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/gettext_i18n_rails/backend.rb', line 18

def translate(locale, key, options)
  if gettext_key = gettext_key(key, options)
    translation =
      plural_translate(gettext_key, options) || FastGettext._(gettext_key)
    interpolate(translation, options)
  else
    result = backend.translate(locale, key, options)
    (RUBY19 and result.is_a?(String)) ? result.force_encoding("UTF-8") : result
  end
end