2025-05-03 19:47:43 +00:00
namespace AIStudio.Tools.PluginSystem ;
public class I18N : ILang
{
public static readonly I18N I = new ( ) ;
private static readonly ILogger < I18N > LOG = Program . LOGGER_FACTORY . CreateLogger < I18N > ( ) ;
2025-05-04 12:59:30 +00:00
private ILanguagePlugin ? language = PluginFactory . BaseLanguage ;
2025-05-03 19:47:43 +00:00
private I18N ( )
{
}
public static void Init ( ILanguagePlugin language ) = > I . language = language ;
#region Implementation of ILang
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." ) ;
2025-05-04 12:59:30 +00:00
if ( this . language is not null )
return this . GetText ( this . language , fallbackEN ) ;
return fallbackEN ;
2025-05-03 19:47:43 +00:00
}
public string T ( string fallbackEN , string? typeNamespace , string? typeName )
{
2025-05-04 12:59:30 +00:00
if ( this . language is not null )
return this . GetText ( this . language , fallbackEN , typeNamespace , typeName ) ;
return fallbackEN ;
2025-05-03 19:47:43 +00:00
}
#endregion
}