myei-translatejs
Version:
A JavaScript plugin that makes easy to manage multiple languages on a website
1 lines • 1.2 kB
JavaScript
var Translate=function(n){var e={lang:"es",prefix:"lang_",className:"translate"},t=this,r=function(n){e=Object.assign(e,n),o(e.lang),l()?i():console.error("[translate.js] Objeto de idioma `"+e.prefix+e.lang+"` no encontrado. Por favor incluya los archivos de idioma.")},a=function(){return(navigator.language||navigator.userLanguage).substr(0,2)},o=function(n){t.lang="browser"===n.toLowerCase()?window[e.prefix+a()]:window[e.prefix+n]},l=function(){return!!t.lang},s=function(){return e.lang},i=function(){var n,t;document.querySelectorAll("."+e.className).forEach(function(e){var r=Object.keys(e.dataset).filter(function(r){if(!r.indexOf("translate"))return n=r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase().split("-"),t=n.length>1?n[1]:"input"===e.nodeName.toLowerCase()?"placeholder":"innerHTML",e[t]=c(e.dataset[n.length?r:"translate"]),r});0===r.length&&console.warn("[translate.js] No se encontró atributo `data-translate*` en el campo:",e)})},c=function(n){var e=n.split(".").reduce(function(n,e){return n[e]||""},t.lang||[]);return 0===e.length&&console.error("[translate.js] No se encontró el keyword:",n),e};return r(n),{getLang:function(){return s()},get:function(n){return c(n)}}};