i18n Support and Task improvements (#80)

* fix: release workflow

* feat: move mostly to internal tasks system

* feat: migrate object clean to new task system

* fix: release not  getting good base version

* chore: set version v0.3.0

* chore: style

* feat: basic task concurrency

* feat: temp pages to fill in page links

* feat: inital i18n support

* feat: localize store page

* chore: style

* fix: weblate doesn't like multifile thing

* fix: update nuxt

* feat: improved error logging

* fix: using old task api

* feat: basic translation docs

* feat: add i18n eslint plugin

* feat: translate store and auth pages

* feat: more translation progress

* feat: admin dash i18n progress

* feat: enable update check by default in prod

* fix: using wrong i18n keys

* fix: crash in library sources page

* feat: finish i18n work

* fix: missing i18n translations

* feat: use twemoji for emojis

* feat: sanatize object ids

* fix: EmojiText's alt text

* fix: UserWidget not using links

* feat: cache and auth for emoji api

* fix: add more missing translations
This commit is contained in:
Husky
2025-06-04 19:53:30 -04:00
committed by GitHub
parent c7fab132ab
commit 681efe95af
86 changed files with 5175 additions and 2816 deletions

View File

@ -23,6 +23,7 @@ export default defineNuxtConfig({
// "@nuxt/image",
"@nuxt/fonts",
"@nuxt/eslint",
"@nuxtjs/i18n",
],
// Nuxt-only config
@ -42,6 +43,7 @@ export default defineNuxtConfig({
experimental: {
buildCache: true,
viewTransition: true,
componentIslands: true,
},
// future: {
@ -89,7 +91,7 @@ export default defineNuxtConfig({
},
scheduledTasks: {
"0 * * * *": ["cleanup:invitations", "cleanup:sessions"],
"0 * * * *": ["dailyTasks"],
},
storage: {
@ -123,6 +125,27 @@ export default defineNuxtConfig({
prefix: "Vue",
},
i18n: {
defaultLocale: "en-us",
strategy: "no_prefix",
experimental: {
localeDetector: "localeDetector.ts",
},
detectBrowserLanguage: {
useCookie: true,
cookieKey: "drop_i18n_redirected",
fallbackLocale: "en-us",
},
locales: [
{ code: "en-us", name: "English", file: "en_us.json" },
{
code: "en-pirate",
name: "English (Pirate)",
file: "en_pirate.json",
},
],
},
security: {
headers: {
contentSecurityPolicy: {