1. 程式人生 > 其它 >Android 中<xliff:g> 標籤的使用

Android 中<xliff:g> 標籤的使用

技術標籤:xliff:gxmlandroidxmlandroid studio

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);
輸出結果:

result