7

मेरे पास अनुवाद के साथ 2 जावास्क्रिप्ट फ़ाइलें हैं, जिन्हें उपयोगकर्ता भाषा के आधार पर शामिल किया जाएगा। यह ज्यादातर मामलों के लिए ठीक काम करता है। लेकिन एक JQuery UI संवाद के अंदर बटन ऑब्जेक्ट के लिए नहीं। इसे हल करने का कोई उपाय?JQuery UI संवाद में "बटन" का अनुवाद करें

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

बंद अनुवाद किया जाना चाहिए ..

उत्तर

8

बटन बनाएं इस तरह वस्तु:

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

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

संपादित करें: पर अपडेट किया गया बंद चर का उपयोग करें।

+0

+1 इस प्रकार मैं पूरे jQuery यूआई में अनुवाद करता हूं। हमें अपने कोड का थोड़ा सा बदलाव करने की जरूरत है, लेकिन एक आकर्षण की तरह काम करता है। – balexandre

+0

एक आकर्षण की तरह काम करता है, धन्यवाद! – opHASnoNAME

0

बस उद्धरण चिह्नों में में डाल: पी

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

अनुवाद जेएस फ़ाइल में संग्रहीत हैं जैसे: var CLOSE = 'Schließen'; तो आपका समाधान काम नहीं करेगा। – opHASnoNAME

3

two ways to specify buttons in a dialog (since 1.8.5) हैं। उनमें से केवल एक अंतरराष्ट्रीयकरण के लिए उपयोगी है। इस तरह अपने विकल्पों को परिभाषित करें:

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

@ dioslaska के समाधान के रूप में अच्छी तरह से काम करता है, लेकिन मुझे लगता है इस तरह खूबसूरत है।

+0

मैं यह उत्तर भी पसंद करता हूं क्योंकि यह अधिक स्पष्ट है कि अनुवाद कहां से आ रहे हैं। – markbernard

0

आपको jquery-ui जावास्क्रिप्ट फ़ाइल में संवाद विजेट की घोषणा को संशोधित करना होगा।

लाइन

closeText: "Close", 

ढूंढें और प्रतिस्थापित आपके अनुवाद के साथ "बंद"।

संबंधित मुद्दे