Web-tier features completing the AtomCMS→Next.js conversion (slice 2): UI/UX: - Dark mode: html.dark CSS-var overrides + ThemeSwitcher (localStorage, no-flash boot script) wired into the nav. - i18n (next-intl, cookie-based / no URL routing): en + it catalogs, request.ts, provider in root layout, LanguageSwitcher; shell (nav, header, footer) fully translated. URLs + access-guard unchanged. - globals.css: --muted/--border aliases used across admin pages. User features: - /messages: offline messages + friend-request accept (server action re-reads session, two directional rows, idempotent). - Email verification: signed-token /verify route + sendVerification wired into register (best-effort, never blocks signup). - Article reactions: toggle UI on news/[slug] + server action. - Content moderation service (website_wordfilter + optional OpenAI moderations, fail-open) wired into article comments + guestbook. Admin CRUD parity (Filament replacement): - /admin/shop (+ new/[id]) packages CRUD + read-only orders. - /admin/transactions read-only PayPal log. - /admin/permissions, /admin/tags, /admin/ads (+ new/[id]), /admin/help-questions (+ new/[id]), /admin/radio/history, /admin/users/[id]/edit. All gated by requireStaff + logStaffActivity. Verified: tsc 0, vitest 48/48, next build 0 (all routes incl. new admin CRUD + /messages + /verify).
40 lines
1.0 KiB
JSON
40 lines
1.0 KiB
JSON
{
|
|
"nav": {
|
|
"home": "Home",
|
|
"community": "Community",
|
|
"articles": "Articoli",
|
|
"photos": "Foto",
|
|
"staff": "Staff",
|
|
"rankings": "Classifiche",
|
|
"guilds": "Gruppi",
|
|
"leaderboards": "Classifiche",
|
|
"rareValues": "Valori rari",
|
|
"shop": "Negozio",
|
|
"market": "Mercato",
|
|
"assistance": "Assistenza",
|
|
"helpCenter": "Centro assistenza",
|
|
"myTickets": "I miei ticket",
|
|
"badges": "Distintivi",
|
|
"radio": "Radio",
|
|
"friends": "Amici",
|
|
"messages": "Messaggi",
|
|
"admin": "Admin"
|
|
},
|
|
"header": {
|
|
"online": "{count} online su {hotel}",
|
|
"nitroClient": "Client Nitro",
|
|
"tagline": "Un mondo virtuale online dove puoi creare il tuo avatar, fare amicizia, chattare, creare stanze e molto altro!",
|
|
"login": "Accedi",
|
|
"or": "Oppure",
|
|
"createAccount": "Crea un account"
|
|
},
|
|
"footer": {
|
|
"copyright": "© {year} - {hotel} è un progetto educativo senza scopo di lucro"
|
|
},
|
|
"common": {
|
|
"language": "Lingua",
|
|
"lightMode": "Tema chiaro",
|
|
"darkMode": "Tema scuro"
|
|
}
|
|
}
|