LocalTextRegistry 类

[命名空间: Serenity.Localization, 程序集: Serenity.Core]

此类是 ILocalTextRegistry 接口可嵌入的默认实现。

public class LocalTextRegistry : ILocalTextRegistry
{
    public void Add(string languageID, string key, string text);
    public string TryGet(string languageID, string key);
    public void SetLanguageFallback(string languageID, string languageFallbackID);

    public void AddPending(string languageID, string key, string text);
    public string TryGet(string languageID, string textKey, bool isApprovalMode);

    public Dictionary<string, string> GetAllAvailableTextsInLanguage(
        string languageID, bool pending);
}

Add 和 TryGet 实现了 ILocalTextRegistry 接口的相应方法。

LocalTextRegistry.SetLanguageFallback 方法

为语言回退(language fallback)设置指定的语言。

var registry = (LocalTextRegistry)(Dependency.Resolve<ILocalTextRegistry>());
registry.SetLanguageFallback('en-UK', 'en-US');
// from now on if a translation is not found in "en-UK" language,
// it will be looked up in "en-US" language first, followed by "en".

可以在有关章节中找到有关语言回退的详细信息。

注册 LocalTextRegistry 作为提供者

通常在应用程序启动方法中做此操作:

var registrar = Dependency.Resolve<IDependencyRegistrar>();
registrar.RegisterInstance<ILocalTextRegistry>(new LocalTextRegistry());

如果没有已注册的提供者,CommonInitialization.RunCommonInitialization.InitializeLocalTexts 方法将注册一个 LocalTextRegistry 实例作为 ILocalTextRegistry 提供者。

results matching ""

    No results matching ""