/**
 * i18n Mixin 工厂：消除每个页面重复写 tkey() 方法
 *
 * @param {string} prefix 页面的 i18n key 前缀，如 'page.production_master_data.factory_model.factory_area'
 * @returns {Object} Vue mixin
 *
 * @example
 * import { i18nMixin } from '@/composables/useI18n'
 * export default {
 *   mixins: [i18nMixin('page.production_master_data.factory_model.factory_area')],
 *   // 模板中当前页面用 $t(key('code'))
 *   // 公共翻译用 $t(ckey('help')) → 'page.common.help'
 * }
 */
export function i18nMixin (prefix) {
  return {
    methods: {
      key (suffix) {
        return prefix + '.' + suffix
      },
      ckey (suffix) {
        return 'page.common.' + suffix
      }
    }
  }
}

export default i18nMixin
