За последние 24 часа нас посетили 34838 программистов и 1697 роботов. Сейчас ищут 689 программистов ...

Условие для перевода элементов на англ

Тема в разделе "PHP для новичков", создана пользователем mas-web, 12 июл 2019.

  1. mas-web

    mas-web Новичок

    С нами с:
    12 июл 2019
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте, такая проблема. У меня есть сайт, на котором можно выбирать рус или англ версию. Раньше перевод для англ версии сайта я осуществлял с помощью такого условия:
    Код (Text):
    1. <?php if (SITE_ID == 'en') { ?>
    2.     Hello
    3. <?php } else { ?>
    4.     Привет              
    5. <?php }?>
    Недавно я добавил динамические таблицы, в которых элементы поиска, фильтра находятся внутри js файла:
    [​IMG]

    Как мне можно сделать перевод этих элементов?
     
  2. master-web

    master-web Новичок

    С нами с:
    29 май 2019
    Сообщения:
    44
    Симпатии:
    16
    Обычно в подобных случаях делаются файлы локализации (в виде объектов).
    В js передаете значение языка, и в зависимости от этого подключаете нужный языковой файл. А в сам скрипт, вместо статических надписей подставляете свойства языкового объекта.
    Ну или, если надписей немного, и всего 2 языка, то можно сделать все в одном файле.
     
  3. mas-web

    mas-web Новичок

    С нами с:
    12 июл 2019
    Сообщения:
    4
    Симпатии:
    0
    Вы можете подробнее расписать как это сделать?
    Да надписи те, что на скрине и язык один.
     
  4. master-web

    master-web Новичок

    С нами с:
    29 май 2019
    Сообщения:
    44
    Симпатии:
    16
    В html шаблоне получаете переменную из PHP
    HTML:
    1.     var lang = '<?= $lang ?>';
    И потом с ней можно будет работать в js файле.
    Делаете вот такой объект с переводами
    Код (Javascript):
    1. var local = {
    2.     'en' : {
    3.         'paginationPrev' : 'Prev',
    4.         'paginationNext' : 'Next',
    5.         'searchText' : 'Search',
    6.         'perPageText' : 'Show',
    7.         'pageText' : 'Pages'
    8.     },
    9.     'ru' : {
    10.         'paginationPrev' : 'Предыдущая',
    11.         'paginationNext' : 'Следующая',
    12.         'searchText' : 'Поиск',
    13.         'perPageText' : 'Показывать',
    14.         'pageText' : 'Страницы'
    15.     }
    16. }
    А в самом скрипте подставляете свойства этого объекта, но вместо языка, указываете переменную
    Код (Javascript):
    1. 'paginationPrev' : local[lang]['paginationPrev'],
    2. 'paginationNext' : local[lang]['paginationNext'],
    3. 'searchText' : local[lang]['searchText'],
    4. 'perPageText' : local[lang]['perPageText'],
    5. 'pageText' : local[lang]['pageText']
     
    Valick нравится это.
  5. mas-web

    mas-web Новичок

    С нами с:
    12 июл 2019
    Сообщения:
    4
    Симпатии:
    0
    Спасибо!