/// <summary> /// 言語情報から翻訳シート(CSV形式)を保存する。 /// </summary> /// <param name="langInfo">言語情報</param> /// <param name="path">CSV形式の翻訳シートのパス</param> public static void SaveToCsv(SuLanguageInfo langInfo, string path) { using (var sw = new StreamWriter(path, false, Encoding.UTF8)) { using (var csv = new CsvWriter(sw)) { csv.Configuration.RegisterClassMap <CsvMapper>(); csv.WriteHeader <SuTransSheetEntry>(); csv.NextRecord(); foreach (var langFile in langInfo.Items.Values) { var sequence = 0; foreach (var langEntry in langFile.Items.Values) { var sheetEntry = new SuTransSheetEntry(); sheetEntry.EpisodeID = langFile.EpisodeID; sheetEntry.FyleType = langFile.FileType.ToString(); sheetEntry.ID = langEntry.ID; sheetEntry.Type = langEntry.Type; sheetEntry.English = langEntry.Text; sheetEntry.Japanese = string.Empty; sheetEntry.Sequence = sequence; csv.WriteRecord(sheetEntry); csv.NextRecord(); sequence++; } } } } }
private static int Main(string[] args) { var opt = new TOptions(args); if (opt.IsError) { TDebugUtils.Pause(); return(1); } if (opt.Arges.Help) { opt.ShowUsage(); TDebugUtils.Pause(); return(1); } //// 空の言語情報を作成 var langInfo = new SuLanguageInfo(); //// 言語ファイルを格納されているフォルダーから読み込み、言語情報に格納する。 SuLanguageDao.LoadFromFolder(langInfo, opt.Arges.FolderNameLangInput); //// 言語情報を使い翻訳シートをCSV形式で保存する。 SuTransSheetDao.SaveToCsv(langInfo, opt.Arges.FileNameSheet); TDebugUtils.Pause(); return(0); }