创新互联Angular教程:Angular使用自定义ID管理标记文本

管理带有自定义 ID 的已标记文本

Angular 提取器会生成一个文件,其中包含以下每个实例的翻译单元条目。

成都创新互联公司"三网合一"的企业建站思路。企业可建设拥有电脑版、微信版、手机版的企业网站。实现跨屏营销,产品发布一步更新,电脑网络+移动网络一网打尽,满足企业的营销需求!成都创新互联公司具备承接各种类型的成都网站建设、成都做网站项目的能力。经过十年的努力的开拓,为不同行业的企事业单位提供了优质的服务,并获得了客户的一致好评。

  • 组件模板中的每个 ​i18n ​属性
  • 组件代码中每个 ​$localize​ 标记的消息字符串

Angular 会为每个翻译单元分配一个唯一的 ID。

下面的范例会显示一些带有唯一 ID 的翻译单元。

当你更改可翻译文本时,提取器会为该翻译单元生成一个新 ID。在大多数情况下,源文本中的更改还需要更改翻译结果。因此,使用新 ID 可使文本更改与翻译保持同步。

但是,某些翻译系统需要 ID 的特定形式或语法。要满足此要求,请使用自定义 ID 来标记文本。大多数开发人员不需要使用自定义 ID。如果你想使用独特的语法来传达额外的元数据,请使用自定义 ID。其他元数据可能包括出现文本的库、组件或应用程序中的区块。

要在 ​i18n ​属性或以 ​$localize​ 标记的消息字符串中指定自定义 ID,请使用 ​@@​ 前缀。以下示例在标题元素中定义了自定义 ID ​introductionHeader​。

Hello i18n!

以下示例为变量定义了自定义 ID ​introductionHeader​。

variableText1 = $localize `:@@introductionHeader:Hello i18n!`;

当你指定自定义 ID 时,提取器会生成一个带有自定义 ID 的翻译单元。

如果更改文本,提取器不会更改 ID。这导致你不得不用额外的步骤来更新其翻译。使用自定义 ID 的缺点是,如果你更改文本,你的翻译可能与新更改的源文本不同步。

使用带有描述的自定义 ID

将自定义 ID 与描述(description)和含义(meaning)结合使用,以进一步帮助翻译人员。

以下示例包含“描述”,其后是自定义 ID。

Hello i18n!

以下示例定义了一个变量的自定义 ID ​introductionHeader ​及其描述。

variableText2 = $localize `:An introduction header for this sample@@introductionHeader:Hello i18n!`;

下面的例子又增加了“含义”。

Hello i18n!

以下示例为变量定义了自定义 ID ​introductionHeader​。

variableText3 = $localize `:site header|An introduction header for this sample@@introductionHeader:Hello i18n!`;

定义唯一的自定义 ID

请务必定义唯一的自定义 ID。如果你对两个不同的文本元素使用相同的 ID,提取工具只会提取第一个,而 Angular 会使用其翻译来代替两个原始文本元素。

比如,在以下代码片段中,为两个不同的文本元素定义了相同的自定义 ID ​myId​。

Hello

Good bye

下面以法语显示翻译。


  Hello
  Bonjour

这两个元素现在使用相同的翻译 ( Bonjour ),因为它们都是使用相同的自定义 ID 定义的。

Bonjour

Bonjour

分享标题:创新互联Angular教程:Angular使用自定义ID管理标记文本
文章来源:http://www.stwzsj.com/qtweb/news10/6810.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联