Transform your translation workflow today - because life's too short for manual JSON editing.
A beautiful, native macOS app for effortless Paraglide JS internationalization management
Transform your Paraglide JS workflow with an intuitive, native editor that makes managing i18n JSON files a breeze. Optimized for SvelteKit projects using Paraglide JS from inlang.
Stop wrestling with JSON files. Start focusing on what matters - your content.
- π― Native macOS Experience - Feels right at home on your Mac
- π Paraglide JS Optimized - Built specifically for Paraglide JS workflows
- π Smart Detection - Automatically scans
project.inlang/settings.jsonand i18n JSON files - π Visual Translation Table - Spreadsheet-like editing with Excel-style navigation
- π§ Intelligent Refactoring - AI-powered optimization suggestions
- β‘ Real-time Validation - Catch issues before they reach production
- π Framework Agnostic - Works with any framework using similar inlang settings
- Double-click to edit any translation cell
- Arrow key navigation between cells (just like Excel!)
- Tab/Shift+Tab for sequential editing
- Auto-save drafts with visual change indicators
- Bulk operations for efficient mass editing
- Remove empty translations automatically
- Merge duplicate keys with conflict resolution
- Optimize nesting structure for better organization
- Sort keys alphabetically for consistency
- Format JSON with beautiful indentation
- Real-time search across all translations
- Filter by status (missing, empty, complete)
- Sort by usage frequency or alphabetically
- Multi-locale filtering for targeted editing
- Automatic settings detection - Scans
project.inlang/settings.jsonautomatically - Usage tracking - See which keys are actually used in your codebase
- Translation statistics with completion percentages
- Route-based analysis for SvelteKit + Paraglide JS projects
- Smart key extraction from Svelte files and Paraglide JS usage patterns
- Real-time validation of message formats
- Cross-locale consistency checks
- Missing translation detection
- Syntax error highlighting
- Auto-fix suggestions for common issues
- Automatic inlang project detection - Finds and loads
project.inlang/settings.json - Paraglide JS configuration support - Reads pathPattern, locales, and baseLocale
- Automatic locale file creation when adding new languages
- Smart file deletion prompts when removing locales
- Security-scoped file access (macOS sandbox compliant)
- Recent projects for quick access
- macOS 12.0 or later
- A project with Paraglide JS setup (SvelteKit recommended)
project.inlang/settings.jsonconfiguration file
- Download the latest release from Releases
- Drag i18n Editor.app to your Applications folder
- Launch and grant file access permissions when prompted
- Open your project - Click "Select Project Folder" and choose your project root
- Automatic detection - The app scans for
project.inlang/settings.jsonand loads your configuration - Start editing - Double-click any cell to begin translating
- Save when ready - Hit "Save All" to write changes to your JSON files
your-project/
βββ project.inlang/
β βββ settings.json # Paraglide JS configuration
βββ messages/ # Translation files (configurable path)
β βββ en.json
β βββ de.json
β βββ fr.json
βββ src/ # Your source code
While optimized for Paraglide JS + SvelteKit, this app works with any project that uses:
project.inlang/settings.jsonconfiguration file- JSON-based translation files
- Standard inlang pathPattern structure
Tested with:
- β SvelteKit + Paraglide JS
- β Any framework following inlang conventions
- Paraglide JS users in SvelteKit projects seeking visual translation management
- inlang ecosystem adopters who want a native macOS editing experience
- Translation teams who prefer spreadsheet-like editing over raw JSON
- Project managers tracking translation progress across multiple locales
- Developers using any framework with similar
project.inlang/settings.jsonstructure - Anyone tired of manually editing JSON translation files
- SwiftUI - For that native macOS feel
- Core Data - Robust data persistence
- Security-Scoped Bookmarks - Sandbox-friendly file access
- Combine - Reactive programming patterns
- inlang ecosystem integration - Native support for Paraglide JS workflows
- Apple Human Interface Guidelines - Because good design matters
We'd love to hear from you! This app is built for the community, by the community.
Have an idea that would make your i18n workflow even better? Open an issue and tell us about it!
Help us squash it! Report bugs here with:
- Steps to reproduce
- Expected vs actual behavior
- Your macOS version
- Sample project (if possible)
- Fork the repository
- Create a feature branch (
git checkout -b amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- The inlang team for creating Paraglide JS and the amazing i18n ecosystem
- The SvelteKit team for building an incredible framework
- The i18n community for inspiration and feedback
- Apple for the excellent development tools and guidelines
Made with β€οΈ in ππ°π²π΄π¨π³ for the Paraglide JS and SvelteKit community



