由於我們正在使我們的(英文)應用程序能夠本地化,所以我們用NSLocalizedString()調用替換了所有內聯字符串。由於我們所有的英文字符串都與代碼一致,例如NSLocalizedString(@「OK,@」消息框中的「OK按鈕」),是否有任何理由需要Localizable.strings的英文版?當我們嘗試從英文Localizable.strings中刪除字符串時,程序似乎正常工作。只是想仔細檢查是否有一些副作用,沒有這一點。謝謝,亞歷克斯是應用程序的根語言所需的Localizable.strings嗎?
回答
一個使用NSLocalizedString()
宏的要點的是,使你的程序代碼可以用genstrings
命令行工具被解析以生成相應的Localizable.strings
文件(S)(參見Resource Programming Guide: About the String-Loading Macros和Using the Genstrings Tool to Create Strings Files)。
Localizable.strings
Localizable.strings
文件然後作爲您的翻譯的起點,用於翻譯到另一種語言。如果沒有該文件,譯員將基本上需要訪問您的源代碼,以便查看您想要使用的所有字符串(哪種類型的目的是失敗)。
是的,你的英語版本,現在工作得很好,因爲如果字符串的本地化版本,您嘗試在代碼來獲得 - 例如,NSLocalizedString(@"OK", @"")
- 不能在.strings
文件中找到,它只是使用了@"OK"
串你通過了。
爲什麼你應該保持英文Localizable.strings
的另一個原因是你應該儘量避免在你的代碼中使用高位ASCII字符,但應該在你的實際用戶中使用全部可用字符接口。例如,您可能不想在代碼中放入以下字符,但希望在用戶界面中使用它們:
...(水平省略號)(U + 2026) 「(左雙引號)( U + 201C) 」(右雙引號)(U + 201D) '(左單引號)(U + 2018) '(右單引號)(U + 2019)的代碼
所以,你會這樣做:
NSLocalizedString(@"Add Bookmark...", @"")
然後在你的.strings
文件(這是UTF16,所以這很好):
"Add Bookmark..." = "Add Bookmark…";
不建議使用單詞作爲鍵,如果你想改變Ok
的東西,你有任何其他Localizable.strings
,你將不得不修改它們的每一個更新Ok
關鍵。
我不確定我關注。 Localizable.strings是否應該是源代碼中的一個重要版本?它似乎並不在我們這邊。 – Alex
當然你的翻譯會想你的Localizable.strings文件,從工作,並且希望它是ALL字符串。 (這確實是系統會回到關鍵,但依賴於這個看起來是不好的做法,而且你會發現在Unicode文件中使用適當的標點符號更加可靠,而源代碼很少。 )
是的,我們需要給本地化人員英文Localizable.strings。只是想知道它是否需要成爲我們給蘋果的捆綁包的一部分。 – Alex
理論上它沒有。在實踐中,所需要的只是一個非ASCII字符來攪亂你。不包括它會節省什麼? –
- 1. 多種語言的UWP應用程序 - 檢查所有語言
- 2. 如何根據所選語言運行應用程序?
- 3. 是Erlang這個應用程序的糟糕語言嗎?
- 4. Java是移動應用程序開發的最佳語言嗎?
- 5. 是python移動應用程序的首選語言嗎?
- 6. 根據所需語言檢索文件
- 7. 需要永久運行的應用程序的編程語言
- 8. 根據選擇的語言,無論是從應用程序還是從設備,我可以在應用程序中轉換語言嗎?
- 9. iOS中的Localizable.strings和本地化語言
- 10. XML是開發android應用程序所必需的嗎?
- 11. JavaScript是一種應用程序語言嗎?
- 12. 根據語言設置更改應用程序中的單詞
- 13. 列出所有可用的語言在Android應用程序
- 14. 爲什麼語言變化所需的應用程序在目標C
- 15. 多種語言的Android應用程序
- 16. 更改Android應用程序的語言
- 17. 更改ios應用程序的語言
- 18. Phonegap應用程序的多種語言
- 19. 多種語言的應用程序
- 20. Iphone中的多語言應用程序
- 21. Windows 8應用程序的語言..?
- 22. 多種語言的應用程序
- 23. K2 blackpearl的多語言應用程序
- 24. WP7中的多語言應用程序
- 25. jQuery Mobile的多語言應用程序
- 26. 三種語言的Android應用程序
- 27. 不同語言的Android應用程序
- 28. 兩種語言的應用程序
- 29. 純C語言的iPhone應用程序
- 30. 不同語言的Ipad應用程序
對,我們面臨的關鍵問題是是否有任何意見讓應用程序包中的英文Localizable.strings獲得發貨。由於英文字符串都在代碼中,所以似乎很少有不必要的千字節。誠然,沒有什麼大不了的,但很好奇。 – Alex