2013-11-21 111 views
0

我使用i18next翻譯我的應用程序,但它只翻譯應用程序的一部分。使用i18next翻譯應用程序

在我的應用程序中,我使用coffeescript與擴展名Craftyjs,雖然有些東西作爲按鈕和一些文字已翻譯,其他沒有。什麼沒有轉化

一個例子是:

btnLearn.replace '<div id="learn-mode" class="learw">#{__("LEARN HERE")}</div>' 

但這並很好的解讀:

btnWrapper.replace """ 
    <div class="btn-golden" id="teach"><i class="btn-goldenw"></i><span class="btn-goldenw-body">#{__("&nbsp;TEACH HERE&nbsp;")}</span><i class="btn-goldenw-right"></i></div> 
""" 

任何想法,我能做些什麼,以獲得正確的翻譯呢?

回答

0

我懷疑問題是__("LEARN HERE")內:

'<div id="learn-mode" class="learw">#{__("LEARN HERE")}</div>' 

不是一個函數調用,它只是一個字符串。從fine manual

串插座字符串和塊註釋

紅寶石風格的字符串插值包括在CoffeeScript的。雙引號字符串允許插值,使用#{ ... },單引號字符串是文字。

所以#{...}沒有做串插單引號字符串內部和國際化的工具將需要看到__("LEARN HERE")電話。更改您的報價,以允許字符串插值和事情應該更好地工作:

btnLearn.replace "<div id=\"learn-mode\" class=\"learw\">#{__("LEARN HERE")}</div>" 
btnLearn.replace "<div id='learn-mode' class='learw'>#{__("LEARN HERE")}</div>" 
#...