Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
1b56aa4
feat(i18n): add Paraglide internationalization with en, de and nb
hhvrc Nov 9, 2026
61aac70
Some german corrections
hhvrc Nov 9, 2026
afc1f31
Remove some stupid ones
hhvrc Nov 9, 2026
a32dee2
correct some norwegian
hhvrc Nov 9, 2026
1bf5a47
openshock on github is better
hhvrc Nov 9, 2026
8ca747b
Add spanish
hhvrc Nov 9, 2026
abce202
add more translations pending verification
hhvrc Nov 9, 2026
22df125
fix(i18n): translate framework error messages and let the switcher sa…
hhvrc Nov 9, 2026
97eacd6
feat(i18n): rewrite the uwu locale
hhvrc Nov 9, 2026
2cd1f78
feat(i18n): translate the shockers pages and control modules
hhvrc Nov 9, 2026
9ebb76a
fix(i18n): shorten control slider labels so they fit
hhvrc Nov 9, 2026
08d1f7c
feat(i18n): translate the serial terminal
hhvrc Nov 9, 2026
3eb1ff9
feat(i18n): translate the hubs, home and profile pages
hhvrc Nov 9, 2026
66c1ad5
fix(i18n): name Norwegian "Norsk" in the language picker
hhvrc Nov 9, 2026
86fda2d
feat(i18n): translate the settings pages
hhvrc Nov 9, 2026
ba42ec6
feat(i18n): translate public shares and the share link view
hhvrc Nov 9, 2026
a1751e9
feat(i18n): translate the user shares pages
hhvrc Nov 9, 2026
e20f318
feat(i18n): translate the report page, shared components and connecti…
hhvrc Nov 9, 2026
a0d4fc3
feat(i18n): translate API error messages
hhvrc Nov 9, 2026
e6b4910
feat(i18n): translate the development banner and a few leftovers
hhvrc Nov 9, 2026
a1a845c
feat(i18n): show the bugs warning for the beta channel
hhvrc Nov 9, 2026
73543f0
feat(i18n): open the language picker as a full-screen dialog
hhvrc Nov 9, 2026
518b5ce
feat(i18n): add Dutch, Ukrainian, Japanese and Chinese
hhvrc Nov 9, 2026
dab7016
feat(i18n): show flags in the language picker and sort it by name
hhvrc Nov 9, 2026
2f61635
feat(i18n): keep the flag out of the footer language button
hhvrc Nov 9, 2026
8e37a72
Update nl.json
hhvrc Nov 10, 2026
fbfe91c
fix: Estonian translations
hhvrc Nov 10, 2026
353e4af
feat(i18n): translate the landing page
hhvrc Nov 10, 2026
0a4b771
feat(i18n): give the landing page a URL per language
hhvrc Nov 10, 2026
a2502f7
feat(i18n): format admin dates and numbers in the app locale
hhvrc Nov 10, 2026
2f15e0b
refactor(i18n): drop the ?lang= locale override
hhvrc Nov 10, 2026
7b4a83b
build(i18n): load the inlang plugin from node_modules instead of a CDN
hhvrc Nov 10, 2026
83fe3bb
feat(i18n): translate the site meta description
hhvrc Nov 10, 2026
991f402
perf(i18n): stop bundling every message with the API error handler
hhvrc Nov 10, 2026
cb6aa7c
refactor(i18n): drop the per-language landing page URLs
hhvrc Nov 12, 2026
747dcf9
fix(i18n): close the review gaps in locale resolution and metadata
hhvrc Nov 12, 2026
141afa0
fix(i18n): stop borrowing strings across features and translate the l…
hhvrc Nov 12, 2026
1f169fd
fix(i18n): stop marking English with the UK flag
hhvrc Nov 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
NODE_PATH=src

PUBLIC_SITE_NAME=OpenShock
PUBLIC_SITE_DESCRIPTION=a free and open-source ecosystem to control various shock collars over the internet.
PUBLIC_GITHUB_PROJECT_URL=https://github.com/OpenShock
PUBLIC_DISCORD_INVITE_URL=https://discord.gg/OpenShock

Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,6 @@ yarn.lock

.claude
.playwright-mcp

# Paraglide (src/lib/paraglide ignores itself)
project.inlang/cache
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
pnpm exec svelte-kit sync
pnpm exec paraglide-js compile --silent

pnpm exec svelte-check --tsconfig ./tsconfig.json &
pid1=$!
Expand Down
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ src/worker-configuration.d.ts

# Cloudflare headers file — no prettier parser
_headers

# Generated by Paraglide
src/lib/paraglide
1 change: 0 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ services:
- PUBLIC_BACKEND_API_URL=https://test
- PUBLIC_GATEWAY_CSP_WILDCARD=http://*.localhost:3000
- PUBLIC_SITE_NAME=OpenShock
- PUBLIC_SITE_DESCRIPTION=a free and open-source ecosystem to control various shock collars over the internet.
- PUBLIC_GITHUB_PROJECT_URL=https://github.com/OpenShock
- PUBLIC_DISCORD_INVITE_URL=https://discord.gg/OpenShock
- PUBLIC_TURNSTILE_DEV_BYPASS_VALUE=dev-bypass
Expand Down
1 change: 1 addition & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ export default defineConfig(
'yarn.lock',
'src/lib/api/internal',
'src/lib/components/ui',
'src/lib/paraglide',
// Workspace packages (e.g. svelte-core submodule) own their own linting
'packages/**',
],
Expand Down
1,123 changes: 1,123 additions & 0 deletions messages/de.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/en.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/es.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/et.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/fi.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/fr.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/ja.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/nb.json

Large diffs are not rendered by default.

1,129 changes: 1,129 additions & 0 deletions messages/nl.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/sv.json

Large diffs are not rendered by default.

1,141 changes: 1,141 additions & 0 deletions messages/uk.json

Large diffs are not rendered by default.

1,126 changes: 1,126 additions & 0 deletions messages/uwu.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/zh-Hans.json

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions messages/zh-Hant.json

Large diffs are not rendered by default.

9 changes: 7 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,25 @@
"build": "cross-env BUILD_ENV=production vite build",
"preview": "cross-env BUILD_ENV=production vite preview",
"prepare": "svelte-kit sync || echo '' && husky",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"check": "svelte-kit sync && pnpm run i18n:compile && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && pnpm run i18n:compile && svelte-check --tsconfig ./tsconfig.json --watch",
"lint": "eslint .",
"format:check": "prettier --check .",
"format": "prettier --write .",
"test": "npm run test:unit -- --run && npm run test:e2e",
"test:e2e": "playwright test",
"test:unit": "vitest",
"regen-api": "node scripts/regenerate-api.js",
"i18n:compile": "paraglide-js compile --silent",
"check:problem-types": "node scripts/check-problem-types.js --strict"
},
"devDependencies": {
"@eslint/compat": "^2.1.1",
"@eslint/js": "latest",
"@hey-api/openapi-ts": "^0.99.0",
"@inlang/paraglide-js": "^3.2.0",
"@inlang/paraglide-js-svelte": "^1.0.5",
"@inlang/plugin-message-format": "^4.6.0",
"@internationalized/date": "^3.12.4",
"@lucide/svelte": "^1.61.0",
"@microsoft/signalr": "^10.0.11",
Expand All @@ -49,6 +53,7 @@
"eslint-plugin-compat": "^7.0.2",
"eslint-plugin-svelte": "^3.23.1",
"esptool-js": "0.7.1",
"flag-icons": "7.6.0",
"globals": "^17.14.0",
"husky": "^9.1.7",
"layerchart": "^2.9.1",
Expand Down
Loading
Loading