use EnumerateFiles instead of GetFiles, and just use strings instead of DirectoryInfo/FileInfo

This commit is contained in:
JohnCorby 2022-06-29 15:03:30 -07:00
parent 182b4385e3
commit 7af2d6b7d2

View File

@ -9,7 +9,7 @@ namespace QSB.Localization;
public static class QSBLocalization
{
private readonly static List<Translation> _translations = new();
private static readonly List<Translation> _translations = new();
public static Translation Current;
public static Action LanguageChanged;
@ -17,18 +17,16 @@ public static class QSBLocalization
public static void Init()
{
// get all translation files
var directory = new DirectoryInfo(Path.Combine(QSBCore.Helper.Manifest.ModFolderPath, "Translations\\"));
var files = directory.GetFiles("*.json");
foreach (var file in files)
foreach (var path in Directory.EnumerateFiles(Path.Combine(QSBCore.Helper.Manifest.ModFolderPath, "Translations"), "*.json"))
{
var translation = QSBCore.Helper.Storage.Load<Translation>($"Translations\\{file.Name}", false);
var translation = QSBCore.Helper.Storage.Load<Translation>(path, false);
_translations.Add(translation);
DebugLog.DebugWrite($"- Added translation for language {translation.Language}");
}
if (_translations.Count == 0)
{
DebugLog.ToConsole($"FATAL - No translation files found!", OWML.Common.MessageType.Fatal);
DebugLog.ToConsole("FATAL - No translation files found!", OWML.Common.MessageType.Fatal);
return;
}