2011-09-07 125 views
29

我在問自己幾個問題,我想知道是否有任何最佳實踐。Android strings.xml最佳實踐?

  1. 如何命名的字符串?它總是以混亂的方式結束我。
  2. 如何保持翻譯同步?您可以推薦哪些協作式在線工具?
  3. 如何才能在strings.xml文件中的字符串?按字母順序排列?按活動分組? ...?
  4. 如何重複使用字符串?你會推薦使用多個略有不同的字符串或一個字符串,以適應多種情況?
+0

對於一個問題,這是很多問題。根據[faq],這裏的一些(大多數)是主觀的/將導致討論=>關閉這個主題。 – Mat

回答

4

有趣的問題。我也爲此苦苦掙扎。我的命名方案是:

1)UI元素: 如果一個字符串只對應於一個UI,我相應地將其命名爲控件元素和用途,以及它使用的控件元素的哪一部分。例如:

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

2)一般元素: 如果字符串使用的用戶界面,但我想用它在其他方面,我剛剛離開的前綴,並添加一個後綴來形容目的/背景鐵道部精確。

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控件中分離,如果一個字符串沒有綁定到它,它的一般精確上下文。爲什麼我使用確切的上下文?當你搜索一個字符串來描述你做什麼時,關於這個字符串的最獨特的想法是它的確切上下文,所以這就是應該首先彈出的東西。但是,當您使用自動完成功能時,您通常會搜索一般說明。我認爲這個結構是一個很好的解決方案。

我即時在其他的答案很感興趣。

1

如何保持翻譯同步?您可以推薦協作在線工具 嗎?

目前我正在使用這個協作工具http://www.getlocalization.com/,這使得生活更容易和免費,如果沒有專業功能。

然後還有http://crowdin.net/這在我看來有點好一些,因爲google和bing提供了翻譯,但是在最便宜的版本中花費了9美元。

如何才能在的strings.xml文件中的字符串?按字母順序排列?按活動分組了 ? ...?

到目前爲止,我沒有訂購它們,因爲我大多不用手工編輯我的xml。 有一個插件,它使得在處理多​​日食翻譯很容易:塞闊亞本地化編輯

-1

如何保持翻譯同步?您可以推薦哪些協作式在線工具?

我使用項目管理工具https://poeditor.com來翻譯XML文件並保持同步。