🌐 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>
This commit is contained in:
2026-02-05 18:17:44 +01:00
parent bba6128236
commit 262242c7df
20 changed files with 472 additions and 77 deletions

View File

@@ -0,0 +1,18 @@
export const useApi = () => {
const config = useRuntimeConfig()
const { locale } = useI18n()
const apiFetch = async <T>(endpoint: string, options: Record<string, any> = {}) => {
return await $fetch<T>(`${config.public.apiUrl}${endpoint}`, {
...options,
headers: {
'X-API-Key': config.public.apiKey as string,
'Accept-Language': locale.value,
'Content-Type': 'application/json',
...options.headers,
},
})
}
return { apiFetch }
}