/// <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++;
                        }
                    }
                }
            }
        }
Exemple #2
0
        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);
        }