7

我有2個帶有翻譯的Javascript文件,將根據用戶語言包含這些文件。這適用於大多數情況。但不適用於JQuery UI對話框中的Buttons對象。任何想法如何解決這個問題?在JQuery UI對話框中翻譯「按鈕」

if (data.status == 'success') { 
    options = { 
     buttons: { 
      CLOSE: function() { 
         $(this).dialog('close'); 
        } 
      } 
     }; 

CLOSE必須翻譯..

回答

8

創建按鈕對象是這樣的:

var myButtons = {}; 
myButtons[CLOSE] = function() { $(this).dialog('close'); }; 

if (data.status == 'success') { 
    options = { 
    buttons: myButtons 
    }; 
} 

編輯:更新後使用CLOSE變量。

+0

+1這是我如何在整個jQuery UI中進行翻譯。我們需要改變一些我們的代碼,但是像魅力一樣。 – balexandre 2011-04-08 06:15:03

+0

工程就像一個魅力,謝謝! – opHASnoNAME 2011-04-08 06:25:12

0

只要把引號中:P

if (data.status == 'success') { 
    options = { 
    buttons: { 
     'translated text for close': function() { 
        $(this).dialog('close'); 
       } 
     } 
    }; 
+0

翻譯存儲在JS文件中,如:var CLOSE ='Schließen';所以你的解決方案不會工作。 – opHASnoNAME 2011-04-08 06:13:42

3

two ways to specify buttons in a dialogsince 1.8.5)。其中只有一個對國際化有用。定義你的選擇是這樣的:

if (data.status == 'success') { 
    options = { 
     buttons: [{ 
      text: CLOSE, 
      click: function() { 
         $(this).dialog('close'); 
        } 
     }] 
    } 
} 

@ dioslaska的解決方案工作爲好,但我覺得這種方式更漂亮些。

+0

我更喜歡這個答案,因爲它是更明顯的翻譯來自何處。 – markbernard 2015-12-23 16:34:42

0

您必須修改對話框小部件的聲明jquery-ui JavaScript文件。

找到行

closeText: "Close", 

和替換 「關閉」 你的翻譯。