tanmuhittin/laravel-easy-translate

此包的最新版本(dev-master)没有提供许可信息。

数据库翻译包。

dev-master 2018-06-28 10:11 UTC

This package is auto-updated.

Last update: 2024-09-07 20:06:16 UTC


README

这是一个数据库翻译包。此包适用于小型到中型项目。对于大型项目,我计划使用mongodb来开发此包的高性能版本。

安装

composer require tanmuhittin/laravel-easy-translate

php artisan migrate --path=vendor/tanmuhittin/laravel-easy-translate/database/migrations

现在你准备好了。

使用方法

将以下内容添加到你的可翻译模型中;

use TanMuhittin\LaraTranslate\Traits\Translatable;

然后定义可翻译字段

public $translatable_columns = ['name','content'];

现在你的模型返回了2个额外的字段;可翻译的,翻译后的

保存翻译

编辑由你的模型返回的可翻译对象并保存。例如可翻译对象

{
    name:'Default Name',
    content:'Default Content',
    created_at:01.09.1993 09:09:09,
    "translatable": {
              "en": {
                "name": {
                  "value": "enName"
                },
                "content": {
                  "value": "enContent"
                }
              },
              "tr": {
                "name": {
                  "value": "trName"
                },
                "content": {
                  "value": "trContent"
                }
              }
            }
        }
    .
    .
    .

编辑版本

{
    name:'Default Name',
    content:'Default Content',
    created_at:01.09.1993 09:09:09,
    "translatable": {
              "en": {
                "name": {
                  "value": "enName Edited"
                },
                "content": {
                  "value": "enContent Edited"
                }
              },
              "tr": {
                "name": {
                  "value": "trName Edited"
                },
                "content": {
                  "value": "trContent Edited"
                }
              }
            }
        }
    .
    .
    .

保存翻译

$model = new Posts;
$model->name = $request->get('name');
$model->content = $request->get('content');
if($request->has('translatable'))
    $model->trans = $request->get('translatable');
$model->save();

就是这样。