From 6a579738648dc47dffc05eb9522db96bd901fbf1 Mon Sep 17 00:00:00 2001 From: ousugo Date: Fri, 21 Feb 2025 10:25:01 +0800 Subject: [PATCH] feat: Add newline tooltip for translation input --- src/renderer/src/i18n/locales/en-us.json | 1 + src/renderer/src/i18n/locales/ja-jp.json | 1 + src/renderer/src/i18n/locales/ru-ru.json | 1 + src/renderer/src/i18n/locales/zh-cn.json | 1 + src/renderer/src/i18n/locales/zh-tw.json | 1 + .../src/pages/translate/TranslatePage.tsx | 37 ++++++++++++++----- 6 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index 1b3f9ee5..b15f092f 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -780,6 +780,7 @@ "translate": { "any.language": "Any language", "button.translate": "Translate", + "tooltip.newline": "Newline", "close": "Close", "confirm": { "content": "Translation will replace the original text, continue?", diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 51e0eb15..65830643 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -791,6 +791,7 @@ "translate": { "any.language": "任意の言語", "button.translate": "翻訳", + "tooltip.newline": "改行", "close": "閉じる", "confirm": { "content": "翻訳すると元のテキストが上書きされます。続行しますか?", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index d333597a..ef062c7e 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -770,6 +770,7 @@ "translate": { "any.language": "Любой язык", "button.translate": "Перевести", + "tooltip.newline": "Перевести", "close": "Закрыть", "confirm": { "content": "Перевод заменит исходный текст, продолжить?", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index 896a99ee..72204c44 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -783,6 +783,7 @@ "translate": { "any.language": "任意语言", "button.translate": "翻译", + "tooltip.newline": "换行", "close": "关闭", "confirm": { "content": "翻译后将覆盖原文,是否继续?", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index b22f567e..d2dd26ae 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -772,6 +772,7 @@ "translate": { "any.language": "任意語言", "button.translate": "翻譯", + "tooltip.newline": "換行", "close": "關閉", "confirm": { "content": "翻譯後將覆蓋原文,是否繼續?", diff --git a/src/renderer/src/pages/translate/TranslatePage.tsx b/src/renderer/src/pages/translate/TranslatePage.tsx index 2f265822..c4442fdc 100644 --- a/src/renderer/src/pages/translate/TranslatePage.tsx +++ b/src/renderer/src/pages/translate/TranslatePage.tsx @@ -16,7 +16,7 @@ import { fetchTranslate } from '@renderer/services/ApiService' import { getDefaultTranslateAssistant } from '@renderer/services/AssistantService' import { Assistant, Message, TranslateHistory } from '@renderer/types' import { runAsyncFunction, uuid } from '@renderer/utils' -import { Button, Dropdown, Empty, Flex, Popconfirm, Select, Space } from 'antd' +import { Button, Dropdown, Empty, Flex, Popconfirm, Select, Space, Tooltip } from 'antd' import TextArea, { TextAreaRef } from 'antd/es/input/TextArea' import dayjs from 'dayjs' import { useLiveQuery } from 'dexie-react-hooks' @@ -139,6 +139,13 @@ const TranslatePage: FC = () => { }) }, []) + const onKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Enter' && !e.shiftKey && !e.ctrlKey && !e.metaKey) { + e.preventDefault() + onTranslate() + } + } + const SettingButton = () => { if (isLocalAi) { return null @@ -244,14 +251,25 @@ const TranslatePage: FC = () => { - }> - {t('translate.button.translate')} - + + Enter: {t('translate.button.translate')} +
+ Shift + Enter: {t('translate.tooltip.newline')} + + }> + }> + {t('translate.button.translate')} + +