首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与语言无关的字符串的最佳实践

与语言无关的字符串的最佳实践
EN

Stack Overflow用户
提问于 2012-03-21 17:32:22
回答 6查看 2.5K关注 0票数 3

我的Android应用程序包含了许多与语言无关的字符串,比如收费和支持电话号码。例如,我在/res/values中放置了一个XML文件,其中包括:

代码语言:javascript
复制
<string name="helpdesk_number">0900 12345678</string>
<string name="helpdesk_tariff">60p</string>
<string name="helpdesk_address1">221B Baker Street</string>
<string name="helpdesk_address2">London NW1 6XE</string>

Lint抱怨这些字符串没有被翻译到其他语言:

Locale de缺少翻译: helpdesk_number,helpdesk_number,helpdesk_address1,helpdesk_address2.(再增加56)

虽然对其他语言显示不同的收费可能是有意义的,但服务台只在一个国家。

把这些字符串复制到其他语言上有意义吗?或者有什么办法让Lint忽略这些特定的字符串(或字符串文件)?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-03-21 18:14:33

即将发布的(希望不久)的ADT17将带来一些功能,用于忽略一些林特警告:

http://tools.android.com/recent/ignoringlintwarnings

http://tools.android.com/tips/lint/suppressing-lint-warnings

因此,使用ADT 17,您可以在项目文件夹中放置一个lint.xml,其中包含:

<issue id="MissingTranslation" severity="ignore" />

或者您也可以通过以下方法完成每个字符串的操作:

tools:ignore="MissingTranslation"

但这份文件并没有百分之百清楚,我现在没有时间去测试17。

跟进: ADT17在你提出要求后就被释放了,并且应该解决你的问题!

票数 5
EN

Stack Overflow用户

发布于 2014-05-30 22:50:36

在Lint的最新版本中,您可以忽略特定的 "MissingTranslation“字符串,如下所示:

strings.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<resources>    

    <!--suppress MissingTranslation -->
    <string name="some_string">ignore my translation</string>
    ...

</resources>

http://tools.android.com/tips/lint/suppressing-lint-warnings

票数 4
EN

Stack Overflow用户

发布于 2013-02-19 20:48:25

直接从Lint工具:

如果不应该翻译字符串,可以在元素上添加属性translatable="false“,也可以在名为donottranslate.xml的资源文件中定义所有不可翻译的字符串。或者,您可以忽略tools:ignore="MissingTranslation“属性的问题。

只要在默认的res/donottranslate.xml文件夹中创建一个文件"donottranslate.xml“,Lint就会忽略它。我把我所有的应用键/I之类的东西都放在这里,还有首选项,因为它们不需要“翻译”,只需要占用其他文件的空间。

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

https://stackoverflow.com/questions/9809820

复制
相关文章

相似问题

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