Пример #1
0
        private static void MakeCsv(TOptions.TArgs opt)
        {
            var langInfo = new PfkLanguageInfo();

            //// 原文を読み込み言語情報を作成する。
            PfkLanguageDao.LoadFromFile(langInfo, opt.FileNameLangInput);

            //// 言語情報から翻訳シートを出力する。制御文字はタグ化する。
            if (opt.RowsPerSheet > 0)
            {
                //// シートを分割する。
                var dir      = Path.GetDirectoryName(Path.GetFullPath(opt.FileNameSheet));
                var fileName = Path.GetFileNameWithoutExtension(opt.FileNameSheet);

                int total = langInfo.GetEntryCountWithoutEmpty();
                var count = total / opt.RowsPerSheet;
                for (var i = 0; i < count + 1; i++)
                {
                    var path = Path.Combine(dir, $"{fileName}_{i + 1}.csv");
                    var from = i * opt.RowsPerSheet;
                    var to   = (i * opt.RowsPerSheet) + opt.RowsPerSheet - 1;
                    PfkTransSheetDao.SaveToCsv(
                        langInfo, path, from, to, opt.UseTag);
                }
            }
            else
            {
                //// シートを分割しない。
                PfkTransSheetDao.SaveToCsv(
                    langInfo, opt.FileNameSheet, 0, 9999999, opt.UseTag);
            }
        }