From 62bc8e8a15a0b4c695ec31ff09ba93a3280965c5 Mon Sep 17 00:00:00 2001 From: Morningstar202604 <320475654+Morningstar202604@users.noreply.github.com> Date: Mon, 28 Sep 2026 07:03:54 +0000 Subject: [PATCH] fix: compare unchanged translation against translate_input.unicode post_translate_paragraph compared the translated string with the TranslateInput object itself, so the unchanged-output branch could never be taken: even when the translator returns translate_input.unicode verbatim, the paragraph was re-typeset and its original layout objects were dropped. Compare against the string payload instead. Ref: #610 --- babeldoc/format/pdf/document_il/midend/il_translator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/babeldoc/format/pdf/document_il/midend/il_translator.py b/babeldoc/format/pdf/document_il/midend/il_translator.py index 6c5d16137..eaf000b79 100644 --- a/babeldoc/format/pdf/document_il/midend/il_translator.py +++ b/babeldoc/format/pdf/document_il/midend/il_translator.py @@ -997,7 +997,7 @@ def post_translate_paragraph( ): """Post-translation processing: update paragraph with translated text.""" tracker.set_output(translated_text) - if translated_text == translate_input: + if translated_text == translate_input.unicode: if llm_translate_tracker := tracker.last_llm_translate_tracker(): llm_translate_tracker.set_placeholder_full_match() return False