Why are some items not translated in Odoo?

你。 提交于 2019-12-06 22:16:14

问题


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 "Проект"

回答1:


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.




回答2:


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.




回答3:


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'.




回答4:


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

Update: 21 nov 2019

I do not know in older versions, but now there are more options in command line to update, import and export translations. The argument --i18n-overwrite might be useful in your case:

Use these options to translate Odoo to another language. See i18n
section of the user manual. Option '-d' is mandatory. Option '-l' is
mandatory in case of importation

--load-language=LOAD_LANGUAGE
                    specifies the languages for the translations you want
                    to be loaded
-l LANGUAGE, --language=LANGUAGE
                    specify the language of the translation file. Use it
                    with --i18n-export or --i18n-import
--i18n-export=TRANSLATE_OUT
                    export all sentences to be translated to a CSV file, a
                    PO file or a TGZ archive and exit
--i18n-import=TRANSLATE_IN
                    import a CSV or a PO file with translations and exit.
                    The '-l' option is required.
--i18n-overwrite    overwrites existing translation terms on updating a
                    module or importing a CSV or a PO file.
--modules=TRANSLATE_MODULES
                    specify modules to export. Use in combination with
                    --i18n-export


来源:https://stackoverflow.com/questions/33475354/why-are-some-items-not-translated-in-odoo

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!