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")种读取所有的消息,内嵌的资源只有英语消息。