geeksdevelop / translate
处理数据库中数据翻译的包
1.0.1
2017-01-27 10:46 UTC
This package is not auto-updated.
Last update: 2024-09-28 21:29:33 UTC
README
### 兼容 Laravel 版本 5.1, 5.2, 5.3 和 5.4,用于根据 Laravel 系统配置的语言翻译数据库中的字段。
安装
composer require geeksdevelop/translate
服务提供者
将包添加到你的应用程序服务提供者在 config/app.php 文件中。
'providers' => [ /* * Package Service Providers... */ Geeksdevelop\Translate\TranslateProvider::class, ],
发布
将迁移发布到你的应用程序。在你的终端中运行以下命令。
php artisan vendor:publish --provider="Geeksdevelop\Translate\TranslateProvider"
迁移表格
运行迁移。
php artisan migrate
包含特质到模型
在你的模型中包含你需要在其中翻译字段的 Translate 特性。
<?php namespace App; use Illuminate\Database\Eloquent\Model; use Geeksdevelop\Translate\Traits\Translate; class Post extends Model { use Translate; ],
用户指南
创建翻译
通过放置以下数据创建翻译 locale => 要翻译的语言,type => 输入名称要翻译,value => 输入中增加的字符串,
$post->setTranslate($locale, $type, $value);
示例
$post = Post::create([...]); #English language $post->setTranslate('en', 'title', 'Title of the post'); #French language $post->setTranslate('fr', 'title', 'Après le titre'); #Table translates +----+----------------+--------------------+-----------------+------------------+ | id | locale | type | value | translable_type | translable_value | +----+----------------+--------------------+-----------------+------------------+ | 1 | en | title | Title of the post | 1 | App\Post | +----+----------------+--------------------+-----------------+------------------+ | 2 | fr | title | Après le titre | 1 | App\Post | +----+----------------+--------------------+-----------------+------------------+
获取翻译
要获取翻译,我们只需使用方法 translate(),它将根据 Laravel 系统配置的语言提供翻译。
$post->translate('title'); #Title of the post
如果你想获取配置为 Laravel 的其他语言的特定翻译,可以使用 translate () 方法,如下所示
$post->translate('title', 'fr'); #Après le titre
使用 translate(),我们可以获取在模型中注册的不同语言的全部翻译。
$post->translate(); /* translate => [ 0 => [ 'id' => 1, 'locale' => 'en', 'value' => 'Title of the post', 'translable_type' => 1, 'translable_value' => 'App\Post' ], 1 => [ 'id' => 2, 'locale' => 'fr', 'value' => 'Après le titre', 'translable_type' => 1, 'translable_value' => 'App\Post' ] ]; */
更新翻译
要更新,使用的方法是 updateTranslate(locale, type, value)
$post->updateTranslate($locale, $type, $value);
删除翻译
要删除,只需使用方法 deleteTranslate(locale, type)
$post->deleteTranslate($locale, $type);