Class: Bella::Latinizer
- Inherits:
-
Object
- Object
- Bella::Latinizer
- Defined in:
- lib/bella/latinizer.rb
Overview
Latinizer is a module that provides methods for converting cyrillic text to latin.
Constant Summary collapse
- VOWELS =
%w[а е ё і у ы э ю я].freeze
- POTENTIALLY_SOFT_CONSONANTS =
{ "н" => %w[n ń], "с" => %w[s ś], "ц" => %w[c ć], "з" => %w[z ź] }.freeze
- CONVERSION_RULES =
{ "а" => "a", "э" => "e", "ы" => "y", "у" => "u", "ў" => "ŭ", "б" => "b", "в" => "v", "г" => "h", "ґ" => "g", "д" => "d", "ж" => "ž", "й" => "j", "к" => "k", "м" => "m", "о" => "o", "п" => "p", "р" => "r", "т" => "t", "ф" => "f", "ч" => "č", "ш" => "š", "х" => "ch" }.freeze
- J_CONVERSION_RULES =
{ "е" => "e", "ё" => "o", "і" => "", "ю" => "u", "я" => "a" }.freeze
- NON_ALPHA_OR_SPECIAL =
/[^[:alpha:]]|[ьъ']/
Class Method Summary collapse
Class Method Details
.latinize(text) ⇒ Object
27 28 29 30 31 |
# File 'lib/bella/latinizer.rb', line 27 def latinize(text) text.each_char.with_index.map do |char, index| convert_char(char, text, index) end.join end |