2015-05-12 88 views
0

我想在smarty文件中使用jQuery時翻譯一些術語。 這是我的jQuery代碼:在prestashop中使用jquery翻譯

else { 
    $("#message").val("{l s='Please try to be clear.'}"); 

這句話出現在我的網頁完全一樣{l s='Please try to be clear.'},不考慮轉換模式。

我知道我可以使用js = 1當我在一個JavaScript代碼中,但它不適用於我。 有沒有人有關於如何在jQuery函數中使用翻譯的想法?

回答

1

它使用周圍JS塊{literal}標籤良好做法:

{literal} 
<script> 
/... 
</script> 
{/literal} 

但是,當你需要插入一些智者成JS塊,它不會工作; 爲了使它工作,你需要做的關閉並重新打開標籤(看起來像一個黑客:)

{literal} 
<script> 
    var txt = '{/literal}{l s='Some text'}{literal}' 
</script> 
{/literal} 

另外在的Prestashop模板,你會發現一點點;

{strip} 
{addJsDefL name=translation_6}{l s='Not found' js=1}{/addJsDefL} 
{/strip} 

,這將創造

var translation_6 = 'Not found'; 
在你的身體

,這將您能夠使用

+0

有一個小問題:當我做翻譯它沒有考慮到特殊字符 – manu

+0

這可能是一個單獨的問題。什麼樣的人物?特殊字符可能會有問題,是的,他們應該避免翻譯 – gskema

+0

像'é'或'ç'當我翻譯它是編碼,但只包含在JavaScript中的消息,其他翻譯工作正常與特殊字符 – manu

1

也許包圍你的JS腳本在literal將幫助:

{literal} 

//JS code 

{/literal}