Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Как в файле .js вставить текст с языкового файла или сделать его мультиязычным


 Поделиться

Рекомендованные сообщения

Всем доброго времени суток, форумчане. Такой вопрос: Как в файле exampl.js вставить текст с языкового файла? Дело в том, что есть файл .js, в котором при определенных условиях вылетает алерт. Текст этого алерта написан прям в файле. Сейчас встал вопрос о мультиязычности сайта, и уже текст будет только на одном языке. Надо чтобы этот текст алерта менялся при смене языка.

 

Всем заранее благодарен!!!

Ссылка на комментарий
Поделиться на других сайтах


<script>
var my_text = {{ my_text }}

</script>

exampl.js
текст берем из my_text

Или же, если известен блок, куда вылетает алерт
то через атрибуты data-my_text

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

10.11.2022 в 22:40, chukcha сказал:

<script>
var my_text = {{ my_text }}

</script>

exampl.js
текст берем из my_text

Или же, если известен блок, куда вылетает алерт
то через атрибуты data-my_text

Благодарю за ответ!

 

я так понимаю текст из my_text - это такой же файл .php, как и остальные языковые? или что-то не так понял? 

и как связать exampl.js с текстом, который берем из my_text

Ссылка на комментарий
Поделиться на других сайтах


10.11.2022 в 23:03, AnGera сказал:

я так понимаю текст из my_text - это такой же файл .php, как и остальные языковые? или что-то не так понял? 

и как связать exampl.js с текстом, который берем из my_text

Я не понимаю организацию твоего exampl.js

Откуда он получает алертс? Если связка с пхп, то сообщение должно отправляться с учетом языковой переменной в пхп. 

 

Ссылка на комментарий
Поделиться на других сайтах

11.11.2022 в 01:51, esculapra сказал:

Я не понимаю организацию твоего exampl.js

Откуда он получает алертс? Если связка с пхп, то сообщение должно отправляться с учетом языковой переменной в пхп. 

 

Шаблон так написан, что при нехватке товара в этом exampl.js идет вылет алерта типа - "Не хватает товара". Менять шаблон не хотелось бы. А вот заменить этот текст на переменную с языкового файла было бы хорошим решением, чтобы в последующем при добавлении языка, делать правку, соответственно только в языковом файле

Ссылка на комментарий
Поделиться на других сайтах


11.11.2022 в 07:41, AnGera сказал:

Шаблон так написан, что при нехватке товара в этом exampl.js идет вылет алерта типа - "Не хватает товара". Менять шаблон не хотелось бы. А вот заменить этот текст на переменную с языкового файла было бы хорошим решением, чтобы в последующем при добавлении языка, делать правку, соответственно только в языковом файле

Ну значит предупреждение подтягивается из какого-то контроллера? Или жестко вшито в скрипт?

Ссылка на комментарий
Поделиться на других сайтах

11.11.2022 в 09:35, esculapra сказал:

Ну значит предупреждение подтягивается из какого-то контроллера? Или жестко вшито в скрипт?

Именно что он в самом скрипте сидит

 

Ссылка на комментарий
Поделиться на других сайтах


11.11.2022 в 08:47, AnGera сказал:

Именно что он в самом скрипте сидит

 

Почитай статью https://www.peterspython.com/ru/blog/iazykovye-faily-flask-babel-i-javascript?theme=lux

Ссылка на комментарий
Поделиться на других сайтах

11.11.2022 в 07:41, AnGera сказал:

Менять шаблон не хотелось бы.

Это необходимо.

Ссылка на комментарий
Поделиться на других сайтах

Можно конечно пожестить и подгружать разные скрипты в зависимости от языковой версии, если нужно найти быстро срочное решение. Что-то по типу:

if ($lang == 'ua') {

подключаем fileua.js

} else {

подключаем  fileru.js

}

Как вариант

Ссылка на комментарий
Поделиться на других сайтах


Но лучше в этом срипте зацепиться за lang и делать проверку прям в файле exampl.js.
Если я правильно понял задачу

Ссылка на комментарий
Поделиться на других сайтах


в теге html есть атрибут языка

типа

 

<html dir="ltr" lang="ru">

 

ну и в js типа такой магии

 

var myArray = { 
  "ru": "рус",
  "uk": "укр"
}

 

и по ключу бери текст

Ссылка на комментарий
Поделиться на других сайтах

11.11.2022 в 18:01, spectre сказал:

в теге html есть атрибут языка

типа

 

<html dir="ltr" lang="ru">

 

ну и в js типа такой магии

 

var myArray = { 
  "ru": "рус",
  "uk": "укр"
}

 

и по ключу бери текст

а если там еще есть языки?

можно тупо, одному общему блоку, например body дать атрибут data-

Ссылка на комментарий
Поделиться на других сайтах

11.11.2022 в 18:05, chukcha сказал:

а если там еще есть языки?

<html dir="<?php echo $direction; ?>" lang="<?php echo $lang; ?>">

Ссылка на комментарий
Поделиться на других сайтах

11.11.2022 в 18:07, spectre сказал:

<html dir="<?php echo $direction; ?>" lang="<?php echo $lang; ?>">

Не важно как ...
важно, чтобы текста не было в скрипте

Ссылка на комментарий
Поделиться на других сайтах

10.11.2022 в 23:03, AnGera сказал:

 

я так понимаю текст из my_text - это такой же файл .php, как и остальные языковые? или что-то не так понял? 

я так понял, что my_text, это языковая переменная, которая прописана в соответствующем языковом файле (вы её и должны прописать). 

Потом вы должны передать её в соответствующем котроллере

И тогда яваскрипт её увидит и прочитает.

Цитата

и как связать exampl.js с текстом, который берем из my_text

 exampl.js видит все переменные пхп этой страницы. И любые переменные пхп доступны внутри яваскрипта. 

 

Но, это не точно))) я не программист. Просто попробуйте!

Ссылка на комментарий
Поделиться на других сайтах


11.11.2022 в 22:24, florapraktik сказал:

я так понял, что my_text, это языковая переменная, которая прописана в соответствующем языковом файле (вы её и должны прописать). 

Потом вы должны передать её в соответствующем котроллере

И тогда яваскрипт её увидит и прочитает.

 exampl.js видит все переменные пхп этой страницы. И любые переменные пхп доступны внутри яваскрипта. 

 

Но, это не точно))) я не программист. Просто попробуйте!

рад тебе видеть здесь!!!!

 

Ссылка на комментарий
Поделиться на других сайтах

Супер!!! Всем огромное спасибо, за хорошие советы! Сегодня буду тестировать. Надеюсь что-нибудь подберу.

Ссылка на комментарий
Поделиться на других сайтах


11.11.2022 в 22:28, chukcha сказал:

рад тебе видеть здесь!!!!

 

Дякую! Потроху відновлююсь та приходжу до тями:)

Изменено пользователем florapraktik
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


12.11.2022 в 07:19, AnGera сказал:

Сегодня буду тестировать. 

Дивіться, я семе зараз теж щось таке намагаюсь зрбить. Так ось.

Якщо я намагаюся зорбити це в JS файле, який підключаєтся в секціі head, то нічого з цого не виходить. Змінна JS отримує змінну php  у вигляді <?php echo $my_text; ?> У браузері воно все одно виглядає як потрібний текст, але, хтось його коментує (мабуть браузер, не знаю).

Але, якщо весь цей JS код вирізати з фйла і вставити внизу сторінки, то все чудово працює.

Може цей допис буде вам на користь)).

Изменено пользователем florapraktik
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.