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.
Files changed (106) hide show
  1. {babeldoc-0.3.41 → babeldoc-0.3.43}/PKG-INFO +9 -1
  2. {babeldoc-0.3.41 → babeldoc-0.3.43}/README.md +8 -0
  3. babeldoc-0.3.43/babeldoc/__init__.py +1 -0
  4. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/const.py +1 -1
  5. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/il_translator_llm_only.py +15 -2
  6. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/high_level.py +8 -0
  7. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/main.py +1 -1
  8. {babeldoc-0.3.41 → babeldoc-0.3.43}/pyproject.toml +2 -2
  9. {babeldoc-0.3.41 → babeldoc-0.3.43}/uv.lock +1 -1
  10. babeldoc-0.3.41/babeldoc/__init__.py +0 -1
  11. {babeldoc-0.3.41 → babeldoc-0.3.43}/.cursorignore +0 -0
  12. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  13. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  14. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
  15. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/dependabot.yml +0 -0
  16. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/labels.yml +0 -0
  17. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/release-drafter.yml +0 -0
  18. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/codeql.yml +0 -0
  19. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/docs.yml +0 -0
  20. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/labeler.yml +0 -0
  21. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/lint.yml +0 -0
  22. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/pr-lint.yml +0 -0
  23. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/publish-to-pypi.yml +0 -0
  24. {babeldoc-0.3.41 → babeldoc-0.3.43}/.github/workflows/test.yml +0 -0
  25. {babeldoc-0.3.41 → babeldoc-0.3.43}/.gitignore +0 -0
  26. {babeldoc-0.3.41 → babeldoc-0.3.43}/.pre-commit-config.yaml +0 -0
  27. {babeldoc-0.3.41 → babeldoc-0.3.43}/LICENSE +0 -0
  28. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/assets/assets.py +0 -0
  29. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  30. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/asynchronize/__init__.py +0 -0
  31. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/converter.py +0 -0
  32. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/__init__.py +0 -0
  33. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
  34. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/backend/__init__.py +0 -0
  35. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/backend/pdf_creater.py +0 -0
  36. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/frontend/__init__.py +0 -0
  37. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/frontend/il_creater.py +0 -0
  38. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/il_version_1.py +0 -0
  39. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/il_version_1.rnc +0 -0
  40. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/il_version_1.rng +0 -0
  41. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/il_version_1.xsd +0 -0
  42. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/__init__.py +0 -0
  43. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  44. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
  45. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/il_translator.py +0 -0
  46. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/layout_parser.py +0 -0
  47. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
  48. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/remove_descent.py +0 -0
  49. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
  50. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/table_parser.py +0 -0
  51. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/midend/typesetting.py +0 -0
  52. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/translator/__init__.py +0 -0
  53. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/translator/cache.py +0 -0
  54. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/translator/translator.py +0 -0
  55. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/atomic_integer.py +0 -0
  56. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/fontmap.py +0 -0
  57. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/layout_helper.py +0 -0
  58. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/paragraph_helper.py +0 -0
  59. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
  60. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/style_helper.py +0 -0
  61. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/utils/zstd_helper.py +0 -0
  62. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/document_il/xml_converter.py +0 -0
  63. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/README.md +0 -0
  64. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/__init__.py +0 -0
  65. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/doclayout.py +0 -0
  66. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/rpc_doclayout.py +0 -0
  67. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  68. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/format/office/__init__.py +0 -0
  69. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/pdfinterp.py +0 -0
  70. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/progress_monitor.py +0 -0
  71. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/result_merger.py +0 -0
  72. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/split_manager.py +0 -0
  73. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/tools/generate_font_metadata.py +0 -0
  74. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/tools/italic_assistance.py +0 -0
  75. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/tools/italic_recognize_tool.py +0 -0
  76. {babeldoc-0.3.41 → babeldoc-0.3.43}/babeldoc/translation_config.py +0 -0
  77. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/CODE_OF_CONDUCT.md +0 -0
  78. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/CONTRIBUTING.md +0 -0
  79. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/CONTRIBUTOR_REWARD.md +0 -0
  80. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  81. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  82. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  83. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  84. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  85. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/README.md +0 -0
  86. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  87. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  88. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/README.md +0 -0
  89. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/deploy.sh +0 -0
  90. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-banner.png +0 -0
  91. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  92. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  93. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  94. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  95. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-big-logo.png +0 -0
  96. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  97. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-preview.gif +0 -0
  98. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  99. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  100. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/images/babeldoc-small-logo.png +0 -0
  101. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/index.md +0 -0
  102. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/intro-to-pdf-object.md +0 -0
  103. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/requirements.txt +0 -0
  104. {babeldoc-0.3.41 → babeldoc-0.3.43}/docs/supported_languages.md +0 -0
  105. {babeldoc-0.3.41 → babeldoc-0.3.43}/mkdocs.yml +0 -0
  106. {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.41
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"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.3.41"
6
+ __version__ = "0.3.43"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -177,7 +177,7 @@ class ILTranslatorLLMOnly:
177
177
  copy.deepcopy(paragraph)
178
178
  )
179
179
 
180
- if total_token_count > 200 or len(paragraphs) > 10:
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
- (text, translate_input, paragraph, tracker, llm_translate_tracker)
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
@@ -23,7 +23,7 @@ from babeldoc.translation_config import TranslationConfig
23
23
  from babeldoc.translation_config import WatermarkOutputMode
24
24
 
25
25
  logger = logging.getLogger(__name__)
26
- __version__ = "0.3.41"
26
+ __version__ = "0.3.43"
27
27
 
28
28
 
29
29
  def create_parser():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.3.41"
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.41"
153
+ current_version = "0.3.43"
154
154
  version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
155
155
 
156
156
  [bumpver.file_patterns]
@@ -48,7 +48,7 @@ wheels = [
48
48
 
49
49
  [[package]]
50
50
  name = "babeldoc"
51
- version = "0.3.41"
51
+ version = "0.3.43"
52
52
  source = { editable = "." }
53
53
  dependencies = [
54
54
  { name = "bitstring" },
@@ -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