現在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"
の様に動的に文字列を多言語化できるのは便利だった。