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);
}
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)
{
string fileName = Path.GetFileName(filePath);
string destinationFilePath = Path.Combine(destinationFolder, fileName);
File.Copy(filePath, destinationFilePath);
foreach (string filePath in files)
{
string fileName = Path.GetFileName(filePath);
string destinationFilePath = Path.Combine(destinationFolder, fileName);
File.Copy(filePath, destinationFilePath);
}
}
}

View file

@ -28,6 +28,7 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;
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);
}
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",
"ro", "ru", "tr", "uk", "vi-VN", "zh-CN", "zh-TW" };
foreach (string language in languages)
foreach (string directory in Directory.GetDirectories(source))
{
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))