Android 中<xliff:g> 标签的使用
前言:
今天再看官方demo的时候发现在res/values/string.xml中有一个包含<xliff:>这个标签:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="title_connecting">connecting...</string>
<string name="title_connected_to">connected to <xliff:g id="device_name">%1$s</xliff:g></string>
<string name="title_not_connected">not connected</string>
</resources>
然后就好奇的在网上搜了一下,顺便分享一下。
<xliff:g>标签介绍:
xliff的全称是:XML Localization Interchange File Format,翻译过来是:XML本地化数据交换格式。
xliff属性:
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="app_name">demo</string>
<string name="user">
姓名:<xliff:g id="user_name">%1$9s\n</xliff:g>\n年纪:<xliff:g id="user_age">%2$09d</xliff:g>
</string>
</resources>
ps:\n
试了一下,也是可以用的可以换行。
使用xliff:g
标签需要在resources中加入命名空间,然后在Android程序中使用
public final String getString(@StringRes int resId, Object... formatArgs)
@SuppressLint("StringFormatMatches") String user = getString(R.string.user, "Ervin",21);
Log.d(TAG, "onCreate: "+user);