29 lines
780 B
Ruby
29 lines
780 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module I18n
|
||
|
module Gettext
|
||
|
PLURAL_SEPARATOR = "\001"
|
||
|
CONTEXT_SEPARATOR = "\004"
|
||
|
|
||
|
autoload :Helpers, 'i18n/gettext/helpers'
|
||
|
|
||
|
@@plural_keys = { :en => [:one, :other] }
|
||
|
|
||
|
class << self
|
||
|
# returns an array of plural keys for the given locale or the whole hash
|
||
|
# of locale mappings to plural keys so that we can convert from gettext's
|
||
|
# integer-index based style
|
||
|
# TODO move this information to the pluralization module
|
||
|
def plural_keys(*args)
|
||
|
args.empty? ? @@plural_keys : @@plural_keys[args.first] || @@plural_keys[:en]
|
||
|
end
|
||
|
|
||
|
def extract_scope(msgid, separator)
|
||
|
scope = msgid.to_s.split(separator)
|
||
|
msgid = scope.pop
|
||
|
[scope, msgid]
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|