typicms/translatable
最新稳定版本:1.0.0
Composer 安装命令:
composer require typicms/translatable
包简介
A trait to make an Eloquent model hold translations
README 文档
README
This project is based on spatie/laravel-translatable, it resolves inconsistencies that have arisen over time in the initial project.
This package contains a trait HasTranslations to make Eloquent models translatable. Translations are stored as json. There is no extra table needed to hold them.
use Illuminate\Database\Eloquent\Model; use TypiCMS\Translatable\HasTranslations; class NewsItem extends Model { use HasTranslations; // ... }
After the trait is applied on the model you can do these things:
$newsItem = new NewsItem; $newsItem ->setTranslation('name', 'en', 'Name in English') ->setTranslation('name', 'nl', 'Naam in het Nederlands') ->save(); $newsItem->name; // Returns 'Name in English' given that the current app locale is 'en' $newsItem->getTranslation('name', 'nl'); // returns 'Naam in het Nederlands' app()->setLocale('nl'); $newsItem->name; // Returns 'Naam in het Nederlands' // If you want to query records based on locales, you can use the `whereLocale` and `whereLocales` methods. NewsItem::whereLocale('name', 'en')->get(); // Returns all news items with a name in English NewsItem::whereLocales('name', ['en', 'nl'])->get(); // Returns all news items with a name in English or Dutch
Testing
composer test
Security
If you've found a bug regarding security please mail sdebacker@gmail.com instead of using the issue tracker.
Credits
We got the idea to store translations as json in a column from Mohamed Said. Parts of the readme of his multilingual package were used in this readme.
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 625
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-02