Package Data | |
---|---|
Maintainer Username: | kkomelin |
Maintainer Contact: | konstantin.komelin@gmail.com (Konstantin Komelin) |
Package Create Date: | 2017-04-06 |
Package Last Update: | 2024-03-13 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-19 03:09:08 |
Package Statistics | |
---|---|
Total Downloads: | 825,570 |
Monthly Downloads: | 26,523 |
Daily Downloads: | 1,470 |
Total Stars: | 306 |
Total Watchers: | 7 |
Total Forks: | 40 |
Total Open Issues: | 1 |
As we know, Laravel 5.4 has introduced a "new" way of string translation.
Now you can use __('Translate me')
or @lang('Translate me')
with translations in JSON files to translate strings.
Translatable String Exporter is aimed to collect all translatable strings of an application and create corresponding translation files in JSON format to simplify the process of translation.
composer require kkomelin/laravel-translatable-string-exporter
ExporterServiceProvider
to the providers array in config/app.php:KKomelin\TranslatableStringExporter\Providers\ExporterServiceProvider::class,
To change project defaults, use the following command to create a configuration file in your config
folder and make necessary changes in there:
php artisan vendor:publish --provider="KKomelin\TranslatableStringExporter\Providers\ExporterServiceProvider"
php artisan translatable:export <lang>
Where <lang>
is a language code or a comma-separated list of language codes.
For example:
php artisan translatable:export es
php artisan translatable:export es,bg,de
The command with the "es,bg,de" parameter passed will create es.json, bg.json, de.json files with translatable strings or update the existing files in the resources/lang
folder of your project.
Some strings are not included in the export, because they are being dynamically generated. For example:
{{ __(sprintf('Dear customer, your order has been %s', $orderStatus)) }}
Where $orderStatus
can be 'approved', 'paid', 'cancelled' and so on.
In this case, you can add the strings to the <lang>.json
file manually. For example:
"Dear customer, your order has been approved": "Dear customer, your order has been approved",
"Dear customer, your order has been paid": "Dear customer, your order has been paid",
...
In order for those, manually added, strings not to get removed the next time you run the export command, you should add them to a json file named persistent-strings.json
. For example:
[
"Dear customer, your order has been approved",
"Dear customer, your order has been paid",
...
]
The easiest way to find untranslated strings in your language files at the moment is to search for entries with the same string for original and translated. You can do this in most editors using a regular expression.
In PhpStorm, you can use this pattern: "([^"]*)": "\1"
MIT, (c) 2018 Konstantin Komelin