日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Angular教程:Angular處理翻譯文件

使用翻譯文件

準備好要翻譯的組件后,使用 Angular CLI 的 ?extract-i18n? 命令將組件中的標記文本提取到源語言文件中。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的扶風(fēng)網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

已標記的文本包括標記為 ?i18n ?的文本、標記為 ?i18n-?屬性的屬性和標記為 ?$localize? 的文本。

完成以下步驟為你的項目創(chuàng)建和更新翻譯文件。

  1. 提取源語言文件
  2. (可選)更改位置、格式和名稱
  3. 復(fù)制源語言文件以便為每種語言創(chuàng)建一個翻譯文件
  4. 翻譯每個翻譯文件
  5. 分別翻譯復(fù)數(shù)和替代表達式
    • 翻譯復(fù)數(shù)
    • 翻譯替代表達式
    • 翻譯嵌套表達式

提取源語言文件

要提取源語言文件,請完成以下操作。

  1. 打開終端窗口。
  2. 切換到你的項目根目錄。
  3. 運行以下 CLI 命令。
  4. ng extract-i18n

?extract-i18n? 命令在項目的根目錄中創(chuàng)建一個名為 ?messages.xlf? 的源語言文件。有關(guān) XML 本地化交換文件格式(XLIFF,版本 1.2)的更多信息,請參閱 XLIFF。

使用以下 ?extract-i18n? 命令選項更改源語言文件位置、格式和文件名。

命令選項

詳情

--format

設(shè)置輸出文件的格式

--outFile

設(shè)置輸出文件的名稱

--output-path

設(shè)置輸出目錄的路徑

更改源語言文件的位置

要在 ?src/locale? 目錄中創(chuàng)建文件,請將輸出路徑指定為選項。

extract-18n --output-path 示例

以下示例將輸出路徑指定給選項。

ng extract-i18n --output-path src/locale

更改源語言文件格式

?extract-i18n? 命令會創(chuàng)建如下翻譯格式的文件。

翻譯格式

詳情

文件擴展名

ARB

應(yīng)用資源包

.arb
JSON

JavaScript 對象表示法

.json
XLIFF 1.2

XML 本地化交換文件格式,版本 1.2

.xlf
XLIFF 2

XML 本地化交換文件格式,版本 2

.xlf
XMB

XML 消息包

.xmb (.xtb)

使用 ?--format? 命令選項明確指定轉(zhuǎn)換格式。

XMB 格式生成 ?.xmb? 擴展名的源語言文件,但生成 ?.xtb? 擴展名的翻譯文件。

extract-18n --format 示例

以下示例演示了幾種翻譯格式。

ng extract-i18n --format=xlf
ng extract-i18n --format=xlf2
ng extract-i18n --format=xmb
ng extract-i18n --format=json
ng extract-i18n --format=arb

更改源語言文件名

要更改提取工具生成的源語言文件的名稱,請使用 ?--outFile? 命令選項。

extract-18n --out-file 示例

以下示例演示命名輸出文件。

ng extract-i18n --out-file source.xlf

為每種語言創(chuàng)建一個翻譯文件

要為語言環(huán)境或語言創(chuàng)建翻譯文件,請完成以下操作。

  1. 提取源語言文件
  2. 復(fù)制源語言文件,為每種語言創(chuàng)建一個翻譯文件。
  3. 重命名翻譯文件以添加語言環(huán)境標識。
  4. messages.xlf --> message.{locale}.xlf
  5. 在你的項目根目錄創(chuàng)建一個名為 ?locale ?的新目錄。
  6. src/locale
  7. 翻譯文件移到新目錄。
  8. 翻譯文件發(fā)送給你的翻譯人員。
  9. 對要添加到應(yīng)用程序中的每種語言重復(fù)上述步驟。

法語的 extract-i18n 示例

比如,要創(chuàng)建法語翻譯文件,請完成以下操作。

  1. 運行 ?extract-18n? 命令。
  2. 復(fù)制 ?messages.xlf? 源語言文件。
  3. 將副本重命名為 ?messages.fr.xlf? 以進行法語 ( ?fr? ) 翻譯。
  4. 將 ?fr? 翻譯文件移動到 ?src/locale? 目錄。
  5. 將 ?fr? 翻譯文件發(fā)送給翻譯人員。

翻譯每個翻譯文件

除非你精通該語言并有時間編輯翻譯,否則你可能會完成以下步驟。

  1. 將每個翻譯文件發(fā)送給翻譯人員。
  2. 翻譯人員使用 XLIFF 文件編輯器完成以下操作。
    • 創(chuàng)建翻譯。
    • 編輯翻譯。

法語翻譯流程示例

