namespace i18n.setLanguage

This commit is contained in:
Sacha Greif 2015-05-06 16:40:27 +09:00
parent 02153a45ff
commit 3aa67a7d81
3 changed files with 13 additions and 23 deletions

View file

@ -1,7 +1,7 @@
i18n = {};
// do this better:
setLanguage = function (language) {
i18n.setLanguage = function (language) {
// Session.set('i18nReady', false);
// console.log('i18n loading… '+language)
@ -30,7 +30,7 @@ setLanguage = function (language) {
// T9n
T9n.setLanguage(language);
}
};
i18n.t = function (str, options) {
if (Meteor.isServer) {
@ -46,30 +46,21 @@ SimpleSchema.prototype.internationalize = function () {
_.each(schema, function (property, key) {
if (!property.label) {
schema[key].label = function () {
return i18n.t(key)
// if property is nested ("telescope.email"), only consider the last part ("email")
if (key.indexOf(".") !== -1) {
key = _.last(key.split("."));
}
return i18n.t(key);
};
}
});
return this;
}
};
Meteor.startup(function () {
if (Meteor.isClient) {
// doesn't quite work yet
// Tracker.autorun(function (c) {
// console.log('momentReady',Session.get('momentReady'))
// console.log('i18nReady',Session.get('i18nReady'))
// var ready = Session.get('momentReady') && Session.get('i18nReady');
// if (ready) {
// Session.set('i18nReady', true);
// Session.set('locale', language);
// console.log('i18n ready! '+language)
// }
// });
setLanguage(Settings.get('language', 'en'));
i18n.setLanguage(Settings.get('language', 'en'));
}
});
});

View file

@ -15,7 +15,6 @@ Package.onUse(function (api) {
api.addFiles(['i18n.js'], ['client', 'server']);
api.export([
'i18n',
'setLanguage'
'i18n'
]);
});

View file

@ -3,10 +3,10 @@ var query = Settings.find();
query.observeChanges({
added: function (id, fields) {
if (fields.language)
setLanguage(fields.language);
i18n.setLanguage(fields.language);
},
changed: function (id, fields) {
if (fields.language)
setLanguage(fields.language);
i18n.setLanguage(fields.language);
}
});