Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


 Share

Recommended Posts

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

 

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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

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

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

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

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

 

Link to comment
Share on other sites

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

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

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

 

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

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites

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

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

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

 

Link to comment
Share on other sites


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

if ($lang == 'ua') {

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

} else {

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

}

Как вариант

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

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

типа

 

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

 

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

 

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

 

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

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

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

Link to comment
Share on other sites

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

 

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

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

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

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

Цитата

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

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

 

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

Link to comment
Share on other sites


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

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

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

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

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

 

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

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

 

Link to comment
Share on other sites

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

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

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

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

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

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

Edited by florapraktik
  • +1 1
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.