正如angular官網所說,項目國際化是一件具有挑戰性,需要多方面的努力、持久的奉獻和決心的任務。
本文將介紹angular項目的國際化方案,涉及靜態文件(html)和ts文件文案的國際化。
i18n模板翻譯流程有四個階段:
你可以為每種支持的語言構建和部署單獨的項目版本,僅需替換翻譯后的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,如
新聞熱點
疑難解答
圖片精選