add i18n
This commit is contained in:
parent
92edec869f
commit
47130ed6c2
12 changed files with 188 additions and 17 deletions
124
src/web/frontend/deno.lock
generated
124
src/web/frontend/deno.lock
generated
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"version": "5",
|
||||
"specifiers": {
|
||||
"npm:@inlang/paraglide-js@^2.12.0": "2.12.0",
|
||||
"npm:@lucide/svelte@0.575": "0.575.0_svelte@5.53.0__acorn@8.16.0",
|
||||
"npm:@sveltejs/adapter-static@^3.0.10": "3.0.10_@sveltejs+kit@2.53.0__@sveltejs+vite-plugin-svelte@6.2.4___svelte@5.53.0____acorn@8.16.0___vite@7.3.1____picomatch@4.0.3__svelte@5.53.0___acorn@8.16.0__typescript@5.9.3__vite@7.3.1___picomatch@4.0.3__acorn@8.16.0_@sveltejs+vite-plugin-svelte@6.2.4__svelte@5.53.0___acorn@8.16.0__vite@7.3.1___picomatch@4.0.3_svelte@5.53.0__acorn@8.16.0_typescript@5.9.3_vite@7.3.1__picomatch@4.0.3",
|
||||
"npm:@sveltejs/kit@^2.50.2": "2.53.0_@sveltejs+vite-plugin-svelte@6.2.4__svelte@5.53.0___acorn@8.16.0__vite@7.3.1___picomatch@4.0.3_svelte@5.53.0__acorn@8.16.0_typescript@5.9.3_vite@7.3.1__picomatch@4.0.3_acorn@8.16.0",
|
||||
|
|
@ -141,6 +142,35 @@
|
|||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@inlang/paraglide-js@2.12.0": {
|
||||
"integrity": "sha512-wnqTeSLcMMS2usL8zjS8bDGs9r16X00aeoGk2wVAnPfAgCChYalKdG20pS2XtJVMM1H6nBBBLKt3ZQMnKrusKQ==",
|
||||
"dependencies": [
|
||||
"@inlang/recommend-sherlock",
|
||||
"@inlang/sdk",
|
||||
"commander",
|
||||
"consola",
|
||||
"json5",
|
||||
"unplugin",
|
||||
"urlpattern-polyfill"
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"@inlang/recommend-sherlock@0.2.1": {
|
||||
"integrity": "sha512-ckv8HvHy/iTqaVAEKrr+gnl+p3XFNwe5D2+6w6wJk2ORV2XkcRkKOJ/XsTUJbPSiyi4PI+p+T3bqbmNx/rDUlg==",
|
||||
"dependencies": [
|
||||
"comment-json"
|
||||
]
|
||||
},
|
||||
"@inlang/sdk@2.7.0_kysely@0.27.6": {
|
||||
"integrity": "sha512-yJNBD0o8i29TTJqWX5uDRHxnalDGcsUDctxepzFXsUfkzqGWfiFBxODdxvReqvM2CuKAAOo/kib/F1UcgdYFNQ==",
|
||||
"dependencies": [
|
||||
"@lix-js/sdk",
|
||||
"@sinclair/typebox",
|
||||
"kysely",
|
||||
"sqlite-wasm-kysely",
|
||||
"uuid@13.0.0"
|
||||
]
|
||||
},
|
||||
"@jridgewell/gen-mapping@0.3.13": {
|
||||
"integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
|
||||
"dependencies": [
|
||||
|
|
@ -168,6 +198,21 @@
|
|||
"@jridgewell/sourcemap-codec"
|
||||
]
|
||||
},
|
||||
"@lix-js/sdk@0.4.7_kysely@0.27.6": {
|
||||
"integrity": "sha512-pRbW+joG12L0ULfMiWYosIW0plmW4AsUdiPCp+Z8rAsElJ+wJ6in58zhD3UwUcd4BNcpldEGjg6PdA7e0RgsDQ==",
|
||||
"dependencies": [
|
||||
"@lix-js/server-protocol-schema",
|
||||
"dedent",
|
||||
"human-id",
|
||||
"js-sha256",
|
||||
"kysely",
|
||||
"sqlite-wasm-kysely",
|
||||
"uuid@10.0.0"
|
||||
]
|
||||
},
|
||||
"@lix-js/server-protocol-schema@0.1.1": {
|
||||
"integrity": "sha512-jBeALB6prAbtr5q4vTuxnRZZv1M2rKe8iNqRQhFJ4Tv7150unEa0vKyz0hs8Gl3fUGsWaNJBh3J8++fpbrpRBQ=="
|
||||
},
|
||||
"@lucide/svelte@0.575.0_svelte@5.53.0__acorn@8.16.0": {
|
||||
"integrity": "sha512-FEFp/0McZwsjBqh1Dn8H+UBm1yHFQYk+utuVMFDw57155+wz2XMoc1pw027ylCPzs+bi14UEXYKbekFhuJKtnw==",
|
||||
"dependencies": [
|
||||
|
|
@ -302,6 +347,13 @@
|
|||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@sinclair/typebox@0.31.28": {
|
||||
"integrity": "sha512-/s55Jujywdw/Jpan+vsy6JZs1z2ZTGxTmbZTPiuSL2wz9mfzA2gN1zzaqmvfi4pq+uOt7Du85fkiwv5ymW84aQ=="
|
||||
},
|
||||
"@sqlite.org/sqlite-wasm@3.48.0-build4": {
|
||||
"integrity": "sha512-hI6twvUkzOmyGZhQMza1gpfqErZxXRw6JEsiVjUbo7tFanVD+8Oil0Ih3l2nGzHdxPI41zFmfUQG7GHqhciKZQ==",
|
||||
"bin": true
|
||||
},
|
||||
"@standard-schema/spec@1.1.0": {
|
||||
"integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="
|
||||
},
|
||||
|
|
@ -379,6 +431,9 @@
|
|||
"aria-query@5.3.2": {
|
||||
"integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="
|
||||
},
|
||||
"array-timsort@1.0.3": {
|
||||
"integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ=="
|
||||
},
|
||||
"axobject-query@4.1.0": {
|
||||
"integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="
|
||||
},
|
||||
|
|
@ -391,9 +446,29 @@
|
|||
"clsx@2.1.1": {
|
||||
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="
|
||||
},
|
||||
"commander@11.1.0": {
|
||||
"integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="
|
||||
},
|
||||
"comment-json@4.5.1": {
|
||||
"integrity": "sha512-taEtr3ozUmOB7it68Jll7s0Pwm+aoiHyXKrEC8SEodL4rNpdfDLqa7PfBlrgFoCNNdR8ImL+muti5IGvktJAAg==",
|
||||
"dependencies": [
|
||||
"array-timsort",
|
||||
"core-util-is",
|
||||
"esprima"
|
||||
]
|
||||
},
|
||||
"consola@3.4.0": {
|
||||
"integrity": "sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA=="
|
||||
},
|
||||
"cookie@0.6.0": {
|
||||
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="
|
||||
},
|
||||
"core-util-is@1.0.3": {
|
||||
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
|
||||
},
|
||||
"dedent@1.5.1": {
|
||||
"integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg=="
|
||||
},
|
||||
"deepmerge@4.3.1": {
|
||||
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="
|
||||
},
|
||||
|
|
@ -436,6 +511,10 @@
|
|||
"esm-env@1.2.2": {
|
||||
"integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="
|
||||
},
|
||||
"esprima@4.0.1": {
|
||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
||||
"bin": true
|
||||
},
|
||||
"esrap@2.2.3": {
|
||||
"integrity": "sha512-8fOS+GIGCQZl/ZIlhl59htOlms6U8NvX6ZYgYHpRU/b6tVSh3uHkOHZikl3D4cMbYM0JlpBe+p/BkZEi8J9XIQ==",
|
||||
"dependencies": [
|
||||
|
|
@ -456,15 +535,29 @@
|
|||
"os": ["darwin"],
|
||||
"scripts": true
|
||||
},
|
||||
"human-id@4.1.3": {
|
||||
"integrity": "sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==",
|
||||
"bin": true
|
||||
},
|
||||
"is-reference@3.0.3": {
|
||||
"integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
|
||||
"dependencies": [
|
||||
"@types/estree"
|
||||
]
|
||||
},
|
||||
"js-sha256@0.11.1": {
|
||||
"integrity": "sha512-o6WSo/LUvY2uC4j7mO50a2ms7E/EAdbP0swigLV+nzHKTTaYnaLIWJ02VdXrsJX0vGedDESQnLsOekr94ryfjg=="
|
||||
},
|
||||
"json5@2.2.3": {
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"bin": true
|
||||
},
|
||||
"kleur@4.1.5": {
|
||||
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="
|
||||
},
|
||||
"kysely@0.27.6": {
|
||||
"integrity": "sha512-FIyV/64EkKhJmjgC0g2hygpBv5RNWVPyNCqSAD7eTCv6eFWNIi4PN1UvdSJGicN/o35bnevgis4Y0UDC0qi8jQ=="
|
||||
},
|
||||
"locate-character@3.0.0": {
|
||||
"integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="
|
||||
},
|
||||
|
|
@ -559,6 +652,13 @@
|
|||
"source-map-js@1.2.1": {
|
||||
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
|
||||
},
|
||||
"sqlite-wasm-kysely@0.3.0_kysely@0.27.6": {
|
||||
"integrity": "sha512-TzjBNv7KwRw6E3pdKdlRyZiTmUIE0UttT/Sl56MVwVARl/u5gp978KepazCJZewFUnlWHz9i3NQd4kOtP/Afdg==",
|
||||
"dependencies": [
|
||||
"@sqlite.org/sqlite-wasm",
|
||||
"kysely"
|
||||
]
|
||||
},
|
||||
"svelte-check@4.4.3_svelte@5.53.0__acorn@8.16.0_typescript@5.9.3": {
|
||||
"integrity": "sha512-4HtdEv2hOoLCEsSXI+RDELk9okP/4sImWa7X02OjMFFOWeSdFF3NFy3vqpw0z+eH9C88J9vxZfUXz/Uv2A1ANw==",
|
||||
"dependencies": [
|
||||
|
|
@ -607,6 +707,26 @@
|
|||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||
"bin": true
|
||||
},
|
||||
"unplugin@2.3.11": {
|
||||
"integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==",
|
||||
"dependencies": [
|
||||
"@jridgewell/remapping",
|
||||
"acorn",
|
||||
"picomatch",
|
||||
"webpack-virtual-modules"
|
||||
]
|
||||
},
|
||||
"urlpattern-polyfill@10.1.0": {
|
||||
"integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw=="
|
||||
},
|
||||
"uuid@10.0.0": {
|
||||
"integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
|
||||
"bin": true
|
||||
},
|
||||
"uuid@13.0.0": {
|
||||
"integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
|
||||
"bin": true
|
||||
},
|
||||
"vite@7.3.1_picomatch@4.0.3": {
|
||||
"integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
|
||||
"dependencies": [
|
||||
|
|
@ -631,6 +751,9 @@
|
|||
"vite"
|
||||
]
|
||||
},
|
||||
"webpack-virtual-modules@0.6.2": {
|
||||
"integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="
|
||||
},
|
||||
"zimmerframe@1.1.4": {
|
||||
"integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ=="
|
||||
}
|
||||
|
|
@ -638,6 +761,7 @@
|
|||
"workspace": {
|
||||
"packageJson": {
|
||||
"dependencies": [
|
||||
"npm:@inlang/paraglide-js@^2.12.0",
|
||||
"npm:@lucide/svelte@0.575",
|
||||
"npm:@sveltejs/adapter-static@^3.0.10",
|
||||
"npm:@sveltejs/kit@^2.50.2",
|
||||
|
|
|
|||
17
src/web/frontend/messages/en.json
Normal file
17
src/web/frontend/messages/en.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"$schema": "https://inlang.com/schema/inlang-message-format",
|
||||
"app_name": "Jupiter Mail",
|
||||
|
||||
"section_dashboard": "Dashboard",
|
||||
|
||||
"section_accounts": "Accounts",
|
||||
"section_accounts_instructions": "Click an account below to configure:",
|
||||
"section_accounts_add": "Add Account",
|
||||
|
||||
"section_settings": "Settings",
|
||||
"section_settings_mda": "Mail Delivery Settings",
|
||||
"section_settings_mta": "Mail Transfer Settings",
|
||||
"section_settings_version": "Running:",
|
||||
|
||||
"dashboard_n_accounts_active": "Active: {count}"
|
||||
}
|
||||
|
|
@ -19,6 +19,7 @@
|
|||
"svelte": "^5.51.0",
|
||||
"svelte-check": "^4.3.6",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.3.1"
|
||||
"vite": "^7.3.1",
|
||||
"@inlang/paraglide-js": "^2.12.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
14
src/web/frontend/project.inlang/settings.json
Normal file
14
src/web/frontend/project.inlang/settings.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"$schema": "https://inlang.com/schema/project-settings",
|
||||
"baseLocale": "en",
|
||||
"locales": [
|
||||
"en"
|
||||
],
|
||||
"modules": [
|
||||
"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/{locale}.json"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<html lang="%lang%">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script lang="ts">
|
||||
import { Plus } from '@lucide/svelte';
|
||||
import { m } from '@jupiter/paraglide/messages';
|
||||
|
||||
let { onclick, onkeydown } = $props();
|
||||
</script>
|
||||
|
|
@ -7,7 +8,7 @@
|
|||
<div class="add-account" onclick={onclick} onkeydown={onkeydown} role="button" tabindex="0">
|
||||
<div class="icon-container"><Plus /></div>
|
||||
<hr>
|
||||
<div class="info-container"><h2>Add Account</h2></div>
|
||||
<div class="info-container"><h2>{m.section_accounts_add()}</h2></div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
import { LayoutDashboard, Mail, Settings, User } from '@lucide/svelte';
|
||||
import ToastOverlay from '@jupiter/components/ui/ToastOverlay.svelte';
|
||||
import Button from '@jupiter/components/ui/Button.svelte';
|
||||
import { m } from '@jupiter/paraglide/messages';
|
||||
|
||||
let { children } = $props();
|
||||
</script>
|
||||
|
|
@ -14,10 +15,10 @@
|
|||
|
||||
<div class="app">
|
||||
<header class="sidebar">
|
||||
<h1><Mail /> Jupiter Mail</h1>
|
||||
<Button href="/"><LayoutDashboard /> Dashboard</Button>
|
||||
<Button href="/accounts"><User /> Accounts</Button>
|
||||
<Button href="/settings"><Settings /> Settings</Button>
|
||||
<h1><Mail /> {m.app_name()}</h1>
|
||||
<Button href="/"><LayoutDashboard /> {m.section_dashboard()}</Button>
|
||||
<Button href="/accounts"><User /> {m.section_accounts()}</Button>
|
||||
<Button href="/settings"><Settings /> {m.section_settings()}</Button>
|
||||
</header>
|
||||
<main>
|
||||
{@render children()}
|
||||
|
|
|
|||
1
src/web/frontend/src/routes/+layout.ts
Normal file
1
src/web/frontend/src/routes/+layout.ts
Normal file
|
|
@ -0,0 +1 @@
|
|||
export const prerender = true;
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
import { LayoutDashboard } from '@lucide/svelte';
|
||||
import Card from '@jupiter/components/ui/Card.svelte';
|
||||
import Header from '@jupiter/components/ui/Header.svelte';
|
||||
import { m } from '@jupiter/paraglide/messages';
|
||||
|
||||
let { data } = $props();
|
||||
</script>
|
||||
|
|
@ -14,8 +15,10 @@
|
|||
|
||||
<main>
|
||||
<Card>
|
||||
<h2><a href="/accounts">Accounts</a></h2>
|
||||
<p class="active-accounts">Active: {data.dashboard.num_accounts}</p>
|
||||
<h2><a href="/accounts">{m.section_accounts()}</a></h2>
|
||||
<p class="active-accounts">
|
||||
{m.dashboard_n_accounts_active({count: data.dashboard.num_accounts})}
|
||||
</p>
|
||||
</Card>
|
||||
</main>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
import AccountListItem from '@jupiter/components/ui/AccountListItem.svelte';
|
||||
import AccountAddButton from '@jupiter/components/ui/AccountAddButton.svelte';
|
||||
import { goto } from '$app/navigation';
|
||||
import { m } from '@jupiter/paraglide/messages.js';
|
||||
|
||||
let { data } = $props();
|
||||
const accounts = (() => data.accounts)();
|
||||
|
|
@ -16,11 +17,11 @@
|
|||
<div class="page-container">
|
||||
<Header>
|
||||
<User />
|
||||
<h1>Accounts</h1>
|
||||
<h1>{m.section_accounts()}</h1>
|
||||
</Header>
|
||||
|
||||
<main>
|
||||
<p>Click an account below to configure:</p>
|
||||
<p>{m.section_accounts_instructions()}</p>
|
||||
<hr>
|
||||
<div class="account-list">
|
||||
{#if accounts}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import { Settings } from '@lucide/svelte';
|
||||
import Header from '@jupiter/components/ui/Header.svelte';
|
||||
import Card from '@jupiter/components/ui/Card.svelte';
|
||||
import { m } from '@jupiter/paraglide/messages.js';
|
||||
|
||||
let { data } = $props();
|
||||
|
||||
|
|
@ -11,18 +12,18 @@
|
|||
<div class="page-container">
|
||||
<Header>
|
||||
<Settings />
|
||||
<h1>Settings</h1>
|
||||
<h1>{m.section_settings()}</h1>
|
||||
</Header>
|
||||
|
||||
<main>
|
||||
<Card>
|
||||
<h2>Mail Delivery Settings</h2>
|
||||
<p>Running: <code>{settings.mail_delivery.version}</code></p>
|
||||
<h2>{m.section_settings_mda()}</h2>
|
||||
<p>{m.section_settings_version()} <code>{settings.mail_delivery.version}</code></p>
|
||||
</Card>
|
||||
|
||||
<Card>
|
||||
<h2>Mail Transfer Settings</h2>
|
||||
<p>Running: <code>{settings.mail_transfer.version}</code></p>
|
||||
<h2>{m.section_settings_mta()}</h2>
|
||||
<p>{m.section_settings_version()} <code>{settings.mail_transfer.version}</code></p>
|
||||
</Card>
|
||||
</main>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,13 @@
|
|||
import { paraglideVitePlugin } from '@inlang/paraglide-js'
|
||||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [sveltekit()]
|
||||
plugins: [
|
||||
sveltekit(),
|
||||
paraglideVitePlugin({
|
||||
project: './project.inlang',
|
||||
outdir: './src/paraglide',
|
||||
}),
|
||||
]
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue