我创建了一个时事通讯弹出功能,允许用户注册发送的时事通讯,如果用户尝试在不先输入电子邮件地址的情况下单击“提交”,则会出现一条警报消息,但是我需要根据他们所在的国家/地区更改此消息/警报,例如,如果他们在意大利网站上,我需要此消息为意大利语,我当前的代码是:
this.signup = function() {
if ($('#emailsignup').val() == '') {
alert('Bitte geben Sie eine gültige E-Mail Adresse ein.');
} else {
$.ajax({
dataType: 'jsonp',
data: {
e: $('#emailsignup').val(),
s: 'leftsideform',
c: that.lang
},
jsonp: 'jsonp_callback',
url: 'http://karina.com/######',
success: function (response) {
if (response.success === true) {
$('#emailsignup').val('');
}
if (response.callback.data != '') {
alert(response.callback.data);
}
}
});
}
}
最佳答案
在前端:
对我来说,简单的方法是让你的后端(例如 PHP)生成一个 javascript,以获得类似的内容:
<script>
translation.error = "BLA BLA BLA";
</script>
该脚本将以您想要的语言打印该变量。然后在您的代码中您只需这样调用它:
alert(window.translation.error);
在警报中显示错误。
使用当前代码,您将语言变量传递到服务器,并且希望在出现问题时返回错误消息。在 PHP 中,您可以拥有具有不同翻译的不同文件,例如:
/langs/en.php
/langs/it.php
/langs/...
结构如下:
<?php
$trans = array("Error" => "Error message");
根据语言,您可以包含其中一个文件并返回翻译后的文本,例如:$trans['error']。
关于javascript - 根据语言更改警报消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20660578/