(**kwargs)
| 353 | |
| 354 | |
| 355 | def babeldoc_translate_file(**kwargs): |
| 356 | from babeldoc.high_level import init as babeldoc_init |
| 357 | |
| 358 | babeldoc_init() |
| 359 | from babeldoc.high_level import async_translate as babeldoc_translate |
| 360 | from babeldoc.translation_config import TranslationConfig as YadtConfig |
| 361 | |
| 362 | for translator in [ |
| 363 | GoogleTranslator, |
| 364 | BingTranslator, |
| 365 | DeepLTranslator, |
| 366 | DeepLXTranslator, |
| 367 | OllamaTranslator, |
| 368 | XinferenceTranslator, |
| 369 | AzureOpenAITranslator, |
| 370 | OpenAITranslator, |
| 371 | ZhipuTranslator, |
| 372 | ModelScopeTranslator, |
| 373 | SiliconTranslator, |
| 374 | GeminiTranslator, |
| 375 | AzureTranslator, |
| 376 | TencentTranslator, |
| 377 | DifyTranslator, |
| 378 | AnythingLLMTranslator, |
| 379 | ArgosTranslator, |
| 380 | GrokTranslator, |
| 381 | GroqTranslator, |
| 382 | DeepseekTranslator, |
| 383 | OpenAIlikedTranslator, |
| 384 | QwenMtTranslator, |
| 385 | ]: |
| 386 | if kwargs["service"] == translator.name: |
| 387 | translator = translator( |
| 388 | kwargs["lang_in"], |
| 389 | kwargs["lang_out"], |
| 390 | "", |
| 391 | envs=kwargs["envs"], |
| 392 | prompt=kwargs["prompt"], |
| 393 | ignore_cache=kwargs["ignore_cache"], |
| 394 | ) |
| 395 | break |
| 396 | else: |
| 397 | raise ValueError("Unsupported translation service") |
| 398 | import asyncio |
| 399 | from babeldoc.main import create_progress_handler |
| 400 | |
| 401 | for file in kwargs["files"]: |
| 402 | file = file.strip("\"'") |
| 403 | yadt_config = YadtConfig( |
| 404 | input_file=file, |
| 405 | font=None, |
| 406 | pages=",".join((str(x) for x in getattr(kwargs, "raw_pages", []))), |
| 407 | output_dir=kwargs["output"], |
| 408 | doc_layout_model=BABELDOC_MODEL, |
| 409 | translator=translator, |
| 410 | debug=False, |
| 411 | lang_in=kwargs["lang_in"], |
| 412 | lang_out=kwargs["lang_out"], |
no test coverage detected