项目

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
  }
]

另请参阅

在本文档中