i18next: test data-i18n and data-i18n-options for jQuery UI Button
http://gist.github.com/3352659
http://github.com/jamuhl/i18next/issues/29
HTML
<link rel="stylesheet" href="https://code.jquery.com/ui/1.8.18/themes/base/jquery-ui.css">
<script src="https://i18next.github.com/i18next/public/download/versions/i18next-1.11.2.min.js"></script>
<script src="https://gist.githubusercontent.com/jlgrall/3352659/raw/i18n-jqueryui-button.js"></script>
<button class="c b" data-i18n="buttonType" data-i18n-options='{"type":"button element"}'>Untranslated button element</button>
<input class="c b" type="submit" data-i18n="[value]buttonType" data-i18n-options='{"type":"submit button"}' value="Untranslated submit button">
<a href="#" class="c b" data-i18n="buttonType" data-i18n-options='{"type":"anchor"}'>Untranslated anchor</a>
<input class="c b" type="radio" id="radio" name="radio" /><label class="c" data-i18n="buttonType" data-i18n-options='{"type":"radio"}' for="radio">Untranslated radio</label>
<input class="c b" type="checkbox" id="checkbox" /><label class="c" data-i18n="buttonType" data-i18n-options='{"type":"checkbox"}' for="checkbox">Untranslated checkbox</label>
<br \>
<div id="appendButtons"></div>
<br \>
<button id="destroy">Destroy all jquery.ui widgets</button>
<div id="dialog">Dialog</div>
JavaScript
$.i18n.init({
resStore: {
dev: { translation: {
button: 'Translated',
buttonType: 'Translated: __type__'
} },
},
useDataAttrOptions: true
});
var uiButtons = $(".c").clone().appendTo($("#appendButtons").last()).each(function(i, elem) {
elem = $(elem);
elem.attr("id", elem.attr("id") + "Clone");
if(elem.is("[for]")) elem.attr("for", elem.attr("for") + "Clone");
}).filter(".b").button();
$("#destroy").click(function() {
uiButtons.button("destroy");
Elem_dialog.dialog("destroy");
});
var Elem_dialog = $("#dialog").dialog({
buttons: [
{
text: "This is untranslated",
"class": "button-ok",
"data-i18n": "buttonType",
"data-i18n-options": '{"type":"dialog /s button"}',
click: $.noop
}
]
}),
Elem_dialogWidget = Elem_dialog.dialog("widget"),
Elem_button = $(".button-ok .ui-button-text", Elem_dialogWidget);
$("html").i18n();