eii / locale-generator
A Laravel CLI to extract and translate Blade file strings to JSON language files
Installs: 28
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/eii/locale-generator
Requires
- php: ^8.1
- google/cloud-translate: ^2.0
README
Locale Generator is a Laravel Artisan command that simplifies multilingual development by automatically extracting __() strings from Blade templates and generating JSON language files.
It optionally integrates with Google Cloud Translate or DeepL to provide instant translations, helping you speed up localization workflows.
Installation
composer require eii/locale-generator
Setup
-
Publish Configuration:
php artisan vendor:publish --tag=config
-
Configure Translation Providers:
- Google Cloud Translate:
- Create a Google Cloud service account and download the JSON key file.
- Place the key file in
storage/app/google-credentials.jsonor update the path inconfig/locale-generator.php. - Add to
.env:GOOGLE_TRANSLATE_KEY_FILE=/path/to/google-credentials.json GOOGLE_PROJECT_ID=your-project-id
- DeepL:
- Obtain a DeepL API key (free tier available).
- Add to
.env:DEEPL_API_KEY=your-deepl-api-key
- Google Cloud Translate:
Usage
Run the lang:extract command:
php artisan lang:extract welcome --locales=ja,es,de --translate=google php artisan lang:extract mail.notification --locales=fr,es --translate=deepl
file: Blade file name (e.g.,welcome,mail.notification).--locales: Comma-separated list of target locales (e.g.,ja,es,de).--translate: Translation provider (googleordeepl).
Configuration
Edit config/locale-generator.php to customize:
views_path: Directory for Blade files (default:resources/views).google_translate.key_file: Path to Google Cloud service account JSON key.google_translate.project_id: Google Cloud project ID.deepl_api_key: DeepL API key.
Requirements
- PHP 8.1+
- Laravel 9.0, 10.0, 11.0, 12.0
- Google Cloud Translate API (for
googleprovider) - DeepL API (for
deeplprovider)
License
This package is open-sourced software licensed under the MIT license.