29 lines
804 B
C#
29 lines
804 B
C#
namespace ShrinkTutorial
|
|
{
|
|
public interface IShrinkTutorialLocalizationProvider
|
|
{
|
|
bool TryResolve(string key, out string text);
|
|
}
|
|
|
|
public static class ShrinkTutorialLocalization
|
|
{
|
|
public static IShrinkTutorialLocalizationProvider Provider { get; set; }
|
|
|
|
public static string Resolve(string key, string fallbackText)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(key) &&
|
|
Provider != null &&
|
|
Provider.TryResolve(key, out var localizedText) &&
|
|
!string.IsNullOrWhiteSpace(localizedText))
|
|
{
|
|
return localizedText;
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(fallbackText))
|
|
return fallbackText;
|
|
|
|
return key ?? string.Empty;
|
|
}
|
|
}
|
|
}
|