Fix null reference in I18N language handling

This commit is contained in:
Thorsten Sommer 2025-05-04 14:55:52 +02:00
parent cfc2103b43
commit 16251a8abe
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -5,7 +5,7 @@ public class I18N : ILang
public static readonly I18N I = new(); public static readonly I18N I = new();
private static readonly ILogger<I18N> LOG = Program.LOGGER_FACTORY.CreateLogger<I18N>(); private static readonly ILogger<I18N> LOG = Program.LOGGER_FACTORY.CreateLogger<I18N>();
private ILanguagePlugin language = PluginFactory.BaseLanguage; private ILanguagePlugin? language = PluginFactory.BaseLanguage;
private I18N() private I18N()
{ {
@ -18,12 +18,18 @@ public class I18N : ILang
public string T(string fallbackEN) public string T(string fallbackEN)
{ {
LOG.LogWarning("Using I18N.I.T without namespace and type is probably wrong, because the I18N key collection process of the build system will not find those keys."); LOG.LogWarning("Using I18N.I.T without namespace and type is probably wrong, because the I18N key collection process of the build system will not find those keys.");
return this.GetText(this.language, fallbackEN); if(this.language is not null)
return this.GetText(this.language, fallbackEN);
return fallbackEN;
} }
public string T(string fallbackEN, string? typeNamespace, string? typeName) public string T(string fallbackEN, string? typeNamespace, string? typeName)
{ {
return this.GetText(this.language, fallbackEN, typeNamespace, typeName); if(this.language is not null)
return this.GetText(this.language, fallbackEN, typeNamespace, typeName);
return fallbackEN;
} }
#endregion #endregion