From 462ac398978e2d43bc03c9fde7cd8e6eb00fbce9 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Wed, 22 Jan 2025 10:18:19 +0800 Subject: [PATCH] feat: streamline language translation options in MessageMenubar - Replaced hardcoded language translation options with a dynamic mapping from TranslateLanguageOptions. - Improved maintainability and scalability of the translation feature by utilizing a centralized configuration for language options. --- .../pages/home/Messages/MessageMenubar.tsx | 36 ++++--------------- 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/src/renderer/src/pages/home/Messages/MessageMenubar.tsx b/src/renderer/src/pages/home/Messages/MessageMenubar.tsx index 6600114d..0a4b8445 100644 --- a/src/renderer/src/pages/home/Messages/MessageMenubar.tsx +++ b/src/renderer/src/pages/home/Messages/MessageMenubar.tsx @@ -13,6 +13,7 @@ import { } from '@ant-design/icons' import SelectModelPopup from '@renderer/components/Popups/SelectModelPopup' import TextEditPopup from '@renderer/components/Popups/TextEditPopup' +import { TranslateLanguageOptions } from '@renderer/config/translate' import { modelGenerating } from '@renderer/hooks/useRuntime' import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { translateText } from '@renderer/services/TranslateService' @@ -214,36 +215,11 @@ const MessageMenubar: FC = (props) => { handleTranslate('chinese') - }, - { - label: '🇭🇰 ' + t('languages.chinese-traditional'), - key: 'translate-chinese-traditional', - onClick: () => handleTranslate('chinese-traditional') - }, - { - label: '🇬🇧 ' + t('languages.english'), - key: 'translate-english', - onClick: () => handleTranslate('english') - }, - { - label: '🇯🇵 ' + t('languages.japanese'), - key: 'translate-japanese', - onClick: () => handleTranslate('japanese') - }, - { - label: '🇰🇷 ' + t('languages.korean'), - key: 'translate-korean', - onClick: () => handleTranslate('korean') - }, - { - label: '🇷🇺 ' + t('languages.russian'), - key: 'translate-russian', - onClick: () => handleTranslate('russian') - }, + ...TranslateLanguageOptions.map((item) => ({ + label: item.emoji + ' ' + item.label, + key: item.value, + onClick: () => handleTranslate(item.value) + })), { label: '✖ ' + t('translate.close'), key: 'translate-close',