2013-12-18 88 views
0

我已經創建了一個通訊彈出功能,允許用戶註冊發送的通訊,如果用戶嘗試點擊提交而不先輸入電子郵件地址,會有一條警告消息,但是我需要根據國家,他們都在,如果他們是在意大利網站改變此消息/警報,例如,我就需要這個消息是在意大利,我當前的代碼是:根據語言更改警報消息?

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); 
         } 
        } 
      }); 
    } 
} 

回答

2

在前端:

對我來說,簡單的方法是讓你的背面(例如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"); 

根據不同的語言,您可以包含的文件之一,並返回翻譯後的文本,如: $的反式[「錯誤」。

0
<?php 
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); 

    $langs_messages = array(
         'ru' => 'Ru alert', 
         'en' => 'En alert', 
          // others langs 
        ); 
    $lang_alert = $langs_message[$lang]; 
?> 

Javascript 

//..... 
if ($('#emailsignup').val() == '') { 
          alert('<?php echo $lang_alert; ?>'); 
//.....