hostitonline / laravel-translator
直接翻译模型
v1.0.3
2024-05-07 19:54 UTC
Requires
- php: >=8.3
- laravel/framework: ^10.0|^11.0
This package is auto-updated.
Last update: 2024-09-21 18:36:49 UTC
README
安装、配置和用法
要安装,请运行 composer require hostitonline/laravel-translator
这个包做什么?
这个包将允许您的Laravel项目实现无缝的翻译集成。大多数包需要您在模型上定义一个关系,然后调用该关系以显示翻译。这个包将移除这个要求,以保持您的代码整洁!
如何使用它?
模型
<?php namespace App\Models; use HostitOnline\LaravelTranslator\Traits\Translatable; class Product extends Model { use Translatable; /** @var array|string[] */ public array $translatable = [ 'name' ]; protected $fillable = [ 'name' ]; }
如何创建新的翻译
$product = Product::create([ 'name' => 'Book' ]); \HostitOnline\LaravelTranslator\Models\Translations::create([ 'value' => 'Boek', 'translatable_id' => $product->id, 'translatable_type' => Product::class, 'iso_code' => 'nl', 'translatable_column' => 'name' ]); \HostitOnline\LaravelTranslator\Models\Translations::create([ 'value' => 'Livre', 'translatable_id' => $product->id, 'translatable_type' => Product::class, 'iso_code' => 'fr', 'translatable_column' => 'name' ]);
此包使用 app()->getLocale()
来获取ISO代码。这通常在中间件中处理,以确保使用正确的语言。
GET /products/<id> HEADERS: [Content-Language => FR]
ProductController { public function show(Product $product) { dump($product->name); // Output: Livre } }
许可证
Laravel-translator 是开源软件,许可协议为 MIT 协议。
贡献
请在问题页面报告您发现的任何问题。欢迎提交拉取请求。