Я использую Flask-Babel для перевода строки.перевод строки из базы данных flask-babel
В некоторых шаблонах я читаю строки из базы данных (postgresql). Как я могу перевести строки из базы данных с помощью Flask-Babel?
Я использую Flask-Babel для перевода строки.перевод строки из базы данных flask-babel
В некоторых шаблонах я читаю строки из базы данных (postgresql). Как я могу перевести строки из базы данных с помощью Flask-Babel?
Невозможно использовать Babel в переводах баз данных, поскольку контент базы данных является динамическим, а переводы babel статичны (они не менялись).
Если вы читаете строки из базы данных, вы должны сохранить переводы в базе данных. Вы можете создать таблицу переводов, что-то вроде (locale, source, destination) и получить переведенные значения с запросом.
Я предлагаю иметь технический код в базе данных. И в вашем HTML-файл (или предпочтительно HTML вы можете включить везде) у вас есть сценарий с переводами:
<script>
translations = { 'WillBringOwnFood': {{ _('Guest will bring their own food')}},
'WantToShareBathroom': {{ _('Guest would like to share bathroom with stranger')}} };
</script>
Теперь, когда вы получите инженерную строку, которую вы просто сделать поиск в вашем translations
словаре. Так .js файл будет выглядеть примерно так:
function receiveDBCallback(response) {
$('.guestWishes').text(translations[response]);
}
Затем вы можете использовать столпотворение, как обычно, чтобы извлечь ваши строки. И у вас будут все ваши переводы в том же файле .po/mo.
Спасибо! Это мне очень помогает –