2012-02-02 75 views
4

Lint工具告訴你硬編碼字符串或丟失的翻譯,但如果你想更新現有的字符串呢?如何管理Android應用翻譯?

當您更新現有字符串時,如何跟蹤哪些字符串需要再次翻譯?

如果你想改變一個字符串,一個解決方案是在strings.xml中使用一個新的鍵,但是這需要更新使用舊鍵的代碼中的所有引用。

+0

我不明白你的問題。如果你已經將所有的字符串外化爲一個strings.xml文件,那麼翻譯並將它放在正確的文件夾中應該很容易。 – 2012-02-02 14:11:33

+0

問題是如何在更新應用程序時管理現有的翻譯。如何跟蹤哪些字符串在不同的應用版本之間更新,因此需要新的翻譯。 – 2012-02-02 14:23:31

+0

可能重複的[Android:獲取字符串資源丟失的翻譯](http://stackoverflow.com/questions/6985366/android-get-missing-translations-for-strings-resources) – 2013-11-19 04:34:16

回答

3

如果沒有翻譯的語言Android操作系統將選擇存儲在值文件夾的默認值。

要使用本地化,您還可以使用Sequoyah Android Localization Editor。使用它你可以看到所有的字符串鍵和賦值。下面是它的快照: Android Localization Editor

因此,對於每個本地化,您將有一個單獨的列。

+1

要跟蹤@Yury,Sequoyah項目在這裏:http://eclipse.org/sequoyah/。只需將插件安裝到您自己的Eclipse中即可。我們在MOTODEV工具中使用這個項目。安裝指南在這裏:http://eclipse.org/sequoyah/downloads/index.php#update_site。這些插件與MOTODEV插件的區別在於自動翻譯件的可用性,由於法律方面的原因,我們無法開源。 – 2012-02-03 21:49:12

+2

這個答案的唯一缺點是Sequoyah開發已停滯,並可能會被關閉:http://wiki.eclipse.org/Sequoyah/Termination_Review – Diego 2013-11-26 15:46:15

0

一種解決方案是,如果你想改變一個字符串,使用的strings.xml一個新的關鍵,然而,這需要更新的代碼使用舊密鑰的所有引用。

什麼可以解決這個問題?如果你添加一個新的字符串,你仍然需要將它添加到所有的strings.xml文件中。

更新每個string.xml文件的字符串時出現什麼問題?

+0

當一個字符串更新時,所有翻譯也需要更新,但是我不是翻譯應用程序的人,所以我需要一種跟蹤哪些字符串在不同版本之間更新並需要新翻譯的方式。 – 2012-02-02 14:16:32

+0

我目前正在編寫一個應用程序來協助解決這個確切的問題。這已經完成了大約60%。發送郵件到我的生物地址,如果你想看看\測試完成後。 – Kuffs 2012-02-02 14:22:44

0

看看MOTODEV Studio's Localization tool

視頻教程here

+0

感謝您參考我們的工具。現在有一點需要指出(遺憾的是)谷歌翻譯API現在花了很多錢來使用,所以機器翻譯功能並沒有那麼好。如果你想繼續使用它,你必須在設置中提供你自己的API密鑰。 – 2012-02-03 21:41:50

+0

鏈接不再有效。該工具仍然可用? – Meier 2014-09-04 23:19:15

1

另一種解決方案是使用您的版本控制軟件來檢索自項目早期版本以來已更改的字符串列表。

0

我創建了這個Java工具,用於將Android XML字符串自動轉換爲CSV並將其從CSV轉換回XML。您可以與您的翻譯人員共享CSV文件,例如在Google文檔中,當更改完成後,您可以將其轉換回XML。

針對您的特定問題的解決方案可能如下所示:在電子表格應用程序中打開CSV文件。如果您使用特定語言編輯翻譯,則可以標記其他語言的翻譯(例如,以不同的顏色)。在這種情況下,譯員會知道它已經更新。在他們更新翻譯之後,他們可以刪除標記。

該工具可以在這裏下載:https://dl.dropboxusercontent.com/u/60605726/AndroidXmlStringsConversionTool.jar

的參數是:

<xmlToCsv|csvToXml> <path-to-android-project> <csv-file> 
0

使用android2po自動轉換至po文件,然後導入翻譯。

0

我創建了一個Android Studio/IntelliJ插件,用於將所有strings.xml以不同的值 - 文件夾轉換爲單個csv,以便我可以將它們上傳到Google Drive以供我的翻譯人員使用。

完成翻譯工作後,我只是將它們轉換回csv並讓插件將csv轉換回它們各自的值 - */string.xml。

您可以從Android Studio/IntelliJ的Jetbrain插件庫中下載Android Strings.xml到CSV轉換器