예제 #1
0
        public MyTranslateBuild(string lang, bool isEnglishBase = false)
        {
            this.Lang = lang;
            this.GoogleTranslateLang = lang_to_googlelang(lang);

            string resoucefilename = System.IO.Path.Combine(Program.BaseDirectory, "config", "translate", lang + ".txt");

            this.TranslateResource = new MyTranslateResourceLow();
            this.TranslateResource.LoadResource(resoucefilename);

            this.TranslateResourceEN = null;
            if (isEnglishBase && lang != "en")
            {
                //英語から翻訳する 日本語->多言語 より、 英語->多言語の方が効率が良い場合がある.
                string resoucefilenameEN = System.IO.Path.Combine(Program.BaseDirectory, "config", "translate", "en.txt");
                if (File.Exists(resoucefilenameEN))
                {
                    this.TranslateResourceEN = new MyTranslateResourceLow();
                    this.TranslateResourceEN.LoadResource(resoucefilenameEN);
                }
            }

            //一行ずつ翻訳したものをキャッシュにいれる.
            this.TranslateCache = this.TranslateResource.ConvertOnelineSplitWord();
            //固定文の翻訳辞書
            this.TransDic = new Dictionary <string, string>();
            TranslateTextUtil.AppendFixedDic(this.TransDic, "ja", lang);
        }
예제 #2
0
        public static Dictionary <string, string> MakeFixedDic(
            string tralnslate_from, string tralnslate_to
            , string rom_from, string rom_to
            )
        {
            //よくある定型文の翻訳辞書
            Dictionary <string, string> transDic = new Dictionary <string, string>();

            if (rom_from != "" && rom_to != "")
            {
                transDic = TranslateTextUtil.LoadTranslateDic(tralnslate_from, tralnslate_to, rom_from, rom_to);
            }
            //固定文の辞書
            TranslateTextUtil.AppendFixedDic(transDic, tralnslate_from, tralnslate_to);

            return(transDic);
        }