@seredaes

Как реализовать задачу мультиязычности в форме?

Привет народ.

Есть такое POPUP окно которое выплывает сбоку.
7798438edd174b3192a611ba69221125.png

При выборе языка, выделенным зеленым поля скрываются и открываются другие поля для соответствующего языка.
Итого: 6 полей для 5 языков - 30 полей. Каждое поле нужно считать и передать в PHP, там его обработать и записать в БД. Все это один продукт, но с разными языками. Языков может добавить, и каждый раз придется переписывать код обработки

Может кто знает как сделать поле select с языками и всего 6 полей, а после записывать все это под одним ID?

Я вижу такое решение: 6 полей + селект с языком (только одним)! После открываться добавленный товар, нажимать редактировать и там уже можно выбирать другие языки (id товара будет известен и смогу записывать в бд с одним ID но разными языками)

Если у кого есть лучший вариант, расскажите!
Хотя мне все приводят пример WordPress и других, мол там вкладками делают, с кучей полей и тд...
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ответы на вопрос 3
petermzg
@petermzg
Самый лучший программист
На изменение в select делаете ajax запрос на сервер. Получаете перевод к нужному языку.
Далее у элементов label, ведь через них у вас реализовано отображение названий полей, меняете содержимое (наименование поля) на полученное значение.
Примерный код.
// Полученный JSON 
{ 'lb_cat': 'категория', 'lb_name': 'название' };
// Затем условно.
$('#' + 'lb_cat').text(value);

ID элемеентов формы тут не затронуты
Ответ написан
Комментировать
@VanKrock
Можно засунуть используемый язык пользователя в cookies если от пользователя не требуется работать на сайте с разными языками, если требуется, то как у вас. Названия полей записаны в lables? Можно задать их как переменные и запрашивать с сервера на том языке, на котором нужно. Названия полей хранить в базе. Если нужен будет новый язык, то просто добавите в базу и все. В общей переменная поля и переменная названия поля. Ну и на сервер передавать значения полей и выбранный язык.
Ответ написан
Комментировать
victorzadorozhnyy
@victorzadorozhnyy
echo '<h2>' . esc_html__( 'Blog Options', 'my-text-domain' ) . '</h2>';

_() function так называемае. Переменные в PO загоняешь и для каждого потом на Poedit создаешь файл перевода. По названию Поедит можно загуглить подробнее, но главное сказал
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы