Коллеги, каким способом вы делаете мультиязычность? Разговор идет про какие то самые простые решения, но в тоже время самые удобные.
У меня есть предложение: сделать таким образом: в template писать как-то так {{=меню}}, далее консольная команда собирает все значения для перевода и делает такой файл: en.js, который содержит массив
[‘меню’] = ‘menu’
На мой взгляд это позволит быстро и просто делать переводы.
Нужно как-то обрабатывать шаблон этой JS-библиотеки в Template7, т.е. скомбинировать их.
Не нашел там категорий, это нужно, например, когда одно слово на русском языке может иметь два разных слова на английском (в зависимости от контекста).
Допустим, базовый язык - русский, делаем перевод на английский и немецкий.
Везде пишем $t(‘Привет, дорогой {username}’, { username: ‘John’ }) Никаких констант не нужно ни в файле ни в голове держать.
В любой момент времени вызываем консольную команду, она делает файлы:
en.js и de.js
В этих файлах массив: m['Привет, дорогой {username}'] = ''; //Пусто
Переключаем в F7 язык на английский, теперь если соответствующий элемент массива в en.js не пустой, значит есть перевод и происходит автозамена, ну а если поле пустое, то замены нет.
Тоже самое, если такая строка встречается много где, то нужно также помнить что там было, иначе лишний пробел или другое окончание будет генерировать другие локали