Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dev-config.edn
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
{:attribute "organizations"}
{:attribute "groups" :name {:en "Groups" :fi "Ryhmät" :sv "Grupper" :da "Grupper"}}]
:languages [:en :fi :sv]
:language-names {:en "English" :fi "Suomi" :sv "Svenska"}
:public-url "http://localhost:3000/"
:extra-pages [{:id "about"
:translations {:fi {:title "Info"
Expand Down
1 change: 1 addition & 0 deletions resources/config-defaults.edn
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@

;; List of supported languages. They will be selectable in the UI.
:languages [:en :fi]
:language-names {:en "English" :fi "Suomi"}
:default-language :en

;; Path to a directory with translations for additional languages.
Expand Down
1 change: 1 addition & 0 deletions src/clj/rems/api/public.clj
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
:attachment-max-size (s/maybe s/Int)
:entitlement-default-length-days (s/maybe s/Int)
:languages [s/Keyword]
:language-names {s/Keyword s/Str}
:default-language s/Keyword
:oidc-extra-attributes [{:attribute s/Str
s/Keyword s/Any}]
Expand Down
1 change: 1 addition & 0 deletions src/clj/rems/service/public.clj
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
:entitlement-default-length-days
:extra-pages
:languages
:language-names
:oidc-extra-attributes
:enable-assign-external-id-ui
:enable-doi
Expand Down
4 changes: 2 additions & 2 deletions src/clj/rems/user_simulator.clj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
interface (CLI). Various user scenarios are implemented as functions in this
namespace, enabling flexible testing of different workflows. Multiple
simulations can run concurrently to test system performance and user load.

User simulator can be started from CLI with e.g. Leiningen:
- `lein run user-simulator` (uses default values), or
- `lein run user-simulator http://localhost:3000/ alice,elsa,frank` when replacing default values"
Expand Down Expand Up @@ -64,7 +64,7 @@
(et/delete-cookies (btu/get-driver))
(btu/go (btu/get-server-url))
(et/refresh (btu/get-driver))
(btu/scroll-and-click [{:css ".language-switcher"} {:fn/text "EN"}]) ; make sure language is stable
(btu/scroll-and-click [{:css ".language-switcher"} {:fn/text "English"}]) ; make sure language is stable
(action)))))

(catch InterruptedException e
Expand Down
25 changes: 16 additions & 9 deletions src/cljs/rems/language_switcher.cljs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
(ns rems.language-switcher
(:require [clojure.string :as str]
[rems.config]
[rems.globals]
[rems.guide-util :refer [component-info example]]
[rems.text :refer [text-format]]
[rems.user-settings]))
Expand All @@ -10,22 +11,28 @@
"btn btn-link active"
"btn btn-link"))

(defn get-language-name [language]
(or (get (@rems.globals/config :language-names) language)
(str/upper-case (name language))))

(defn language-button [language]
[:button {:type :button
:class (lang-link-classes @rems.config/current-language language)
:on-click #(rems.user-settings/save-user-language! language)
:aria-label (text-format :t.navigation/change-language
(get-language-name language))
:data-toggle "collapse"
:data-target ".navbar-collapse.show"}
(get-language-name language)])

(defn language-switcher
"Language switcher widget"
[]
(let [languages @rems.config/languages]
(when (> (count languages) 1)
(into [:div.language-switcher]
(for [language languages]
(let [lang-str (str/upper-case (name language))]
[:form.inline
[:button {:type :button
:class (lang-link-classes @rems.config/current-language language)
:on-click #(rems.user-settings/save-user-language! language)
:aria-label (text-format :t.navigation/change-language lang-str)
:data-toggle "collapse"
:data-target ".navbar-collapse.show"}
lang-str]]))))))
[:form.inline (language-button language)])))))

(defn guide []
[:div
Expand Down
2 changes: 1 addition & 1 deletion test/clj/rems/test_browser.clj
Original file line number Diff line number Diff line change
Expand Up @@ -3626,7 +3626,7 @@
(btu/wait-invisible :small-navbar) ; menu should be hidden
(wait-page-title "Applications – REMS")
(btu/scroll-and-click {:css ".navbar-toggler"})
(btu/scroll-and-click [:small-navbar {:tag :button :fn/text "FI"}])
(btu/scroll-and-click [:small-navbar {:tag :button :fn/text "Suomi"}])
(btu/wait-invisible :small-navbar) ; menu should be hidden
(wait-page-title "Hakemukset – REMS")
(rems.db.user-settings/delete-user-settings! "alice"))) ; clear language settings
Expand Down