要演示該過程,請查看 Angular 國際化應(yīng)用范例中的 ?messages.fr.xlf? 文件。Angular 國際化應(yīng)用范例中就包含法語翻譯文件,你無需特殊的 XLIFF 編輯器或法語知識即可進行編輯。

以下操作描述了法語的翻譯過程。

  1. 打開 ?messages.fr.xlf? 并找到第一個 ?? 元素。這是一個翻譯單元,也稱為文本節(jié)點,表示之前用 ?i18n ?屬性標記的 ?

    ? 問候標簽的翻譯。

  2. 
      Hello i18n!
      An introduction header for this sample
      User welcome
    

    ?id="introductionHeader"? 是自定義 ID,但沒有源 HTML 中所需的 ?@@? 前綴。

  3. 復(fù)制文本節(jié)點中的 ?...? 元素,將其重命名為 ?target?,然后將內(nèi)容替換為法語文本。
  4. 
      Hello i18n!
      Bonjour i18n !
      An introduction header for this sample
      User welcome
    

    在更復(fù)雜的翻譯中,描述和含義元素中的信息和上下文可幫助你選擇正確的詞進行翻譯。

  5. 翻譯其他文本節(jié)點。以下示例顯示了翻譯方式。
  6. 
      I don't output any element
      Je n'affiche aucun élément
    
    
      Angular logo
      Logo d'Angular
    

不要更改這些翻譯單元的 ID。每個 ?id ?屬性由 Angular 生成,它取決于組件文本的內(nèi)容和所指定的含義。如果你更改了文本或含義,則 ?id ?屬性就會更改。

翻譯復(fù)數(shù)

根據(jù)需要為每種語言添加或刪除復(fù)數(shù)分支。

語言復(fù)數(shù)規(guī)則,參見 CLDR 復(fù)數(shù)規(guī)則。

minute plural 例子

要翻譯 ?plural?,就要翻譯 ICU 格式的匹配值。

  • ?just now ?
  • ?one minute ago ?
  • ? minutes ago?

以下示例顯示了翻譯方式。


  {VAR_PLURAL, plural, =0 {just now} =1 {one minute ago} other { minutes ago} }
  {VAR_PLURAL, plural, =0 {à l'instant} =1 {il y a une minute} other {il y a  minutes} }

翻譯替代表達式

Angular 還會提取備用的 ?select ?ICU 表達式作為單獨的翻譯單元。

gender select 示例

以下示例在組件模板中顯示了一個 ?select ?ICU 表達式。

The author is {gender, select, male {male} female {female} other {other}}

在這個例子中,Angular 將表達式提取到兩個翻譯單元中。第一個包含 ?select ?子句之外的文本,并為 ?select ?使用占位符(??):


  The author is 
  L'auteur est 

翻譯文本時,如有必要,請移動占位符,但不要將其刪除。如果刪除占位符,將從翻譯完的應(yīng)用程序中刪除此 ICU 表達式。

以下示例顯示包含 ?select ?子句的第二個翻譯單元。


  {VAR_SELECT, select, male {male} female {female} other {other} }
  {VAR_SELECT, select, male {un homme} female {une femme} other {autre} }

以下示例顯示了翻譯完的兩個翻譯單元。


  The author is 
  L'auteur est 


  {VAR_SELECT, select, male {male} female {female} other {other} }
  {VAR_SELECT, select, male {un homme} female {une femme} other {autre} }

翻譯嵌套表達式

Angular 按照與替代表達式相同的方式處理嵌套表達式。Angular 會將表達式提取到兩個翻譯單元中。

嵌套 plural 示例

以下示例顯示包含嵌套表達式之外的文本的第一個翻譯單元。


  Updated: 
  Mis à jour: 

以下示例展示了包含完整嵌套表達式的第二個翻譯單元。


  {VAR_PLURAL, plural, =0 {just now} =1 {one minute ago} other { minutes ago by {VAR_SELECT, select, male {male} female {female} other {other} }} }
  {VAR_PLURAL, plural, =0 {à l'instant} =1 {il y a une minute} other {il y a  minutes par {VAR_SELECT, select, male {un homme} female {une femme} other {autre} }} }

以下示例會在翻譯后顯示兩個翻譯單元。


  Updated: 
  Mis à jour: 


  {VAR_PLURAL, plural, =0 {just now} =1 {one minute ago} other { minutes ago by {VAR_SELECT, select, male {male} female {female} other {other} }} }
  {VAR_PLURAL, plural, =0 {à l'instant} =1 {il y a une minute} other {il y a  minutes par {VAR_SELECT, select, male {un homme} female {une femme} other {autre} }} }


文章名稱:創(chuàng)新互聯(lián)Angular教程:Angular處理翻譯文件
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/cdejose.html