begimov / localization-helper
Package for convenient work with Laravel's localization features
Requires
Requires (Dev)
- mikey179/vfsstream: ^1.6
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
README
Localization Helper
Package for convenient work with Laravel's localization features and fast language files generation.
Installation
Via Composer
$ composer require awes-io/localization-helper
In Laravel 5.5+, service provider and facade will be automatically registered. For older versions, follow the steps below:
Register service provider in config/app.php
:
'providers' => [ // [...] AwesIO\LocalizationHelper\LocalizationHelperServiceProvider::class, ],
You may also register LaravelLocalization
facade:
'aliases' => [ // [...] 'LocalizationHelper' => AwesIO\LocalizationHelper\Facades\LocalizationHelper::class, ],
Config
Config Files
In order to edit default configuration you may execute:
php artisan vendor:publish --provider="AwesIO\LocalizationHelper\LocalizationHelperServiceProvider"
After that, config/localizationhelper.php
will be created.
Usage
Package registers global helper function _p($file_key, $default, $placeholders)
:
_p('auth.login', 'Login'); // "Login"
It will create new localization file auth.php
(if it doesn't exist) and write second parameter as language string under login
key:
return [ "login" => "Login" ];
On second call with same file/key _p('auth.login')
, localization string will be returned, file will remain untouched.
Placeholders are also supported:
_p( 'mail.invitation', 'You’re invited to join :company company workspace', ['company' => 'Awesio'] );
If key is returned, it means that string already exists in localization file and you are trying to add new one using its value as an array.
// in localization file.php return [ "test" => "Test string" ]; _p('file.test.new', 'Test string'); // will return "file.test.new" _p('file.test_2.new', 'Test string'); // will return "Test string" // and modify localization file: return [ "test" => "Test string", "test_2" => [ "new" => "Test string" ] ];
Change log
Please see the changelog for more information on what has changed recently.
Testing
The coverage of the package is .
You can run the tests with:
composer test
Contributing
Please see contributing.md for details and a todolist.