A transliterator which accepts a Hash of characters as its translation rule.
# File lib/i18n/backend/transliterator.rb, line 71 def initialize(rule = nil) @rule = rule add DEFAULT_APPROXIMATIONS.dup add rule if rule end
# File lib/i18n/backend/transliterator.rb, line 77 def transliterate(string, replacement = nil) string.gsub(/[^\x00-\x7f]/) do |char| approximations[char] || replacement || DEFAULT_REPLACEMENT_CHAR end end
Add transliteration rules to the approximations hash.
# File lib/i18n/backend/transliterator.rb, line 90 def add(hash) hash.each do |key, value| approximations[key.to_s] = value.to_s end end
# File lib/i18n/backend/transliterator.rb, line 85 def approximations @approximations ||= {} end