Clojure
ClojureScript
I18n

現在ClojureScriptで作っている物の国際化が必要なのでサクっと名前だけ知ってたtempuraというライブラリを使ってみた。

特徴

  • 簡単に使える
  • 動的に文字列を生成できる
  • 文字列以外も返却できる
  • インラインでフォールバックを指定できるので段階的に導入できる

インストール

:dependencies[com.taoensso/tempura "1.1.2"]を追加する。

用意するもの

辞書的なデータを用意する

(def dict
  {:en {:foo "en foo"
        :dynamic-foo "foo %1 %2"}
   :jp {:foo "jp foo"}})

使い方

(require '[taoensso.tempura :refer [tr]])

(tr {:dict dict} [:en] [:foo])
=> "en foo"

(tr {:dict dict} [:jp] [:foo])
=> "jp foo"

(tr {:dict dict} [:en] [:dynamic-foo] ["bar" "baz"])
=> "foo bar baz"

他にも色々便利そうな使い方があったが、必要だったのは上記だけだった。
興味があればREADMEが詳しいのでそちらを参照すると良いかもしれない。

感想

  • 覚えることが少ないので使い勝手が良いと感じた
  • "foo %1 %2"の様に動的に文字列を多言語化できるのは便利だった。