Module: I18n::Gettext::Helpers

Defined in:
lib/i18n/gettext/helpers.rb

Overview

Implements classical Gettext style accessors. To use this include the module to the global namespace or wherever you want to use it.

include I18n::Gettext::Helpers

Instance Method Summary collapse

Instance Method Details

#gettext(msgid, options = {}) ⇒ Object Also known as: _


19
20
21
# File 'lib/i18n/gettext/helpers.rb', line 19

def gettext(msgid, options = {})
  I18n.t(msgid, { :default => msgid, :separator => '|' }.merge(options))
end

#N_(msgsid) ⇒ Object

Makes dynamic translation messages readable for the gettext parser. _(fruit) cannot be understood by the gettext parser. To help the parser find all your translations, you can add fruit = N_("Apple") which does not translate, but tells the parser: “Apple” needs translation.

  • msgid: the message id.

  • Returns: msgid.


15
16
17
# File 'lib/i18n/gettext/helpers.rb', line 15

def N_(msgsid)
  msgsid
end

#ngettext(msgid, msgid_plural, n = 1) ⇒ Object Also known as: n_


36
37
38
# File 'lib/i18n/gettext/helpers.rb', line 36

def ngettext(msgid, msgid_plural, n = 1)
  nsgettext(msgid, msgid_plural, n)
end

#npgettext(msgctxt, msgid, msgid_plural, n = 1) ⇒ Object Also known as: np_

Method signatures:

npgettext('Fruits', 'apple', 'apples', 2)
npgettext('Fruits', ['apple', 'apples'], 2)

59
60
61
62
63
64
65
66
67
68
69
# File 'lib/i18n/gettext/helpers.rb', line 59

def npgettext(msgctxt, msgid, msgid_plural, n = 1)
  separator = I18n::Gettext::CONTEXT_SEPARATOR

  if msgid.is_a?(Array)
    msgid_plural, msgid, n = msgid[1], [msgctxt, msgid[0]].join(separator), msgid_plural
  else
    msgid = [msgctxt, msgid].join(separator)
  end

  nsgettext(msgid, msgid_plural, n, separator)
end

#nsgettext(msgid, msgid_plural, n = 1, separator = '|') ⇒ Object Also known as: ns_

Method signatures:

nsgettext('Fruits|apple', 'apples', 2)
nsgettext(['Fruits|apple', 'apples'], 2)

44
45
46
47
48
49
50
51
52
53
# File 'lib/i18n/gettext/helpers.rb', line 44

def nsgettext(msgid, msgid_plural, n = 1, separator = '|')
  if msgid.is_a?(Array)
    msgid, msgid_plural, n, separator = msgid[0], msgid[1], msgid_plural, n
    separator = '|' unless separator.is_a?(::String)
  end

  scope, msgid = I18n::Gettext.extract_scope(msgid, separator)
  default = { :one => msgid, :other => msgid_plural }
  I18n.t(msgid, :default => default, :count => n, :scope => scope, :separator => separator)
end

#pgettext(msgctxt, msgid) ⇒ Object Also known as: p_


30
31
32
33
# File 'lib/i18n/gettext/helpers.rb', line 30

def pgettext(msgctxt, msgid)
  separator = I18n::Gettext::CONTEXT_SEPARATOR
  sgettext([msgctxt, msgid].join(separator), separator)
end

#sgettext(msgid, separator = '|') ⇒ Object Also known as: s_


24
25
26
27
# File 'lib/i18n/gettext/helpers.rb', line 24

def sgettext(msgid, separator = '|')
  scope, msgid = I18n::Gettext.extract_scope(msgid, separator)
  I18n.t(msgid, :scope => scope, :default => msgid, :separator => separator)
end