Изменить оповещение в зависимости от языка?

0

Я создал функцию всплывающих окон для рассылки новостей, которая позволяет пользователю подписаться на рассылку, которая отправляется, появляется предупреждение, если пользователь пытается щелкнуть мышью по отправке без ввода адреса электронной почты сначала, однако мне нужно это сообщение /alert для изменения в зависимости от страны, в которой они находятся, например, если они находятся на итальянском сайте, мне нужно, чтобы это сообщение было на итальянском языке, мой текущий код:

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 ответа

2

В интерфейсе:

Для меня простой способ состоит в том, чтобы иметь javascript, сгенерированный вашей обратной стороной (например, PHP), чтобы иметь что-то вроде:

<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'].

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; ?>');
 //.....

Ещё вопросы

Сообщество Overcoder
Наверх
Меню