diff --git a/docutranslate/__init__.py b/docutranslate/__init__.py index 880a7e4..99134a0 100644 --- a/docutranslate/__init__.py +++ b/docutranslate/__init__.py @@ -1,4 +1,4 @@ -__version__="0.2.31" +__version__="0.2.32" diff --git a/docutranslate/agents/markdown_agent.py b/docutranslate/agents/markdown_agent.py index 97478e8..3d7d028 100644 --- a/docutranslate/agents/markdown_agent.py +++ b/docutranslate/agents/markdown_agent.py @@ -51,33 +51,33 @@ class MDTranslateAgent(Agent): # 工作 翻译输入的markdown文本 目标语言{to_lang} -# 要求【必须严格遵守】 -翻译要求专业、准确 +# 要求 +翻译要求专业准确 不输出任何解释和注释 -引用的参考文献名及其作者名不翻译 -不要改变形如的占位符【重要】 +不能改变形如的占位符 code、latex和HTML只翻译说明文字,其余保持原文 -公式必须表示为合法的latex公式,行内公式需被$或\\(\\)正确包裹 +公式无论长短必须表示为能被解析的合法latex公式,公式需被$或\\(\\)或$$正确包裹 +去除、修正明显异常的字符、但不能改变原意 +参考文献的引用及其作者名保持源语言不要翻译。引用的参考文献示例如下: +> [1] Nofer M, Gomber P, Hinz O, et al. Blockchain[J]. systems engineering, 2017, 59: 183-187. # 输出 翻译后的markdown译文纯文本(不是markdown代码块,无任何多余文字) # 示例 -## 英文翻译为中文 +## 目标语言为中文 输入: -hello, what's your nam*@e? +hello, what's your nam*@e? ![photo title]() -输出: -你好,你叫什么名字? -![图像标题]() -## 公式要为合法latex(行内公式应正确包裹) -输入: The equation is E=mc 2. This is famous. -(c_0,c_1,c_2^2)is a coordinate. +(c_0,c_1_1,c_2^2)is a coordinate. +1+1=2$$ +[2]Lasi H, Fettke P, Kemper H G, et al. Industry 4.0[J]. Information systems engineering, 2014, 6: 239-242. 输出: +你好,你叫什么名字? +![图像标题]() 这个方程是 $E=mc^2$。这很有名。 +$$1+1=2$$ \\((c_0,c_1,c_2^2)\\)是一个坐标。 -## 引用参考文献时请严格保持原文(包括语言),不要翻译。参考文献格式示例: -> [1] Author A, Author B. "Original Title". Journal, 2023. -> [2] 作者C. 《中文标题》. 期刊, 2022.""" +[2]Lasi H, Fettke P, Kemper H G, et al. Industry 4.0[J]. Information systems engineering, 2014, 6: 239-242.""" if custom_prompt: self.system_prompt += "\n# 重要规则或背景【非常重要】\n" + custom_prompt + '\n' self.system_prompt += r'\no_think' diff --git a/docutranslate/app.py b/docutranslate/app.py index 0115999..c16442e 100644 --- a/docutranslate/app.py +++ b/docutranslate/app.py @@ -443,7 +443,7 @@ def run_app(): if port != initial_port: print(f"端口 {initial_port} 被占用,将使用端口 {port} 代替") print("正在启动 DocuTranslate WebUI") - print(f"请用浏览器访问 http://127.0.0.1:{port}") + print(f"请用浏览器访问 http://127.0.0.1:{port} (部分终端可以使用ctrl+左键点击网址打开)") uvicorn.run(app, host="127.0.0.1", port=port, workers=1) except Exception as e: print(f"启动失败: {e}") diff --git a/docutranslate/static/index.html b/docutranslate/static/index.html index 8edfb00..090b8f8 100644 --- a/docutranslate/static/index.html +++ b/docutranslate/static/index.html @@ -360,7 +360,7 @@
diff --git a/docutranslate/translater.py b/docutranslate/translater.py index c9fdd38..c2e1702 100644 --- a/docutranslate/translater.py +++ b/docutranslate/translater.py @@ -52,6 +52,8 @@ class FileTranslater: def _markdown_format(self): # 该方法还需要改进 # self.markdown=mdformat.text(self.markdown) + self.markdown=self.markdown.replace(r'\(',r'\(') + self.markdown = self.markdown.replace(r'\)', r'\)') pass def _mask_uris_in_markdown(self): @@ -310,9 +312,9 @@ class FileTranslater: auto_render = f'' if not cdn else r"""""" mermaid = f'' if self.file_suffix == ".txt": - content = html.escape(self.markdown).replace("\n", "
") + content = html.escape(self.export_to_markdown()).replace("\n", "
") else: - content = markdowner.convert(self.markdown.replace("\\", "\\\\")) + content = markdowner.convert(self.export_to_markdown().replace("\\", "\\\\")) # TODO:实现MathJax本地化 render = jinja2.Template(html_template).render( title=title,