Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 0 additions & 106 deletions pdf2zh/gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -396,112 +396,6 @@ def progress_bar(t: tqdm.tqdm):
)


def babeldoc_translate_file(**kwargs):
from babeldoc.high_level import init as babeldoc_init

babeldoc_init()
from babeldoc.high_level import async_translate as babeldoc_translate
from babeldoc.translation_config import TranslationConfig as YadtConfig

for translator in [
GoogleTranslator,
BingTranslator,
DeepLTranslator,
DeepLXTranslator,
OllamaTranslator,
XinferenceTranslator,
AzureOpenAITranslator,
OpenAITranslator,
ZhipuTranslator,
ModelScopeTranslator,
SiliconTranslator,
GeminiTranslator,
AzureTranslator,
TencentTranslator,
DifyTranslator,
AnythingLLMTranslator,
ArgosTranslator,
GrokTranslator,
GroqTranslator,
DeepseekTranslator,
OpenAIlikedTranslator,
QwenMtTranslator,
X302AITranslator,
]:
if kwargs["service"] == translator.name:
translator = translator(
kwargs["lang_in"],
kwargs["lang_out"],
"",
envs=kwargs["envs"],
prompt=kwargs["prompt"],
ignore_cache=kwargs["ignore_cache"],
)
break
else:
raise ValueError("Unsupported translation service")
import asyncio
from babeldoc.main import create_progress_handler

for file in kwargs["files"]:
file = file.strip("\"'")
yadt_config = YadtConfig(
input_file=file,
font=None,
pages=",".join((str(x) for x in getattr(kwargs, "raw_pages", []))),
output_dir=kwargs["output"],
doc_layout_model=BABELDOC_MODEL,
translator=translator,
debug=False,
lang_in=kwargs["lang_in"],
lang_out=kwargs["lang_out"],
no_dual=False,
no_mono=False,
qps=kwargs["thread"],
use_rich_pbar=False,
disable_rich_text_translate=not isinstance(translator, OpenAITranslator),
skip_clean=kwargs["skip_subset_fonts"],
report_interval=0.5,
)

async def yadt_translate_coro(yadt_config):
progress_context, progress_handler = create_progress_handler(yadt_config)

# 开始翻译
with progress_context:
async for event in babeldoc_translate(yadt_config):
progress_handler(event)
if yadt_config.debug:
logger.debug(event)
kwargs["callback"](progress_context)
if kwargs["cancellation_event"].is_set():
yadt_config.cancel_translation()
raise CancelledError
if event["type"] == "finish":
result = event["translate_result"]
logger.info("Translation Result:")
logger.info(f" Original PDF: {result.original_pdf_path}")
logger.info(f" Time Cost: {result.total_seconds:.2f}s")
logger.info(f" Mono PDF: {result.mono_pdf_path or 'None'}")
logger.info(f" Dual PDF: {result.dual_pdf_path or 'None'}")
file_mono = result.mono_pdf_path
file_dual = result.dual_pdf_path
break
import gc

gc.collect()
return (
str(file_mono),
str(file_mono),
str(file_dual),
gr.update(visible=True),
gr.update(visible=True),
gr.update(visible=True),
)

return asyncio.run(yadt_translate_coro(yadt_config))


# Global setup
custom_blue = gr.themes.Color(
c50="#E8F3FF",
Comment on lines 380 to 382
Expand Down
2 changes: 1 addition & 1 deletion pdf2zh/kernel/v2_bridge.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ def _pages_to_v2(pages: Any) -> str:
if isinstance(pages, str):
return pages
if isinstance(pages, list):
return ",".join(str(p) for p in pages)
return ",".join(str(p + 1) for p in pages)
Comment thread
raappo marked this conversation as resolved.
Resolved
return str(pages)
Comment thread
raappo marked this conversation as resolved.
Resolved


Expand Down