-
Notifications
You must be signed in to change notification settings - Fork 1
/
jql10n.min.js
1 lines (1 loc) · 2.01 KB
/
jql10n.min.js
1
(function($){var c={path:"",dataFormat:'json',data:function(){return null},overwriteData:false,lang:function(){var a=window.navigator;var b;if(a){b=a.language||a.userLanguage||a.browserLanguage||"en-us"}else{b="en-us"}return b.toLowerCase()},queryData:{},writeType:"other"};function storeData(a){c.data=a||c.data}function translator(a,b){if(typeof b==='object'){for(v in b){$(a).attr(v,b[v])}}else{if(c.writeType=="prepend"){$(a).prepend(b)}else if(c.writeType=="append"){$(a).append(b)}else{$(a).html(b)}}}function setOptions(a){for(o in a){if(!(typeof c[o]in['undefined','object'])){c[o]=a[o]}else if(typeof c.o==='object'&&(typeof o==='object'&&o!==null)){$.extend(c.o,o)}}if(typeof c.lang==='function'){c.lang=c.lang()}c.queryData.lang=c.queryData.lang||c.lang}function translateElement(a){rdata=a||c.data;var b=null;if($(this).attr('data-l10n')){var v=$(this).attr('data-l10n');b=rdata[v]}else{b=rdata[$(this).attr('id')]}if(b!==undefined){translator(this,b)}if(rdata!==c.data){storeData(rdata)}}function translatePage(a){rdata=a||c.data;$('[data-l10n]').each(function(){var v=$(this).attr('data-l10n');var l=rdata[v];if(l!==undefined){translator(this,l)}});if(rdata!==c.data){storeData(rdata)}}function _throwError(a,b){$.error("Error retreiving resources from server. Server response "+b);}function __callServer(a,b){if(b){a=$.proxy(a,b)}if(c.overwriteData||typeof c.data==='function'){$.ajax({url:c.path,data:c.queryData,dataType:c.dataFormat,success:a,error:_throwError})}else{a()}}var d={init:function(a){setOptions(a);__callServer(translatePage)},translate:function(a){setOptions(a);__callServer(translateElement,this)},get:function(a){setOptions(a);__callServer(storeData)},set:function(a){setOptions(a)}};$.extend({jql10n:function(a,b){if(d.method){return d.method.apply(this,new Array(b))}else if(typeof a==='object'){return d.init.apply(this,new Array(a))}else{$.error('Method '+a+' not supported by jql10n')}return this}});$.fn.jql10n=function(a){var b=d.translate;if(a){return b.apply(this,new Array(a))}else{return b.apply(this)}}})(jQuery);