All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sd.util.Romanize.scala Maven / Gradle / Ivy

There is a newer version: 2.2.0
Show newest version
package sd.util

import scala.collection.mutable

object Romanize {
  private val RomanizedChars: Map[Char, Char] = Map(
    "ÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬ" -> 'A',
    "àáảãạăằắẳẵặâầấẩẫậ" -> 'a',
    "Đ" -> 'D', "đ" -> 'd',
    "ÈÉẺẼẸÊỀẾỂỄỆ" -> 'E',
    "èéẻẽẹêềếểễệ" -> 'e',
    "ÌÍỈĨỊ" -> 'I',
    "ìíỉĩị" -> 'i',
    "ÒÓỎÕỌÔỒỐỔỖỘƠỜỚỞỠỢ" -> 'O',
    "òóỏõọôồốổỗộơờớởỡợ" -> 'o',
    "ÙÚỦŨỤƯỪỨỬỮỰ" -> 'U',
    "ùúủũụưừứửữự" -> 'u',
    "ỲÝỶỸỴ" -> 'Y',
    "ỳýỷỹỵ" -> 'y'
  ).foldLeft(mutable.Map.empty[Char, Char]) {
      case (ret, (s, c)) => s.foreach(k => ret(k) = c); ret
    }.toMap

  def apply(s: String) = s.map(c => RomanizedChars.getOrElse(c, c))
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy