function getText(text, lang) { var text = text || ''; var lang = lang || ''; // Builds regex based on supplied language var re = new RegExp("<!--:" + lang + "-->(.*?)<!--:-->"); // Returns first backreference var control = text.match(re); if (control !== null) { control = control[1] } else { control = null;} return control; } //establecer la cadena var str= "<!--:es-->candena en español áéíöüñ<!--:--><!--:fr-->Qu’est-ce que je dis quand je veux m'excuser ?<!--:--><!--:en-->A long time ago.<!--:-->"; //======================= cambiar idioma es, en , fr var lang = 'fr'; $('#output').html('idioma selecionado (' + lang +')'); $('#output').append('<br \>' + getText(str,lang)); /* Variante idioma por defecto: defaultLang = variable con el idoma por defecto entre es, en ,fr lang = idioma que no este dentro de la cadena */ var defaultLang = 'en'; lang = 'ca'; $('#output2').html('a' + getText(str,'ca')); if (getText(str,lang) === null) { $('#output2').html('idioma (' + lang + ') no encontrado'); $('#output2').append('<br />idioma por defecto (' + defaultLang + ') ' + '<br \>' + getText(str,defaultLang)); } else { $('#output2').html(getText(str,lang)); }
<h3>Javascript similar al plugin Qtranslate de wordpress</h3> <div id="output"></div> <h4>Variante idioma por defecto</h4> <p>Variantes para mostrar una cadena con el idioma por defecto en caso de no encontrar el especifico</p> <div id="output2"></div>