Module: I18n::Backend::Transliterator

Included in:
Base
Defined in:
lib/i18n/backend/transliterator.rb

Defined Under Namespace

Classes: HashTransliterator, ProcTransliterator

Constant Summary

DEFAULT_REPLACEMENT_CHAR =
"?"

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Object) get(rule = nil)

Get a transliterator instance.



17
18
19
20
21
22
23
24
25
# File 'lib/i18n/backend/transliterator.rb', line 17

def self.get(rule = nil)
  if !rule || rule.kind_of?(Hash)
    HashTransliterator.new(rule)
  elsif rule.kind_of? Proc
    ProcTransliterator.new(rule)
  else
    raise I18n::ArgumentError, "Transliteration rule must be a proc or a hash."
  end
end

Instance Method Details

- (Object) transliterate(locale, string, replacement = nil)

Given a locale and a UTF-8 string, return the locale's ASCII approximation for the string.



9
10
11
12
13
14
# File 'lib/i18n/backend/transliterator.rb', line 9

def transliterate(locale, string, replacement = nil)
  @transliterators ||= {}
  @transliterators[locale] ||= Transliterator.get I18n.t(:i18n.transliterate.rule',
    :locale => locale, :resolve => false, :default => {})
  @transliterators[locale].transliterate(string, replacement)
end