本地化


layout: docs-default

消息的本地化

IdentityServer创建的消息可以通过ILocalizationService接口来本地化(或者被直接替换成别的字符串)。这个接口有一个简单的API:

  • string GetString(string category, string id)

这个API传递一个 category给消息。 IdentityServer定义了三个分类:

public static class LocalizationCategories
{
    public const string Messages = "Messages";
    public const string Events = "Events";
    public const string Scopes = "Scopes";
}

id参数则指定了分类里面具体的消息。所有可用的id都是IdentityServer3.Core.Resources命名空间里的常量。下面的代码片段是一部分常量定义,全部的常量定义请参看代码。

namespace IdentityServer3.Core.Resources
{
    public class MessageIds
    {
            public const string ClientIdRequired = "ClientIdRequired";
            public const string ExternalProviderError = "ExternalProviderError";
            public const string Invalid_scope = "Invalid_scope";
            public const string InvalidUsernameOrPassword = "InvalidUsernameOrPassword";
            public const string MissingClientId = "MissingClientId";
            // ...
  }
}

默认的ILocalizationService从内嵌于IdentityServer的资源文件(".resx")种读取所有的消息,内嵌的资源只有英语消息。

你可能感兴趣的:(本地化)