Здравствуйте, такая проблема. У меня есть сайт, на котором можно выбирать рус или англ версию. Раньше перевод для англ версии сайта я осуществлял с помощью такого условия: Код (Text): <?php if (SITE_ID == 'en') { ?> Hello <?php } else { ?> Привет <?php }?> Недавно я добавил динамические таблицы, в которых элементы поиска, фильтра находятся внутри js файла: Как мне можно сделать перевод этих элементов?
Обычно в подобных случаях делаются файлы локализации (в виде объектов). В js передаете значение языка, и в зависимости от этого подключаете нужный языковой файл. А в сам скрипт, вместо статических надписей подставляете свойства языкового объекта. Ну или, если надписей немного, и всего 2 языка, то можно сделать все в одном файле.
В html шаблоне получаете переменную из PHP HTML: <script> var lang = '<?= $lang ?>'; </script> И потом с ней можно будет работать в js файле. Делаете вот такой объект с переводами Код (Javascript): var local = { 'en' : { 'paginationPrev' : 'Prev', 'paginationNext' : 'Next', 'searchText' : 'Search', 'perPageText' : 'Show', 'pageText' : 'Pages' }, 'ru' : { 'paginationPrev' : 'Предыдущая', 'paginationNext' : 'Следующая', 'searchText' : 'Поиск', 'perPageText' : 'Показывать', 'pageText' : 'Страницы' } } А в самом скрипте подставляете свойства этого объекта, но вместо языка, указываете переменную Код (Javascript): 'paginationPrev' : local[lang]['paginationPrev'], 'paginationNext' : local[lang]['paginationNext'], 'searchText' : local[lang]['searchText'], 'perPageText' : local[lang]['perPageText'], 'pageText' : local[lang]['pageText']