Class: TranslitRules

Inherits:
Object
  • Object
show all
Defined in:
lib/translit_rules.rb

Constant Summary collapse

RULES =

arrays: [output, predecessor-rule, successor-rule, softener-if-0] source: mainly secure.wikimedia.org/wikipedia/de/wiki/Kyrillisch#Russisch

{
  'а' => [
    ['a', /.*/, /.*/, 1]
  ],
  'б' => [
    ['b', /.*/, /.*/, 1]
  ],
  'в' => [
    ['v', /.*/, /.*/, 1], #sc, en
    ['w', /.*/, /.*/, 1] #de
  ],
  'г' => [
    ['g', /.*/, /.*/, 1],
    ['w', /[eo]/, /o/, 1] #de bei genitiv-wendung
  ],
  'д' => [
    ['d', /.*/, /.*/, 1]
  ],
  'е' => [
    ['e', /.*/, /.*/, 1],
    ['je', /^$|[аоуыэяёюиеь]/, /.*/, 1], #de, am anfang oder nach vokal
    ['ye', /^$|[аоуыэяёюиеь]/, /.*/, 1], #en, ''
    ['jo', /[р]/, /.*/, 1]  #de, not official, for book_id 44460
  ],
  'ё' => [
    ['ë', /.*/, /.*/, 1], #sc
    ['jo', /[^жчшщ]/, /.*/, 1], #de
    ['e', /[жчшщ]/, /.*/, 1], #de
    ['yo', /[^жчшщ]/, /.*/, 1], #en
    ['o', /[жчшщ]/, /.*/, 1] #en
  ],
  'ж' => [
    #['ž', /.*/, /.*/, 1], #sc
    ['z', /.*/, /.*/, 1], #sc
    ['sch', /.*/, /.*/, 1], #de
    ['sh', /.*/, /.*/, 1], #de (ddr?)
    ['zh', /.*/, /.*/, 1], #en
  ],
  'з' => [
    ['z', /.*/, /.*/, 1], #sc, en
    ['s', /.*/, /.*/, 1], #de
  ],
  'и' => [
    ['i', /.*/, /.*/, 1], #sc, en, de
    ['ji', /ь/, /.*/, 1], #de
    ['yi', /ь/, /.*/, 1], #en
  ],
  'й' => [
    ['j', /.*/, /.*/, 1], #sc
    ['i', /.*/, /.*/, 1], #de, sometimes also 'j', but that's already covered with sc.
    ['y', /.*/, /.*/, 1], #en
  ],
  'к' => [
    ['k', /.*/, /.*/, 1], #sc, de, en
    #['x', /.*/, /c/, 1], #de?
  ],
  'л' => [
    ['l', /.*/, /.*/, 1], #sc, de, en
  ],
  'м' => [
    ['m', /.*/, /.*/, 1], #sc, de, en
  ],
  'н' => [
    ['n', /.*/, /.*/, 1], #sc, de, en
  ],
  'о' => [
    ['o', /.*/, /.*/, 1], #sc, de, en
    ['jo', /ь/, /.*/, 1], #de
    ['yo', /ь/, /.*/, 1], #en
  ],
  'п' => [
    ['p', /.*/, /.*/, 1], #sc, de, en
  ],
  'р' => [
    ['r', /.*/, /.*/, 1], #sc, de, en
  ],
  'с' => [
    ['s', /.*/, /.*/, 1], #sc, de, en
    ['ss', /[аоуыэяёюие]/, /[аоуыэяёюие]/, 1], #de, between vowels
  ],
  'т' => [
    ['t', /.*/, /.*/, 1], #sc, de, en
  ],
  'у' => [
    ['u', /.*/, /.*/, 1], #sc, de, en
  ],
  'ф' => [
    ['f', /.*/, /.*/, 1], #sc, de, en
  ],
  'х' => [
    ['ch', /.*/, /.*/, 1], #sc, de
    ['kh', /.*/, /.*/, 1], #en
    ['h', /.*/, /.*/, 1], #not officially, for author of book_id 37718
  ],
  'ц' => [
    ['c', /.*/, /.*/, 1], #sc
    ['z', /.*/, /.*/, 1], #de
    ['ts', /.*/, /.*/, 1], #en
  ],
  'ч' => [
    #['č', /.*/, /.*/, 1], #sc
    ['c', /.*/, /.*/, 1], #sc
    ['tsch', /.*/, /.*/, 1], #de
    ['ch', /.*/, /.*/, 1], #en
  ],
  'ш' => [
    #['š', /.*/, /.*/, 1], #sc
    ['s', /.*/, /.*/, 1], #sc
    ['sch', /.*/, /.*/, 1], #de
    ['sh', /.*/, /.*/, 1], #en
  ],
  'щ' => [
    #['šč', /.*/, /.*/, 1], #sc
    ['sc', /.*/, /.*/, 1], #sc
    ['schtsch', /.*/, /.*/, 1], #de
    #['stsch', /.*/, /.*/, 1], #de (ddr)
    ['shch', /.*/, /.*/, 1], #en
  ],
  'ъ' => [
    ['"', /.*/, /.*/, 1], #sc
    #hardener, generally not transcribed for de and en
  ],
  'ы' => [
    ['y', /.*/, /.*/, 1], #sc, de, en
  ],
  'ь' => [
    ["'", /.*/, /.*/, 1], #sc
  ],
  'э' => [
    ["ė", /.*/, /.*/, 1], #sc
    ["e", /.*/, /.*/, 1], #de, en
  ],
  'ю' => [
    ["ju", /.*/, /.*/, 1], #sc, de
    ["yu", /.*/, /.*/, 1], #en
  ],
  'я' => [
    ["ja", /.*/, /.*/, 1], #sc, de
    ["ya", /.*/, /.*/, 1], #en
  ]
}

Class Method Summary collapse

Class Method Details

.rulesObject



4
5
6
# File 'lib/translit_rules.rb', line 4

def self.rules
  RULES
end