Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

Всем доброго времени суток, форумчане. Такой вопрос: Как в файле 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
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.