Odoo8: Как перевести контент сайта, добавленный пользователем из бэкэнда

Я сделал специальный модуль для odoo 8, который добавляет на сайт фотогалерею. Затем пользователь может добавлять изображения и описания из серверной части, которые будут автоматически отображаться в веб-интерфейсе.

Есть ли способ эффективно переводить тексты в odoo, которые добавляются «динамически» пользователем, например, описания изображений или описания продуктов? Я считаю, что посетитель может изменить язык во внешнем интерфейсе, и тогда правильный перевод должен отображаться рядом с изображением.

Или мне нужно иметь поле описания в серверной части для каждого языка, для которого я хочу поддерживать?

РЕДАКТИРОВАТЬ: в настоящее время галерея реализована таким образом

    <t t-foreach="photos" t-as="photo">
        <table style="width:90%" align="center">
        <tr>
            <td style="width:60%;"> <span t-field="photo.image" t-field-options='{"widget": "image"}' /> </td>
            <td style="width:40%; vertical-align:top;" >
                <font size="4" face="Comic Sans MS">
                <u><t t-esc="photo.name"/></u><br></br>  
                <t t-esc="photo.description" /> 
                </font>
            </td>
        </tr>
        </table>
    </t>

Есть ли способ перевести содержимое поля photo.description, а не только название?


person hallos    schedule 18.08.2016    source источник


Ответы (1)


Этого должно быть достаточно, чтобы поля описания переводились в бэкэнде. Просто добавьте translate=True к определениям полей. Я не знаю, как вы добавили галерею, но если это было сделано правильно, многоязычная поддержка должна работать с пользователями, которые вошли в систему! Все остальные пользователи веб-сайта (без входа в систему) должны видеть веб-сайт на языке по умолчанию.

person CZoellner    schedule 18.08.2016
comment
Галерея реализована так: ‹t t-foreach = photos t-as = photo› ‹table style = width: 90% align = center› ‹tr› ‹td style = width: 60%;› ‹span t-field = photo.image t-field-options = '{widget: image}' / ›‹/td›‹ td style = width: 40%; вертикальное выравнивание: сверху; ›‹ Размер шрифта = 4 лица = Comic Sans MS ›‹u›‹ t t-esc = photo.name / ›‹/u› ‹br› ‹/br›‹ t t-esc = photo.description / ›‹ / шрифт ›‹/td› ‹/tr› ‹/table› ‹/t› Я могу перевести названия полей, но есть ли способ перевести также и содержимое поля? - person hallos; 18.08.2016
comment
Как я уже писал, на вашей фотомодели добавьте translate=True в определение полей, которые вы хотите переводить. - person CZoellner; 18.08.2016
comment
Пример переводимого поля в Odoo - ›product.template name - person CZoellner; 18.08.2016
comment
Спасибо, что нашли время для ответа, и извините за мой беспорядочный ответ. Я добавил translate = True в определение поля. Но я до сих пор не понимаю, как я смогу перевести содержимое поля. Если я попытаюсь экспортировать файл .po, я смогу перевести только имена полей. И через конструктор веб-сайтов тексты не переводятся, если я нажимаю редактировать-переводы. - person hallos; 18.08.2016
comment
Ах, теперь я понимаю, в чем ваша проблема ;-) В режиме редактирования (например, продукта) в правом верхнем углу в переводимом поле будет маленький символ (Odoo V7 + 8 флаг, Odoo V9 глобус) вы можете щелкните. Это откроет Переводы. - person CZoellner; 18.08.2016
comment
Большое спасибо, наконец-то я могу переводить поля! :) - person hallos; 18.08.2016