国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Angular 項目實現國際化的方法

2024-05-06 15:22:47
字體:
來源:轉載
供稿:網友

正如angular官網所說,項目國際化是一件具有挑戰性,需要多方面的努力、持久的奉獻和決心的任務。
本文將介紹angular項目的國際化方案,涉及靜態文件(html)和ts文件文案的國際化。

背景

    Angular: 5.0 Angular Cli: 1.6.1(1.5.x也可以) NG-ZORRO: 0.6.8

Angular i18n

i18n模板翻譯流程有四個階段:

    在組件模板中標記需要翻譯的靜態文本信息(即打上i18n標簽)。 Angular的i18n工具將標記的信息提取到一個行業標準的翻譯源文件(如.xlf文件,使用ng xi18n)。 翻譯人員編輯該文件,翻譯提取出來的文本信息到目標語言,并將該文件還給你(需要翻譯人員接入,本文采用將xlf文件轉為json格式文件輸出,最終將json文件轉換回xlf格式文件)。 Angular編譯器導入完成翻譯的文件,使用翻譯的文本替換原始信息,并生成新的目標語言版本的應用程序。

你可以為每種支持的語言構建和部署單獨的項目版本,僅需替換翻譯后的xlf文件即可。

如何在模板文件中使用?

i18n提供了幾種使用方式,還專門為單復數提供了翻譯方式(個人沒有使用,感覺不太方便)。接下來以一個單獨的html文件來介紹幾種使用方法。

<!DOCTYPE html><html><head><meta charset="utf-8"><title>Angular i18n</title></head><body>  <h1 i18n="Site Header|An introduction header for i18n Project@@stTitle">Angular 國際化項目</h1>  <p>   <span i18n="@@agDescription">國際化是一項很具有挑戰性,需要多方面的努力、持久的奉獻和決心的任務。</span>   <span class="delete" i18n-title="@@agDelete" title="刪除"></span>  </p>  <p><ng-container i18n=@@agLetGo>讓我們現在開始吧!</ng-container>朋友!</p></body></html>

上述代碼展示了幾種i18n的使用方式:

1、使用i18n屬性標記(可添加上說明性文案,格式如:title|description@@id,title和description可幫助翻譯人員更好地理解文案含義,是否添加取決于自身項目情況)

可以在靜態標簽上直接打上i18n的tag,如

<span i18n="@@agDescription"></span>

生成的xlf(xml)字段格式為

<trans-unit id="agDescription" datatype="html"> <source>國際化是一項很具有挑戰性,需要多方面的努力、持久的奉獻和決心的任務。</source> <context-group purpose="location">  <context context-type="sourcefile">xxx.ts</context>  <context context-type="linenumber">linenum</context> </context-group></trans-unit>

2、為title添加i18n屬性

對于html標簽屬性,同樣可以添加i18n,如

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 迁安市| 汉沽区| 漳州市| 湾仔区| 东城区| 海城市| 江都市| 海城市| 米易县| 图木舒克市| 龙口市| 营口市| 田林县| 石狮市| 阳江市| 盘锦市| 嘉义市| 马公市| 伊宁市| 项城市| 县级市| 晋城| 黎城县| 济阳县| 股票| 印江| 萍乡市| 平江县| 岗巴县| 揭西县| 通化市| 治多县| 金门县| 巴青县| 丰县| 随州市| 保山市| 贡觉县| 开封县| 民权县| 凤阳县|