module I18n::Gettext::Helpers
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
Public Instance Methods
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.
# File lib/i18n/gettext/helpers.rb, line 17 def N_(msgsid) msgsid end
# File lib/i18n/gettext/helpers.rb, line 21 def gettext(msgid, options = EMPTY_HASH) I18n.t(msgid, **{:default => msgid, :separator => '|'}.merge(options)) end
Also aliased as: _
# File lib/i18n/gettext/helpers.rb, line 38 def ngettext(msgid, msgid_plural, n = 1) nsgettext(msgid, msgid_plural, n) end
Also aliased as: n_
Method signatures:
npgettext('Fruits', 'apple', 'apples', 2) npgettext('Fruits', ['apple', 'apples'], 2)
# File lib/i18n/gettext/helpers.rb, line 61 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
Also aliased as: np_
Method signatures:
nsgettext('Fruits|apple', 'apples', 2) nsgettext(['Fruits|apple', 'apples'], 2)
# File lib/i18n/gettext/helpers.rb, line 46 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
Also aliased as: ns_
# File lib/i18n/gettext/helpers.rb, line 32 def pgettext(msgctxt, msgid) separator = I18n::Gettext::CONTEXT_SEPARATOR sgettext([msgctxt, msgid].join(separator), separator) end
Also aliased as: p_
# File lib/i18n/gettext/helpers.rb, line 26 def sgettext(msgid, separator = '|') scope, msgid = I18n::Gettext.extract_scope(msgid, separator) I18n.t(msgid, :scope => scope, :default => msgid, :separator => separator) end
Also aliased as: s_