sem-feldoe / laravel-translatable
一个用于多语言模型的Laravel包
v11.12.0
2023-02-15 09:33 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^8.0 || ^9.0 || ^10.0
- illuminate/database: ^8.0 || ^9.0 || ^10.0
- illuminate/support: ^8.0 || ^9.0 || ^10.0
Requires (Dev)
- laravel/legacy-factories: ^1.0.4
- mockery/mockery: ^1.3.3
- orchestra/testbench: ^6.0 || ^7.0
- phpunit/phpunit: ^9.0
This package is not auto-updated.
Last update: 2024-09-25 12:49:29 UTC
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以获取详细信息。您还可能对行为准则感兴趣。
安全
如果您发现任何与安全相关的问题,请参阅SECURITY以获取报告步骤。
致谢
- Tom Witkowski 当前维护者
- Dimitrios Savvopoulos 原始作者
- David Llop 重构测试套件
- Caneco 艺术作品
- 所有贡献者
版本
免费版
您可以免费使用此包,但如果它进入您的生产环境,我将非常感谢您为世界买一棵树。
众所周知,应对气候危机并防止气温上升超过1.5C的最好工具之一是植树。如果您为我的森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。
您可以在offset.earth/treeware购买树木。
有关Treeware的更多信息,请访问treeware.earth。
