はじめに
BabelDOCは、PDF文書をバイリンガル形式に翻訳するために設計されたオープンソースツールです。funstory-aiチームによって開発され、GitHubでホストされている。BabelDOCは主に、研究者、学生、技術者など、外国語のドキュメントを扱う必要のあるユーザーを対象としている。BabelDOCは、数式や表を含む元のレイアウトを維持したまま、英語のPDFを中国語に翻訳することをサポートしている。ユーザーは、オンラインサービス、コマンドライン計装(CLI)、またはPython APIを介して使用することができます。オンラインサービスはImmersive Translateによって提供され、月1000ページまで無料です。一方、自己展開はソースコードまたはPDFMathTranslateプロジェクトによって実現できます。
機能一覧
- PDFファイルを原文と訳文を並べて表示するバイリンガル形式に翻訳します。
- オリジナルのタイポグラフィを保持し、数式、表、画像の正しい表示をサポートします。
- 複数ファイルの一括変換をサポートするコマンドラインツール(CLI)を提供します。
- 開発者が他のプログラムに組み込みやすいPython APIを提供。
- オンラインサービスのサポート、月1000ページの無料翻訳。
- 自己展開に対応しており、ローカルで実行したり、PDFMathTranslateと組み合わせて追加の翻訳サービスを使用したりすることができます。
- OpenAI、Bingなど、複数の翻訳エンジンに対応。
- オフラインのリソースパッケージ管理を提供し、ネットワーク環境に適しています。
ヘルプの使用
BabelDOCは、オンラインサービスやローカル展開など、様々な方法で使用することができます。ここでは、素早く始めるための詳細なガイドを紹介します。
オンライン・サービスの利用
- オンライン・サービスへのアクセス
見せる 没入型翻訳 - BabelDOCこれはベータ版サービスです。 - ファイルのアップロード
アップロードボタンをクリックし、翻訳するPDFファイルを選択します。ファイルサイズとページ数は無料枠内(1000ページ/月)である必要があります。 - 言語選択
英語から中国語への翻訳はデフォルトでサポートされています。アップロード後、システムが自動的に処理し、バイリンガルPDFを生成します。 - ダウンロード結果
翻訳が完了したら、ダウンロードボタンをクリックして翻訳されたファイルを入手してください。翻訳結果は、原文と翻訳文が並んで表示されます。
現地設置プロセス
BabelDOCはPyPIまたはソースからのインストールをサポートしており、それを推奨する。 uv
環境を管理する
PyPIからインストールする
- Pythonとuvのインストール
システムにPython 3.12以降が入っていることを確認する。uvをダウンロードしてインストールし、環境変数を設定する。 - BabelDOCのインストール
ターミナルで実行:
uv tool install --python 3.12 BabelDOC
- インストールの確認
インプット:
babeldoc --help
ヘルプメッセージが表示されれば、インストールは成功です。
ソースからのインストール
- クローンプロジェクト
ターミナルで実行:
git clone https://github.com/funstory-ai/BabelDOC
cd BabelDOC
- 依存関係のインストール
利用するuv
依存関係をインストールします:
uv run pip install -r requirements.txt
- インストールの確認
走っている:
uv run babeldoc --help
ヘルプメッセージが表示されれば成功だ。
オフライン・リソーシング
オフラインで使用する必要がある場合は、リソースパックを管理することができます:
- リソースキットの作成
babeldoc --generate-offline-assets /path/to/output/dir
生成されたzipファイルには、フォントとモデルが含まれています。
2. 復興支援キット
babeldoc --restore-offline-assets /path/to/offline_assets_package.zip
リソースはデフォルトのパスに展開される ~/.cache/babeldoc/assets/
.
現地での使用
コマンドラインの使用法
- 個別文書の翻訳
というファイルがあるとする。example.pdf
OpenAIで翻訳:
babeldoc --files example.pdf --openai --openai-model "gpt-4o-mini" --openai-api-key "你的API密钥"
出力ファイルは example_translated.pdf
.
2. 複数文書の翻訳
複数のファイルを扱う:
babeldoc --files example1.pdf --files example2.pdf --bing
- ページを指定する
1、3-5ページのみを翻訳してください:
babeldoc --files example.pdf --pages "1,3-5" --openai --openai-api-key "你的API密钥"
- 言語の調整
他の言語が必要な場合は、デフォルトの英語から中国語への翻訳:
babeldoc --files example.pdf --lang-in "en" --lang-out "fr" --openai --openai-api-key "你的API密钥"
Python API の使用法
- 基本翻訳
ドキュメントの作成translate.py
::
from babeldoc.main import TranslationConfig, translate_document
config = TranslationConfig(
files=["example.pdf"],
lang_in="en",
lang_out="zh",
translator="openai",
openai_api_key="你的API密钥",
openai_model="gpt-4o-mini"
)
translate_document(config)
うごきだす python translate.py
翻訳の準備はできている。
2. オフライン・リソース管理
from pathlib import Path
from babeldoc.assets.assets import generate_offline_assets_package, restore_offline_assets_package
# 生成资源包
generate_offline_assets_package(Path("/path/to/output/dir"))
# 恢复资源包
restore_offline_assets_package(Path("/path/to/offline_assets_package.zip"))
注目の機能操作
- バイリンガリズム
翻訳PDFでは、原文と翻訳文を並べて表示します。例えば、英語は左側、中国語は右側で比較しやすくなっています。数式E=mc^2
原文はそのままに、訳の解説を併記する。 - 複雑なドキュメンテーションのサポート
数式や表の認識と保持をサポート。翻訳は元の構造を破壊しません。 - 柔軟な展開
オンライン・サービスはシンプルで迅速であり、セルフ・デプロイメントは翻訳エンジンの選択など、より多くのカスタマイズ・オプションをサポートする。
自己配備の強化
より多くの機能が必要な場合は、PDFMathTranslateを使用することができます:
- PDFMathTranslateをインストールする
GitHubのインストラクションに従ってインストールすれば、WebUIやその他の翻訳サービスもサポートされる。 - BabelDOCとの組み合わせ
PDFMathTranslateバージョン1.9.3+では、BabelDOCを実験的にサポートし、翻訳機能を強化しました。
ほら
- オンライン・サービスは月1,000ページまで無料だが、それ以上は有料。
- ローカルにデプロイする場合は、OpenAIのウェブサイトから取得できるOpenAIキーなどのAPIキーを設定する必要があります。
- 現在のところ、主に英語から中国語への翻訳に最適化されており、他の言語のサポートは限られている。
- 大容量ファイルの使用を推奨
--max-pages-per-part
セグメンテーション。
アプリケーションシナリオ
- 学術研究
リサーチャーには英語のペーパーが渡され、読みやすく理解しやすいようにBabelDOCを使って対訳版に翻訳された。 - 技術文書の翻訳
開発者は英語の技術マニュアルを翻訳し、コードと図表は自分の仕事に直接使えるように保管している。 - 教育的学習
生徒たちは外国語の教科書を翻訳するためにこれを使い、言語を学ぶと同時に内容を習得する。
品質保証
- どのようなファイル形式に対応していますか?
PDFのみ対応しており、他のフォーマットはまずPDFに変換する必要があります。 - オンラインサービスとローカル展開の違いは何ですか?
オンライン・サービスはシンプルで、毎月1,000ページが無料で利用できる。ローカル・サービスはインストールが必要だが、より多くのオプションでカスタマイズできる。 - 翻訳が正確でなかったら?
翻訳エンジンを変えたり(例:BingからOpenAIへ)、モデルを調整したりしてみてください。 - コードを提供するには?
調べる 貢献Immersive Translateのメンバーシップは、アクティブな貢献者が利用できます。