今天看源码时发现在资源文件/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
时间: 2024-10-11 20:53:00