ai-powered-markdown-translatorgpt-5.4-mini を使用して fr から ja に翻訳された記事。
私は、自分のプロジェクト AI-Powered Markdown Translator をご紹介できてうれしいです。これは、私のブログの Markdown ファイルや GitHub リポジトリ内の README/ドキュメントの一部を自動翻訳するオープンソースの Python スクリプトです。OpenAI、Mistral AI、Anthropic (Claude)、Google Gemini といった最先端の人工知能モデルを統合し、記事、README、技術ドキュメントを構造と書式を保ったまま14言語へ翻訳します。このプロジェクトは、自動化、AI統合、信頼性工学 における私のスキルと、技術コンテンツを誰もが利用できるようにしたいという情熱を示しています。
これは単なるスクリプトではありません。私の専門性と、より包摂的なデジタル世界に対するビジョンの証です。
なぜこのプロジェクトなのか?
Markdown ファイルは、私のデジタルエコシステムにとって不可欠です。そこにはブログ記事、チュートリアル、オープンソースのドキュメントが含まれています。これらを自動翻訳することで、私はコンテンツを世界中の読者に届けています。今では、このスクリプトのおかげで私のブログは 14言語 で利用でき、約 1,800 の翻訳版(概算、FR 原文を除く)が現在 jls42.org 上で公開されており、公開のたびに数は増えています。
v1.9(2026年5月)はひとつの節目です。開発は AIペア開発で vibe coding 的に進められ(Claude Code + Codex)、産業レベルの品質スタック(14 hooks、229件のテスト、SonarCloud、AI支援 PR レビュー)によって保護されています。各行を手作業で読み直さなくても、きれいなコードを目指すためです。
このスクリプトが実際に動いている具体例をいくつか紹介します。
- この jls42.org ブログの14言語版 — 多言語の編集体験全体(記事、プロジェクト、AIニュース)はすべてこのスクリプトで生成されています。たとえば、サイトの ドイツ語版、日本語版、中国語版、スペイン語版、アラビア語版 を見ることができます。翻訳された編集コンテンツはすべてこのスクリプトを通っており、インターフェース要素は Astro のネイティブ i18n システムから提供されています。
- プロジェクト自身の README も GitHub 上で14言語に翻訳されています。例:英語、スペイン語、中国語。
このプロジェクトは、AI が実用的な課題を解決しながら、アクセシビリティを高められることを示しています。
私のスキルをアピール
このプロジェクトは、私の技術力を示すショーケースです。以下の点を強く打ち出しています。
- マルチモデル・オーケストレーション:開発は Opus の Claude Code を使用し、Codex はフォールバックとして機能、GPT-5.5 reasoning extra-high で計画を検証し、
/pr-review-toolkitがマージ前のレビューを担当 - 複数の AI API 統合:4つのプロバイダー(OpenAI、Mistral AI、Claude、Gemini)に接続し、各 API の特性(
finish_reason/stop_reasonの扱い、応答フォーマット、トークン制限)に合わせて調整 - 信頼性工学:翻訳後の二重検証(決定論的な verbatim 漏れ防止 + 確率的な
langdetect)、silent failures の検出、明示的なステータスによる結果返却 - 産業レベルの品質スタック:14の自動 hook(ruff、mypy、shellcheck、Opengrep SAST、pip-audit、Lizard…)、229件の unittest、11個の SonarCloud バッジ、さらに Codacy と CodeFactor
- オープンソース精神:GitHub で公開、GPLv3、14言語に翻訳された README
これらの要素は、長期的に強力で信頼でき、保守しやすいツールを作る私の能力を示しています。
主な機能
このスクリプトが提供するものは次のとおりです。
- マルチプロバイダー:4つの API(OpenAI、Mistral AI、Claude、Gemini)をサポート
- 2026年モデル:GPT-5.5、Claude Sonnet 4.6、Gemini 3.1 Pro をデフォルトで使用
- エコモード (
--eco):より高速で低コストなモデル - 単一ファイル (
--file):ディレクトリ全体ではなく1つのファイルを翻訳 - 名前保持 (
--keep_filename):元の名前と拡張子を維持(Astro、Hugo などに最適) .envサポート:.envファイルから API キーを自動読み込み.mdxファイル対応:従来の.mdファイルに加えて利用可能- 書式保持:コードブロック、インラインコード、リンク、メタデータをそのまま保持
v1.9 の新機能(2026年5月):
- 翻訳後検証:silent failures の自動検出 — 対象言語の確認、途中で切れた翻訳の検出をすべてのプロバイダーで実施
- 複数位置の注記 (
--note_position,--note_format):上、下、または両方。レガシー形式 (legacy) または GitHub の埋め込みカード (embed card) と互換なマーカー形式 (marker format) - 強化された
--newsモード:v1.8 で導入され、ソース EN 引用をプレースホルダーで保護していたこのモードは、v1.9 で復元後の検証が強化されました(残留プレースホルダー=エラー、元の引用と帰属 URL の確認、対象/ソースのフラグ確認)— ブログ内のすべてのia-actualites記事で使用されています
| プロバイダー | 品質(デフォルト) | エコノミー (--eco) |
|---|---|---|
| OpenAI | gpt-5.5 | gpt-5.4-mini |
| Claude | claude-sonnet-4-6 | claude-haiku-4-5-20251001 |
| Mistral | mistral-large-latest | mistral-small-latest |
| Gemini | gemini-3.1-pro-preview | gemini-3.1-flash-lite-preview |
v1.0 → v1.9 の進化
| バージョン | 日付 | 主な内容 |
|---|---|---|
| 1.0–1.4 | 2024 | OpenAI、続いて Mistral、続いて Claude |
| 1.5 | sept. 2024 | クライアントをリファクタリング、2024年モデル(gpt-4o, claude-3.5-sonnet) |
| 1.6 | janv. 2026 | 2026年モデル(gpt-5, claude-sonnet-4-5, gemini-3-pro)、Gemini、--eco モード、単一ファイル (--file) |
| 1.7 | janv. 2026 | --keep_filename, .env, インラインコード保持 |
| 1.8 | mars 2026 | GPT-5.4 モデルをデフォルト化、引用プレースホルダー付きの --news モード |
| 1.9 | mai 2026 | 翻訳後検証、複数位置の注記、14 hooks + 229件のテスト + AIレビューの品質スタック |
直感ベース開発 + ガードレール
v1.9 はすべて AIペア開発で書かれました。私の流れはこうです。Claude Code(Opus を専用に使用)がコードを書き、Opus が止まるか利用枠がいっぱいになると Codex が引き継ぎ、GPT-5.5(reasoning extra-high)が実行前に計画を検証し、/pr-review-toolkit:review-pr スキルが各 merge 前に PR を読みます。私はコードを自分では読み直しません。この開発スタイルを本番運用で成立させるために、私は比率に見合ったガードレールのスタックへ投資しました。
- 14の hooks 自動化(pre-commit + pre-push):shellcheck、ruff、prettier、detect-secrets、Lizard CCN、mypy、Opengrep SAST、pip-audit、unittest
- 229件のテスト unittest(v1.9 の新規コードで約98%のカバレッジ)
- 実践テスト:さまざまな README を使った複数リポジトリでの検証、ブログ上での製品内部利用 (dogfooding)(本番=ライブテスト)、見た目のレンダリング確認(ブラウザまたは Markdown プレビュー)
- 3つの外部プラットフォーム:SonarCloud(11個のバッジ)、Codacy、CodeFactor
/pr-review-toolkit:review-prスキル:マージ前のマルチエージェントによる AI支援レビュー- 翻訳後の二重検証:決定論的(verbatim 漏れ防止)+確率的(
langdetect)
ここで伝えたいのは、従来型のエンジニアリングができることを証明したいわけではない、ということです。そうするしかない のです。レビューされていない AI コードには、少ないのではなく、より多くのガードレールが必要です。この規律については 技術深掘り で詳しく説明しています。
このブログで本番運用中
このプロジェクトは自分自身を翻訳します。README は14言語版があり、このブログのすべての多言語版を生成しています。
- ブログ記事、4つのプロジェクト、98本の ia-actualites 記事 により、FR 原文を除いて 約 1,800 の翻訳版 が存在します(コンテンツにより言語ごとのカバレッジは変動)
--newsモード は、ソース EN の引用を保つためにia-actualites記事で常時使用- v1.9 のガードレール は 2026年5月から有効:二重の翻訳後検証を導入して以来、対象言語の silent-failure は検出されていません
- メタ整合性:あなたが英語、ドイツ語、日本語で読んでいるこのページも、このスクリプトで翻訳されています
さらに詳しく
この v1.9 がどのように作られたのか(新機能の詳細、マルチモデルのワークフロー、コードを読み直さずにきれいなコードを目指すために導入したガードレール)を理解するには、完全版の技術ディープダイブ をご覧ください。
また、以前のリリースとトーンを比較したい場合は、v1.5 に関する 2024 年の記事 が、より一般的なリリースノート形式に沿っています。
ぜひご自身で試してみてください
GitHub でプロジェクトを見つけ、Markdown ファイルで試し、フィードバックを共有してください。あなたのアイデアが、より完成度を高める助けになります。
連絡先: contact@jls42.org