I have a problem with translations in Project module. Some menu items are not translated. What could be the problem?
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 "Проект"
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.
Sometimes translations don't work very well. Try pressing the "Update" button in the "Base" module. This should solve the problem.
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'.
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.