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] =?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', + ], ], // 默认支持的目标语种列表