如何翻译多个 php 个文件
How to translate several php files
我正在开发一个网站,其中包含多个 php 文件,并使用带有翻译的 xml 文件。目的是用户在第一页中选择所需的语言,然后所有其他页面都以所选语言显示。
我正在使用此文件 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>
您可以在第一次单击按钮时将语言 ID 保存在 $_SESSION 变量中,以便稍后访问它。
验证端口后(第一个 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);
});
}
});
}
});
我正在开发一个网站,其中包含多个 php 文件,并使用带有翻译的 xml 文件。目的是用户在第一页中选择所需的语言,然后所有其他页面都以所选语言显示。
我正在使用此文件 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>
您可以在第一次单击按钮时将语言 ID 保存在 $_SESSION 变量中,以便稍后访问它。
验证端口后(第一个 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);
});
}
});
}
});