import { reactive, computed } from 'vue'
import zhCN from './zh-CN'
import zhHK from './zh-HK'
import zhTW from './zh-TW'
import en from './en'

// 语言包
const messages = {
  'zh-CN': zhCN,
  'zh-HK': zhHK,
  'zh-TW': zhTW,
  'en': en
}

// 当前语言（持久化到本地）
const locale = reactive({
  lang: localStorage.getItem('lang') || 'zh-CN'
})

// 切换语言
const setLang = (lang) => {
  locale.lang = lang
  localStorage.setItem('lang', lang)
}

// 当前使用的翻译文本
const t = computed(() => messages[locale.lang])

export {
  locale,
  t,
  setLang
}
