almoayad / laratrans
LaraTrans是一个简化模型翻译处理的Laravel包。它允许您轻松地创建、更新和删除特定模型属性的翻译,使您的应用程序以最小的努力即可支持多语言。
1.0.4
2024-08-29 08:07 UTC
Requires
- php: ^7.4 || ^8.0
- illuminate/support: ^8.0 || ^9.0 || ^10.0
README
LaraTrans
LaraTrans是一个简化模型翻译处理的Laravel包。它允许您轻松地创建、更新和删除特定模型属性的翻译,使您的应用程序以最小的努力即可支持多语言。
安装
您可以通过Composer安装此包
composer require almoayad/laratrans
接下来,发布迁移文件
php artisan vendor:publish --provider="Almoayad\LaraTrans\LaraTransServiceProvider" --tag="migrations"
然后,运行迁移
php artisan migrate
使用方法
步骤1:添加HasTranslations特性
要开始在模型中使用LaraTrans,只需将HasTranslations特性添加到模型中
use Almoayad\LaraTrans\Traits\HasTranslations; class SomeModel extends Model { use HasTranslations; }
步骤2:创建翻译
您可以通过使用模型翻译关系上的createMany()方法来创建翻译
SomeModel::create($request->except('translations')); # Now let LaraTrans do the rest. # Translations will be created automatically # $translations = [ # ['locale' => 'ar', 'property_name' => 'name', 'value' => 'أسود'], # ['locale' => 'en', 'property_name' => 'name', 'value' => 'black'], # ['locale' => 'fr', 'property_name' => 'name', 'value' => 'noir'], # ]
步骤3:检索翻译
要检索特定属性的翻译,请使用filterTranslation()方法
$translation = $modelInstance->filterTranslation('name');
步骤4:自动创建、更新和删除
LaraTrans在您创建、更新或删除模型记录时自动处理翻译的创建、更新和删除。这确保了您的翻译始终与模型数据同步。
定制
您可以通过扩展HasTranslations特性或修改提供的迁移文件来定制LaraTrans的行为,以满足您的需求。
许可证
LaraTrans是开源软件,许可协议为MIT。
反馈和贡献
如果您有任何反馈或建议,请随时提交问题或提交拉取请求。贡献总是受欢迎的!
由Mohamad Almoayad开发,倾注爱心。
本地测试包
要在本地Laravel应用程序中测试此包,您可以使用Composer的path
仓库功能
-
将以下内容添加到您的Laravel应用程序的
composer.json
"repositories": [ { "type": "path", "url": "../path/to/LaraTrans" } ],
-
然后运行
composer require almoayad/laratrans
这允许您在发布之前本地测试该包。
发布包
一旦一切正常,您可以通过创建账户并提交您包的GitHub仓库URL来在Packagist上发布您的包。
此分步指南应使您更容易打包、测试和发布Almoayad\LaraTrans
。更新后的README.md
文件现在清楚地反映了这些说明。