Method: Russian::Transliteration#transliterate
- Defined in:
- lib/russian/transliteration.rb
#transliterate(str) ⇒ Object
Transliterate a string with russian characters
Возвращает строку, в которой все буквы русского алфавита заменены на похожую по звучанию латиницу
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/russian/transliteration.rb', line 51 def transliterate(str) chars = str.scan(%r{#{MULTI_KEYS.join '|'}|\w|.}) result = "" chars.each_with_index do |char, index| if UPPER.has_key?(char) && LOWER.has_key?(chars[index+1]) # combined case result << UPPER[char].downcase.capitalize elsif UPPER.has_key?(char) result << UPPER[char] elsif LOWER.has_key?(char) result << LOWER[char] else result << char end end result end |