tempura
v1.5.4 (2024-06-05)
API |ウィキ|最新リリース |スラックチャンネル
Tempura は、Clojure および ClojureScript アプリケーションで多言語テキストをサポートする、成熟した開発者フレンドリーなライブラリです。
シンプルで使いやすい API を提供するため、初期の開発を滞らせることなく、ローカリゼーション コンテンツを時間の経過とともに拡張できます。
2024-06-05
v1.5.4
: リリース情報以前のリリースについては、ここを参照してください。
format
パフォーマンスと同等またはそれを上回ります。( require '[taoensso.tempura :as tempura :refer [tr]]))
( tr ; For "translate"
{ :dict ; Dictionary of translations
{ :sw { :missing " sw/? " :r1 " sw/r1 " :r2 " sw/r2 " }
:en { :missing " en/? " :r1 " en/r1 " :r2 " en/r2 " }}}
[ :sw :en <...>] ; Locales (desc priority)
[ :r1 :r2 <...> ; Resources (desc priority)
<?fallback-str> ; Optional final fallback string
])
; ; =>
( or
sw/r1 sw/r2 <...> ; Descending-priority resources in priority-1 locale
en/r1 en/r2 <...> ; '' in priority-2 locale
<...>
?fallback-str ; Optional fallback string (as last element in resources vec)
sw/? ; Missing (error) resource in priority-1 locale
en/? ; '' priority-2 locale
nil ; If none of the above exist
)
; ; etc.
; ; Note that ?fallback-str is super handy for development before you
; ; have translations ready, e.g.:
( tr { :dict {}} [ :en ] [ :sign-in-btn " Sign in here! " ])
; ; => "Sign in here!"
; ; Tempura also supports Hiccup with Markdown-like styles, e.g.:
( tr { :dict {}} [ :en ] [ :sign-in-btn [ " **Sign in** here! " ]])
; ; => [:span [:strong "Sign in"] " here!"]
このプロジェクトの継続的な作業をサポートしていただけます。ありがとうございます!!
著作権 © 2016-2024 ピーター・タウサニス。
EPL 1.0 (Clojure と同じ) に基づいてライセンスされています。