Dobrý den,
jdu si pro radu, mám launcher / patcher pro herní klient kde jsem nově přidal možnost více jazyků (multilang) ten mi funguje správně. Ale můj dotaz spočívá jak začlenit soubory .resx do vytvořeného exe.
Nyní mám externě složku Lang a v ní soubory cz.resx, en.resx, de.resx .... Načítám jej pomocí tohoto scriptu
public static void LoadLanguage()
{
string language = GetLanguageFromConfig();
if (string.IsNullOrEmpty(language))
{
language = GetWindowsLanguage();
}
translations.Clear();
string resourceFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Lang", $"{language}.resx");
if (File.Exists(resourceFile))
{
using (ResXResourceReader reader = new ResXResourceReader(resourceFile))
{
foreach (DictionaryEntry entry in reader)
{
string key = entry.Key.ToString();
string value = entry.Value.ToString();
translations[key] = value;
}
}
}
}
...
public static string GetTranslation(string key)
{
if (translations.ContainsKey(key))
return translations[key];
else
return string.Empty;
}
Volání funkce LocalizationManager.GetTranslation("LblFile");
Bohužel se mi nedaří najít správná možnost pro načítání když soubory dám jako Build action: Embedded Resource
Děkuji Vám za navedení správným směrem (Stále se učím)