mirror of
https://github.com/jorgev259/soc_site-astro.git
synced 2025-06-29 07:57:41 +00:00
Update localization setup
This commit is contained in:
parent
a5fde1b6c8
commit
3a9f558672
7 changed files with 29 additions and 31 deletions
|
|
@ -3,10 +3,10 @@ import { defineConfig, envField } from 'astro/config'
|
||||||
import tailwindcss from '@tailwindcss/vite'
|
import tailwindcss from '@tailwindcss/vite'
|
||||||
import node from '@astrojs/node'
|
import node from '@astrojs/node'
|
||||||
import react from '@astrojs/react'
|
import react from '@astrojs/react'
|
||||||
import paraglide from '@inlang/paraglide-astro'
|
import { paraglideVitePlugin } from '@inlang/paraglide-js'
|
||||||
import icon from 'astro-icon'
|
import icon from 'astro-icon'
|
||||||
|
|
||||||
import { languageTags } from './project.inlang/settings.json'
|
import { locales } from './project.inlang/settings.json'
|
||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
|
@ -31,19 +31,23 @@ export default defineConfig({
|
||||||
},
|
},
|
||||||
site: 'https://sittingonclouds.net',
|
site: 'https://sittingonclouds.net',
|
||||||
i18n: {
|
i18n: {
|
||||||
locales: languageTags,
|
locales,
|
||||||
defaultLocale: 'en',
|
defaultLocale: 'en',
|
||||||
routing: {
|
routing: {
|
||||||
prefixDefaultLocale: false,
|
prefixDefaultLocale: false,
|
||||||
redirectToDefaultLocale: true
|
redirectToDefaultLocale: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
integrations: [
|
integrations: [icon({ iconDir: 'src/img/icons' }), react()],
|
||||||
paraglide({ project: './project.inlang', outdir: './src/paraglide' }),
|
vite: {
|
||||||
icon({ iconDir: 'src/img/icons' }),
|
plugins: [
|
||||||
react()
|
tailwindcss(),
|
||||||
],
|
paraglideVitePlugin({
|
||||||
vite: { plugins: [tailwindcss()] },
|
project: './project.inlang',
|
||||||
|
outdir: './src/paraglide'
|
||||||
|
})
|
||||||
|
]
|
||||||
|
},
|
||||||
image: { domains: ['cdn.sittingonclouds.net'] },
|
image: { domains: ['cdn.sittingonclouds.net'] },
|
||||||
output: 'server',
|
output: 'server',
|
||||||
adapter: node({ mode: 'standalone' }),
|
adapter: node({ mode: 'standalone' }),
|
||||||
|
|
@ -51,7 +55,7 @@ export default defineConfig({
|
||||||
'/en/[...params]': '/[...params]',
|
'/en/[...params]': '/[...params]',
|
||||||
'/profile': { status: 307, destination: '/maintenance' },
|
'/profile': { status: 307, destination: '/maintenance' },
|
||||||
'/profile/[username]': { status: 307, destination: '/maintenance' },
|
'/profile/[username]': { status: 307, destination: '/maintenance' },
|
||||||
'/request': { status: 307, destination: '/maintenance' }
|
'/request': { status: 308, destination: '/requests' }
|
||||||
},
|
},
|
||||||
security: {
|
security: {
|
||||||
checkOrigin: false
|
checkOrigin: false
|
||||||
|
|
|
||||||
|
|
@ -4,16 +4,14 @@
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"build": "npm run prisma:migrate && npm run paraglide:compile && astro build",
|
"build": "npm run prisma:migrate && astro build",
|
||||||
"preview": "astro preview",
|
"preview": "astro preview",
|
||||||
"prisma:build": "prisma migrate deploy && prisma generate --sql && tsx ./prisma/migrate.ts",
|
"prisma:build": "prisma migrate deploy && prisma generate --sql && tsx ./prisma/migrate.ts"
|
||||||
"paraglide:compile": "paraglide-js compile --project ./project.inlang --outdir ./src\\paraglide"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/node": "9.0.0",
|
"@astrojs/node": "9.0.0",
|
||||||
"@astrojs/react": "4.1.3",
|
"@astrojs/react": "4.1.3",
|
||||||
"@astrojs/rss": "4.0.11",
|
"@astrojs/rss": "4.0.11",
|
||||||
"@inlang/paraglide-astro": "^0.2.2",
|
|
||||||
"@prisma/client": "^6.4.1",
|
"@prisma/client": "^6.4.1",
|
||||||
"@tailwindcss/vite": "^4.0.7",
|
"@tailwindcss/vite": "^4.0.7",
|
||||||
"@types/react": "^18.3.12",
|
"@types/react": "^18.3.12",
|
||||||
|
|
@ -41,7 +39,7 @@
|
||||||
"use-immer": "^0.11.0"
|
"use-immer": "^0.11.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@inlang/paraglide-js": "1.11.2",
|
"@inlang/paraglide-js": "^2.0.12",
|
||||||
"@parcel/watcher": "^2.4.1",
|
"@parcel/watcher": "^2.4.1",
|
||||||
"@types/nodemailer": "^6.4.17",
|
"@types/nodemailer": "^6.4.17",
|
||||||
"concurrently": "^8.2.2",
|
"concurrently": "^8.2.2",
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
021513eea48bfa4e8387b34adaf7bdc8f8f2c6a7b8fa2a20bc5f8a2a424f5295
|
52m6ykHaIPT1QnSo04
|
||||||
|
|
@ -1,17 +1,12 @@
|
||||||
{
|
{
|
||||||
"$schema": "https://inlang.com/schema/project-settings",
|
"$schema": "https://inlang.com/schema/project-settings",
|
||||||
"sourceLanguageTag": "en",
|
"baseLocale": "en",
|
||||||
"languageTags": [
|
"locales": ["en"],
|
||||||
"en"
|
|
||||||
],
|
|
||||||
"modules": [
|
"modules": [
|
||||||
"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@latest/dist/index.js",
|
"https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@4/dist/index.js",
|
||||||
"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@latest/dist/index.js",
|
"https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@2/dist/index.js"
|
||||||
"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@latest/dist/index.js",
|
|
||||||
"https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@latest/dist/index.js",
|
|
||||||
"https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@latest/dist/index.js"
|
|
||||||
],
|
],
|
||||||
"plugin.inlang.messageFormat": {
|
"plugin.inlang.messageFormat": {
|
||||||
"pathPattern": "./messages/{languageTag}.json"
|
"pathPattern": "./messages/{locale}.json"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
---
|
---
|
||||||
import { Toaster } from 'react-hot-toast'
|
import { Toaster } from 'react-hot-toast'
|
||||||
|
|
||||||
import { languageTag } from '../paraglide/runtime'
|
|
||||||
import Header from 'components/Header.astro'
|
import Header from 'components/Header.astro'
|
||||||
import Footer from 'components/Footer.astro'
|
import Footer from 'components/Footer.astro'
|
||||||
|
|
||||||
import 'styles/global.css'
|
import 'styles/global.css'
|
||||||
---
|
---
|
||||||
|
|
||||||
<html lang={languageTag()} dir={Astro.locals.paraglide.dir} class='h-full'>
|
<html class='h-full'>
|
||||||
<head>
|
<head>
|
||||||
<link rel='preconnect' href='https://fonts.googleapis.com' />
|
<link rel='preconnect' href='https://fonts.googleapis.com' />
|
||||||
<link rel='preconnect' href='https://fonts.gstatic.com' crossorigin />
|
<link rel='preconnect' href='https://fonts.gstatic.com' crossorigin />
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
import { auth } from 'auth'
|
import { auth } from 'auth'
|
||||||
import { defineMiddleware } from 'astro:middleware'
|
import { defineMiddleware } from 'astro:middleware'
|
||||||
|
import { paraglideMiddleware } from 'paraglide/server'
|
||||||
|
|
||||||
import PAGES from 'utils/pages.json'
|
import PAGES from 'utils/pages.json'
|
||||||
import prismaClient from 'utils/prisma-client'
|
import prismaClient from 'utils/prisma-client'
|
||||||
|
|
@ -30,5 +31,5 @@ export const onRequest = defineMiddleware(async (context, next) => {
|
||||||
context.locals.pages = []
|
context.locals.pages = []
|
||||||
}
|
}
|
||||||
|
|
||||||
return next()
|
return paraglideMiddleware(context.request, () => next())
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
"jsx": "react-jsx",
|
"jsx": "react-jsx",
|
||||||
"jsxImportSource": "react",
|
"jsxImportSource": "react",
|
||||||
"baseUrl": "src",
|
"baseUrl": "src",
|
||||||
"strictNullChecks": true
|
"strictNullChecks": true,
|
||||||
|
"allowJs": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue