5

我試圖評估使用哪一個,因此會感謝來自做出此決定的其他人的任何反饋。看來,翻譯具有兩大工程:流星本地化/ i18n庫比較

的MessageFormat

http://messageformat.meteor.com/

的觀光

  • 基於MessageFormat.js大幅LIB
  • 包括提取工具
  • 處理模糊串和版本,如果在應用中更新字符串
  • 字符串翻譯個
  • JavaScript和車把方法
  • 預置的翻譯工具/ WEBUI http://messageformat.meteor.com/translate/af
  • 由加迪,流星大師活躍的社區傢伙

TAP國際化

https://github.com/TAPevents/

筆記寫的:

  • 基於i18next引擎
  • 使用AJAX來加載語言

的觀光

CONS? - 只JSON格式,沒有YAML,這樣繁瑣的編輯 - 沒有WEBUI管理字符串

還有一些其他的項目,如https://github.com/Nemo64/meteor-translator 但上述兩個似乎是最徹底的。我錯過了其他人嗎?

當選擇正確的工具時,人們使用了哪些其他標準? messageFormat與i18next的基礎技術似乎是一個因素。

問題:在頁面

1)多國語言

我試圖做一個雙語的應用程序,但:

點擊:「只有需要翻譯當前客戶端的語言是通過電線發送「

這是否意味着語言只能是A或B,但不是混合,自動切換基於會議?

即如何提供幫助者在頁面中有多個翻譯

EN: {{tr "string", 'en'}} 
    FR: {{tr "string", 'fr'}} 

2)提取動態數據

至少MessageFormat中的項目將捕捉/靜態網頁中提取字符串,但如果我有一個很多內容已經存在於複雜的mongo集合中,有沒有辦法捕捉這個?

感謝您對於此軟件包創作者或其他人的任何見解。

+0

您還可以使用http://l10ns.org翻譯您的應用程序。 – einstein 2014-10-17 08:36:45

回答

3

這聽起來像你已經下定了決心。 ;)

如何提供在頁面助手有多個翻譯

在MessageFormat中你沒有需要爲每種語言特別助手。您只需在您的模板中爲您的「基本」語言定義您的密鑰和價值一次 - 讓我們說英語。稍後,您可以使用MessageFormat基於Web的翻譯工具爲法語,西班牙語等添加其他字符串。

要選擇語言,只需簡單地設置語言環境,以便您可以在客戶端添加下拉列表這可以由您的用戶完成。

見的setLocale: http://messageformat.meteor.com/docs#methods

,如果我有很多已經在複雜蒙戈集合的內容,有沒有辦法捕捉到這一點?

我真的需要知道更多關於您的應用程序的細節來回答您可能如何做到這一點。 MessageFormat只是創建一個messageformat.js文件的函數,所以你可以直接修改該文件,但它會在下次運行mf_extract時被覆蓋。所以我認爲你只需要獲取應用中定義的名稱/值對即{{mf'admin.dashboard.title''Dashboard'}}。但是,如果你有一些方法可以將當前的'內容'映射到這些密鑰,那麼你可以將這些內容加載到mfstrings集合中,或者編寫代碼將它們拉入到mfAll.js中。 。 。

我們爲所有Meteor應用程序使用MessageFormat並喜歡它。我沒有TAP i18n的經驗,但MessageFormat似乎能很好地滿足我們的需求(我們正在做日語,英語,中文)。

我建議你把它添加到你的項目中,或者將它與一個測試項目一起使用來獲得一些經驗,然後你可以決定你喜歡它。只要確保你閱讀了關於mf_extract或你會卡住。

+0

如果您有任何問題,我會盡量回答他們! – 2014-11-06 16:54:31