How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/zhuojg/agent-skills --skill paraglide-jsBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
Paraglide JS
Overview
Paraglide JS is a compiler-based i18n library that generates typed message functions and runtime helpers. Use this skill when a project needs Paraglide setup, message usage, locale detection, SSR integration, or refactoring around generated paraglide/ output.
When To Use
- Adding Paraglide JS to a new or existing app
- Updating locale strategy order or custom strategies
- Wiring SSR locale detection with
paraglideMiddleware() - Integrating Paraglide into TanStack Start
- Reusing one
project.inlangacross a monorepo
Do not use this skill for generic copywriting or translation quality review. It is for code integration and runtime behavior.
Core Workflow
- Identify the app shape: Vite app, SSR app, TanStack Start app, or monorepo.
- Prefer the Vite plugin for Vite-based apps.
- Use CLI compilation when bundler integration is unavailable or when a package needs explicit compile scripts.
- Add server middleware only for SSR/server request flows.
- Keep
project.inlangand message files as the source of truth; treat generatedparaglide/output as build artifacts. - Recompile after changing messages, locales, strategy, or output settings.
Rules Of Thumb
- Prefer
paraglideVitePlugin()in Vite projects instead of hand-rolling generated output. - Prefer built-in strategies before adding custom ones.
- Order strategies intentionally. Earlier strategies win.
- Use one owner for URL rewriting. Do not combine router-level URL rewrites and middleware-driven URL localization without checking for redirect loops.
- In monorepos, default to "each package compiles" unless every consumer can share one identical strategy/runtime.
Reference Guide
- Read `references/basics.md` for setup, generated files, and message/runtime usage.
- Read `references/strategies.md` for strategy ordering and custom strategies.
- Read `references/tanstack-start.md` for TanStack Start integration patterns.
- Read `references/monorepo.md` for shared
project.inlangpatterns across packages.
Common Mistakes
- Editing generated
src/paraglide/*files directly instead of changing source messages or config - Forgetting to recompile after changing
messages/*.jsonorproject.inlang/settings.json - Adding
paraglideMiddleware()to client-only SPAs - Putting a preference strategy before
urlwithout expecting redirect behavior - Using TanStack Router rewrites and URL-based middleware localization together without testing for loops
External Sources
- Official docs: https://inlang.com/m/gerre34r/library-inlang-paraglideJs/
- Vite guide: https://inlang.com/m/gerre34r/library-inlang-paraglideJs/vite
- Monorepo guide: https://inlang.com/m/gerre34r/library-inlang-paraglideJs/monorepo
- Middleware guide: https://inlang.com/m/gerre34r/library-inlang-paraglideJs/middleware
- TanStack Router i18n guide: https://tanstack.com/router/v1/docs/framework/react/guide/internationalization-i18n

