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