コード例 #1
0
        public void ConvertToSimplifiedChineseWithNestedMapping()
        {
            // 測試巢狀定義。所謂的巢狀定義指的是:一筆對應的來源字串包含於另一筆對應的目標字串。
            var myDict = new TSChineseDictionary(Log.Logger);

            myDict.Load("NestedMappingTest.dict");

            Assert.AreEqual(myDict.HasError, true); // 應該要能偵測到字典檔裡面有巢狀定義的情形。

            string input          = "從應用程式組態檔中讀取欲使用的類別名稱";
            string expectedResult = "从应用程序配置文件中读取欲使用的类名";
            var    converter      = new TSChineseConverter();
            string result         = converter.ToSimplifiedChinese(input, myDict);

            Assert.AreEqual(result, expectedResult);
        }
コード例 #2
0
        private static void RunOptionsAndReturnExitCode(Options opts)
        {
            // Setup DI
            var serviceProvider = new ServiceCollection() // Microsoft.Extensions.DependencyInjection
                                  .AddLogging(loggingBuilder => loggingBuilder.AddSerilog(dispose: true))
                                  .BuildServiceProvider();

            // Create logger
            Log.Logger = new LoggerConfiguration()
                         .Enrich.FromLogContext()
                         .WriteTo.File(opts.LogFileName, Serilog.Events.LogEventLevel.Information)
                         .CreateLogger();

            Log.Information("MergePhrase 應用程式開始執行。");

            var dict = new TSChineseDictionary(Log.Logger);

            if (File.Exists(opts.OutputFileName))
            {
                dict.Load(opts.OutputFileName);
            }

            dict.OverwriteExistingPhrase = opts.OverwriteExistingPhrase;

            foreach (var fname in opts.InputFileNames)
            {
                if (!File.Exists(fname))
                {
                    Console.WriteLine($"檔案不存在:{fname}");
                    continue;
                }
                Console.WriteLine($"正在處理 {fname} ...");
                if (fname.EndsWith(".json"))
                {
                    ParseTongWenJsonFile(fname, dict);
                }
                else
                {
                    ParseTextFile(fname, dict);
                }
            }
            dict.Save(opts.OutputFileName);

            Log.Information("MergePhrase 應用程式執行完畢。");
        }