import { useI18n as useOriginalI18n } from 'vue-i18n' export function useI18n() { const { t, d, n, ...rest } = useOriginalI18n() return { ...rest, t: wrapI18n(t), d: wrapI18n(d), n: wrapI18n(n), } satisfies ReturnType<typeof useOriginalI18n> } export function wrapI18n<T extends (...args: any[]) => any>(t: T): T { return <T>((...args: any[]) => { return isHydrated.value ? t(...args) : '' }) }