HmLangTranslator (汎用的な言語コンテキストの翻訳や変換)

  • 概要

    このプログラムは文章的なものを翻訳変換する目的のための抽象性の高い秀丸マクロライブラリです。
    抽象的なクラスを継承したサンプルとして

    • Google翻訳
    • Biadu翻訳
    • 連想類語辞典
    • 対義語辞典

    の4点のライブラリを使用例として添付しています。

  • ダウンロード

    DOWNLOAD ⇒ HmLangTranslator.zipファイル。ver 1.02
    └更新日 2017/06/17
  • 動作環境

    • 秀丸

      秀丸エディタ ver8.66以上

    • hmV8

      hmV8 1.4.7.5以上

  • インストール

    • 解凍

      HmLangTranslator.zipをダウンロード&zip解凍

    • 配置場所

      普段秀丸のマクロを置いているような適当なディレクトリに、
      「*.js」ファイル、「*.mac」ファイルを全て置いてください

    • 5つの「*.mac」ファイル

      5つの「*.mac」ファイルは、全て特定の変換ライブラリの使用のサンプルです。
      詳細は左メニューの対応する項目内に掲載されています。

      • Google翻訳系

        • HmGoogleTranslatorAuto2Ja.mac

          Google翻訳を使って、日本語へと翻訳される。元が何言語かは自動判別

        • HmGoogleTranslatorAuto2En.mac

          Google翻訳を使って、英語へと翻訳される。元が何言語かは自動判別

      • Baidu翻訳系

        • HmBaiduTranslatorAuto2Ja.mac

          Baidu翻訳を使って、日本語へと翻訳される。元が何言語かは自動判別

        • HmBaiduTranslatorAuto2Zh.mac

          Baidu翻訳を使って、中国語・簡体字へと翻訳される。元が何言語かは自動判別

      • 日本語・連想類語・対義語系

        • HmRensoRuigoTranslator.mac

          日本語シソーラスの「連想類語辞典」を使用して、連想類語単語のリストを取り出す

        • HmRensoTaigigoTranslator.mac

          Weblioの「対義語辞典」を使用して、対義語のリストを取り出す

  • 利用の手引き

    • 文字列を選択して実行

      変換したいテキスト文字列を選択して、マクロを実行します。

    • 翻訳結果

  • 翻訳結果の表示方法の変更など

    *.jsファイルは、大抵のメソッドがクラス継承によるメソッドオーバーライドによって、
    挙動を変更出来るようになっています。

    HmMyCustom.mac
    #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の記述なども出力方法の変更の参考となることでしょう。

  • ライセンス

    • *.jsや*.ts

      MIT License となります。

      ソースの場所

      • Githubにソースがあります。