jva91/translation

Laravel数据库翻译包

dev-master 2019-05-03 18:54 UTC

This package is auto-updated.

Last update: 2024-09-29 04:49:53 UTC


README

一个易于管理的Laravel数据库翻译包

安装

使用composer

composer require jva91/translation

或在composer.json中手动添加

"require": {

    "jva91/translation": "0.1.x-dev"
}

添加此行后运行composer install

此包包含自动发现。当自动发现被禁用时,在config/app.php中注册服务提供者

 'providers' => [
    // ...
    Jva91\Translation\TranslationServiceProvider::class,
 ]

发布

此包发布了一个配置文件。

php artisan vendor:publish --provider="Jva91\Translation\TranslationServiceProvider" --tag="config"

迁移

此包包含一个默认迁移,这将使用以下方式执行:

php artisan migrate

模型

此包包含一个默认模型

Jva91\Translation\Models\Translation

用法

可以使用提供的特质Jva91\Translation\Traits\TranslationsTrait使用此包

class FakeModel extends Model
{
    use TranslationsTrait;
    
    public static $transFields = ['name'];
    // ...

$transFields是表中的列。此列必须是整数,以便特质可以将其翻译.key整数存储在此列中。此数组中可以有多个列。

特质使用config('app.locale')设置。额外的可翻译区域可以在配置文件translation.php中设置

'locales' => [
    'en_GB'
  ],

获取默认app.locale的翻译

$fakeModel->name

获取默认区域的翻译

$fakeModel->name_en_GB

从模型获取翻译键整数

$fakeModel->getOriginalTranslationKey('name')

删除特定区域的翻译

$fakeModel->deleteForLocale('name', 'nl_NL');

测试

此包由单元测试覆盖

功能函数

  • 控制台命令用于从表中删除未使用的翻译