2014-03-19 40 views
0

IM在jquerymobile項目工作使用本地化庫i18Next

HTML代碼jQuery Mobile的按鈕樣式是失去了對本地化

<div id="messageboxPage" data-role="page" data-theme="a"> 
    <div data-role="header" data-theme="a"></div> 
    <div id="messagePage" data-role="content" data-theme="a"> 
     <div class="barContainer" id="barContainer"> 
      <div class="ui-bar ui-bar-b ui-btn-corner-all" style=" margin-top: 40px; padding-left: 0px;padding-right:10px; "> 
       <div style="float: left; width: 30%;"> <a href="#" id="aNo" onclick="SetActive('aNo')" class="LnkButton" data-theme="a" data-role="button" data-inline="true" data-mini="true">Cancel</a> 
       </div> 
       <div style="float: left; width: 30%;padding-left: 6%; padding-right: 2%;"> <a href="#" id="aAccept" onclick="Supprimer();" data-theme="a" class="LnkButton" data-role="button" data-inline="true" data-mini="true">Delete</a> 
       </div> 
       <div style="float: right; width: 30%;"> <a href="#" id="aReply" onclick="Reply();" data-theme="a" class="LnkButton" data-role="button" data-inline="true" data-mini="true">Reply</a> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

js代碼

window.opts = { 
    lng: 'fr', 
    getAsync: true, 
    // fallbackLng: 'en', 
    ns: { 
     namespaces: ['ns.controls'], 
     defaultNs: 'ns.controls' 
    }, 
    useLocalStorage: false, 
    debug: true 
}; 
$.i18n.init(opts).done(function() { 
    alert('i18n init function'); 
    $('#aNo').text("No Merci!"); 
    $('#aAccept').text("Supprimer"); 
    $('#aReply').text("Respondre"); 
    $('#messageboxPage').trigger('pagecreate'); 
}); 

$(document).ready(function() { 
    alert('messagebox document ready'); 
}); 

現在的問題是文本更改,但按鈕樣式是失去了第二個問題設置文本與標籤我已經嘗試頁面創建觸發器,但它不工作你建議。 這裏工作jsfiddle

回答

0

要更改必須修改.ui-btn-text元素的文本,比span > span東西好得多一個按鈕上的文字:

$('#aNo .ui-btn-text').text("No Merci!"); 
$('#aAccept .ui-btn-text').text("Supprimer"); 
$('#aReply .ui-btn-text').text("Respondre"); 

Fiddle

0

這個工作對我來說

$.i18n.init(opts).done(function() { 
    alert('i18n init function'); 
    var message_type = 0; 
    if (message_type == "0") { 
     alert('from 0'); 
     $('#lblTo').text("from 0"); 
    } else if (message_type == "1") { 
     alert('to 1'); 
     $('#lblTo').text("to 1"); 
    } else if (message_type == "2") { 
     alert('from 2'); 
     $('#lblTo').text("from 2"); 
    } 

    $('lblDate').text($.t('Messagebox.lblDate')); 
    $('lblSubject').text($.t('Messagebox.lblSubject')); 


    //////////////////////////this is where i was wrong 
    $('#aNo > span > span').text("No Merci!"); 
    $('#aAccept > span > span').text("Supprimer"); 
    $('#aReply > span > span').text("Respondre"); 
    /////////////////////////// 

    $('#messageboxPage').trigger('pagecreate'); 
});