BabelDOC 0.3.41__tar.gz → 0.3.43__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {babeldoc-0.3.41 → babeldoc-0.3.43}/PKG-INFO +9 -1
- {babeldoc-0.3.41 → babeldoc-0.3.43}/README.md +8 -0
- babeldoc-0.3.43/babeldoc/__init__.py +1 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/const.py +1 -1
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/il_translator_llm_only.py +15 -2
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/high_level.py +8 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/main.py +1 -1
- {babeldoc-0.3.41 → babeldoc-0.3.43}/pyproject.toml +2 -2
- {babeldoc-0.3.41 → babeldoc-0.3.43}/uv.lock +1 -1
- babeldoc-0.3.41/babeldoc/__init__.py +0 -1
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.cursorignore +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/dependabot.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/labels.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/release-drafter.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/codeql.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/docs.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/labeler.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/lint.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/pr-lint.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/publish-to-pypi.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/test.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.gitignore +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/.pre-commit-config.yaml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/LICENSE +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/assets/assets.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/assets/embedding_assets_metadata.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/asynchronize/__init__.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/converter.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/__init__.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/backend/__init__.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/backend/pdf_creater.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/frontend/__init__.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/frontend/il_creater.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/il_version_1.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/il_version_1.rnc +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/il_version_1.rng +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/il_version_1.xsd +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/__init__.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/add_debug_information.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/il_translator.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/layout_parser.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/remove_descent.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/table_parser.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/typesetting.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/translator/__init__.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/translator/cache.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/translator/translator.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/atomic_integer.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/fontmap.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/layout_helper.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/paragraph_helper.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/style_helper.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/zstd_helper.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/xml_converter.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/README.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/__init__.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/doclayout.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/rpc_doclayout.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/format/office/__init__.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/pdfinterp.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/progress_monitor.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/result_merger.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/split_manager.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/tools/generate_font_metadata.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/tools/italic_assistance.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/tools/italic_recognize_tool.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/translation_config.py +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/CODE_OF_CONDUCT.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/CONTRIBUTING.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/CONTRIBUTOR_REWARD.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/README.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/README.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/deploy.sh +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-banner.png +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo.png +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-contributor_reward_example.png +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-preview.gif +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-small-logo.png +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/index.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/intro-to-pdf-object.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/requirements.txt +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/supported_languages.md +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/mkdocs.yml +0 -0
- {babeldoc-0.3.41 → babeldoc-0.3.43}/tests/test_translation_config.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: BabelDOC
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.43
|
|
4
4
|
Summary: Yet Another Document Translator
|
|
5
5
|
Project-URL: Homepage, https://github.com/funstory-ai/BabelDOC
|
|
6
6
|
Project-URL: Issues, https://github.com/funstory-ai/BabelDOC/issues
|
|
@@ -88,6 +88,14 @@ PDF scientific paper translation and bilingual comparison library.
|
|
|
88
88
|
- Provides a [Python API](#python-api).
|
|
89
89
|
- Mainly designed to be embedded into other programs, but can also be used directly for simple translation tasks.
|
|
90
90
|
|
|
91
|
+
> [!TIP]
|
|
92
|
+
>
|
|
93
|
+
> How to use BabelDOC in Zotero
|
|
94
|
+
>
|
|
95
|
+
> 1. Immersive Translate Pro members can use the [immersive-translate/zotero-immersivetranslate](https://github.com/immersive-translate/zotero-immersivetranslate) plugin
|
|
96
|
+
>
|
|
97
|
+
> 2. PDFMathTranslate self-deployed users can use the [guaguastandup/zotero-pdf2zh](https://github.com/guaguastandup/zotero-pdf2zh) plugin
|
|
98
|
+
|
|
91
99
|
[Supported Language](https://funstory-ai.github.io/BabelDOC/supported_languages/)
|
|
92
100
|
|
|
93
101
|
## Preview
|
|
@@ -39,6 +39,14 @@ PDF scientific paper translation and bilingual comparison library.
|
|
|
39
39
|
- Provides a [Python API](#python-api).
|
|
40
40
|
- Mainly designed to be embedded into other programs, but can also be used directly for simple translation tasks.
|
|
41
41
|
|
|
42
|
+
> [!TIP]
|
|
43
|
+
>
|
|
44
|
+
> How to use BabelDOC in Zotero
|
|
45
|
+
>
|
|
46
|
+
> 1. Immersive Translate Pro members can use the [immersive-translate/zotero-immersivetranslate](https://github.com/immersive-translate/zotero-immersivetranslate) plugin
|
|
47
|
+
>
|
|
48
|
+
> 2. PDFMathTranslate self-deployed users can use the [guaguastandup/zotero-pdf2zh](https://github.com/guaguastandup/zotero-pdf2zh) plugin
|
|
49
|
+
|
|
42
50
|
[Supported Language](https://funstory-ai.github.io/BabelDOC/supported_languages/)
|
|
43
51
|
|
|
44
52
|
## Preview
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.43"
|
|
@@ -177,7 +177,7 @@ class ILTranslatorLLMOnly:
|
|
|
177
177
|
copy.deepcopy(paragraph)
|
|
178
178
|
)
|
|
179
179
|
|
|
180
|
-
if total_token_count > 200 or len(paragraphs) >
|
|
180
|
+
if total_token_count > 200 or len(paragraphs) > 5:
|
|
181
181
|
executor.submit(
|
|
182
182
|
self.translate_paragraph,
|
|
183
183
|
BatchParagraph(paragraphs, tracker),
|
|
@@ -224,6 +224,7 @@ class ILTranslatorLLMOnly:
|
|
|
224
224
|
try:
|
|
225
225
|
inputs = []
|
|
226
226
|
llm_translate_trackers = []
|
|
227
|
+
paragraph_unicodes = []
|
|
227
228
|
for i in range(len(batch_paragraph.paragraphs)):
|
|
228
229
|
paragraph = batch_paragraph.paragraphs[i]
|
|
229
230
|
tracker = batch_paragraph.trackers[i]
|
|
@@ -237,8 +238,16 @@ class ILTranslatorLLMOnly:
|
|
|
237
238
|
should_translate_paragraph.append(i)
|
|
238
239
|
llm_translate_trackers.append(llm_translate_tracker)
|
|
239
240
|
inputs.append(
|
|
240
|
-
(
|
|
241
|
+
(
|
|
242
|
+
text,
|
|
243
|
+
translate_input,
|
|
244
|
+
paragraph,
|
|
245
|
+
tracker,
|
|
246
|
+
llm_translate_tracker,
|
|
247
|
+
paragraph_unicodes,
|
|
248
|
+
)
|
|
241
249
|
)
|
|
250
|
+
paragraph_unicodes.append(paragraph.unicode)
|
|
242
251
|
if not inputs:
|
|
243
252
|
return
|
|
244
253
|
json_format_input = []
|
|
@@ -454,6 +463,8 @@ class ILTranslatorLLMOnly:
|
|
|
454
463
|
paragraph_token_count = self.calc_token_count(
|
|
455
464
|
inputs[id_][2].unicode
|
|
456
465
|
)
|
|
466
|
+
paragraph_unicodes = inputs[id_][5]
|
|
467
|
+
inputs[id_][2].unicode = paragraph_unicodes[id_]
|
|
457
468
|
executor.submit(
|
|
458
469
|
self.il_translator.translate_paragraph,
|
|
459
470
|
inputs[id_][2],
|
|
@@ -473,6 +484,8 @@ class ILTranslatorLLMOnly:
|
|
|
473
484
|
for llm_translate_tracker in llm_translate_trackers:
|
|
474
485
|
llm_translate_tracker.set_error_message(error_message)
|
|
475
486
|
llm_translate_tracker.set_fallback_to_translate()
|
|
487
|
+
for input_ in inputs:
|
|
488
|
+
input_[2].unicode = input_[5]
|
|
476
489
|
if not should_translate_paragraph:
|
|
477
490
|
should_translate_paragraph = list(
|
|
478
491
|
range(len(batch_paragraph.paragraphs))
|
|
@@ -419,6 +419,14 @@ def fix_filter(doc):
|
|
|
419
419
|
data = doc.xref_stream(page_piece)
|
|
420
420
|
doc.update_stream(page_piece, data)
|
|
421
421
|
|
|
422
|
+
for page in doc:
|
|
423
|
+
contents = page.get_contents()
|
|
424
|
+
if len(contents) > 1:
|
|
425
|
+
page_streams = [doc.xref_stream(i) for i in contents]
|
|
426
|
+
head = contents[0]
|
|
427
|
+
doc.update_stream(head, b" ".join(page_streams))
|
|
428
|
+
doc.xref_set_key(page.xref, "Contents", f"{head} 0 R")
|
|
429
|
+
|
|
422
430
|
|
|
423
431
|
def do_translate(
|
|
424
432
|
pm: ProgressMonitor, translation_config: TranslationConfig
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "BabelDOC"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.43"
|
|
4
4
|
description = "Yet Another Document Translator"
|
|
5
5
|
license = "AGPL-3.0"
|
|
6
6
|
readme = "README.md"
|
|
@@ -150,7 +150,7 @@ pythonpath = [".", "src"]
|
|
|
150
150
|
testpaths = ["tests"]
|
|
151
151
|
|
|
152
152
|
[bumpver]
|
|
153
|
-
current_version = "0.3.
|
|
153
|
+
current_version = "0.3.43"
|
|
154
154
|
version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
|
|
155
155
|
|
|
156
156
|
[bumpver.file_patterns]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.3.41"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/priority_thread_pool_executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-with-transparent-background.png
RENAMED
|
File without changes
|
{babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-with-transparent-background.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-small-logo-with-transparent-background.png
RENAMED
|
File without changes
|
{babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-small-logo-with-transparent-background.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|