Files
Portfolio-Game/frontend/app/composables/useLocale.ts
skycel 262242c7df 🌐 Add full i18n system frontend + API (Story 1.3)
Nuxt i18n with lazy-loaded JSON files, localized routes, hreflang SEO tags,
LanguageSwitcher component. Laravel SetLocale middleware, HasTranslations trait,
API Resources and Controllers for projects/skills with Accept-Language support.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:17:44 +01:00

30 lines
659 B
TypeScript

export const useLocale = () => {
const { locale, locales, setLocale } = useI18n()
const switchLocalePath = useSwitchLocalePath()
const localePath = useLocalePath()
const currentLocale = computed(() => locale.value)
const availableLocales = computed(() =>
(locales.value as Array<{ code: string; name: string }>).map(l => ({
code: l.code,
name: l.name,
}))
)
const switchLocale = (code: string) => {
return navigateTo(switchLocalePath(code))
}
const localizedPath = (path: string) => {
return localePath(path)
}
return {
currentLocale,
availableLocales,
switchLocale,
localizedPath,
}
}