EulerPress

企業向けドキュメント翻訳 & AI学習データ変換ツール

コードブロック、数式、URLなどの非翻訳要素を完全に保持しながら、散文テキストのみを正確に翻訳するローカルファースト(Local-First)CLIベースの翻訳ツールです。企業内部ドキュメントのローカライズからAI学習用JSONLデータの翻訳まで、単一パイプラインで処理します。

Open Source

コア機能

コードと数式に触れない知的ドキュメント翻訳

精密保持翻訳

markdown-it-pyベースのCommonMark完全互換パーサーが、コードフェンス、インラインコード、数式、フロントマター、Raw HTMLを自動識別して保持します。散文テキストのみが正確に翻訳されます。

対応フォーマット Markdown, HTML, Plain Text, JSONL
保持要素 コードブロック、インラインコード、数式($...$, $$...$$)、URL、フロントマター
パーサー markdown-it-py (CommonMark 100%), BeautifulSoup4 (HTML)

ローカルファーストアーキテクチャ

Ollamaローカルモデルをデフォルト翻訳エンジンとして使用し、企業の機密文書が外部に漏洩しません。OpenAI APIもオプションでサポートします。

翻訳エンジン Ollama(ローカル)、OpenAI(オプション)
データセキュリティ すべての処理がローカルで完結、外部送信なし
設定方式 YAML宣言的設定、CLIオーバーライド対応

AI学習データ翻訳

JSONL学習データを大規模に翻訳する専用パイプライン

Traindataパイプライン

eulerpress traindataコマンドで、OllamaベースのHTTP並行リクエストによりJSONL学習データを高速翻訳します。

  • 数式保持:$...$、$$...$$、\(...\)、\[...\]などのLaTeX数式をプレースホルダで保護後復元。
  • 並行処理:ThreadPoolExecutorベースのマルチワーカー、レコード単位の並列翻訳。
  • 増分出力:レコード完了時即座にファイルに書き込み、中断時も結果を保持。
  • 再開機能:既存の出力レコードをスキップし、新しいレコードのみ翻訳。

品質保証

翻訳結果の品質を自動的に検証し、問題のある結果をフラグします。

  • 翻訳検証:長さ比率、数字のみの検出、プレースホルダ数の検査。
  • フォーマット保持スコアリング:コードフェンス、数式、URLの破損検出。
  • 自動チャンキング:長いテキストを文境界で分割して翻訳品質を維持。
  • 用語集検索:Tavilyベースのドメイン用語集で一貫した翻訳を保証。

CLIリファレンス

5つのコアコマンドでドキュメント翻訳の全ワークフローを実行

translate

YAML設定ファイルに従ってドキュメントを翻訳。ソースディレクトリ、ターゲット言語、モデルなどをCLIでオーバーライド可能。

traindata

OllamaでJSONL学習データを並行翻訳。数式保持、増分出力、再開をサポート。

validate

YAML設定ファイルを実行せずに検証。問題があれば3行フォーマットエラーを出力。

plan

ドライラン:翻訳対象ファイル数、セグメント数、推定トークン数をプレビュー。

doctor

システム依存関係(Ollamaバイナリ、サーバー接続、利用可能モデル)をチェック。

アーキテクチャ

モジュラー設計でフォーマット、エンジン、品質保証を独立して拡張

config.yaml → Loader → Validator → EulerPressConfig ↓ Translator ├── discover_files() ├── for each file: │ ├── get_parser(ext) → Parser │ ├── parser.parse() → [Segment] │ ├── provider.translate(chunks) │ └── parser.render(segments) → output └── write output (mirror structure)

パッケージ構造

configYAMLスキーマ、ローディング、検証
parsersMarkdown、HTML、プレーンテキストパーサー
engine翻訳プロバイダー(Ollama、OpenAI、Fake)
coreオーケストレーター、プランナー、ドクター、エラー
scoring品質スコアリング、モデル選択、API評価
traindataJSONL学習データ翻訳(Ollama並行処理)
glossaryドメイン用語集検索(Tavily)

技術仕様

言語Python 3.12+
Markdownパーサーmarkdown-it-py + mdformat (CommonMark 100%)
HTMLパーサーBeautifulSoup4 + lxml
翻訳エンジンOllama(ローカル)、OpenAI(クラウド)
チャンキング戦略sentence, whitespace, hard
エラーフォーマット3行フォーマット(Category / Fix / See)
ライセンスMIT(全依存関係を含む)

チュートリアル

ステップバイステップガイドでEulerPressを素早く習得

チュートリアルは近日公開予定です。

インストール & 入門

EulerPressをインストールして最初の翻訳を始めましょう

インストール

pip install eulerpress

# OllamaローカルLLMをインストール
ollama pull gemma3:27b

システム要件

Python 3.12+

Ollama(ローカル翻訳時)

EulerPressでドキュメント翻訳を自動化

ローカルファースト、コード保持、企業品質の翻訳ツール。

GitHubで始める お問い合わせ