odoo 10 企业版未加载翻译

Translations not loaded on odoo 10 enterprise

我有以下 qweb 模板:

发票

    <div class="col-xs-12" style="font-family: Calibri Bold">
    </div>
    <br></br>
    <div class="col-xs-12">
        <div class="col-xs-5" style="height: 130px; border: 2px solid; padding: 10px 10px;font-family: Calibri">
            <div t-field="company.name"/>
            <div t-field="company.street"/>
            <div t-field="company.street2"/>
            <div>VAT :<span style="color:white">.</span><span t-field="company.vat"/>
            </div>
        </div>
        <div class="col-xs-offset-7 text-center" style="height: 130px; border: 2px solid; padding: 10px 10px;font-family: Calibri">
            <address t-field="o.partner_id" 
                    t-field-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": true}' />
        </div>
    </div>
    <div class="col-xs-12" style=" height: 68px; margin-top:20px; margin-bottom: 25px;">
        <div class="col-xs-5" style="border: 2px solid; padding: 10px 10px; margin-bottom: 25px; font-family: Calibri">
            <div style="max-height:20px;">
            <h2 t-if="o.number" style="font-size:inherit;">
                Invoice Number :<span style="color:white">.</span>
                <span t-field="o.number"/>
            </h2>
            </div>
            <div t-if="o.date_invoice">
                Invoice Date :<span style="color:white">.</span>
                <span t-field="o.date_invoice"/>
            </div>
        </div>
        <div class="col-xs-offset-7 text-center col-xs-5" style="border: 2px solid; margin-top: -69px; margin-bottom: 25px; padding: 10px 10px;font-family: Calibri">
            <div t-if="o.partner_id.vat">
                VAT Number :<span style="color:white">.</span>
                <span t-field="o.company_id.vat"/>
            </div>
        </div>
    </div>
    <br></br>
    <div class="col-xs-12" style="font-family: Calibri Bold">
    </div>
<div class="col-xs-12">
    <table class="table table-condensed">
        <thead>
            <tr style="border: 2px solid; border-left: 2px solid; border-right: 2px solid; font-family: Calibri Bold;">
                <th style="border: 2px solid;">Description</th>
                <th style="border: 2px solid;" class="text-center">Quantity</th>
                <th style="border: 2px solid;" class="text-center">Unit Price</th>
                <th style="border: 2px solid;" class="text-center">Discount</th>
                <th style="border: 2px solid;" class="text-center">Amount</th>
            </tr>
        </thead>
        <tbody style="border: 2px solid;font-family: Calibri" class="invoice_tbody">
            <tr t-foreach="o.invoice_line_ids" t-as="l">
                <td style="border-left: 2px solid;">
                    <span t-field="l.name"/>
                </td>
                <td style="border-left: 2px solid;" class="text-center">
                    <span t-field="l.quantity"/>
                </td>
                <td class="text-center" style="border-left: 2px solid;">
                    <span t-field="l.price_unit"/>
                    <span t-field="l.uom_id"  groups="product.group_uom"/>
                </td>
                <td class="text-center" style="border-left: 2px solid;">
                </td>
                <td class="text-center" style="border-left: 2px solid; border-right: 2px solid">
                    <span t-field="l.price_subtotal" 
                        t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
                </td>
            </tr>
        </tbody>
    </table>
<div>
    <div class="col-xs-13" t-if="o.payment_term_id">
        <div class="col-xs-6">
            <table class="table table-condensed">
                <thead>
                    <tr style="font-family: Calibri Bold;">
                        <th>Payment Terms</th>
                        <th>Date</th>
                        <th class="text-right">Amount</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="font-family: Calibri">
                        <td><span t-field="o.payment_term_id"/></td>
                        <td>
                            <span t-field="o.date_due"/>
                        </td>
                        <td class="text-right">
                            <span t-field="o.discount_price"/>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
