コード例 #1
0
        /// <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++;
                }
            }
        }
コード例 #2
0
        /// <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);
            }
        }