HackMD/public/js/locale.js

32 lines
852 B
JavaScript

/* eslint-env browser, jquery */
/* global Cookies */
var lang = 'en'
var userLang = navigator.language || navigator.userLanguage
var userLangCode = userLang.split('-')[0]
var locale = $('.ui-locale')
var supportLangs = []
$('.ui-locale option').each(function () {
supportLangs.push($(this).val())
})
if (Cookies.get('locale')) {
lang = Cookies.get('locale')
if (lang === 'zh') {
lang = 'zh-TW'
}
} else if (supportLangs.indexOf(userLang) !== -1) {
lang = supportLangs[supportLangs.indexOf(userLang)]
} else if (supportLangs.indexOf(userLangCode) !== -1) {
lang = supportLangs[supportLangs.indexOf(userLangCode)]
}
locale.val(lang)
$('select.ui-locale option[value="' + lang + '"]').attr('selected', 'selected')
locale.change(function () {
Cookies.set('locale', $(this).val(), {
expires: 365
})
window.location.reload()
})