themsaid / laravel-langman
- понедельник, 4 апреля 2016 г. в 03:12:09
PHP
Language files manager in your artisan console.
Langman is a language files manager in your artisan console, it helps you search, update, add, and remove
translation lines with ease. Taking care of a multilingual interface is not a headache anymore.
You'll need PHP 7.0+ to run this tool.
Begin by installing the package through Composer. Run the following command in your terminal:
$ composer require themsaid/laravel-langman
Once done, add the following in the providers array of config/app.php
:
Themsaid\Langman\LangmanServiceProvider::class
This package has a single configuration option that points to the resources/lang
directory, if only you need to change
the path then publish the config file:
php artisan vendor:publish --provider="Themsaid\Langman\LangmanServiceProvider"
php artisan langman:show users
You get:
'+---------+---------------+-------------+
| key | en | nl |
+---------+---------------+-------------+
| name | name | naam |
| job | job | baan |
+---------+---------------+-------------+
php artisan langman:show users.name
Brings only the translation of the name
key in all languages.
php artisan langman:show users.nam -c
Brings only the translation lines with keys matching the given key via close match, so searching for nam
brings values for
keys like (name
, username
, branch_name_required
, etc...).
In the table returned by this command, if a translation is missing it'll be marked in red.
php artisan langman:find 'log in first'
You get a table of language lines where any of the values matches the given phrase by close match.
php artisan langman:sync
This command will look into your view files and find all translation keys that are not covered in your translation files, after that it appends those keys to the files with a value equal to an empty string.
php artisan langman:missing
It'll collect all the keys that are missing in any of the languages or has values equals to an empty string, prompt asking you to give a translation for each, and finally save the given values to the files.
php artisan langman:translate users.name
php artisan langman:translate users.name.en
In the first case it'll ask you to give a translation for the given key in all languages, in the second case it'll ask you only for the given language's value.
This command will add a new key if not existing, and updates the key if it is already there.
php artisan langman:remove users.name
It'll remove that key from all language files.
langman:sync
, langman:missing
, langman:translate
, and langman:remove
updates your language files by writing them completely, meaning that any comments or special styling will get
removed, so I recommend you backup your files.
If you want a web interface to manage your language files instead, I recommend Laravel 5 Translation Manager by Barry vd. Heuvel.