/// <summary> /// 言語情報をCSV形式で保存する。 /// </summary> /// <param name="path">CSVファイルのパス</param> /// <param name="langInfo">言語情報</param> /// <param name="languageNo">言語番号</param> public static void SaveToCsv( string path, FssLanguageInfo langInfo, FssLanguageInfo.LanguageNo languageNo) { var enc = new UTF8Encoding(false); //// フォルダーが存在しない場合は作成する。 var sheetFolder = Path.GetDirectoryName(path); FssFileUtils.SafeCreateDirectory(sheetFolder); using (var writer = new CsvWriter(new StreamWriter(path, false, enc))) { writer.Configuration.RegisterClassMap <CsvMapper>(); writer.WriteHeader <FssTransSheetEntry>(); writer.NextRecord(); var data = new FssTransSheetEntry(); int no = 0; foreach (var entry in langInfo.LanguageFile.Items.Values) { data.EntryID = entry.EntryID; data.Hint = entry.Description; data.LangEN = entry.Texts[(int)languageNo]; data.Sequence = no; writer.WriteRecord(data); writer.NextRecord(); no++; } } }
/// <summary> /// 言語情報を言語情報ファイルのパスに書き出す。 /// </summary> /// <param name="languageInfo">言語情報</param> /// <param name="path">言語情報ファイルのパス</param> public static void SaveToFile(FssLanguageInfo languageInfo, string path) { //// フォルダーが存在しない場合は作成する。 var langFolder = Path.GetDirectoryName(path); FssFileUtils.SafeCreateDirectory(langFolder); using (var sw = new StreamWriter(path, false)) { var bw = new BinaryWriter(sw.BaseStream, Encoding.UTF8); languageInfo.LanguageHeader.Write(bw); languageInfo.LanguageFile.Write(bw); languageInfo.LanguageFooter.Write(bw); } }