Migrate Your Existing Laravel Translations in Minutes
You've spent months building your translation files. Hundreds of keys across multiple languages. You're not starting over.
Good news: you don't have to.
Import Your PHP Files
LangSyncer imports standard Laravel translation files directly.
- Open your project's Actions modal
- Drag and drop your
.phpfiles - Select the language
- Click Import
Done. All your translations are now in LangSyncer.
What Gets Imported
Your Laravel files:
// resources/lang/en/messages.php
return [
'welcome' => 'Welcome to our application',
'greeting' => 'Hello, :name!',
'nested' => [
'deep' => [
'value' => 'Deeply nested value',
],
],
];
Become:
| Group | Key | Value | |-------|-----|-------| | messages | welcome | Welcome to our application | | messages | greeting | Hello, :name! | | messages | nested.deep.value | Deeply nested value |
Nested arrays flatten to dot notation automatically.
JSON Files Too
Have en.json for single-file translations? Those work too.
{
"Welcome": "Welcome",
"Sign In": "Sign In"
}
Imported as:
| Group | Key | Value | |-------|-----|-------| | _json | Welcome | Welcome | | _json | Sign In | Sign In |
Import Multiple Languages
Got en/messages.php, es/messages.php, and fr/messages.php?
Import each one, selecting the correct language. LangSyncer matches keys automatically.
After importing all three:
| Key | EN | ES | FR | |-----|----|----|-----| | messages.welcome | Welcome | Bienvenido | Bienvenue |
The Reverse: Export
Need to go back? Export anytime:
- PHP format: Standard Laravel structure
- JSON format: Single file per language
- Both: Get both formats in a ZIP
Your data is never locked in.
Migration Strategy
- Import your existing translations
- Review in LangSyncer (find duplicates, fix inconsistencies)
- Translate missing languages with AI
- Publish and connect your app
- Delete local files (optional, LangSyncer is now your source of truth)
From legacy files to live, managed translations in an afternoon.