Auto find languages

This commit is contained in:
Jaex 2023-03-27 09:19:32 +03:00
parent 7c30b1fa71
commit e66fa64722
2 changed files with 20 additions and 14 deletions

View file

@ -641,18 +641,21 @@ public static void CopyFiles(string filePath, string destinationFolder)
CopyFiles(new string[] { filePath }, destinationFolder); CopyFiles(new string[] { filePath }, destinationFolder);
} }
public static void CopyFiles(IEnumerable<string> files, string destinationFolder) public static void CopyFiles(string[] files, string destinationFolder)
{ {
if (!Directory.Exists(destinationFolder)) if (files != null && files.Length > 0)
{ {
Directory.CreateDirectory(destinationFolder); if (!Directory.Exists(destinationFolder))
} {
Directory.CreateDirectory(destinationFolder);
}
foreach (string filePath in files) foreach (string filePath in files)
{ {
string fileName = Path.GetFileName(filePath); string fileName = Path.GetFileName(filePath);
string destinationFilePath = Path.Combine(destinationFolder, fileName); string destinationFilePath = Path.Combine(destinationFolder, fileName);
File.Copy(filePath, destinationFilePath); File.Copy(filePath, destinationFilePath);
}
} }
} }

View file

@ -28,6 +28,7 @@ You should have received a copy of the GNU General Public License
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Text.RegularExpressions;
namespace ShareX.Setup namespace ShareX.Setup
{ {
@ -380,12 +381,14 @@ private static void CreateFolder(string source, string destination, SetupJobs jo
FileHelpers.CopyFiles(Path.Combine(NativeMessagingHostDir, "ShareX_NativeMessagingHost.exe"), destination); FileHelpers.CopyFiles(Path.Combine(NativeMessagingHostDir, "ShareX_NativeMessagingHost.exe"), destination);
} }
string[] languages = new string[] { "de", "es", "es-MX", "fa-IR", "fr", "he-IL", "hu", "id-ID", "it-IT", "ja-JP", "ko-KR", "nl-NL", "pl", "pt-BR", "pt-PT", foreach (string directory in Directory.GetDirectories(source))
"ro", "ru", "tr", "uk", "vi-VN", "zh-CN", "zh-TW" };
foreach (string language in languages)
{ {
FileHelpers.CopyFiles(Path.Combine(source, language), Path.Combine(destination, "Languages", language), "*.resources.dll"); string language = Path.GetFileName(directory);
if (Regex.IsMatch(language, "^[a-z]{2}(?:-[A-Z]{2})?$"))
{
FileHelpers.CopyFiles(Path.Combine(source, language), Path.Combine(destination, "Languages", language), "*.resources.dll");
}
} }
if (File.Exists(FFmpegPath)) if (File.Exists(FFmpegPath))