udiptaweb / laravel-multilang
将动态数据翻译成多种语言
v1.0.0
2022-01-06 06:23 UTC
README
安装
步骤
- 使用以下命令安装包
composer require udiptaweb/laravel-multilang
- 安装后,使用以下命令发布配置和迁移
php artisan vendor:publish
然后选择提供者 Udiptaweb\LaravelMultilang\LaravelMultilangServiceProvider
这将发布名为的配置文件
laravel-multilang.php
和名为的迁移文件
2022_01_03_102303_create_translations_table.php
用法
- 在需要翻译的模型中导入特质
use Udiptaweb\LaravelMultilang\Traits\hasTranslation;
- 通过在模型上添加来指定要翻译的列名
protected $translable_cols = ['name'];
-
在模型的 boot 方法中编写以下方法
protected static function boot() { parent::boot(); static::created(function($model){ $model->createTranslation(); }); static::updated(function($model){ $model->updateTranslation(); }); static::deleted(function($model){ $model->deleteTranslation(); }); }
4.安装 google translate laravel 包 并设置 GOOGLE_TRANSLATE_API_KEY
-
现在要翻译,请使用以下方法
$user = User::find($id) $user->getTranslated('field_name','language')
例如,如果您想将用户字段名翻译成印地语,那么
$user->getTranslated('name','hi')
可用语言
在发布的配置文件 laravel-multilang.php 中指定可用语言,languages = ['en','hi']
默认语言:您可以通过在 laravel-multilang.php 的 default_language 字段中指定来更改默认语言
***You should use language code specified on languages array on laravel-multilang.php