replace vue-i18n with i18next-vue

Complete the i18n migration by switching runtime setup and remaining components to i18next-vue, and add shared locale constants/helpers for SSR and client language handling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 02:11:46 +00:00
parent bbe15d5f3e
commit 6d04f1cbdc
67 changed files with 257 additions and 168 deletions

View File

@@ -2,7 +2,7 @@
import NotificationItem from '@/routes/notification/components/NotificationItem.vue';
import { onClickOutside } from '@vueuse/core';
import { computed, onMounted, ref, watch } from 'vue';
import { useI18n } from 'vue-i18n';
import { useTranslation } from 'i18next-vue';
// Ensure client-side only rendering to avoid hydration mismatch
const isMounted = ref(false);
@@ -28,7 +28,7 @@ interface Notification {
const visible = ref(false);
const drawerRef = ref(null);
const { t } = useI18n();
const { t } = useTranslation();
// Mock notifications data
const notifications = computed<Notification[]>(() => [