|
@@ -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();
|