示例#1
0
        /// <summary>
        /// 言語データ情報からCSVファイルを作成する。
        /// </summary>
        /// <param name="dataInfo">言語データ情報</param>
        /// <param name="path">CSV形式の翻訳シート</param>
        /// <param name="enc">文字コード</param>
        public static void SaveToFile(
            CrsTransDataInfo dataInfo, string path, Encoding enc = null)
        {
            using (var writer = new CsvWriter(
                       new StreamWriter(path, false, Encoding.UTF8)))
            {
                writer.Configuration.RegisterClassMap <CsvMapper>();
                writer.WriteHeader <CrsTransSheetEntry>();
                writer.NextRecord();

                foreach (var dataFile in dataInfo.Items.Values)
                {
                    int no = 0;
                    foreach (var dataEntry in dataFile.Items.Values)
                    {
                        var sheetEntry = new CrsTransSheetEntry(
                            dataFile.AssetName,
                            no,
                            dataEntry.TranslationId,
                            dataEntry.TranslationText,
                            string.Empty,
                            string.Empty,
                            dataEntry.HumanlyReadableDate);

                        writer.WriteRecord(sheetEntry);
                        writer.NextRecord();

                        no++;
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        /// 言語データ情報と翻訳シート情報を元に翻訳済み言語データ情報を返す。
        /// </summary>
        /// <param name="dataInfo">言語データ情報</param>
        /// <param name="sheetInfo">翻訳シート情報</param>
        /// <param name="useMT">機械翻訳を採用する</param>
        /// <returns>翻訳済み言語データ情報</returns>
        public static CrsTransDataInfo Translate(
            CrsTransDataInfo dataInfo, CrsTransSheetInfo sheetInfo, bool useMT = false)
        {
            var dataFileJp = new CrsTransDataInfo();

            dataFileJp.DataHeader = dataInfo.DataHeader.Clone();

            foreach (var dataFile in dataInfo.Items.Values)
            {
                foreach (var entry in dataFile.Items.Values)
                {
                    var sheetEntry = sheetInfo.GetEntry(dataFile.AssetName, entry.TranslationId);
                    if (sheetEntry != null)
                    {
                        var entryJp = entry.GetTranslatedEntry(
                            entry.TranslationText,
                            sheetEntry.Japanese,
                            sheetEntry.MTrans,
                            useMT);

                        dataFileJp.AddEntry(dataFile.FileName, dataFile.AssetName, entryJp);
                    }
                }
            }

            return(dataFileJp);
        }
示例#3
0
        private static void MakeSheet(TOptions.TArgs opt)
        {
            var dataInfo = new CrsTransDataInfo();

            CrsTransDataDao.LoadFromFolder(
                dataInfo,
                opt.FolderNameLangInput);

            CrsTransSheetDao.SaveToFile(dataInfo, opt.FileNameSheet);
        }
示例#4
0
        private static void MakeMod(TOptions.TArgs opt)
        {
            var dataInfo = new CrsTransDataInfo();

            CrsTransDataDao.LoadFromFile(
                dataInfo,
                opt.FileNameInput,
                string.Empty);

            var sheetInfo = new CrsTransSheetInfo();

            CrsTransSheetDao.LoadFromFile(
                sheetInfo,
                opt.FileNameSheet);

            var translatedInfo = CrsTranslation.Translate(dataInfo, sheetInfo, opt.UseMachineTrans);

            CrsTransDataDao.SaveToFile(opt.FileNameOutput, translatedInfo);
        }