<div class="col-xs-offset-7">
    <table class="table table-condensed">
        <tr style="border: 2px solid;font-family: Calibri">
            <td class="text-right" style="border: 2px solid; border-left: 2px solid; border-right: 2px solid;"><span>Subtotal</span></td>
            <td class="text-right" style="border: 2px solid; border-left: 2px solid; border-right: 2px solid;">
                <span t-field="o.amount_untaxed" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
            </td>
        </tr>
        <tr style="font-family: Calibri">
            <td class="text-right" style="border: 2px solid; border-left: 2px solid; border-right: 2px solid;"><span>Discount</span></td>
            <td class="text-right" style="border: 2px solid; border-left: 2px solid; border-right: 2px solid;">
            </td>
        </tr>
        <tr style="font-family: Calibri">
            <td class="text-right" style="border: 2px solid; border-left: 2px solid; border-right: 2px solid;"><span>VAT</span></td>
            <td class="text-right" style="border: 2px solid; border-left: 2px solid; border-right: 2px solid;">
                <span t-field="o.amount_tax" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
            </td>
        </tr>
        <tr style="font-family: Calibri">
            <td class="text-right" style="border: 2px solid; border-left: 2px solid; border-right: 2px solid;"><span>Amount</span></td>
            <td class="text-right" style="border: 2px solid; border-left: 2px solid; border-right: 2px solid;">
                 <span t-field="o.amount_total" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
            </td>
        </tr>
        <tr style="font-family: Calibri">
            <td class="text-right" style="border: 0px solid; border-left: 0px solid; border-right: 0px solid; font-family: Calibri Bold;"></td>
            <td class="text-right" style="border: 0px solid; border-left: 0px solid; border-right: 0px solid; font-family: Calibri Bold;"></td>
        </tr>
        <tr style="font-family: Calibri">
            <td class="text-right" style="border: 4px solid; border-left: 4px solid; border-right: 4px solid; font-family: Calibri Bold;"><span>Total</span></td>
            <td class="text-right" style="border: 4px solid; border-left: 4px solid; border-right: 4px solid; font-family: Calibri Bold;">
                 <span t-field="o.amount_total" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
            </td>
        </tr>
    </table>
</div>

</div>

</div>
<div class="footer" style="border-top:2px solid">
    <div class="col-xs-12 text-center">
        <table class="col-xs-12 text-center">
            <tr style="height: 34px;font-family: Calibri">
                <td>


                </div>
                </td>
            </tr>
        </table>
    </div>
</div>

我还通过创建文件 my_module/i18n/nl.po 为荷兰语设置了一些翻译。文件的内容是:

#. module: custom
#: view:website:account.report_invoice_document
msgid "Telephone"
msgstr "Telefoon"

#. module: custom
#: view:website:account.report_invoice_document
msgid "Invoice Number"
msgstr "Factuurnummer"

#. module: custom
#: view:website:account.report_invoice_document
msgid "Invoice Date :"
msgstr "Factuurdatum : "

#. module: custom
#: view:website:account.report_invoice_document
msgid "INVOICE"
msgstr "FACTUUR"

#. module: custom
#: view:website:account.report_invoice_document
msgid "Invoice Number"
msgstr "Factuur nummer"

#. module: custom
#: view:website:account.report_invoice_document
msgid "VAT"
msgstr "BTW"

#. module: custom
#: view:website:account.report_invoice_document
msgid "Discount"
msgstr "Korting"

#. module: custom
#: view:website:account.report_invoice_document
msgid "Refund"
msgstr "Creditnota"

虽然我可以从日志中看到此文件和翻译已加载,但它们没有出现在报告中。

当我转到“设置”->“翻译”->“翻译的条款”时,我可以看到我的条款已正确翻译。但他们没有出现在报告中。该报告有 attachment_use="False"

这是来自 website 模块的工作示例。他们有这个模板:

<template id="show_sign_in" customize_show="True" inherit_id="website.layout" name="Show Sign In">
    <xpath expr="//ul[@id='top_menu']" position="inside">
        <li class="divider" groups="base.group_public"/>
        <li groups="base.group_public">
            <a t-attf-href="/web/login">
                <b>Sign in</b>
            </a>
        </li>
    </xpath>
</template>

翻译是这样的:

#. module: website
#: model:ir.ui.view,arch_db:website.show_sign_in
msgid "<b>Sign in</b>"
msgstr "<b>Aanmelden</b>"

美好的一天。

我通过深入研究整个翻译功能设法解决了这个问题,我将在这里概述解决问题的过程以供进一步参考:

我会在这里写下为什么没有加载翻译的原因以供进一步参考:

1) First of all, the translations written in the po file must match exactly those in the qweb template. The strings in the qweb template must not contain other tags, for example: VAT Number :.

The "VAT Number :" string here could not be translated because of the span element. If you provide a translation for the VAT Number: you have to include the whole span element as well.

2) Delete already existing translations for your string because they will not be overwritten. (Activate debug mode -> Settings -> Translations -> Translated Terms)

3) Load the new translations by going to (Activate debug mode -> Settings -> Translations -> Synchronize Terms)

4) Optional: If we have a report, make sure that you uncheck the Reload from Attachment, so that the old report does not get loaded when you test.