Example #1
0
        /// <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++;
                        }
                    }
                }
            }
        }
Example #2
0
        /// <summary>
        /// 翻訳シートエントリーを追加する。
        /// </summary>
        /// <param name="episodeID">EpisodeID</param>
        /// <param name="entry">翻訳シートエントリー</param>
        public void AddEntry(string episodeID, SuTransSheetEntry entry)
        {
            if (this.Items.ContainsKey(episodeID))
            {
                var transSheetFile = this.Items[episodeID];
                transSheetFile.AddEntry(entry);
            }
            else
            {
                //// 翻訳シートファイルが存在しない場合は新たに作成する。
                var transSheetFile = new SuTransSheetFile();
                transSheetFile.AddEntry(entry);

                this.Items.Add(episodeID, transSheetFile);
            }
        }