fix: timeago locale switch

v1.18.x
Barış Soner Uşaklı 4 years ago
parent 300a87559f
commit 8c019a6a3b

@ -92,10 +92,7 @@ define('forum/account/settings', ['forum/account/header', 'components', 'transla
htmlEl.css('direction', translated);
});
var stringsModule = 'timeago/locales/jquery.timeago.' + utils.userLangToTimeagoCode(config.userLang);
// without undef, requirejs won't load the strings a second time
require.undef(stringsModule);
require([stringsModule], function () {
translator.switchTimeagoLanguage(utils.userLangToTimeagoCode(config.userLang), function () {
overrides.overrideTimeago();
ajaxify.refresh();
});

@ -605,7 +605,7 @@
}
var originalSettings = assign({}, jQuery.timeago.settings.strings);
jQuery.getScript(config.assetBaseUrl + '/vendor/jquery/timeago/locales/jquery.timeago.' + languageCode + '-short.js').done(function () {
adaptor.switchTimeagoLanguage(languageCode + '-short', function () {
adaptor.timeagoShort = assign({}, jQuery.timeago.settings.strings);
jQuery.timeago.settings.strings = assign({}, originalSettings);
toggle();
@ -615,12 +615,16 @@
}
},
switchTimeagoLanguage: function switchTimeagoLanguage(callback) {
switchTimeagoLanguage: function switchTimeagoLanguage(langCode, callback) {
// Delete the cached shorthand strings if present
delete adaptor.timeagoShort;
var languageCode = utils.userLangToTimeagoCode(config.userLang);
jQuery.getScript(config.assetBaseUrl + '/vendor/jquery/timeago/locales/jquery.timeago.' + languageCode + '.js').done(callback);
var stringsModule = 'timeago/locales/jquery.timeago.' + langCode;
// without undef, requirejs won't load the strings a second time
require.undef(stringsModule);
require([stringsModule], function () {
callback();
});
},
prepareDOM: function prepareDOM() {

Loading…
Cancel
Save