The interface is translated through @nuxtjs/i18n: strings live in i18n/locales/*.json, routes are prefixed except for the default English, and useLocaleHead emits the lang attribute, the hreflang alternates and og:locale. The switcher is a native select rather than a custom dropdown: keyboard support, the platform picker on mobile and correct labelling come for free. Article content stays single-language — this translates the site chrome only.
25 lines
501 B
JSON
25 lines
501 B
JSON
{
|
|
"name": "frontend",
|
|
"type": "module",
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "nuxt build",
|
|
"dev": "nuxt dev",
|
|
"generate": "nuxt generate",
|
|
"preview": "nuxt preview",
|
|
"postinstall": "nuxt prepare",
|
|
"typecheck": "nuxt typecheck"
|
|
},
|
|
"dependencies": {
|
|
"@nuxtjs/i18n": "^10.6.0",
|
|
"marked": "^18.0.11",
|
|
"nuxt": "^4.5.2",
|
|
"vue": "^3.5.41",
|
|
"vue-router": "^5.2.0"
|
|
},
|
|
"devDependencies": {
|
|
"typescript": "^5.9.3",
|
|
"vue-tsc": "^3.3.11"
|
|
}
|
|
}
|