Android中<xliff:g>标签的使用

今天看源码时发现在资源文件/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

原文地址:https://www.cnblogs.com/frames/p/4384078.html