Why are some items not translated in Odoo?

2019-04-24 11:03发布

I have a problem with translations in Project module. Some menu items are not translated. What could be the problem?

enter image description here

Here project_view.xml

<!-- Top menu item -->
<menuitem name="Project"
    id="base.menu_main_pm"
    groups="group_project_manager,group_project_user"
    icon="fa-calendar"
    web_icon="project,static/description/icon.png"
    sequence="50"/>

Here ru.po

#. module: project
#: model:ir.model,name:project.model_project_project
#: model:ir.model.fields,field_description:project.field_project_task_history_cumulative_project_id
#: model:ir.model.fields,field_description:project.field_project_task_project_id
#: model:ir.model.fields,field_description:project.field_report_project_task_user_project_id
#: model:ir.ui.view,arch_db:project.edit_project
#: model:ir.ui.view,arch_db:project.view_task_form2
#: model:ir.ui.view,arch_db:project.view_task_history_search
#: model:ir.ui.view,arch_db:project.view_task_project_user_search
#: model:ir.ui.view,arch_db:project.view_task_search_form
#: model:res.request.link,name:project.req_link_project
msgid "Project"
msgstr "Проект"

4条回答
贪生不怕死
2楼-- · 2019-04-24 11:32

I've also had this problem with translations. I had updated module base a lot of times too and it worked, but sometimes it wasn't necessary. What I did is the next process:

  • Go to Settings > Translations > Load a Translation, select your language and check the box Overwrite Existing Terms, then click on Load button.

  • After that, press F5 to refresh the browser, then go to Settings > Translations > Application Terms > Synchronize Terms, select your language and click on Update. Then press again F5 to see if your terms have been updated.

Regards.

查看更多
Melony?
3楼-- · 2019-04-24 11:32

Sometimes translations don't work very well. Try pressing the "Update" button in the "Base" module. This should solve the problem.

查看更多
对你真心纯属浪费
4楼-- · 2019-04-24 11:48

Sometimes, is not enough to update the base module. I implemented a solution based on a post. What I do is clear the whole language using a query, and then reload the language again using. "Load a Translation" from config menu.

The query that made it possible, is the following, for example for es_CL:

DELETE FROM ir_translation WHERE lang = 'es_CL';

I've put this in a module, which you can use to adapt it to your needs:

https://github.com/odoo-chile/l10n_cl_clear_translation

When this module is instaled it runs the query. Then you can reload your language using the menu.

查看更多
Emotional °昔
5楼-- · 2019-04-24 11:53

Yes, sometimes the localization doesn't work perfectly. Here's another strategy from v8, which may still help you in v9.

  • First, update your module like described
  • Then, remove all translated strings for your module from the database. This is safe, because you have them in your ru.po file.
    • Go to Settings > Translations > Application Terms > Translated Terms
    • Do an "Advanced Search" with 'Module' 'contains' to find all your terms
    • select them all (possibly set the pager to 'unlimited')
    • Select 'More' > 'Delete'
    • Confirm
  • Update your module again.
  • Export the ru.po file again; it should now contain all missing terms.

The issue seems to be that the module sometimes takes some values from the default (en) language into the target language, which then prohibits the term to be listed as 'to be translated'.

查看更多
登录 后发表回答