import { ref, watch } from 'vue'
import i18n from '@/i18n'

// 创建全局共享的 locale ref（确保所有组件使用同一个实例）
const globalLocale = ref(i18n.getLocale())

// 监听 localStorage 变化（用于跨标签页同步）
if (typeof window !== 'undefined') {
  window.addEventListener('storage', (e) => {
    if (e.key === 'locale') {
      globalLocale.value = e.newValue || 'zh-TW'
      i18n.setLocale(globalLocale.value)
    }
  })
}

// 使用 i18n 的 composable
export function useI18n() {
  return {
    t: (key, params) => i18n.t(key, params),
    locale: globalLocale, // 返回全局共享的 ref
    setLocale: (newLocale) => {
      i18n.setLocale(newLocale)
      globalLocale.value = newLocale
    }
  }
}

