scala libraryDependencies += "com.github.tototoshi" %% "scala-yaml" % "1.3.0" yaml en: greeting: "Hello" goodbye: "Goodbye" zh: scala import java.io.File import com.github.tototoshi.csv.CSVReader import net.jcazevedo.moultingyaml._ object I18n { private val translationsFilePath = "translations.yaml" private val translations = YAMLParser.load(new File(translationsFilePath)).convertTo[Translations] def t(key: String, lang: String): String = { translations.translations.getOrElse(lang, Map.empty).getOrElse(key, key) } case class Translations(translations: Map[String, Map[String, String]]) object TranslationsProtocol extends DefaultYamlProtocol { implicit val translationsFormat: YamlFormat[Translations] = yamlFormat1(Translations) } } scala import I18n._ val greeting = t("greeting", "en") val goodbye = t("goodbye", "zh")


上一篇:
下一篇:
切换中文