Markdown の自動翻訳未遂

by

in

 今日、和文で書いた Markdown を英文のそれに翻訳する事案が発生した。
 インターネットで検索したところ md_docs_trans-app という Python のパッケージを発見したので試してみることにした。

git clone https://github.com/ilyachch/md_docs-trans-app.git
cd md_docs-trans-app
pip install . -t .\Lib

 こうすると .\Lib\bin\md-translate.exe が生成されるのでサンプルとして下にしめす test.md を用意したうえで

# 条件を分岐させるための IF 文の使い方とは?
## 条件分岐って何?
条件分岐とは、指定した条件で処理を分ける方法
* 請求書の締め月が上期だった場合は、〇〇を使って計算する
* 部署コードが A0001 の場合は開発部、B0001 の場合はWEBマーケティング部
* 処理月が 2014 年 4 未満だった場合は消費税 5%、それ以外は 8% で計算
## IF 文の基礎的な使い方
### 条件が 1 つのみ
```vb
IF 条件 Then
    '条件に一致したときの処理をここにかく
End if
```

 次のバッチファイルでテストしてみた。翻訳エンジンは deepl を指定した。

@echo off
setlocal
set PYTHONHOME=C:\Users\.......\Python\Python312
set PYTHONPATH=%~dp0Lib;%PYTHONHOME%\Lib
set PROG=%~dp0Lib\bin\md-translate.exe
nkf test.md > tmp.md
%PROG% tmp.md -v -F japanese -T english -P deepl
nkf -w8 tmp.md > %%~ni-en.md

 すると出力ファイル test-en.md は以下の通りで部分的に英語になっているものの大半は日本語のままかあるいは […] となっている。

<!-- TRANSLATED by md-translate -->
# 条件を分岐させるための IF 文の使い方とは?
# How to use IF statements to branch conditions?
## 条件分岐って何?
## What is conditional branching?
条件分岐とは、指定した条件で処理を分ける方法
Conditional branching is a method of separating processing under specified conditions.
* 請求書の締め月が上期だった場合は、〇〇を使って計算する
* 部署コードが A0001 の場合は開発部、B0001 の場合はWEBマーケティング部
* 処理月が 2014 年 4 未満だった場合は消費税 5%、それ以外は 8% で計算
*
[...]
[...]
## IF 文の基礎的な使い方
## Basic usage of IF statement
### 条件が 1 つのみ
### Only one condition
```vb
IF 条件 Then
    '条件に一致したときの処理をここにかく
End if
```
meter (i.e. a gauge) [...]  [...]

 途中 selenium が起動する Chrome の画面では deepl がキチンと動いているようみえたので、普通に test.md のテキストを deepl に貼り付けて翻訳させたテキストを .md を拡張子に持つファイルに書き出してプレヴューすると下のようになる。やはり deepl は正常動作しているようだ(ソースが Markdown であることも検知している?)。
 以上、惜しいところまでは来ていると思うので上手くいったら報告する。