onurkacmaz / laravel-model-translate
此包允许模型翻译。它类似于Symfony的gedmo翻译包。
v1.0.0
2023-02-20 06:41 UTC
Requires
- php: ^8.0
- ext-intl: *
Requires (Dev)
- orchestra/testbench: ^6.0
- pestphp/pest: ^1.22
- phpunit/phpunit: ^9.0
README
此包允许模型翻译。它类似于Symfony的gedmo翻译包。使用非常简单。您可以在模型或控制器中使用它。基本上,它是一个您可以在模型中使用的特性。它将自动创建模型中指定的字段翻译记录。它将根据注册的区域设置显示翻译。在创建或更新时,它将使用注册的区域设置并处理该记录。主要表与“foreign_id”和“模型命名空间”与翻译表相匹配。
安装
您可以通过composer安装此包
composer require onurkacmaz/laravel-model-translate
php artisan vendor:publish --provider="Onurkacmaz\LaravelModelTranslate\LaravelModelTranslateServiceProvider" --tag=config php artisan vendor:publish --provider="Onurkacmaz\LaravelModelTranslate\LaravelModelTranslateServiceProvider" --tag=migrations
php artisan migrate
使用方法
特性
use Onurkacmaz\LaravelModelTranslate\Traits\Translatable; class Blog extends Model { use Translatable; // You can define which fields will be translated public function getTranslatable(): array { return ['title', 'content']; } }
基于类的使用
use Onurkacmaz\LaravelModelTranslate\Traits\Translatable; class TestController extends Controller { public function index() { $translate = new LaravelModelTranslate(); $translate->setColumns(['title', 'content']); $translate->setModel($blog); $translate->setLocale('en'); $translate->translate(); // or $translate = new LaravelModelTranslate($blog, ['title', 'content'], 'en'); $translate->translate(); } }
静态使用
use Onurkacmaz\LaravelModelTranslate\Traits\Translatable; class TestController extends Controller { public function index() { $translate = LaravelModelTranslate::make() ->setModel($account) ->setLocale('en') ->setColumns(['title', 'content']) ->translate(); } }
测试
composer test
贡献
有关详细信息,请参阅 CONTRIBUTING
安全性
如果您发现任何安全相关的问题,请通过电子邮件 kacmaz.onur@hotmail.com 而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅 许可证文件
Laravel Package Boilerplate
此包是使用 Laravel Package Boilerplate 生成的。