// Vue 3 i18n 最佳实践架构
import { ref } from 'vue'
import zhCN from '../../locales/zh-CN.json'

// 语言配置
export const locales = [
  { code: 'zh-CN', name: '简体中文', flag: '🇨🇳' },
  { code: 'en-US', name: 'English', flag: '🇺🇸' }
]

// 翻译数据 - 只存储非英文翻译
const messages = {
  'zh-CN': zhCN,
  'en-US': {} // 英文使用key作为默认值
}

// 全局语言状态
export const locale = ref('zh-CN')

// 翻译函数 - 支持 t("自然英文") 语法
export function t(key: string) {
  const translation = (messages as any)[locale.value]?.[key]
  return translation || key // 如果没有翻译，返回key（自然英文）
}

// 设置语言
export function setLocale(code: string) {
  if (locales.some(l => l.code === code)) {
    locale.value = code
    localStorage.setItem('locale', code)
  }
}

// 获取当前语言
export function getCurrentLocale(): string {
  return locale.value
}

// 初始化
export function initLocale() {
  const saved = localStorage.getItem('locale')
  if (saved && locales.some(l => l.code === saved)) {
    locale.value = saved
  }
}