|
|
@@ -6,11 +6,11 @@
|
|
|
[frontend.state :as state]))
|
|
|
|
|
|
;; TODO
|
|
|
-;; - [x] Get the prefered language from state
|
|
|
-;; - [x] Update the prefered language
|
|
|
-;; - [x] Create t functiona which takes a keyword and returns text with the current prefered language
|
|
|
-;; - [x] Add fetch for local browser prefered language if user has set it already
|
|
|
-;; - [ ] Fetch prefered language from backend if user is logged in
|
|
|
+;; - [x] Get the preferred language from state
|
|
|
+;; - [x] Update the preferred language
|
|
|
+;; - [x] Create t functiona which takes a keyword and returns text with the current preferred language
|
|
|
+;; - [x] Add fetch for local browser preferred language if user has set it already
|
|
|
+;; - [ ] Fetch preferred language from backend if user is logged in
|
|
|
|
|
|
(defn fetch-local-language []
|
|
|
(.. js/window -navigator -language))
|
|
|
@@ -18,14 +18,14 @@
|
|
|
(rum/defcontext *tongue-context*)
|
|
|
|
|
|
(rum/defc tongue-provider [children]
|
|
|
- (let [prefered-language (keyword (state/sub :preferred-language))
|
|
|
+ (let [preferred-language (keyword (state/sub :preferred-language))
|
|
|
set-preferred-language state/set-preferred-language!
|
|
|
all-dicts (deep-merge dicts/dicts shortcut-dict/dict)
|
|
|
- t (partial (dicts/translate all-dicts) prefered-language)]
|
|
|
- (if (nil? prefered-language)
|
|
|
+ t (partial (dicts/translate all-dicts) preferred-language)]
|
|
|
+ (if (nil? preferred-language)
|
|
|
(set-preferred-language (fetch-local-language))
|
|
|
:ok)
|
|
|
- (rum/bind-context [*tongue-context* [t prefered-language set-preferred-language]]
|
|
|
+ (rum/bind-context [*tongue-context* [t preferred-language set-preferred-language]]
|
|
|
children)))
|
|
|
|
|
|
(rum/defc use-tongue []
|