From bc8c15a3a9354ee221287a4f6602cf43bba90170 Mon Sep 17 00:00:00 2001 From: "WIN-C27C5MSVTPO\\16961" <1696136552@qq.com> Date: Mon, 8 Sep 2025 10:37:06 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/service/SysCurrencyService.php | 18 +++++++ app/admin/service/SysDictItemService.php | 18 +++++++ app/admin/service/SysDictService.php | 18 +++++++ app/common/model/SysCurrencyTranslation.php | 49 +++++++++++++++++++ app/common/model/SysDictItemTranslation.php | 49 +++++++++++++++++++ app/common/model/SysDictTranslation.php | 49 +++++++++++++++++++ app/common/utils/translation/config/trans.php | 12 +++++ 7 files changed, 213 insertions(+) create mode 100644 app/common/model/SysCurrencyTranslation.php create mode 100644 app/common/model/SysDictItemTranslation.php create mode 100644 app/common/model/SysDictTranslation.php diff --git a/app/admin/service/SysCurrencyService.php b/app/admin/service/SysCurrencyService.php index 19f0529..c3086da 100644 --- a/app/admin/service/SysCurrencyService.php +++ b/app/admin/service/SysCurrencyService.php @@ -5,6 +5,8 @@ namespace app\admin\service; use app\admin\validate\SysCurrencyValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\SysCurrency; +use app\common\utils\translation\service\TranslationService; +use app\queue\utils\Translat; use support\Request; class SysCurrencyService @@ -58,4 +60,20 @@ class SysCurrencyService return $config; } + + public $translatFields = ['currency_name']; + + public function afterServiceStore($res) + { + $sourceLocale = locale(); + $data = $res->toArray(); + $traitsourceFields = Translat::extractSourceFields($data, $this->translatFields); + + (new TranslationService())->queueTranslations( + 'sys_currency', + $res['id'], + $sourceLocale, + $traitsourceFields + ); + } } \ No newline at end of file diff --git a/app/admin/service/SysDictItemService.php b/app/admin/service/SysDictItemService.php index 577b9f0..532cb61 100644 --- a/app/admin/service/SysDictItemService.php +++ b/app/admin/service/SysDictItemService.php @@ -5,6 +5,8 @@ namespace app\admin\service; use app\admin\validate\SysDictItemValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\SysDictItem; +use app\common\utils\translation\service\TranslationService; +use app\queue\utils\Translat; use support\Request; class SysDictItemService @@ -72,4 +74,20 @@ class SysDictItemService return $config; } + + public $translatFields = ['item_label']; + + public function afterServiceStore($res) + { + $sourceLocale = locale(); + $data = $res->toArray(); + $traitsourceFields = Translat::extractSourceFields($data, $this->translatFields); + + (new TranslationService())->queueTranslations( + 'sys_dict_item', + $res['id'], + $sourceLocale, + $traitsourceFields + ); + } } \ No newline at end of file diff --git a/app/admin/service/SysDictService.php b/app/admin/service/SysDictService.php index 859628c..e25c572 100644 --- a/app/admin/service/SysDictService.php +++ b/app/admin/service/SysDictService.php @@ -5,6 +5,8 @@ namespace app\admin\service; use app\admin\validate\SysDictValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\SysDict; +use app\common\utils\translation\service\TranslationService; +use app\queue\utils\Translat; use support\Request; class SysDictService @@ -124,4 +126,20 @@ class SysDictService return $data; } + + public $translatFields = ['dict_name', 'description']; + + public function afterServiceStore($res) + { + $sourceLocale = locale(); + $data = $res->toArray(); + $traitsourceFields = Translat::extractSourceFields($data, $this->translatFields); + + (new TranslationService())->queueTranslations( + 'sys_dict', + $res['id'], + $sourceLocale, + $traitsourceFields + ); + } } \ No newline at end of file diff --git a/app/common/model/SysCurrencyTranslation.php b/app/common/model/SysCurrencyTranslation.php new file mode 100644 index 0000000..b6e5b68 --- /dev/null +++ b/app/common/model/SysCurrencyTranslation.php @@ -0,0 +1,49 @@ + \app\ticket\model\CategorieTranslation::class, 'foreign_key' => 'categorie_id', ], + 'sys_currency' => [ + 'translation_model' => app\common\model\SysCurrencyTranslation::class, + 'foreign_key' => 'currency_id', + ], + 'sys_dict' => [ + 'translation_model' => app\common\model\SysDictTranslation::class, + 'foreign_key' => 'dict_id', + ], + 'sys_dict_item' => [ + 'translation_model' => app\common\model\SysDictItemTranslation::class, + 'foreign_key' => 'dict_item_id', + ], ], // 默认支持的目标语种列表 From fe8bce4b4c5109780cbbfe848eb8735ca385311f Mon Sep 17 00:00:00 2001 From: "WIN-C27C5MSVTPO\\16961" <1696136552@qq.com> Date: Mon, 8 Sep 2025 17:16:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/service/SysDictItemService.php | 2 +- app/common/model/SysDictItemTranslation.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/admin/service/SysDictItemService.php b/app/admin/service/SysDictItemService.php index 532cb61..98430b9 100644 --- a/app/admin/service/SysDictItemService.php +++ b/app/admin/service/SysDictItemService.php @@ -75,7 +75,7 @@ class SysDictItemService return $config; } - public $translatFields = ['item_label']; + public $translatFields = ['item_label','remark']; public function afterServiceStore($res) { diff --git a/app/common/model/SysDictItemTranslation.php b/app/common/model/SysDictItemTranslation.php index e4446ff..8d33913 100644 --- a/app/common/model/SysDictItemTranslation.php +++ b/app/common/model/SysDictItemTranslation.php @@ -40,7 +40,7 @@ class SysDictItemTranslation extends Model /** * 允许自动填充模型字段 */ - protected $fillable = ['id', 'dict_id', 'locale', 'dict_name', 'description', 'created_at', 'updated_at']; + protected $fillable = ['id', 'dict_id', 'remark', 'locale', 'dict_name', 'description', 'created_at', 'updated_at']; /** * 不允许自动填充模型字段 From 1c45155cf6c6473abe53de242860227e06af5a96 Mon Sep 17 00:00:00 2001 From: "WIN-C27C5MSVTPO\\16961" <1696136552@qq.com> Date: Tue, 9 Sep 2025 11:03:19 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B8=AF=E5=8F=A3=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/service/SysPortService.php | 18 +++++++ app/admin/service/VehColorService.php | 18 +++++++ app/common/model/SysPortTranslation.php | 49 +++++++++++++++++++ app/common/model/VehColorTranslation.php | 49 +++++++++++++++++++ app/common/utils/translation/config/trans.php | 8 +++ 5 files changed, 142 insertions(+) create mode 100644 app/common/model/SysPortTranslation.php create mode 100644 app/common/model/VehColorTranslation.php diff --git a/app/admin/service/SysPortService.php b/app/admin/service/SysPortService.php index 6e8774c..a487848 100644 --- a/app/admin/service/SysPortService.php +++ b/app/admin/service/SysPortService.php @@ -5,6 +5,8 @@ namespace app\admin\service; use app\admin\validate\SysPortValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\SysPort; +use app\common\utils\translation\service\TranslationService; +use app\queue\utils\Translat; use support\Request; class SysPortService @@ -22,6 +24,8 @@ class SysPortService */ protected $validator = SysPortValidate::class; + public $translatFields = ['port_name','description']; + /** * 获取验证器 */ @@ -97,6 +101,20 @@ class SysPortService return $data; } + public function afterServiceStore($res) + { + $sourceLocale = locale(); + $data = $res->toArray(); + $traitsourceFields = Translat::extractSourceFields($data, $this->translatFields); + + (new TranslationService())->queueTranslations( + 'sys_port_translation', + $res['id'], + $sourceLocale, + $traitsourceFields + ); + } + /** * 添加前置处理 */ diff --git a/app/admin/service/VehColorService.php b/app/admin/service/VehColorService.php index a701ef4..a50a262 100644 --- a/app/admin/service/VehColorService.php +++ b/app/admin/service/VehColorService.php @@ -5,6 +5,8 @@ namespace app\admin\service; use app\admin\validate\VehColorValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\VehColor; +use app\common\utils\translation\service\TranslationService; +use app\queue\utils\Translat; class VehColorService { @@ -21,6 +23,8 @@ class VehColorService */ protected $validator = VehColorValidate::class; + public $translatFields = ['color_text']; + /** * 获取验证器 */ @@ -28,4 +32,18 @@ class VehColorService { return new $this->validator; } + + public function afterServiceStore($res) + { + $sourceLocale = locale(); + $data = $res->toArray(); + $traitsourceFields = Translat::extractSourceFields($data, $this->translatFields); + + (new TranslationService())->queueTranslations( + 'veh_color_translation', + $res['id'], + $sourceLocale, + $traitsourceFields + ); + } } \ No newline at end of file diff --git a/app/common/model/SysPortTranslation.php b/app/common/model/SysPortTranslation.php new file mode 100644 index 0000000..8724caf --- /dev/null +++ b/app/common/model/SysPortTranslation.php @@ -0,0 +1,49 @@ + app\common\model\SysDictItemTranslation::class, 'foreign_key' => 'dict_item_id', ], + 'sys_port_translation' => [ + 'translation_model' => app\common\model\SysPortTranslation::class, + 'foreign_key' => 'port_id', + ], + 'veh_color_translation' => [ + 'translation_model' => app\common\model\VehColorTranslation::class, + 'foreign_key' => 'color_id', + ], ], // 默认支持的目标语种列表