summaryrefslogtreecommitdiff
path: root/public/js/locale.js
blob: 05c7b3e37b0bc37504bfa50fc3779c7839b75fee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* 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)
window.moment.locale(lang)
$('select.ui-locale option[value="' + lang + '"]').attr('selected', 'selected')

locale.change(function () {
  Cookies.set('locale', $(this).val(), {
    expires: 365,
    sameSite: 'strict'
  })
  window.location.reload()
})