今天看源碼時發現在資源文件/res/values/strings.xml中有些<string>標簽中包含<xliff:g>標簽,如:
<string name="running_process_item_user_label">User: <xliff:g id="user_name">%1$s</xliff:g></string>
這個標簽以前都沒用過,就在網上查了一下。XLIFF外文全名是XML Localization Interchange File Format,中文名是XML本地化數據交換格式。
<xliff:g>標簽介紹:
屬性id可隨意命名
屬性example表示舉例說明,可省略
%n$ms:輸出的是字符串,n代表是第幾個參數,設置m的值可以在輸出之前放置空格
%n$md:輸出的是整數,n代表是第幾個參數,設置m的值可以在輸出之前放置空格,也可以設為0m,在輸出之前放置m個0
%n$mf:輸出的是浮點數,n代表是第幾個參數,設置m的值可以控制小數位數,如m=2.2時,輸出格式為00.00
舉例說明:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="welcome"> 歡迎 <xliff:g id="name">%1$s</xliff:g>, 排名 <xliff:g id="num">%2$d</xliff:g> </string> </resources>
使用<xliff:g>標簽需要在resources中加入命名空間,然后在Android程序中使用
public final String getString (int resId, Object... formatArgs)
String s = getString(R.string.welcome, "abc", 123);
輸出結果:歡迎 abc, 排名 123