module I18n::Backend::Transliterator

def self.get(rule = nil)

Get a transliterator instance.
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

def transliterate(locale, string, replacement = nil)

approximation for the string.
Given a locale and a UTF-8 string, return the locale's ASCII
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