2013-01-24 51 views
7

我們正在開發在各種平臺(Windows,Windows RT,MacOSX,iOS,Android)上運行的應用程序。有沒有辦法在各種平臺上本地化應用程序

問題是如何以簡單的方式管理不同平臺上的不同本地化。不同平臺上的語言文件有不同的格式(一些是基於xml的,另一些是簡單的鍵值對,其他的是MacOS上的完全瘋狂的格式)

我敢肯定,我們不是第一個與這個問題,但我無法找到一個易於使用的解決方案,以實現一個「數據源」的可能性,其中字符串以不同語言收集(最好是翻譯者的用戶界面),然後可以導出它適用於不同平臺的不同格式。

有沒有人有解決這個問題的辦法?

問候 亞歷山大

+2

我認爲,你可以創建自己的格式和你自己的定位mechanizm,該包裝產品在所有平臺。不容易,但可用 – gaussblurinc

回答

2

我建議使用GNU Gettext工具鏈管理和運行時兼用

  • 運行時喜歡讀一些Boost.Locale實施交替,
  • 自己的實現(的.mo格式非常簡單)或
  • 使用Translate Toolkit將消息目錄轉換爲您喜歡的其他格式。

不能使用的GNU Gettextlibintl成分,因爲它是LGPL和兩個蘋果AppStore和Windows Live商店的條款下許可與該許可證不兼容。但是在運行時重新實現你所需要的位是非常微不足道的。

Translate Toolkit實際上重新實現了全部或大部分GNU Gettext並支持許多額外的本地化格式,但Gettext的.po格式都有它最自由的工具(如poedit本地編輯和Weblate在線編輯),所以我建議您用也無妨堅持。並閱讀GNU Gettext手冊,它很好地描述了其背後的預期流程和基本原理。

我有工具鏈相當不錯的體驗。該Translate Toolkit寫成腳本很容易,當你需要像您自定義的資源文件和Weblate提取翻譯字符串一些特殊的處理是很容易使用你的翻譯,尤其是當你在不同的國家依靠商業夥伴和測試人員大多數翻譯像我們這樣做。

Translate Toolkit還支持HTML提取翻譯字符串,所以同樣的過程可用於轉換您的網站。

0

免責聲明:我是CTO和共同創始人Tethras,但會嘗試的方式,不只是「使用我們的服務」來回答這個問題。

正如loldop指出的那樣,如果您想擁有一個用於管理本地化內容的一站式解決方案,您確實需要在所有平臺上規範化您的內容。這可能需要很多工作,並且需要大量的編碼和腳本以及來自不同SDK的各種工具的調用,才能達到一種通用格式,以滿足您需要支持的各種文件格式的本地化需求。我以前的句子的長度和複雜程度與你爲達到所有這些有利的解決方案需要做的工作量成反比。

Tethras,我們已經構建了一個平臺,可以減輕多平臺軟件發行商需要這樣做的需要。我們支持您上面列出的所有平臺的所有原生格式,並且可以利用從一種文件格式到另一種文件格式的翻譯。例如,將Localizable.strings中的內容從您的iOS應用翻譯成多種語言,然後將Android中的等效strings.xml文件或Windows RT中的foo.resx上傳到系統,並自動爲您使用翻譯。任何未翻譯的字符串都會被標記,您可以爲這些字符串訂購更新。

實際上,Tethras是用於跨許多不同本地文件格式的本地化內容的CMS。

+0

Tethras看起來非常酷,但有沒有可能在項目之間共享字符串?如果沒有,它不會解決我們的問題...... –

+0

是的,盡你所能,可以跨項目分享翻譯。所有可本地化的內容最終都會從您上傳到您帳戶的本機文件格式中提取。系統會跨越項目和跨文件識別匹配字符串,並自動爲您提供現有翻譯。例如,如果我們爲您的iOS應用轉化的Localizable.strings X字符串,並上傳y方向的弦字符串中的.xml您Android應用程式,系統將確定兩個文件之間所有英文字符串匹配。 iOS翻譯將自動運用到strings.xml中。 –

1

我做了一個iPhone和Android的項目,有很多翻譯,我想我有你正在尋找的解決方案。

我解決它的方法是將所有翻譯文本放入Excel電子表格中,並使用VBA宏從那裏生成.string和.xml翻譯文件。你可以在這裏下載我的例子中的Excel工作表以及VBA宏:

http://members.home.nl/bas.de.reuver/files/multilanguage.zip

就在最近,我還添加了初步的Visual Studio中的.resx輸出,雖然這是未經測試。

編輯: btw也我的javascript xcode/eclipse converter可能是有用的..

+0

我打過與轉換器位,但它完全忽略了重要的角落情況下,像包含換行符,報價,退格和這樣的字符串。是的,我在野外看到了很多這樣的字符串。 –

+0

好吧,我可以猜測帶有換行符或引號的字符串應該是什麼樣子,但是退格符..?我會考慮這一點,如果你能送我一些這樣的極端情況,所以一個.xml或.strings與這些異常的字符串的文件,我的郵件地址都可以在這裏找到http://members.home.nl/bas .de.reuver / – BdR

相關問題