Overview
This package gives ability to use translation rules., (*1)
Installation
composer require dn23rus/laravel-translation-rules, (*2)
Configuration
Add service provider to config/app.php, (*3)
'providers' => [
//...
Dmbur\TranslationRule\TranslationRuleServiceProvider::class
]
Run the command:, (*4)
php artisan vendor:publish, (*5)
to publish translation_rules.php, (*6)
Usage
Now you can add rule to resources/lang/translation_rules.php, for example rule for Russian language:, (*7)
'ru' => function ($n) {
return ($n % 10 == 1 && $n % 100 != 11) ? 0 :
($n % 10 >= 2 && $n % 10 <= 4 && ($n % 100 < 10 || $n % 100 >= 20) ? 1 : 2);
},
And example of message in file resource/lang/ru/app.php:, (*8)
'apple' => '{0}яблоко|{1}яблока|{2}яблок'
So, (*9)
echo 5 . ' ' . trans_rule('app.apple', 5) // will produce 5 яблок