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