summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorMaxime Quandalle <maxime@quandalle.com>2015-12-07 19:02:31 -0500
committerMaxime Quandalle <maxime@quandalle.com>2015-12-07 19:02:31 -0500
commit0623c8ea52926955981780a5c151c3607d582caa (patch)
treeb5dadaca841d795dd5cefea2952be30d1fcefff7 /client
parentd4581afd9b520dd034ea75f6e1ed0ab06bd67b5f (diff)
parentec130d448056d8adab77113646d8f8724931d128 (diff)
downloadwekan-0623c8ea52926955981780a5c151c3607d582caa.tar.gz
wekan-0623c8ea52926955981780a5c151c3607d582caa.tar.bz2
wekan-0623c8ea52926955981780a5c151c3607d582caa.zip
Merge pull request #411 from floatinghotpot/patch-4
add: set user preferred lang and allow select lang for user form
Diffstat (limited to 'client')
-rw-r--r--client/components/main/layouts.jade7
-rw-r--r--client/components/main/layouts.js33
-rw-r--r--client/components/users/userForm.styl10
3 files changed, 50 insertions, 0 deletions
diff --git a/client/components/main/layouts.jade b/client/components/main/layouts.jade
index 166f143a..65b53f04 100644
--- a/client/components/main/layouts.jade
+++ b/client/components/main/layouts.jade
@@ -13,6 +13,13 @@ template(name="userFormsLayout")
h1.at-form-landing-logo
img(src="{{pathFor '/wekan-logo.png'}}" alt="Wekan")
+Template.dynamic(template=content)
+ div.at-form-lang
+ select.select-lang.js-userform-set-language
+ each languages
+ if isCurrentLanguage
+ option(value="{{tag}}" selected="selected") {{name}}
+ else
+ option(value="{{tag}}") {{name}}
template(name="defaultLayout")
+header
diff --git a/client/components/main/layouts.js b/client/components/main/layouts.js
index ab62e76a..3df17f41 100644
--- a/client/components/main/layouts.js
+++ b/client/components/main/layouts.js
@@ -2,10 +2,43 @@ Meteor.subscribe('boards');
BlazeLayout.setRoot('body');
+const i18nTagToT9n = (i18nTag) => {
+ // t9n/i18n tags are same now, see: https://github.com/softwarerero/meteor-accounts-t9n/pull/129
+ // but we keep this conversion function here, to be aware that that they are different system.
+ return i18nTag;
+};
+
Template.userFormsLayout.onRendered(() => {
+ const i18nTag = navigator.language;
+ if (i18nTag) {
+ T9n.setLanguage(i18nTagToT9n(i18nTag));
+ }
EscapeActions.executeAll();
});
+Template.userFormsLayout.helpers({
+ languages() {
+ return _.map(TAPi18n.getLanguages(), (lang, tag) => {
+ const name = lang.name;
+ return { tag, name };
+ });
+ },
+
+ isCurrentLanguage() {
+ const t9nTag = i18nTagToT9n(this.tag);
+ const curLang = T9n.getLanguage() || 'en';
+ return t9nTag === curLang;
+ },
+});
+
+Template.userFormsLayout.events({
+ 'change .js-userform-set-language'(evt) {
+ const i18nTag = $(evt.currentTarget).val();
+ T9n.setLanguage(i18nTagToT9n(i18nTag));
+ evt.preventDefault();
+ },
+});
+
Template.defaultLayout.events({
'click .js-close-modal': () => {
Modal.close();
diff --git a/client/components/users/userForm.styl b/client/components/users/userForm.styl
index 9b6e86ce..dbe62b4e 100644
--- a/client/components/users/userForm.styl
+++ b/client/components/users/userForm.styl
@@ -45,3 +45,13 @@
.at-signUp,
.at-signIn
font-weight: bold
+
+ .at-form-lang
+ margin: auto
+ width: 275px
+ padding: 25px
+ padding-bottom: 10px
+
+ .select-lang
+ width: 275px
+ font-size: 1.0em