このプログラムは文章的なものを翻訳変換する目的のための抽象性の高い秀丸マクロライブラリです。 抽象的なクラスを継承したサンプルとして
の4点のライブラリを使用例として添付しています。
秀丸エディタ ver8.66以上
hmV8 1.4.7.5以上
HmLangTranslator.zipをダウンロード&zip解凍
普段秀丸のマクロを置いているような適当なディレクトリに、 「*.js」ファイル、「*.mac」ファイルを全て置いてください
5つの「*.mac」ファイルは、全て特定の変換ライブラリの使用のサンプルです。 詳細は左メニューの対応する項目内に掲載されています。
Google翻訳を使って、日本語へと翻訳される。元が何言語かは自動判別
Google翻訳を使って、英語へと翻訳される。元が何言語かは自動判別
Baidu翻訳を使って、日本語へと翻訳される。元が何言語かは自動判別
Baidu翻訳を使って、中国語・簡体字へと翻訳される。元が何言語かは自動判別
日本語シソーラスの「連想類語辞典」を使用して、連想類語単語のリストを取り出す
Weblioの「対義語辞典」を使用して、対義語のリストを取り出す
変換したいテキスト文字列を選択して、マクロを実行します。
*.jsファイルは、大抵のメソッドがクラス継承によるメソッドオーバーライドによって、 挙動を変更出来るようになっています。
#JS = loaddll( hidemarudir + @"\hmV8.dll" ); #_ = dllfuncw( #JS, "DoFile", currentmacrodirectory + @"\HmAbstractTranslator.js"); #_ = dllfuncw( #JS, "DoFile", currentmacrodirectory + @"\HmGoogleTranslator.js"); #_ = dllfuncw( #JS, "DoString", R"JS( // クラスを継承し、部分を上書きすることで、自分独自のクエリー挙動へと修正する。 class MyStrategy extends GoogleTranslatorQueryStrategy { set DstText(value) { // 編集中のテキストは変更せず、アウトプット枠へと出すようにする。 let replaced_value = value.replace(/\r/g, "\r\n"); PrintOutputPane(replaced_value); } } // Google翻訳を継承し、カスタムしたモノを利用して、言語自動判別 ⇒ 英語へ let result_words = ContextTranslator.Translate(MyStrategy, { src: "auto", dst: "en" }); )JS" ); freedll( #JS );
HmRensoRuigoTranslator.macの記述なども出力方法の変更の参考となることでしょう。
MIT License となります。
(※ Githubでリポジトリの「サブディレクトリ」だけをダウンロードする簡単な方法は、こちら)