Пример #1
0
        private static void MakeExcel(TOptions.TArgs opt)
        {
            var langInfo = new PfkLanguageInfo();

            PfkLanguageDao.LoadFromFile(langInfo, opt.FileNameLangInput);

            var fanInfo = new PfkLanguageInfo();

            if (!string.IsNullOrWhiteSpace(opt.FileNameFanInput))
            {
                //// 有志翻訳版の言語情報を作成する。
                PfkLanguageDao.LoadFromFile(fanInfo, opt.FileNameFanInput);
            }

            //// UMM対応版データを読み込む。
            var ummDataInfo = new PfkUmmDataInfo();

            if (!string.IsNullOrEmpty(opt.FileNameUmm))
            {
                PfkUmmDataDao.LoadFromCsv(ummDataInfo, opt.FileNameUmm);
            }

            PfkTransSheetDao.SaveToExcel(
                langInfo, fanInfo, ummDataInfo, opt.FileNameSheet, opt.RowsPerSheet, opt.UseTag);
        }
Пример #2
0
        private static void MakeMod(TOptions.TArgs opt)
        {
            //// 用語集の読み込み
            PfkGlossaryInfo glossaryInfo = null;

            if (string.IsNullOrWhiteSpace(opt.FileNameGlossary))
            {
                glossaryInfo = new PfkGlossaryInfo();
            }
            else
            {
                glossaryInfo = PfkGlossaryDao.LoadFromCsv(opt.FileNameGlossary);
            }

            //// 翻訳シートを読み込む
            var sheetInfo = new PfkTransSheetInfo();
            var fileID    = "enGB";

            switch (opt.SheetType)
            {
            case TOptions.NSheetType.Unknown:
                break;

            case TOptions.NSheetType.SingleFile:
                //// タグの制御文字への変換は副作用がないため、必ず実行する。
                PfkTransSheetDao.LoadFromFile(sheetInfo, opt.FileNameSheet, fileID, true);
                break;

            case TOptions.NSheetType.MultiFile:
                PfkTransSheetDao.LoadFromFolder(sheetInfo, opt.FileNameSheet, fileID, true);
                break;

            default:
                throw new Exception($"Unknown error. Sheet type({opt.SheetType})");
            }

            if (opt.UseUnityModMan)
            {
                //// UMM形式のCSVファイルを出力する(タグは制御文字に変換する)。
                PfkUmmDataDao.SaveToUmmFile(
                    opt.FileNameInput,
                    sheetInfo,
                    glossaryInfo,
                    opt.FileNameOutput,
                    opt.UseReferenceId,
                    opt.UseMachineTrans,
                    opt.MtransMark,
                    opt.UseForceMt);
            }
            else
            {
                //// 翻訳済みJSONファイルを出力する(タグは制御文字に変換する)。
                PfkLanguageDao.SaveToFile(
                    opt.FileNameInput,
                    sheetInfo,
                    glossaryInfo,
                    opt.FileNameOutput,
                    opt.UseReferenceId,
                    opt.UseMachineTrans,
                    opt.MtransMark,
                    opt.UseForceMt);
            }
        }