veltix / laravel-translatable
用于多语言模型的 Laravel 扩展包
1.0.0
2024-04-16 21:33 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^8.0 || ^9.0 || ^10.0 || ^11.0
- illuminate/database: ^8.0 || ^9.0 || ^10.0 || ^11.0
- illuminate/support: ^8.0 || ^9.0 || ^10.0 || ^11.0
Requires (Dev)
- laravel/legacy-factories: ^1.0.4
- mockery/mockery: ^1.3.3
- orchestra/testbench: ^6.0 || ^7.0 || ^8.0 || ^9.0
- phpunit/phpunit: ^9.0 || ^10.0
README
如果您想将模型翻译存储到数据库中,这个包就是为您准备的。
这是一个针对可翻译模型的 Laravel 扩展包。其目标是简化检索和存储多语言模型实例的复杂性。使用此包,您将编写更少的代码,因为翻译将在检索/保存实例时自动获取/保存。
完整文档可在 GitBook 中找到。
安装
composer require astrotomic/laravel-translatable
快速示例
获取翻译属性
$post = Post::first(); echo $post->translate('en')->title; // My first post App::setLocale('en'); echo $post->title; // My first post App::setLocale('de'); echo $post->title; // Mein erster Post
保存翻译属性
$post = Post::first(); echo $post->translate('en')->title; // My first post $post->translate('en')->title = 'My cool post'; $post->save(); $post = Post::first(); echo $post->translate('en')->title; // My cool post
填充多个翻译
$data = [ 'author' => 'Gummibeer', 'en' => ['title' => 'My first post'], 'fr' => ['title' => 'Mon premier post'], ]; $post = Post::create($data); echo $post->translate('fr')->title; // Mon premier post
教程
更新日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。您也可能对 CODE OF CONDUCT 感兴趣。
安全
如果您发现任何安全相关的问题,请查阅 SECURITY 了解报告步骤。
致谢
- Tom Witkowski 当前维护者
- Dimitrios Savvopoulos 原始作者
- David Llop 重构测试套件
- Caneco 艺术作品
- 所有贡献者
版本
免费版
您可以使用此包,但如果它进入您的生产环境,我将非常感激您为世界购买一棵树。
众所周知,解决气候危机并防止气温上升超过1.5C 的最佳工具之一是 种植树木。如果您为我的森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。
您可以在 offset.earth/treeware 购买树木。
了解更多关于 Treeware 的信息,请访问 treeware.earth