module Russian::Transliteration

Russian transliteration

Транслитерация для букв русского алфавита

Constants

LOWER
LOWER_MULTI
LOWER_SINGLE

Transliteration heavily based on rutils gem by Julian “julik” Tarkhanov and Co. <rutils.rubyforge.org/> Cleaned up and optimized.

MULTI_KEYS
SCAN_REGEX
UPPER
UPPER_MULTI
UPPER_SINGLE

Public Instance Methods

transliterate(str) click to toggle source

Transliterate a string with russian characters

Возвращает строку, в которой все буквы русского алфавита заменены на похожую по звучанию латиницу

# File lib/russian/transliteration.rb, line 51
def transliterate(str)
  chars = str.scan(SCAN_REGEX)

  result = ''

  chars.each_with_index do |char, index|
    result << ( LOWER[char] || ( ( upper = UPPER[char] ) ? LOWER[chars[index+1]] ? upper.capitalize : upper : char ) )
  end

  result
end