1453 lines
57 KiB
XML
1453 lines
57 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!DOCTYPE TS[]>
|
||
<TS version="2.1" language="en_US">
|
||
<context>
|
||
<name>AICallBase</name>
|
||
<message>
|
||
<location filename="../src/ai_call/ai_call_base.cpp" line="86" />
|
||
<source>响应解析失败:%1</source>
|
||
<translation>Failed to parse the response: %1</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/ai_call_base.cpp" line="89" />
|
||
<source>响应解析失败:未知错误</source>
|
||
<translation>Failed to parse the response: unknown error</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/ai_call_base.cpp" line="111" />
|
||
<source>请求超时(%1毫秒)</source>
|
||
<translation>Request timed out (%1 ms)</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>AIViewModel</name>
|
||
<message>
|
||
<location filename="../src/viewmodel/ai_view_model.cpp" line="66" />
|
||
<source>网络错误:</source>
|
||
<translation>Network error: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ai_view_model.cpp" line="67" />
|
||
<source>API 错误:</source>
|
||
<translation>API error: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ai_view_model.cpp" line="68" />
|
||
<source>超时错误:</source>
|
||
<translation>Timeout error: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ai_view_model.cpp" line="69" />
|
||
<source>参数错误:</source>
|
||
<translation>Parameter error: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ai_view_model.cpp" line="70" />
|
||
<source>未知错误:</source>
|
||
<translation>Unknown error: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ai_view_model.cpp" line="111" />
|
||
<source>提示词不能为空</source>
|
||
<translation>Prompt cannot be empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ai_view_model.cpp" line="162" />
|
||
<source>下载生成图片失败:</source>
|
||
<translation>Failed to download the generated image: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ai_view_model.cpp" line="171" />
|
||
<source>生成图片解码失败</source>
|
||
<translation>Failed to decode the generated image.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ai_view_model.cpp" line="189" />
|
||
<source>请求发起失败:</source>
|
||
<translation>Failed to start the request: </translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>AboutDialog</name>
|
||
<message>
|
||
<location filename="../src/widgets/about_dialog.cpp" line="14" />
|
||
<source>关于 TZshot</source>
|
||
<translation>About TZshot</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/about_dialog.cpp" line="45" />
|
||
<source>版本 v1.0.0</source>
|
||
<translation>Version v1.0.0</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/about_dialog.cpp" line="59" />
|
||
<source>简洁高效的截图贴图工具,支持标注、AI 编辑、马赛克等功能。</source>
|
||
<translation>A clean and efficient screenshot and pinning tool with annotations, AI editing, mosaic, and more.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/about_dialog.cpp" line="67" />
|
||
<source>© 2025 TZshot. All rights reserved.</source>
|
||
<translation>© 2025 TZshot. All rights reserved.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/about_dialog.cpp" line="77" />
|
||
<source>关闭</source>
|
||
<translation>Close</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>CaptureOverlayWidget</name>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="191" />
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="210" />
|
||
<source>输入文字</source>
|
||
<translation>Enter text</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="214" />
|
||
<source>确认</source>
|
||
<translation>Confirm</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="215" />
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="318" />
|
||
<source>取消</source>
|
||
<translation>Cancel</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="246" />
|
||
<source>背景</source>
|
||
<translation>Background</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="255" />
|
||
<source>自动递增</source>
|
||
<translation>Auto Increment</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="303" />
|
||
<source>画笔</source>
|
||
<translation>Pen</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="304" />
|
||
<source>矩形</source>
|
||
<translation>Rectangle</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="305" />
|
||
<source>圆形</source>
|
||
<translation>Circle</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="306" />
|
||
<source>箭头</source>
|
||
<translation>Arrow</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="307" />
|
||
<source>马赛克</source>
|
||
<translation>Mosaic</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="308" />
|
||
<source>高斯模糊</source>
|
||
<translation>Gaussian Blur</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="309" />
|
||
<source>文字</source>
|
||
<translation>Text</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="310" />
|
||
<source>序号</source>
|
||
<translation>Number</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="311" />
|
||
<source>撤销</source>
|
||
<translation>Undo</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="312" />
|
||
<source>复制</source>
|
||
<translation>Copy</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="313" />
|
||
<source>保存</source>
|
||
<translation>Save</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="314" />
|
||
<source>贴图</source>
|
||
<translation>Pin</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="315" />
|
||
<source>OCR</source>
|
||
<translation>OCR</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="316" />
|
||
<source>长截图</source>
|
||
<translation>Long Screenshot</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="317" />
|
||
<source>录制 GIF</source>
|
||
<translation>Record GIF</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="170" />
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="460" />
|
||
<source>粗</source>
|
||
<translation>Thick</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="86" />
|
||
<source>文本</source>
|
||
<translation>Text</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="170" />
|
||
<source>细</source>
|
||
<translation>Thin</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="170" />
|
||
<source>中</source>
|
||
<translation>Medium</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="170" />
|
||
<source>特粗</source>
|
||
<translation>Extra Thick</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="1067" />
|
||
<source>保存截图</source>
|
||
<translation>Save Screenshot</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/capture_overlay_widget.cpp" line="1069" />
|
||
<source>PNG 图片 (*.png)</source>
|
||
<translation>PNG Image (*.png)</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>DoubaoVisionCall</name>
|
||
<message>
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="97" />
|
||
<source>视觉 API Key 不能为空</source>
|
||
<translation>Vision API Key cannot be empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="101" />
|
||
<source>提示词不能为空</source>
|
||
<translation>Prompt cannot be empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="106" />
|
||
<source>缺少图片数据</source>
|
||
<translation>Missing image data.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="275" />
|
||
<source>响应不是有效的JSON对象</source>
|
||
<translation>The response is not a valid JSON object.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="282" />
|
||
<source>未知 API 错误</source>
|
||
<translation>Unknown API error</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="294" />
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="343" />
|
||
<source>响应内容为空</source>
|
||
<translation>The response content is empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="451" />
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="457" />
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="462" />
|
||
<source>流式请求失败</source>
|
||
<translation>Streaming request failed</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>GifRecordOverlayWidget</name>
|
||
<message>
|
||
<location filename="../src/widgets/gif_record_overlay_widget.cpp" line="440" />
|
||
<source>完成录制</source>
|
||
<translation>Finish Recording</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/gif_record_overlay_widget.cpp" line="444" />
|
||
<source>取消录制</source>
|
||
<translation>Cancel Recording</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/gif_record_overlay_widget.cpp" line="626" />
|
||
<source>导出中</source>
|
||
<translation>Exporting</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/gif_record_overlay_widget.cpp" line="636" />
|
||
<source>正在生成 GIF</source>
|
||
<translation>Generating GIF</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/gif_record_overlay_widget.cpp" line="637" />
|
||
<source>已捕获 %1 帧</source>
|
||
<translation>Captured %1 frames</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/gif_record_overlay_widget.cpp" line="642" />
|
||
<source>REC</source>
|
||
<translation>REC</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/gif_record_overlay_widget.cpp" line="653" />
|
||
<source>GIF</source>
|
||
<translation>GIF</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/gif_record_overlay_widget.cpp" line="681" />
|
||
<source>帧</source>
|
||
<translation>frames</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>GifRecordViewModel</name>
|
||
<message>
|
||
<location filename="../src/viewmodel/gif_record_view_model.cpp" line="49" />
|
||
<source>录制区域无效</source>
|
||
<translation>Invalid recording area</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/gif_record_view_model.cpp" line="97" />
|
||
<source>未采集到任何帧</source>
|
||
<translation>No frames were captured</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/gif_record_view_model.cpp" line="161" />
|
||
<source>GIF 编码失败,请检查保存路径或磁盘空间</source>
|
||
<translation>GIF encoding failed. Check the save path or available disk space.</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>HotkeyRecordDialog</name>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="59" />
|
||
<source>编辑快捷键</source>
|
||
<translation>Edit Shortcut</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="73" />
|
||
<source>编辑快捷键 · %1</source>
|
||
<translation>Edit Shortcut · %1</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="89" />
|
||
<source>请直接按下新的快捷键组合...</source>
|
||
<translation>Press the new shortcut combination directly...</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="101" />
|
||
<source>取消</source>
|
||
<translation>Cancel</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="106" />
|
||
<source>确认</source>
|
||
<translation>Confirm</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="116" />
|
||
<source>截图</source>
|
||
<translation>Screenshot</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="117" />
|
||
<source>截图并保存</source>
|
||
<translation>Screenshot and Save</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="118" />
|
||
<source>贴图到桌面</source>
|
||
<translation>Pin to Desktop</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="119" />
|
||
<source>显示/隐藏窗口</source>
|
||
<translation>Show/Hide Window</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="122" />
|
||
<source>「%1」已被「%2」使用,请换一个。</source>
|
||
<translation>"%1" is already used by "%2". Please choose another one.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="156" />
|
||
<source>请按下新的快捷键组合...</source>
|
||
<translation>Press the new shortcut combination...</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>LanguageManager</name>
|
||
<message>
|
||
<location filename="../src/language_manager.cpp" line="33" />
|
||
<source>语言切换失败,请稍后重试。</source>
|
||
<translation>Failed to switch language. Please try again later.</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>LongCaptureController</name>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="109" />
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="232" />
|
||
<source>滚动检测中,滑动内容会自动拼接</source>
|
||
<translation>Detecting scrolling. Scrolled content will be stitched automatically.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="138" />
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="209" />
|
||
<source>点击开始后,滑动内容自动拼接</source>
|
||
<translation>Click Start and the scrolled content will be stitched automatically.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="203" />
|
||
<source>长</source>
|
||
<translation>L</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="213" />
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="266" />
|
||
<source>0 帧</source>
|
||
<translation>0 frames</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="217" />
|
||
<source>开始</source>
|
||
<translation>Start</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="222" />
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="411" />
|
||
<source>关闭</source>
|
||
<translation>Close</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="262" />
|
||
<source>长截图预览</source>
|
||
<translation>Long Screenshot Preview</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="280" />
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="390" />
|
||
<source>暂无预览</source>
|
||
<translation>No preview available</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="284" />
|
||
<source>等待开始</source>
|
||
<translation>Waiting to start</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="365" />
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="368" />
|
||
<source>%1 帧</source>
|
||
<translation>%1 frames</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/long_capture_controller.cpp" line="411" />
|
||
<source>完成</source>
|
||
<translation>Finish</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>OcrEngine</name>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="212" />
|
||
<source>Tesseract Init 失败(chi_sim+eng):未找到可用 tessdata</source>
|
||
<translation>Tesseract init failed (chi_sim+eng): no available tessdata was found</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="216" />
|
||
<source>Tesseract Init 失败(chi_sim+eng),候选目录=%1</source>
|
||
<translation>Tesseract init failed (chi_sim+eng), candidate directories = %1</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="234" />
|
||
<source>OCR 未启用:未找到 tesseract 可执行文件。请安装 Tesseract,或设置 TESSERACT_PATH 指向可执行文件</source>
|
||
<translation>OCR is unavailable: the tesseract executable was not found. Install Tesseract or set TESSERACT_PATH to the executable.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="268" />
|
||
<source>OCR 引擎未就绪</source>
|
||
<translation>OCR engine is not ready.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="273" />
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="323" />
|
||
<source>输入图像为空</source>
|
||
<translation>Input image is empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="279" />
|
||
<source>输入图像尺寸过小</source>
|
||
<translation>Input image is too small.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="302" />
|
||
<source>Tesseract GetUTF8Text 返回 null</source>
|
||
<translation>Tesseract GetUTF8Text returned null.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="315" />
|
||
<source>OCR 未就绪:未找到 tesseract 可执行文件</source>
|
||
<translation>OCR is not ready: the tesseract executable was not found.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="329" />
|
||
<source>OCR 临时目录创建失败</source>
|
||
<translation>Failed to create the OCR temporary directory.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="335" />
|
||
<source>OCR 临时图片保存失败</source>
|
||
<translation>Failed to save the OCR temporary image.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="348" />
|
||
<source>OCR 启动失败:无法启动 tesseract 进程</source>
|
||
<translation>OCR start failed: unable to launch the tesseract process.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="354" />
|
||
<source>OCR 超时:tesseract 执行超过 30 秒</source>
|
||
<translation>OCR timed out: tesseract ran longer than 30 seconds.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="364" />
|
||
<source>OCR 失败:tesseract 返回非零退出码</source>
|
||
<translation>OCR failed: tesseract returned a non-zero exit code.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="365" />
|
||
<source>OCR 失败:%1</source>
|
||
<translation>OCR failed: %1</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="373" />
|
||
<source>OCR 未识别到文本</source>
|
||
<translation>OCR did not detect any text.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ocr/ocr_engine.cpp" line="374" />
|
||
<source>OCR 未识别到文本:%1</source>
|
||
<translation>OCR did not detect any text: %1</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>OcrResultWidget</name>
|
||
<message>
|
||
<location filename="../src/widgets/ocr_result_widget.cpp" line="59" />
|
||
<source>OCR 识别结果</source>
|
||
<translation>OCR Result</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/ocr_result_widget.cpp" line="91" />
|
||
<source>正在识别中…</source>
|
||
<translation>Recognizing...</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/ocr_result_widget.cpp" line="127" />
|
||
<source>复制全部</source>
|
||
<translation>Copy All</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/ocr_result_widget.cpp" line="140" />
|
||
<source>关闭</source>
|
||
<translation>Close</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/ocr_result_widget.cpp" line="151" />
|
||
<source>已复制!</source>
|
||
<translation>Copied!</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/ocr_result_widget.cpp" line="172" />
|
||
<source>识别结果将显示在这里…</source>
|
||
<translation>Recognition results will appear here...</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>OcrViewModel</name>
|
||
<message>
|
||
<location filename="../src/viewmodel/ocr_view_model.cpp" line="29" />
|
||
<source>输入图像为空</source>
|
||
<translation>Input image is empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ocr_view_model.cpp" line="91" />
|
||
<source>OCR 环境检查:通过
|
||
</source>
|
||
<translation>OCR environment check: passed
|
||
</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ocr_view_model.cpp" line="92" />
|
||
<source>可用 tessdata:
|
||
</source>
|
||
<translation>Available tessdata:
|
||
</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ocr_view_model.cpp" line="97" />
|
||
<source>OCR 环境检查:未通过(缺少 chi_sim/eng 语言包)
|
||
</source>
|
||
<translation>OCR environment check: failed (missing chi_sim/eng language data)
|
||
</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ocr_view_model.cpp" line="98" />
|
||
<source>建议把以下文件放到目录中:
|
||
</source>
|
||
<translation>Suggested files to place in the directory:
|
||
</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ocr_view_model.cpp" line="101" />
|
||
<source>候选 tessdata 目录:
|
||
</source>
|
||
<translation>Candidate tessdata directories:
|
||
</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ocr_view_model.cpp" line="109" />
|
||
<source>引擎初始化:成功</source>
|
||
<translation>Engine initialization: succeeded</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ocr_view_model.cpp" line="111" />
|
||
<source>引擎初始化:失败
|
||
</source>
|
||
<translation>Engine initialization: failed
|
||
</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/ocr_view_model.cpp" line="112" />
|
||
<source>错误信息:%1</source>
|
||
<translation>Error: %1</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>QObject</name>
|
||
<message>
|
||
<location filename="../src/tray_icon_helper.cpp" line="8" />
|
||
<source>截图</source>
|
||
<translation>Screenshot</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/tray_icon_helper.cpp" line="11" />
|
||
<source>设置</source>
|
||
<translation>Settings</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/tray_icon_helper.cpp" line="14" />
|
||
<source>关于</source>
|
||
<translation>About</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/tray_icon_helper.cpp" line="17" />
|
||
<source>退出</source>
|
||
<translation>Quit</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="23" />
|
||
<source>响应中无有效内容</source>
|
||
<translation>No valid content was returned in the response.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="52" />
|
||
<location filename="../src/ai_call/doubao_vision_call.cpp" line="84" />
|
||
<source>响应内容为空</source>
|
||
<translation>The response content is empty.</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>QwenAICall</name>
|
||
<message>
|
||
<location filename="../src/ai_call/qwen_ai_call.cpp" line="17" />
|
||
<source>API Key 不能为空</source>
|
||
<translation>API Key cannot be empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/qwen_ai_call.cpp" line="22" />
|
||
<source>提示词不能为空</source>
|
||
<translation>Prompt cannot be empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/qwen_ai_call.cpp" line="108" />
|
||
<source>响应不是有效的JSON对象</source>
|
||
<translation>The response is not a valid JSON object.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/qwen_ai_call.cpp" line="116" />
|
||
<source>未知API错误</source>
|
||
<translation>Unknown API error</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/qwen_ai_call.cpp" line="124" />
|
||
<source>响应中无有效内容</source>
|
||
<translation>No valid content was returned in the response.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/qwen_ai_call.cpp" line="133" />
|
||
<source>响应内容为空</source>
|
||
<translation>The response content is empty.</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>S:</name>
|
||
<message>
|
||
<location filename="../thirdpart/vcpkg/buildtrees/liblzma/src/v5.8.2-30365c07c3.clean/src/liblzma/common/string_conversion.c" line="731" />
|
||
<source>
|
||
</source>
|
||
<comment>Don't translate the</comment>
|
||
<translation>
|
||
</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>ScrollCaptureViewModel</name>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="37" />
|
||
<source>长截图区域无效</source>
|
||
<translation>Invalid long screenshot area</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="48" />
|
||
<source>首帧采样失败</source>
|
||
<translation>Failed to capture the first frame</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="61" />
|
||
<source>滚动检测已开启,滑动内容会自动拼接</source>
|
||
<translation>Scroll detection started. Scrolled content will be stitched automatically.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="75" />
|
||
<source>长截图已停止</source>
|
||
<translation>Long screenshot stopped</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="87" />
|
||
<source>采样失败,已中断</source>
|
||
<translation>Capture failed and was interrupted</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="92" />
|
||
<source>等待滚动变化...</source>
|
||
<translation>Waiting for scroll changes...</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="101" />
|
||
<source>滚动已捕捉,已采样 %1 帧</source>
|
||
<translation>Scroll captured, %1 frames sampled</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="103" />
|
||
<source>检测到变化但拼接增量为 0,请继续滚动</source>
|
||
<translation>Changes detected but stitch delta is 0. Please keep scrolling.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="107" />
|
||
<source>采样帧数超过上限,请先结束并保存</source>
|
||
<translation>Captured frame count exceeded the limit. Finish and save first.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="194" />
|
||
<source>拼接失败,结果为空</source>
|
||
<translation>Stitching failed: result is empty</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="198" />
|
||
<source>未检测到有效滚动,请先激活目标窗口后重试</source>
|
||
<translation>No valid scrolling detected. Activate the target window and try again.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/scroll_capture_view_model.cpp" line="219" />
|
||
<source>长截图完成</source>
|
||
<translation>Long screenshot complete</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>SeedreamAiCall</name>
|
||
<message>
|
||
<location filename="../src/ai_call/seedream_ai_call.cpp" line="41" />
|
||
<source>API Key 不能为空</source>
|
||
<translation>API Key cannot be empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/seedream_ai_call.cpp" line="45" />
|
||
<source>提示词不能为空</source>
|
||
<translation>Prompt cannot be empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/seedream_ai_call.cpp" line="150" />
|
||
<source>响应不是有效的 JSON 对象</source>
|
||
<translation>The response is not a valid JSON object.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/seedream_ai_call.cpp" line="158" />
|
||
<source>未知 API 错误</source>
|
||
<translation>Unknown API error</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/seedream_ai_call.cpp" line="165" />
|
||
<source>响应中 data 数组为空</source>
|
||
<translation>The data array in the response is empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/ai_call/seedream_ai_call.cpp" line="169" />
|
||
<source>响应中 url 字段为空</source>
|
||
<translation>The url field in the response is empty.</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>SelectionMaskController</name>
|
||
<message>
|
||
<location filename="../src/widgets/selection_mask_controller.cpp" line="181" />
|
||
<source>X:%1 Y:%2 宽:%3 高:%4</source>
|
||
<translation>X:%1 Y:%2 W:%3 H:%4</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>SettingsDialog</name>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="205" />
|
||
<source>设置</source>
|
||
<translation>Settings</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="245" />
|
||
<source>通用设置</source>
|
||
<translation>General</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="246" />
|
||
<source>快捷键设置</source>
|
||
<translation>Hotkeys</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="327" />
|
||
<source>大模型设置</source>
|
||
<translation>Model Settings</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="335" />
|
||
<source>AI 服务商</source>
|
||
<translation>AI Provider</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="337" />
|
||
<source>阿里云百炼</source>
|
||
<translation>Alibaba Cloud DashScope</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="337" />
|
||
<source>火山引擎</source>
|
||
<translation>Volcengine Ark</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="358" />
|
||
<source>保存</source>
|
||
<translation>Save</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="368" />
|
||
<source>API Key 已保存</source>
|
||
<translation>API Key Saved</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="369" />
|
||
<source>AI 图像编辑和视觉理解已同步更新。</source>
|
||
<translation>AI image editing and vision understanding have been updated.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="377" />
|
||
<source>视觉模型</source>
|
||
<translation>Vision Model</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="390" />
|
||
<source>联网搜索</source>
|
||
<translation>Web Search</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="391" />
|
||
<source>AI 理解启用联网搜索</source>
|
||
<translation>Enable web search for AI understanding</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="401" />
|
||
<source>启用代理</source>
|
||
<translation>Enable Proxy</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="402" />
|
||
<source>视觉请求走代理</source>
|
||
<translation>Use proxy for vision requests</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="412" />
|
||
<source>代理类型</source>
|
||
<translation>Proxy Type</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="421" />
|
||
<source>代理地址</source>
|
||
<translation>Proxy Host</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="432" />
|
||
<source>代理端口</source>
|
||
<translation>Proxy Port</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="449" />
|
||
<source>语言设置</source>
|
||
<translation>Language</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="455" />
|
||
<source>界面语言</source>
|
||
<translation>Interface Language</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="457" />
|
||
<source>中文</source>
|
||
<translation>Chinese</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="457" />
|
||
<source>English</source>
|
||
<translation>English</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="473" />
|
||
<source>语言切换失败</source>
|
||
<translation>Failed to Switch Language</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="481" />
|
||
<source>截图保存路径</source>
|
||
<translation>Screenshot Save Path</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="487" />
|
||
<source>保存路径</source>
|
||
<translation>Save Path</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="494" />
|
||
<source>浏览</source>
|
||
<translation>Browse</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="498" />
|
||
<source>选择保存位置</source>
|
||
<translation>Select Save Location</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="509" />
|
||
<source>GIF 录制</source>
|
||
<translation>GIF Recording</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="515" />
|
||
<source>体积预设</source>
|
||
<translation>Size Preset</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="517" />
|
||
<source>高质量</source>
|
||
<translation>High Quality</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="517" />
|
||
<source>均衡</source>
|
||
<translation>Balanced</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="517" />
|
||
<source>小体积</source>
|
||
<translation>Small Size</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="527" />
|
||
<source>OCR 自检</source>
|
||
<translation>OCR Self-check</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="539" />
|
||
<source>点击“一键自检”查看 OCR 环境状态。</source>
|
||
<translation>Click "Run Self-check" to view the OCR environment status.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="543" />
|
||
<source>一键自检</source>
|
||
<translation>Run Self-check</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="550" />
|
||
<source>打开 tessdata</source>
|
||
<translation>Open tessdata</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="638" />
|
||
<source>编辑</source>
|
||
<translation>Edit</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="653" />
|
||
<source>快捷键更新失败</source>
|
||
<translation>Failed to update shortcut</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="653" />
|
||
<source>快捷键「%1」注册失败,请换一个组合。</source>
|
||
<translation>Failed to register shortcut "%1". Please choose another combination.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="669" />
|
||
<source>全局快捷键</source>
|
||
<translation>Global Hotkeys</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="678" />
|
||
<source>说明</source>
|
||
<translation>Notes</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="682" />
|
||
<source>修改快捷键后会立即保存并重新注册。建议使用包含 Ctrl/Alt/Shift 的组合,以避免与系统或其他软件冲突。</source>
|
||
<translation>Shortcut changes are saved and re-registered immediately. Use combinations with Ctrl/Alt/Shift to avoid conflicts with the system or other apps.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="732" />
|
||
<source>截图</source>
|
||
<translation>Screenshot</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="733" />
|
||
<source>截图并保存</source>
|
||
<translation>Screenshot and Save</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="734" />
|
||
<source>贴图到桌面</source>
|
||
<translation>Pin to Desktop</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/settings_dialog.cpp" line="735" />
|
||
<source>显示/隐藏窗口</source>
|
||
<translation>Show/Hide Window</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>StickyAiDialog</name>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="142" />
|
||
<source>AI 图像编辑</source>
|
||
<translation>AI Image Editing</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="172" />
|
||
<source>当前贴图</source>
|
||
<translation>Current Pin</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="175" />
|
||
<source>发送后将对此图执行 AI 编辑</source>
|
||
<translation>AI editing will be applied to this image after sending</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="184" />
|
||
<source>描述您想要的修改...</source>
|
||
<translation>Describe the changes you want...</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="191" />
|
||
<source>取消</source>
|
||
<translation>Cancel</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="196" />
|
||
<source>发送</source>
|
||
<translation>Send</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>StickyPinWidget</name>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="312" />
|
||
<source>AI 编辑失败</source>
|
||
<translation>AI Edit Failed</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="353" />
|
||
<source>细</source>
|
||
<translation>Thin</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="353" />
|
||
<source>中</source>
|
||
<translation>Medium</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="353" />
|
||
<source>特粗</source>
|
||
<translation>Extra Thick</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="374" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="386" />
|
||
<source>输入文字</source>
|
||
<translation>Enter text</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="405" />
|
||
<source>背景</source>
|
||
<translation>Background</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="414" />
|
||
<source>自动递增</source>
|
||
<translation>Auto Increment</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="497" />
|
||
<source>画笔</source>
|
||
<translation>Pen</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="498" />
|
||
<source>矩形</source>
|
||
<translation>Rectangle</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="499" />
|
||
<source>圆形</source>
|
||
<translation>Circle</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="500" />
|
||
<source>箭头</source>
|
||
<translation>Arrow</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="501" />
|
||
<source>高亮</source>
|
||
<translation>Highlight</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="502" />
|
||
<source>马赛克</source>
|
||
<translation>Mosaic</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="503" />
|
||
<source>高斯模糊</source>
|
||
<translation>Gaussian Blur</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="504" />
|
||
<source>文字</source>
|
||
<translation>Text</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="505" />
|
||
<source>序号</source>
|
||
<translation>Number</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="506" />
|
||
<source>撤销</source>
|
||
<translation>Undo</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="507" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="805" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="895" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="899" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="925" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="980" />
|
||
<source>AI 编辑</source>
|
||
<translation>AI Edit</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="508" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="806" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="935" />
|
||
<source>AI 理解</source>
|
||
<translation>AI Understand</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="509" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="803" />
|
||
<source>复制</source>
|
||
<translation>Copy</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="510" />
|
||
<source>保存</source>
|
||
<translation>Save</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="511" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="807" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="1138" />
|
||
<source>隐藏工具栏</source>
|
||
<translation>Hide Toolbar</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="512" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="810" />
|
||
<source>关闭</source>
|
||
<translation>Close</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="353" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="603" />
|
||
<source>粗</source>
|
||
<translation>Thick</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="251" />
|
||
<source>文本</source>
|
||
<translation>Text</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="687" />
|
||
<source>AI 正在处理中</source>
|
||
<translation>AI is processing</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="699" />
|
||
<source>请稍候…</source>
|
||
<translation>Please wait...</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="804" />
|
||
<source>保存原图</source>
|
||
<translation>Save Original</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="807" />
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="1138" />
|
||
<source>显示工具栏</source>
|
||
<translation>Show Toolbar</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="808" />
|
||
<source>隐藏阴影</source>
|
||
<translation>Hide Shadow</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="808" />
|
||
<source>显示阴影</source>
|
||
<translation>Show Shadow</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="895" />
|
||
<source>AI 功能当前不可用。</source>
|
||
<translation>AI feature is currently unavailable.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="899" />
|
||
<source>当前有图像编辑任务正在处理中。</source>
|
||
<translation>An AI image editing task is already in progress.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="925" />
|
||
<source>提示词不能为空。</source>
|
||
<translation>Prompt cannot be empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="935" />
|
||
<source>视觉理解功能当前不可用。</source>
|
||
<translation>Vision understanding is currently unavailable.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="980" />
|
||
<source>AI 编辑处理中…</source>
|
||
<translation>AI edit in progress...</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="1027" />
|
||
<source>选择保存位置</source>
|
||
<translation>Select Save Location</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/sticky_pin_widget.cpp" line="1029" />
|
||
<source>PNG (*.png);;JPG (*.jpg);;BMP (*.bmp)</source>
|
||
<translation>PNG (*.png);;JPG (*.jpg);;BMP (*.bmp)</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>TZShotApp</name>
|
||
<message>
|
||
<location filename="../src/app/tzshot_app.cpp" line="52" />
|
||
<source>OCR 识别失败</source>
|
||
<translation>OCR Recognition Failed</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>VisionResultWidget</name>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="54" />
|
||
<source>AI 视觉理解</source>
|
||
<translation>AI Vision Understanding</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="88" />
|
||
<source>图片预览</source>
|
||
<translation>Image Preview</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="98" />
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="244" />
|
||
<source>输入提示词后点击发送。</source>
|
||
<translation>Enter a prompt and click Send.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="110" />
|
||
<source>提示词</source>
|
||
<translation>Prompt</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="118" />
|
||
<source>例如:请总结这张截图里的重点信息</source>
|
||
<translation>Example: Summarize the key points in this screenshot</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="124" />
|
||
<source>发送</source>
|
||
<translation>Send</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="134" />
|
||
<source>分析结果</source>
|
||
<translation>Analysis Result</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="140" />
|
||
<source>分析结果会显示在这里…</source>
|
||
<translation>Results will appear here...</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="148" />
|
||
<source>复制结果</source>
|
||
<translation>Copy Result</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="165" />
|
||
<source>已复制!</source>
|
||
<translation>Copied!</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="188" />
|
||
<source>正在分析图片内容…</source>
|
||
<translation>Analyzing image content...</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="198" />
|
||
<source>正在生成回答…</source>
|
||
<translation>Generating response...</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="211" />
|
||
<source>分析完成。</source>
|
||
<translation>Analysis complete.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="239" />
|
||
<source>请总结这张截图里的重点信息</source>
|
||
<translation>Please summarize the key points in this screenshot</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="252" />
|
||
<source>暂无预览</source>
|
||
<translation>No preview available</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="304" />
|
||
<source>视觉功能当前不可用。</source>
|
||
<translation>Vision feature is currently unavailable.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="308" />
|
||
<source>当前没有可分析的图片。</source>
|
||
<translation>There is no image to analyze right now.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/widgets/vision_result_widget.cpp" line="313" />
|
||
<source>提示词不能为空。</source>
|
||
<translation>Prompt cannot be empty.</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>VisionViewModel</name>
|
||
<message>
|
||
<location filename="../src/viewmodel/vision_view_model.cpp" line="67" />
|
||
<source>网络错误:</source>
|
||
<translation>Network error: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/vision_view_model.cpp" line="68" />
|
||
<source>API 错误:</source>
|
||
<translation>API error: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/vision_view_model.cpp" line="69" />
|
||
<source>超时错误:</source>
|
||
<translation>Timeout error: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/vision_view_model.cpp" line="70" />
|
||
<source>参数错误:</source>
|
||
<translation>Parameter error: </translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/vision_view_model.cpp" line="212" />
|
||
<source>已有视觉分析任务正在进行中</source>
|
||
<translation>A vision analysis task is already in progress.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/vision_view_model.cpp" line="216" />
|
||
<source>提示词不能为空</source>
|
||
<translation>Prompt cannot be empty.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/vision_view_model.cpp" line="222" />
|
||
<source>读取图片失败</source>
|
||
<translation>Failed to load the image.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/vision_view_model.cpp" line="229" />
|
||
<source>图片编码失败</source>
|
||
<translation>Failed to encode the image.</translation>
|
||
</message>
|
||
<message>
|
||
<location filename="../src/viewmodel/vision_view_model.cpp" line="246" />
|
||
<source>请求发起失败:</source>
|
||
<translation>Failed to start the request: </translation>
|
||
</message>
|
||
</context>
|
||
</TS> |