Introduction
Automatic internationalization for Vue and Nuxt applications
Stringer is a CLI that automatically finds and converts user-facing text in your Vue and Nuxt apps to i18n-formatted keys, then translates them to 47 languages.
🧩 Installed the CLI? Now get the VSCode companion extension
- Inline previews — see translations next to
t('key')calls - One-click key insertion — convert selected text to i18n keys
- Missing key alerts — highlights keys missing from your locale files
- Auto-inject setup — adds
useI18nimport for newly added keys
Why Stringer?
What takes a professional localization engineer weeks (or months for large projects), Stringer does in minutes — with consistent quality across your entire codebase.
Automatic Setup
Intelligent Conversion
Fast Processing
How It Works
1. Analyze
2. Convert
3. Translate
Example
Your code:
After Stringer:
Generated locale file:
What's Converted
Stringer focuses on user-facing strings — text that your users see in the interface.
Converted:
- Text content in templates
- Button labels, headings, paragraphs
- Placeholder text and form labels
- Alert messages shown to users
- Error messages displayed in the UI
Not converted:
- Code comments
- Console logs and debug messages
- Content inside
<style>tags - Technical identifiers and constants
About Composables: Strings inside /composables folders are skipped by default. Depending on whether a composable runs client-side or server-side, injected t() calls may cause errors. Keep user-facing strings in components, pages, or server-side defineEventHandler scope for reliable conversion.
Supported Frameworks
Quick Start
Follow the interactive prompts to:
- Select your framework
- Choose files to convert
- Pick target languages for translation
Security & Privacy
We treat your code’s privacy and security as mission-critical. Every CLI run follows these guarantees:
- Only translatable content is sent to our processing servers; everything else stays local.
- Code is never stored—it is streamed, processed, and returned immediately to your CLI for replacement.
- Transmission is encrypted end-to-end, so your content is safe in transit.
- Nothing is viewable or downloadable by the Stringer team or any third party.
What we store (and why)
- Framework metadata (Vue or Nuxt) helps us understand which integrations are most used.
- Conversion and translation counts keep the
/historyand/billingdashboards accurate.
Feedback & Bug Reporting
Submit snippets for edge cases or incorrect conversions so we can investigate and evolve the system.
Submit feedback or edge cases →
Upload specific files or snippets that need another review.
Report bugs, ideas, or general feedback through the portal.
Next Steps
- Commands — Learn all available CLI commands
- Frameworks — Framework-specific setup guides
- VSCode Extension — Speed up manual i18n tasks
- URL-based Routing — SEO-friendly locale prefixes
- Languages — View all 47 supported languages
- Projects — Manage your Stringer projects
- Pricing — Token calculation and billing
- Troubleshooting — Common issues and solutions