如何翻译几个PHP文件

时间:2015-09-15 13:34:50

标签: javascript php jquery xml translate

我正在使用包含翻译的xml文件开发一个包含多个php文件的网站。目的是用户在第一页中选择所需的语言,然后所有其他页面都以所选语言显示。

我正在使用此文件idioma.js来接收所选语言的id并读取要翻译的xml文件。

$('input').click(function() {
    language = $(this).attr('id');
    $.ajax({
        type: "post",
        url: 'validarporto.php',
        data: {
            'language': language
        },
        success: function(data) {
            //alert("---"+data);
        }
    });
    $.ajax({
        url: 'traducao.xml',
        success: function(xml) {
            $(xml).find('traducao').each(function() {
                var id = $(this).attr('id');
                var text = $(this).find(language).text();
                $("." + id).html(text);
            });
        }
    });
});

通过按下具有所需语言的按钮,可以通过onclick调用此功能。这很好。

这些是我在index.php中选择语言的按钮

  <form method="post" name='idioma' id='idioma'>
    <input type="button"  class="btn btn-primary sharp outline" onclick='function()'value='PT' id='pt' name='pt'></input>
    <input type="button"  class="btn btn-primary sharp outline" onclick='function()'value='EN' id='en' name='en'></input>
    <input type="button"  class="btn btn-primary sharp outline" onclick='function()'value='ES' id='es' name='es'></input>
  </form>

问题是现在。我需要保存该ID并将其传递给下一个php文件,以自动将页面转换为用户,而不必强迫用户单击按钮中的其他时间。

我的traducao.xml文件有一点点:

<?xml version="1.0" encoding="UTF-8"?>
<traducoes>
    <traducao id='titulo1'>
        <pt>A melhor maneira de conhecer o melhor do Porto!</pt>
        <en>The best way to know the best in Porto!</en>
        <es>La mejor manera de experimentar lo mejor de Porto!</es>
    </traducao>
    <traducao id='titulo2'>
        <pt>Entradas gratuitas e descontos em mais de 100 atrações.</pt>
        <en>Free entries and discounts at over 100 attractions.</en>
        <es>Entrada gratuita y descuentos en más de 100 lugares de interés.</es>
    </traducao>
    <traducao id='titulo3'>
        <pt>Conheça mais, poupe mais!</pt>
        <en>Learn more, save more!</en>
        <es>Obtenga más, ahorrar más!</es>
    </traducao>

2 个答案:

答案 0 :(得分:0)

您可以在第一次单击按钮时将语言ID保存在$ _SESSION变量中,以便以后可以访问它。

答案 1 :(得分:0)

一旦验证了端口(第一个Ajax请求),就响应为什么不调用下一个函数?

$('input').click(function () 
{
  language=$(this).attr('id');
  $.ajax({
    type:"post",
    url:'validarporto.php',
    data: {'language':language},
    success: function(data){
      //alert("---"+data);
      nextstep(language);
    }
  });

function nexstep(language){
      $.ajax
  ({
    url:'traducao.xml',
    success:function(xml)
    {
      $(xml).find('traducao').each(function()
      {
        var id = $(this).attr('id');
        var text = $(this).find(language).text();
        $("."+ id).html(text);
      });
    }
  });
}

});