首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XLIFF改进Android字符串资源

使用XLIFF改进Android字符串资源
EN

Stack Overflow用户
提问于 2012-07-04 15:18:15
回答 3查看 11.7K关注 0票数 15

我见过一些Google应用程序和代码示例,它们使用XLIFF标记来包装变量。我认为这样做有很大的好处,特别是在替换非描述性格式参数(如%1$s )方面。

不幸的是,XLIFF似乎没有很好地集成到ADT中。例如,以以下字符串资源为例:

代码语言:javascript
复制
<resources 
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" 
    xmlns:tools="http://schemas.android.com/tools">

    <string name="share_with_application">
        Share your score of <xliff:g id="score" example="1337">%1$s</xliff:g>
        with <xliff:g id="application_name" example="Bluetooth">%2$s</xliff:g>!  
    </string>

</resources>

在上面的示例中,字符串在第一个<xliff>标记之后被截断。人们还会期望使用example属性,从而产生一个图形预览,显示:

与蓝牙分享你的1337分!

目前在我的字符串资源中使用XLIFF标记有什么好处吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-10 23:23:06

我们刚刚在Android中为0.3版本的https://android-review.googlesource.com/#/c/67724/添加了对此的支持

票数 14
EN

Stack Overflow用户

发布于 2014-08-19 21:27:37

为了明确起见,在Android字符串资源中使用XLIFF标记的详细文档为

https://developer.android.com/distribute/tools/localization-checklist.html#manage-strings

即使在Eclipse构建中,这些字符串也能正常工作(支持在构建应用程序的aapt工具中)。

但是,正如问题中所示,ADT中包含的图形布局工具不考虑xliff标记,只是在第一个标记子字符串之后截断字符串。

Android中的图形工具能够很好地处理这些字符串,了解并使用xliff标记。

实际上,我发现完整的<xliff:g>在我的源代码中相当冗长,所以我调整了namepsace声明,允许我只使用<x:g>

代码语言:javascript
复制
<resources xmlns:x="urn:oasis:names:tc:xliff:document:1.2">

   <string name="greeting">Hello <x:g id="name">%1$s</x:g>!</string>

</resources>
票数 6
EN

Stack Overflow用户

发布于 2013-01-05 00:51:37

现在我已经弄懂了从源代码构建AOSP的问题,CommonsWare是正确的:构建过程完全不同,而且很多AOSP应用程序都包含XLIFF标记。遗憾的是,这并没有与ADT集成,但它确实如此。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11331809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档