예제 #1
0
        /// <summary>
        /// 言語フォルダー内の言語ファイルを読み込みデータ情報を作成する。
        /// </summary>
        /// <param name="dataInfo">データ情報</param>
        /// <param name="folderNameLangInput">言語フォルダー</param>
        public static void LoadFromFolder(
            CrsTransDataInfo dataInfo,
            string folderNameLangInput)
        {
            IEnumerable <string> files = Directory.EnumerateFiles(
                folderNameLangInput, "*", SearchOption.AllDirectories);

            foreach (string f in files)
            {
                LoadFromFile(dataInfo, f);
            }
        }
예제 #2
0
        /// <summary>
        /// 言語ファイルを読み込み言語データを作成する。
        /// </summary>
        /// <param name="dataInfo">言語データ</param>
        /// <param name="path">言語ファイル</param>
        /// <param name="assetName">アセット名</param>
        public static void LoadFromFile(
            CrsTransDataInfo dataInfo,
            string path,
            string assetName = null)
        {
            if (string.IsNullOrWhiteSpace(assetName))
            {
                assetName = Path.GetFileName(path);
            }

            using (StreamReader sr = new StreamReader(path, Encoding.UTF8))
            {
                using (BinaryReader br = new BinaryReader(sr.BaseStream))
                {
                    var fileName = Path.GetFileName(path);
                    dataInfo.Read(br, fileName, assetName);
                }
            }
        }
예제 #3
0
 /// <summary>
 /// 言語データ情報から翻訳済み言語情報ファイルを作成する。
 /// </summary>
 /// <param name="path">翻訳済み言語情報ファイル</param>
 /// <param name="dataInfo">言語データ情報</param>
 public static void SaveToFile(
     string path, CrsTransDataInfo dataInfo)
 {
     foreach (var dataFile in dataInfo.Items.Values)
     {
         var folderPath = Path.GetDirectoryName(path);
         CrsFileUtils.SafeCreateDirectory(folderPath);
         using (var sw = new StreamWriter(path, false))
         {
             var bw = new BinaryWriter(sw.BaseStream);
             //// ヘッダー書き込み
             dataInfo.DataHeader.Write(bw);
             //// エントリー数書き込み
             bw.Write(dataFile.Items.Count);
             foreach (var dataEntry in dataFile.Items.Values)
             {
                 //// エントリー書き込み
                 dataEntry.Write(bw);
             }
         }
     }
 }