mmidu/translatable

为Laravel自动翻译json多语言字段。

dev-master 2020-04-10 07:55 UTC

This package is auto-updated.

Last update: 2024-09-10 17:26:23 UTC


README

为Laravel自动翻译json多语言字段。

使用方法

  1. 将服务提供者添加到config/app.php中的"providers"数组中,如下所示。 'providers' => [ ... Mmidu\Translatable\TranslatableServiceProvider::class, ... ],

    使用以下命令刷新配置缓存

    php artisan config:cache

    并使用以下命令发布配置文件

    php artisan vendor:publish --provider "Mmidu\Translatable\TranslatableServiceProvider"

  2. 使用Translatable特质到您想要使用的模型上。

  3. 在config/translatable.php文件中设置语言配置,您可以添加和删除区域设置。

  4. 用于翻译的区域必须放入会话中。

  5. 将可翻译字段添加到模型的translatable属性中,如下所示

    protected $translatable = [ 'name', 'description' ];

  6. 可翻译字段必须是具有以下结构的JSON

    { "it": "nome", "en": "name", "es": "nombre" etc... }

  7. 通过 $model->attribute 自动访问正确的区域版本。

    例如:Session::put('locale', 'es'); echo $model->name;

    结果 = 'nombre'

  8. Translatable添加了两个虚拟属性,multilingual_attribute和mulitilingual_attribute_str,它们以数组形式提供了可翻译属性的多种语言版本。如果没有值,multilingual_attribute将给出[],multilingual_attribute_str将给出一个空字符串。

  9. 享受吧!