almoayad/laratrans

LaraTrans是一个简化模型翻译处理的Laravel包。它允许您轻松地创建、更新和删除特定模型属性的翻译,使您的应用程序以最小的努力即可支持多语言。

1.0.4 2024-08-29 08:07 UTC

This package is auto-updated.

Last update: 2024-10-01 07:34:56 UTC


README

Mo Designs Studio Logo

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仓库功能

  1. 将以下内容添加到您的Laravel应用程序的composer.json

    "repositories": [
        {
            "type": "path",
            "url": "../path/to/LaraTrans"
        }
    ],
  2. 然后运行

    composer require almoayad/laratrans

这允许您在发布之前本地测试该包。

发布包

一旦一切正常,您可以通过创建账户并提交您包的GitHub仓库URL来在Packagist上发布您的包。

此分步指南应使您更容易打包、测试和发布Almoayad\LaraTrans。更新后的README.md文件现在清楚地反映了这些说明。