1 line
1.2 KiB
JavaScript
1 line
1.2 KiB
JavaScript
(function(t){var i="xtr";var a={"default":"en",lang:"en",regExp:{"":/\s/g,_:/[&<>"'`\/=]/g}};var e={defaultClass:"data-xtr-default",langClass:"data-xtr-lang",langKey:"data-xtr-key",langOrig:"data-xtr-original"};function s(i,s){s=s||{};this.$element=t(i);this.options=t.extend(true,{},a,s);this.selector="[xtr]";this.regExp=this.options.regExp;this.default=this.options.default;this.t=this.options.t;this.l=this.options.lang;this.$element.attr(e.langClass,this.l).attr(e.defaultClass,this.default);this.init()}s.prototype.lang=function(t){if(t&&t==="reset"){this.l=this.default}else if(t){this.l=t}this.init()};s.prototype.set=function(i){var a=t("["+e.langKey+'="'+i+'"]');var s=a&&a.attr(e.langOrig)||i;return this.t&&this.t[i]&&this.t[i][this.l]?this.t[i][this.l]:s};s.prototype.init=function(){var i=this;this.$element.attr(e.langClass,this.l);t(i.selector).add("["+e.langKey+"]").each(function(){var a=t(this);var s=a.attr(e.langKey);var n=a.attr(e.langOrig);var r=a.text();if(!s){s=r;for(var l in i.regExp){s=s.replace(i.regExp[l],l)}a.attr(e.langKey,s)}if(!n){a.attr(e.langOrig,r)}a.html(i.set(s))})};t.fn[i]=function(a){return this.each(function(){if(!t.data(this,"plugin_"+i)){t.data(this,"plugin_"+i,new s(this,a))}})}})(jQuery); |