2013-06-05 47 views
0

我是.NET開發人員,目前正在使用WPF和ASP.NET MVC 4.我應該開始的下一個項目將是一個Web應用程序,很有可能稍後會爲桌面/移動設備/平板電腦創建客戶端。換句話說,這個應用程序可以在網絡瀏覽器中使用,但也可以從Android,iOS,WinPhone8和Windows桌面(WPF)上的本機應用程序中使用。我在iOS開發方面的經驗非常有限,而Android開發方面的經驗並不多。如何創建多平臺本地化解決方案?

一個我打算在這個產品的特點是能爲用戶選擇上,他們想使用GUI,無論是在Web瀏覽器或其他任何客戶端的語言。因此,我需要創建可與我計劃支持的所有平臺兼容的本地化解決方案。由於我首先在ASP.NET MVC中創建Web應用程序來啓動此項目,因此我不感興趣通過資源文件(.resx)使用Microsoft對本地化的默認支持,因爲這不會是可移植的。

有什麼不同的選擇那裏爲創建部署在各種平臺的應用程序支持多國語言?第一個想法是使用XML文件,但我也有興趣探索可能已經存在的其他可能的解決方案。歡迎任何關於如何解決這個問題的想法。

回答

0

我建議使用任何格式給定的平臺具有本機,否則你會造成很多額外的麻煩。

然後,您可以使用一些工具來轉換和合並這些格式(translate-toolkit在這方面很棒),或者使用一些翻譯平臺,這樣可以讓您在一個界面中翻譯所有這些格式。 Transifex(服務),Crowdin(服務)或Weblate(服務或安裝)應該能夠做到這一點。

Weblate可以幫助你也讓他們同步,我不認爲其他人有這樣的功能(我Weblate的作者)。

1

首先,我不確定您的問題是否應該發給Android和iOs開發人員(使用iOs和Android標籤),因爲如果客戶端加載服務器提供的內容,那麼執行此操作的最常見方式本地化(我遇到過非常頻繁)是爲不同的語言提供不同的URL,可能與在URL參數,像wwww.yourserver.com/en_us/otherstuffhere其中en_us應該是國家代碼,以這種方式,客戶端可以更改將用於以下網址要求。

當然,要使用服務器內容本地化所有應用程序非常困難,特別是諸如按鈕標題,佔位符等UI組件,因爲這些應用程序使用iOS和Android OS本地化功能進行本地化。

P.S我不知道Windows手機操作系統是如何工作的。

+0

我並不是說客戶端應該從Web應用程序獲取語言內容。可能發生的情況是,移動本機應用程序將擁有將加載語言字符串的本地文件。這樣他們不會依賴於web應用程序。無論如何感謝您的答案,也許我不應該使用android/ios標籤。 – matori82

1

據我所知,目前還沒有真正在那裏,將你想要做什麼。

  1. 大多數系統在JSON中運行良好。
    你可以做的是使用任何.resx的JSON解決方案,並將所有的本地化字符串存儲在resx中,然後自動將它們轉換爲其他平臺的JSON。

  2. 忘了一個解決方案,只需使用任何格式plattform優惠和使用像TRADOS或Transifex工具來手動轉換不同的格式。