class I18n::Backend::Transliterator::HashTransliterator
A transliterator which accepts a Hash of characters as its translation rule.
Constants
- DEFAULT_APPROXIMATIONS
Public Class Methods
new(rule = nil)
click to toggle source
# File lib/i18n/backend/transliterator.rb, line 74 def initialize(rule = nil) @rule = rule add_default_approximations add rule if rule end
Public Instance Methods
transliterate(string, replacement = nil)
click to toggle source
# File lib/i18n/backend/transliterator.rb, line 80 def transliterate(string, replacement = nil) replacement ||= DEFAULT_REPLACEMENT_CHAR string.gsub(/[^\x00-\x7f]/u) do |char| approximations[char] || replacement end end
Private Instance Methods
add(hash)
click to toggle source
Add transliteration rules to the approximations hash.
# File lib/i18n/backend/transliterator.rb, line 100 def add(hash) hash.each do |key, value| approximations[key.to_s] = value.to_s end end
add_default_approximations()
click to toggle source
# File lib/i18n/backend/transliterator.rb, line 93 def add_default_approximations DEFAULT_APPROXIMATIONS.each do |key, value| approximations[key] = value end end
approximations()
click to toggle source
# File lib/i18n/backend/transliterator.rb, line 89 def approximations @approximations ||= {} end