Overview
Stringboot makes multi-language support effortless with automatic language detection, smooth language switching, and AI-powered translations from the dashboard. Support global users without complex i18n libraries.Key Benefits
Auto-Detection
Automatically detects browser/user language
Instant Switching
Change language without page reload
AI Translations
Generate translations from dashboard
Offline Support
All languages cached in IndexedDB
Quick Start
1. Add Languages in Dashboard
Go to Stringboot Dashboard → Languages → Add Language:- Select application
- Choose language (e.g., Spanish -
es) - Enable AI Translation
- Click Save
2. Use Browser Locale
main.js
3. Strings Auto-Load in User’s Language
Language Detection
Detect Browser Language
Get Available Languages
Language Switching
Complete Language Switch (React)
LanguageSwitcher.jsx
Complete Language Switch (Vanilla JS)
Language Picker UI
React Language Picker
LanguagePicker.jsx
Vanilla JS Language Picker
Persisting Language Preference
Save on Change
Load on App Start
App.jsx
Advanced Patterns
Language-Specific Formatting
Date Formatting
React Patterns
Language Context Provider
LanguageContext.jsx
Language Switcher Component
Next.js Patterns
App Router with Language Support
app/layout.tsx
Best Practices
Always Persist Language Preference
Always Persist Language Preference
Provide Language Detection Fallback
Provide Language Detection Fallback
Show Language in Settings
Show Language in Settings
Common Use Cases
Global E-commerce Site
ProductPage.jsx
Multi-Language Landing Page
Next Steps
Dynamic Strings
Learn about string retrieval
A/B Testing
Optimize messaging with experiments
React Hooks
Complete hooks reference
API Reference
Language Methods
| Method | Description | Returns |
|---|---|---|
getCurrentLanguage() | Get current language code | string |
changeLanguage(lang) | Change active language | Promise<void> |
getActiveLanguages() | Get available languages | Promise<ActiveLanguage[]> |
React Hooks
| Hook | Description | Returns |
|---|---|---|
useLanguage() | Get/set current language | [string, (lang: string) => Promise<void>] |
useActiveLanguages() | Get available languages | { languages, loading, error } |
Troubleshooting
Language doesn't switch
Language doesn't switch
Check:
- Did you call
changeLanguage()orsetLanguage()? - Are strings available for that language?
Translations not showing
Translations not showing
Check:
- Language added in dashboard?
- Strings translated for that language?
- Network sync successful?