的占位符不要改变
code、latex和HTML只翻译说明文字,其余保持原文
公式必须表示为合法的latex公式,行内公式需被$正确包裹
+去掉异常字词
# 输出
翻译后的markdown纯文本(不是markdown代码块)
# 示例
diff --git a/docutranslate/app.py b/docutranslate/app.py
index a5869ae..c7f64fe 100644
--- a/docutranslate/app.py
+++ b/docutranslate/app.py
@@ -167,6 +167,46 @@ HTML_TEMPLATE = """
DocuTranslate
@@ -713,6 +714,7 @@ class QueueAndHistoryHandler(logging.Handler):
def emit(self, record: logging.LogRecord):
log_entry = self.format(record)
+ print(log_entry)
self.history.append(log_entry)
if len(self.history) > self.max_history:
del self.history[:len(self.history) - self.max_history]
@@ -732,15 +734,16 @@ class QueueAndHistoryHandler(logging.Handler):
@app.on_event("startup")
async def startup_event():
app.state.main_event_loop = asyncio.get_running_loop()
+ if translater_logger.hasHandlers():
+ translater_logger.handlers.clear()
queue_handler = QueueAndHistoryHandler(log_queue, log_history, MAX_LOG_HISTORY)
queue_handler.setLevel(logging.INFO)
queue_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
- if not any(isinstance(h, QueueAndHistoryHandler) for h in translater_logger.handlers):
- translater_logger.addHandler(queue_handler)
- translater_logger.propagate = False # Avoid duplicate logs if root logger also has handlers
- translater_logger.setLevel(logging.INFO) # Ensure translater_logger itself is at INFO
- translater_logger.info("应用启动完成,日志队列/历史处理器已配置。")
+ translater_logger.addHandler(queue_handler)
+ translater_logger.propagate = False # 非常重要,阻止日志向上传播到root logger
+ translater_logger.setLevel(logging.INFO) # 确保 translater_logger 本身的级别是 INFO
+ translater_logger.info("应用启动完成,日志队列/历史处理器已清除并重新配置。")
# --- Background Task Logic ---
async def _perform_translation(params: Dict[str, Any], file_contents: bytes, original_filename: str):
diff --git a/pyproject.toml b/pyproject.toml
index 8b55b7b..4b24111 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "docutranslate"
-version = "0.2.7"
+version = "0.2.8"
description = "文件翻译工具"
readme = "README.md"
requires-python = ">=3.10"