Methods

FastGettext::Translation

this module should be included Responsibility:

- direct translation queries to the current repository
- handle untranslated values
- understand / enforce namespaces
- decide which plural form is used

Public Instance Methods

N_(translate) click to toggle source

tell gettext: this string need translation (will be found during parsing)

# File lib/fast_gettext/translation.rb, line 53
def N_(translate)
  translate
end
Nn_(*keys) click to toggle source

tell gettext: this string need translation (will be found during parsing)

# File lib/fast_gettext/translation.rb, line 58
def Nn_(*keys)
  keys
end
_(key) click to toggle source
# File lib/fast_gettext/translation.rb, line 20
def _(key)
  FastGettext.cached_find(key) or key
end
n_(*keys) click to toggle source

translate pluralized

some languages have up to 4 plural forms...
n_(singular, plural, plural form 2, ..., count)
n_('apple','apples',3)
# File lib/fast_gettext/translation.rb, line 28
def n_(*keys)
  count = keys.pop
  translations = FastGettext.cached_plural_find *keys

  selected = FastGettext.pluralisation_rule.call(count)
  selected = (selected ? 1 : 0) unless selected.is_a? Numeric #convert booleans to numbers

  result = translations[selected]
  if result
    result
  elsif keys[selected]
    _(keys[selected])
  else
    keys.last
  end
end
ns_(*args) click to toggle source
# File lib/fast_gettext/translation.rb, line 62
def ns_(*args)
  n_(*args).split(NAMESPACE_SEPARATOR).last
end
s_(key,separator=nil) click to toggle source

translate, but discard namespace if nothing was found

Car|Tire -> Tire if no translation could be found
# File lib/fast_gettext/translation.rb, line 47
def s_(key,separator=nil)
  translation = FastGettext.cached_find(key) and return translation
  key.split(separator||NAMESPACE_SEPARATOR).last
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.