Android strings.xml 最佳实践? [关闭]

Posted

技术标签:

【中文标题】Android strings.xml 最佳实践? [关闭]【英文标题】:Android strings.xml Best Practices? [closed] 【发布时间】:2011-11-11 21:38:35 【问题描述】:

我问自己几个问题,我想知道是否有任何最佳做法。

    如何命名字符串?对我来说,它总是以混乱结束。 如何保持翻译同步?有没有可以推荐的协作在线工具? 如何对strings.xml文件中的字符串排序?按字母顺序?按活动分组? ...? 重用字符串怎么样?您是否建议使用多个略有不同的字符串或一个以某种方式适合多种上下文的字符串?

【问题讨论】:

一个问题有很多问题。根据faq,其中一些(大部分)是主观的/将导致讨论=>此处偏离主题。 【参考方案1】:

好问题。我也在为此苦苦挣扎。我的命名方案是:

1) 用户界面元素: 如果一个字符串只对应于一个 ui,我会根据控制元素和用途来命名它,以及它在控制元素的哪个部分使用。示例:

button_helpText;
control : button, purpose: help, context: Text;

2) 一般要素: 如果在 UI 上使用了一个字符串,但我想在另一个上下文中使用它,我只需保留前缀并添加一个后缀来更准确地描述目的/上下文。

helpMessageHeading;
purpose: help; context: a Message (abstract, could be a dialog), context_of_dialog: Heading; (the heading of a help dialog)
helpMessageText;
purpose: help, context: a Message (abstract, could be a dialog), context_of_dialog: Text; (the text inside a help dialog)
helpExplanation;
purpose: help; context_of_help: Explanation (just a explanation of the help topic)

3) 订购: 我主要根据它们的上下文对这些字符串进行排序,因为它是您通常搜索的内容。

<!-- buttons -->
...
<!-- dialogs -->
...
<!-- general -->
...
<!-- explanations -->
...

等等。所以我的列表通常在 UI 控件中分开,如果一个字符串没有绑定到它,它的一般精确上下文。为什么我使用精确的上下文?当你搜索一个字符串来描述你所做的事情时,关于这个字符串最独特的想法是它的精确上下文,所以这就是应该首先弹出的内容。但是当您使用自动完成时,您通常会搜索一般描述。我认为这种结构是一个很好的解决方案。

我对其他答案很感兴趣。

【讨论】:

【参考方案2】:

如何保持翻译同步?是否有协作在线工具 可以推荐吗?

目前我正在使用这个协作工具http://www.getlocalization.com/,它让生活变得更轻松,如果不使用专业功能,它是免费的。

然后还有 https://crowdin.com/,我认为这更好一些,因为 ist 建议通过 google 和 bing 进行翻译,但最便宜的版本要 9 美元。

如何对strings.xml 文件中的字符串进行排序?按字母顺序?分组 按活动? ...?

到目前为止,我没有订购它们,因为我大多不手动编辑我的 xml。 有一个插件可以很容易地在 eclipse 中处理多个翻译:Sequoyah 本地化编辑器

【讨论】:

【参考方案3】:

我还是新手,所以我一直在寻找一个示例项目。 Astrid 在 Github 上是开源的,浏览项目 res 目录让像我这样的新手大开眼界。

好东西。看看:

https://github.com/todoroo/astrid/tree/master/astrid/res/values

【讨论】:

这种方法是不是有点单一?在模块化方法的情况下,所有字符串都必须驻留在它们自己的模块中......仅供参考【参考方案4】:

如何保持翻译同步?有没有可以推荐的协作在线工具?

对我来说,最好的工具是http://www.translatekarate.com

它是免费和协作的。

【讨论】:

【参考方案5】:

检查约定的最佳位置很可能是在 android SDK 示例中。以下是您可以找到它们的方法 -http://developer.android.com/tools/samples/index.html

【讨论】:

【参考方案6】:

如何保持翻译同步?有没有可以推荐的协作在线工具?

我使用项目管理工具https://poeditor.com 翻译 XML 文件并保持同步。

【讨论】:

以上是关于Android strings.xml 最佳实践? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Proguard 不会混淆 android 中的 strings.xml

Android:将 Json 对象转换为 Strings.xml

在本机反应中管理字符串的最佳方法

Android - 我啥时候应该在 Strings.xml 资源文件中转义 unicode?

xml FontAwesome v4.7的Android strings.xml

Android中的strings.xml文件出错