2013-06-02 139 views
0

我有一個顯示一些文字在JavaScript像下面的模塊:Magento的翻譯文件

     success: function (data) { 
          $('#contact-container .contact-loading').fadeOut(200, function() { 
           $('#contact-container .contact-title').html('Thank you!'); 
           msg.html(data).fadeIn(200); 
          }); 
         }, 

我怎麼會去加入這個文本變成我的翻譯文件?

感謝

回答

0

不幸的是Magento的翻譯系統不能支配Javascript文件(因爲它應該)。

處理這種情況的一種方法是使用默認外觀文件夾來存儲CSS和JS,以便您的不同stoer視圖回退到此文件夾,並且您將在默認文件夾中進行所有CSS更改。然後,例如,在德國商店視圖中,將System >> Config >> Design下的Skin (Images/CSS)文件夾指定爲例如。 german

我們基本上已經是一個備用系統,你可以上傳德國JavaScript文件到該文件夾​​,並同樣用不同的語言其他商店的意見。

您每個商店不需要不同的所有其他資產都位於默認文件夾下,因此不需要上傳x次數,其中x是商店數量。

希望這是有道理的,讓我知道如果它不!

+0

是的,我明白你的意思了,因爲我發現有點類似於你說的話,但不是很好。 JS文件不在主題中,而是在根js文件夾中,所以我複製它並給它一個新名稱(contact-es.js),然後在該語言的XML佈局中添加新的文件名。有用。 – qrs

+0

@Freejoy是的,這是另一個好辦法。你也可以編輯head.phtml並使其在'

1

你將不得不用PHP生成這個文檔(並通過Magento的翻譯工具傳遞它),或者引用一個你在其他地方通過PHP生成的JS中的變量。

這類似於其在應用程序/設計/ adminhtml /默認/缺省的/模板/頁面設置BLANK_URL和BLANK_IMG變量/ head.phtml

<script type="text/javascript"> 
    var BLANK_URL = '<?php echo $this->getJsUrl() ?>blank.html'; 
    var BLANK_IMG = '<?php echo $this->getJsUrl() ?>spacer.gif'; 
    var BASE_URL = '<?php echo $this->getUrl('*') ?>'; 
    var SKIN_URL = '<?php echo $this->getSkinUrl() ?>'; 
    var FORM_KEY = '<?php echo $this->getFormKey() ?>'; 
</script> 

事實上,將有可能在佈局XML中聲明和翻譯此腳本。另一種選擇是翻譯版本,它依賴主題回退 - 我傾向於更喜歡DRY,尤其是當翻譯是唯一的區別時。

+0

謝謝你的回覆,我很高興你提到了這一小段代碼:<?php echo $ this-> getFormKey()?>我想我需要它。:) – qrs