@garage44/expressio
v1.7.2
Published
Automated i18n tooling for software projects
Downloads
465
Readme
Expressio
Instant multi-lingual applications with machine translation
Overview
Expressio is a lightning-fast i18n tool that automatically translates your application using Deepl. Built with Bun and I18Next.
Key Features
- 🚀 Instant machine translation
- 🔄 Automatic sync of all translations when source text changes
- 🌍 Support for 30+ languages
- 🔌 Service-agnostic design (currently using Deepl)
Quick Start
# Use Bun, Deno or Node.js to create or open an expressio project in the current directory
bunx --bun @garage44/expressio start
deno run --allow-read --allow-write --allow-net --allow-env --allow-sys npm:@garage44/[email protected] start
pnpm dlx @garage44/expressio start
# - Add your DeepL API key to your project settings (saved in ~/.expressiorc)
# - Open the translation UI in the browser (http://localhost:3000)
# - Setup code sync (see below)
# - Lint translations to verify they are in sync with the translation tags in your source code
pnpm dlx @garage44/[email protected] lint
Usage
Adding Languages
- Get a Deepl API key (free tier: 500k characters/month)
- Add it to your project settings
- Select target languages from the settings page
Working with Translations
- Focus on writing clear source texts
- Use contextual phrases (e.g., "Your cart" instead of just "Cart")
- Use placeholders with
{{}}
syntax - they're automatically preserved
Development
# Clone the workspace
git clone https://codeberg.org/garage44/workspace.git
cd workspace
# Install dependencies
bun install
# Start development server
cd packages/expressio
BUN_ENV=development bun run app.ts start