private static void MakeCsv(TOptions.TArgs opt) { var langInfo = new PfkLanguageInfo(); //// 原文を読み込み言語情報を作成する。 PfkLanguageDao.LoadFromFile(langInfo, opt.FileNameLangInput); //// 言語情報から翻訳シートを出力する。制御文字はタグ化する。 if (opt.RowsPerSheet > 0) { //// シートを分割する。 var dir = Path.GetDirectoryName(Path.GetFullPath(opt.FileNameSheet)); var fileName = Path.GetFileNameWithoutExtension(opt.FileNameSheet); int total = langInfo.GetEntryCountWithoutEmpty(); var count = total / opt.RowsPerSheet; for (var i = 0; i < count + 1; i++) { var path = Path.Combine(dir, $"{fileName}_{i + 1}.csv"); var from = i * opt.RowsPerSheet; var to = (i * opt.RowsPerSheet) + opt.RowsPerSheet - 1; PfkTransSheetDao.SaveToCsv( langInfo, path, from, to, opt.UseTag); } } else { //// シートを分割しない。 PfkTransSheetDao.SaveToCsv( langInfo, opt.FileNameSheet, 0, 9999999, opt.UseTag); } }
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); }
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); } }