オープンソースを支援

複数エンジン対応のコマンドライン翻訳

gotrans は translate-shell にインスパイアされた Go 実装です。高速な CLI 出力、任意の REST サービス、Google・Bing・Yandex・Apertium などのバックエンドに対応します。

CLI · パイプとスクリプト REST · HTTP API チャンク · 長文 マルチエンジン

作った理由

ターミナル中心の作業にも、信頼できる翻訳ツールが欲しいからです。予測しやすいフラグ、自動化向けの --text、他サービスとつなぐための小さな HTTP 面—ブラウザ一式なしで済ませたい、というニーズに応えます。

何か

gotranstranslate-shell の Go 版で、同じコンセプトをより高度な機能まで広げたものです。1 つのバイナリでシェルから翻訳したり、INI 設定で REST サービスを起動したりできます。エンジンは切り替え可能で、出力は簡潔・詳細・プレーンテキストのみを選べます。長い入力は順番に分割して送るため、プロバイダの上限に引っかかりにくくなります。

エンジン

Google(既定)、Bing、Yandex、Apertium、自動選択、テスト用 mock。

2 つの動き方

ターミナルで一回翻訳するか、REST API を INI で動かすか。

自動化向き

--text、標準入力、-i/-o ファイル、:fr / -t の言語ショートカット。

CLI クイックスタート

翻訳

gotrans "Hello, world!"
gotrans :fr "Hello"
gotrans -e bing -t es "Good morning"
echo "pipe me" | gotrans --text -t de
gotrans -i document.txt -t fr
gotrans --text -i in.txt -o out.txt -t de

サービス(例)

gotrans --service --init=service-scripts/gotrans.ini

サンプル設定の既定は多くの場合 localhost:8100 です。INI でホスト・ポート・エンジン・言語を調整してください。

REST API

サービス起動後、ヘルスチェック、エンジン一覧、言語一覧、翻訳などのエンドポイントが使えます。

GET /api/v1/health · POST /api/v1/translate · GET /api/v1/engines · GET /api/v1/languages

ヘルスチェック

curl -fsS http://127.0.0.1:8100/api/v1/health

翻訳(JSON)

curl -sS http://127.0.0.1:8100/api/v1/translate \
  -H 'content-type: application/json' \
  -d '{"text":"Hello, World!","source_lang":"auto","target_lang":"es","engine":"google"}'

ダウンロード

各プラットフォーム向けのビルド済みバイナリ(zip)。