ASP.NET Core MVC / Razor Pages UI:JavaScript 本地化 API
本地化 API 允许您在客户端重用服务器端的本地化资源。
本文档仅说明 JavaScript API。有关 ABP 本地化系统的完整说明,请参阅本地化文档。
基本用法
使用 abp.localization.getResource(...) 函数获取本地化资源:
var testResource = abp.localization.getResource('Test');
然后可以基于此资源对字符串进行本地化:
var str = testResource('HelloWorld');
abp.localization.localize(...) 是一个快捷函数,可同时指定文本名称和资源名称:
var str = abp.localization.localize('HelloWorld', 'Test');
其中 HelloWorld 是要本地化的文本,Test 是本地化资源名称。
回退逻辑
如果指定的文本未被本地化,本地化方法会将传入的键作为本地化结果返回。
默认本地化资源
如果不指定本地化资源名称,系统将使用在 AbpLocalizationOptions 中定义的默认本地化资源(参见本地化文档)。
示例:使用默认本地化资源
var str = abp.localization.localize('HelloWorld'); //使用默认资源
格式化参数
如果本地化字符串包含参数(例如 你好 {0},欢迎!),可以向本地化方法传递参数。示例:
var testSource = abp.localization.getResource('Test');
var str1 = testSource('HelloWelcomeMessage', 'John');
var str2 = abp.localization.localize('HelloWelcomeMessage', 'Test', 'John');
假设 HelloWelcomeMessage 的本地化内容为 你好 {0},欢迎!,以上两个示例均会输出 你好 John,欢迎!。
其他属性与方法
abp.localization.resources
abp.localization.resources 属性存储所有本地化资源、键及其对应值。
abp.localization.isLocalized
返回一个布尔值,表示指定文本是否已被本地化。
示例
abp.localization.isLocalized('ProductName', 'MyResource');
如果 ProductName 文本在 MyResource 资源中已被本地化,则返回 true;否则返回 false。可省略资源名称以使用默认本地化资源。
abp.localization.defaultResourceName
可通过设置 abp.localization.defaultResourceName 来更改默认本地化资源。通常无需手动设置,因为 ABP 会自动根据服务器端配置进行设置。
abp.localization.currentCulture
abp.localization.currentCulture 返回一个对象,用于获取当前所选语言的信息。
该对象的示例值如下:
{
"displayName": "English",
"englishName": "English",
"threeLetterIsoLanguageName": "eng",
"twoLetterIsoLanguageName": "en",
"isRightToLeft": false,
"cultureName": "en",
"name": "en",
"nativeName": "English",
"dateTimeFormat": {
"calendarAlgorithmType": "SolarCalendar",
"dateTimeFormatLong": "dddd, MMMM d, yyyy",
"shortDatePattern": "M/d/yyyy",
"fullDateTimePattern": "dddd, MMMM d, yyyy h:mm:ss tt",
"dateSeparator": "/",
"shortTimePattern": "h:mm tt",
"longTimePattern": "h:mm:ss tt"
}
}
abp.localization.languages
用于获取应用程序中所有可用语言的列表。该对象的示例值如下:
[
{
"cultureName": "en",
"uiCultureName": "en",
"displayName": "English",
"flagIcon": null
},
{
"cultureName": "fr",
"uiCultureName": "fr",
"displayName": "Français",
"flagIcon": null
},
{
"cultureName": "pt-BR",
"uiCultureName": "pt-BR",
"displayName": "Português",
"flagIcon": null
},
{
"cultureName": "tr",
"uiCultureName": "tr",
"displayName": "Türkçe",
"flagIcon": null
},
{
"cultureName": "zh-Hans",
"uiCultureName": "zh-Hans",
"displayName": "简体中文",
"flagIcon": null
}
]
抠丁客


