コマンドライン辞書に多言語同時翻訳機能を実装した。+Windowsでの設定方法
この前の記事でコマンドラインで使用できる辞書を紹介しました。
今回はあの辞書に更に1つの言語だけではなく複数の言語に同時翻訳する機能を追加しました。 言語ごとにGoroutineを立てて非同期に結果を取得します。CPU数-1で並列化しています。並列化しているので、あまり通信のレイテンシによる遅延を感じずに多言語への翻訳を実現しました。
それにしてもこのGlosbeとかいうAPI、存在しない言語を送った時HTMLを返してきたり、数字がJsonのキーになっていたり、設計がガバガバすぎる。。。
コマンドライン引数を複数取ることができるようにgo-flagsというライブラリを使って引数をパースしました。
また、引き続きdrone.ioでバイナリファイルを配布しているので、下記リンクからダウンロードできます。
Windowsでの設定方法
上記ダウンロードリンクからWindows用バイナリをダウンロードする。
1番上の拡張子が.exe
になっている奴がWindows用バイナリです。適当な場所にフォルダを作る。今回はユーザフォルダに
bin
というフォルダを作成しました。先ほど作成したフォルダ(今回の場合は
bin
フォルダ)にdict.exe
を移動する。左のメニューからPCを右クリックし、プロパティを左クリックする。
新しく開いたWindowの左メニューのシステムの詳細設定を左クリックする。
環境変数を左クリックする。
ユーザ環境変数の
PATH
を選択し、編集をクリックする。右のメニューから新規を選択し、先ほど
dict.exe
を保存したフォルダのパスを入力しOKを左クリック。追加できたらすべてのWindowを閉じる。コマンドプロンプトを開いて
dict
を入力するとコマンドを入力できるようになっている。ここでできなければ環境変数の設定が間違っているため、もう1度8で入力したフォルダのパスがdict.exe
を保存した場所のパスと同じか確かめる。
Windowsの場合だとタイ語が表示されなくなっています。これを表示できるようにするにはコマンドプロンプトのフォントをタイ語に対応したものにかえる必要があります。
また、Windowsでもコマンドにエイリアスを設定できるらしいので、特定言語しか使わない場合は設定したほうが便利だと思います。