1
0
Files
coconut-leaf/src/static/js/i18n.js

64 lines
2.1 KiB
JavaScript
Raw Normal View History

2021-01-16 22:15:10 +08:00
var ccn_i18n_i18nSupported = ['en-US', 'zh-CN'];
var ccn_i18n_currentLanguage = 'en-US';
2021-01-19 22:20:11 +08:00
var ccn_pages_enumPages = {
home : 0,
calendar: 1,
todo: 2,
admin: 3,
login: 4
};
var ccn_pages_currentPage = ccn_pages_enumPages.home;
2021-01-16 22:15:10 +08:00
// judge current language
ccn_i18n_currentLanguage = ccn_localstorageAssist_Get('ccn-i18n', 'en-US');
if (ccn_i18n_i18nSupported.indexOf(ccn_i18n_currentLanguage) == -1){
ccn_localstorageAssist_Set('ccn-i18n', 'en-US');
ccn_i18n_currentLanguage = 'en-US';
}
function ccn_i18n_ChangeLanguage(newLang) {
if (ccn_i18n_i18nSupported.indexOf(newLang) == -1) return false;
ccn_i18n_currentLanguage = newLang;
ccn_localstorageAssist_Set('ccn-i18n', newLang);
return true;
}
function ccn_i18n_ApplyLanguage() {
$.i18n.properties({
name: 'strings_' + ccn_i18n_currentLanguage,
2021-01-19 22:20:11 +08:00
path: '/static/i18n/',
encoding: 'utf-8',
2021-01-16 22:15:10 +08:00
mode: 'map',
2021-01-19 22:20:11 +08:00
async: true,
cache: false,
2021-01-16 22:15:10 +08:00
language: ccn_i18n_currentLanguage,
callback: function() {
//set usual block
2021-01-23 18:37:12 +08:00
var cache = $("[i18n-name]");
2021-01-16 22:15:10 +08:00
cache.each(function() {
2021-01-19 22:20:11 +08:00
$(this).html($.i18n.prop($(this).attr('i18n-name')));
2021-01-16 22:15:10 +08:00
});
//set unusual block
//set title
switch(ccn_pages_currentPage) {
case ccn_pages_enumPages.home:
2021-01-24 14:38:08 +08:00
$('#ccn-pageName').html($.i18n.prop('ccn-pageName-home'));
2021-01-16 22:15:10 +08:00
break;
2021-01-19 22:20:11 +08:00
case ccn_pages_enumPages.calendar:
2021-01-24 14:38:08 +08:00
$('#ccn-pageName').html($.i18n.prop('ccn-pageName-calendar'));
2021-01-16 22:15:10 +08:00
break;
2021-01-19 22:20:11 +08:00
case ccn_pages_enumPages.todo:
2021-01-24 14:38:08 +08:00
$('#ccn-pageName').html($.i18n.prop('ccn-pageName-todo'));
2021-01-16 22:15:10 +08:00
break;
2021-01-19 22:20:11 +08:00
case ccn_pages_enumPages.admin:
2021-01-24 14:38:08 +08:00
$('#ccn-pageName').html($.i18n.prop('ccn-pageName-admin'));
2021-01-16 22:15:10 +08:00
break;
2021-01-19 22:20:11 +08:00
case ccn_pages_enumPages.login:
2021-01-24 14:38:08 +08:00
$('#ccn-pageName').html($.i18n.prop('ccn-pageName-login'));
2021-01-16 22:15:10 +08:00
break;
}
}
2021-01-19 22:20:11 +08:00
});
2021-01-16 22:15:10 +08:00
}