Beispiel #1
0
 /// <summary>
 /// 指定したフォルダーにMB(Localization)を保存する。
 /// </summary>
 /// <param name="folderPath">フォルダーのパス</param>
 /// <param name="localizeInfoJP">ローカライズ情報</param>
 /// <param name="useReplace">上書きの有無</param>
 public static void SaveToFolder(string folderPath, UapLocalizationInfo localizeInfoJP, bool useReplace)
 {
     foreach (var localizeFile in localizeInfoJP.Items.Values)
     {
         var path = Path.Combine(folderPath, localizeFile.FileID + ".LocalizationReference");
         //// exists | useReplace |
         ////    y   |     y      | run
         ////    y   |     n      | cancel
         ////    n   |     y      | run
         ////    n   |     n      | run
         if (File.Exists(path) && !useReplace)
         {
             //// 上書きしない
             var fileName = Path.GetFileName(path);
             Console.WriteLine($"ファイルが既に存在します。File({fileName}){Environment.NewLine}上書きする場合は -r オプションを指定してください。");
         }
         else
         {
             OxfFileUtils.SafeCreateDirectory(folderPath);
             using (StreamWriter sw = new StreamWriter(path, false, Encoding.ASCII))
             {
                 BinaryWriter bw = new BinaryWriter(sw.BaseStream);
                 WriteEntries(localizeFile, bw);
             }
         }
     }
 }
Beispiel #2
0
 /// <summary>
 /// 指定したフォルダー内のMB(Localization)を読み込む
 /// </summary>
 /// <param name="localizationInfo">Localization情報</param>
 /// <param name="folderPath">フォルダーのパス</param>
 /// <param name="pattern">ファイル名のパターン</param>
 public static void LoadFromFolder(
     UapLocalizationInfo localizationInfo, string folderPath, string pattern)
 {
     string[] files = Directory.GetFiles(folderPath, pattern, SearchOption.AllDirectories);
     foreach (var locFile in files)
     {
         LoadFromFile(localizationInfo, locFile);
     }
 }
Beispiel #3
0
 /// <summary>
 /// 指定したパスのMB(Localization)を読み込み、ローカライズ情報に追加する。
 /// </summary>
 /// <param name="localizationInfo">ローカライズ情報</param>
 /// <param name="path">ファイルのパス</param>
 private static void LoadFromFile(
     UapLocalizationInfo localizationInfo, string path)
 {
     using (var sr = new StreamReader(path))
     {
         using (var br = new BinaryReader(
                    sr.BaseStream, Encoding.UTF8))
         {
             var fileID           = Path.GetFileNameWithoutExtension(path);
             var localizationFile = new UapLocalizationFile(fileID);
             ReadEntries(localizationFile, br);
             localizationInfo.AddFile(localizationFile);
         }
     }
 }