module Japanese::ToRomaji

Constants

BASIC_HIRAGANA_MAP
DOUBLED_CONSONANT_HIRAGANA_MAP
SMALL_COMBO_HIRAGANA_MAP
SPECIALS
TRIPLE_CHAR_HIRAGANA_MAP

Public Class Methods

convert_hiragana(string) click to toggle source

Converts a hiragana string into Roman letters

# File lib/japanese/to_romaji.rb, line 180
def self.convert_hiragana(string)
  hierarchy = [TRIPLE_CHAR_HIRAGANA_MAP, DOUBLED_CONSONANT_HIRAGANA_MAP, SMALL_COMBO_HIRAGANA_MAP, BASIC_HIRAGANA_MAP, SPECIALS]
  hierarchy.length.times do |n|
    # Stringify the keys so that you can use them in the Regex in the loop.
    hierarchy[n].stringify_keys!
    hierarchy[n].each do |k, v|
      mtch = Regexp.new k
      if mtch.match(string)
        string.gsub!(mtch, v)
      end
    end
  end
  return string
end