@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 создаешь файл перевода. По названию Поедит можно загуглить подробнее, но главное сказал
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы