新聞中心
管理帶有自定義 ID 的已標(biāo)記文本
Angular 提取器會生成一個文件,其中包含以下每個實例的翻譯單元條目。

成都創(chuàng)新互聯(lián)公司"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機版的企業(yè)網(wǎng)站。實現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!成都創(chuàng)新互聯(lián)公司具備承接各種類型的成都網(wǎng)站建設(shè)、成都做網(wǎng)站項目的能力。經(jīng)過十年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評。
- 組件模板中的每個 ?
i18n?屬性 - 組件代碼中每個 ?
$localize? 標(biāo)記的消息字符串
Angular 會為每個翻譯單元分配一個唯一的 ID。
下面的范例會顯示一些帶有唯一 ID 的翻譯單元。
當(dāng)你更改可翻譯文本時,提取器會為該翻譯單元生成一個新 ID。在大多數(shù)情況下,源文本中的更改還需要更改翻譯結(jié)果。因此,使用新 ID 可使文本更改與翻譯保持同步。
但是,某些翻譯系統(tǒng)需要 ID 的特定形式或語法。要滿足此要求,請使用自定義 ID 來標(biāo)記文本。大多數(shù)開發(fā)人員不需要使用自定義 ID。如果你想使用獨特的語法來傳達(dá)額外的元數(shù)據(jù),請使用自定義 ID。其他元數(shù)據(jù)可能包括出現(xiàn)文本的庫、組件或應(yīng)用程序中的區(qū)塊。
要在 ?i18n ?屬性或以 ?$localize? 標(biāo)記的消息字符串中指定自定義 ID,請使用 ?@@? 前綴。以下示例在標(biāo)題元素中定義了自定義 ID ?introductionHeader?。
Hello i18n!
以下示例為變量定義了自定義 ID ?introductionHeader?。
variableText1 = $localize `:@@introductionHeader:Hello i18n!`;當(dāng)你指定自定義 ID 時,提取器會生成一個帶有自定義 ID 的翻譯單元。
如果更改文本,提取器不會更改 ID。這導(dǎo)致你不得不用額外的步驟來更新其翻譯。使用自定義 ID 的缺點是,如果你更改文本,你的翻譯可能與新更改的源文本不同步。
使用帶有描述的自定義 ID
將自定義 ID 與描述(description)和含義(meaning)結(jié)合使用,以進一步幫助翻譯人員。
以下示例包含“描述”,其后是自定義 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
請務(wù)必定義唯一的自定義 ID。如果你對兩個不同的文本元素使用相同的 ID,提取工具只會提取第一個,而 Angular 會使用其翻譯來代替兩個原始文本元素。
比如,在以下代碼片段中,為兩個不同的文本元素定義了相同的自定義 ID ?myId?。
Hello
Good bye
下面以法語顯示翻譯。
Hello
Bonjour
這兩個元素現(xiàn)在使用相同的翻譯 ( Bonjour ),因為它們都是使用相同的自定義 ID 定義的。
Bonjour
Bonjour
當(dāng)前名稱:創(chuàng)新互聯(lián)Angular教程:Angular使用自定義ID管理標(biāo)記文本
文章來源:http://www.dlmjj.cn/article/cdcecpg.html


咨詢
建站咨詢
