Почему некоторые элементы не переведены в Odoo?

У меня проблема с переводом в модуле Проект. Некоторые пункты меню не переведены. В чем может быть проблема?

введите описание изображения здесь

Здесь 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"/>

Здесь 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 "Проект"

person Danila Ganchar    schedule 02.11.2015    source источник
comment
Иногда переводы работают не очень хорошо. Попробуйте нажать кнопку Обновить в базовом модуле   -  person ChesuCR    schedule 02.11.2015
comment
@ChesuCR, большое спасибо. Это решило проблему на версии 8. Завтра попробую это решение на версии 9.   -  person Danila Ganchar    schedule 02.11.2015
comment
Добро пожаловать :) Комментарий написал как ответ, отметьте, пожалуйста, как правильный ответ !! Спасибо   -  person ChesuCR    schedule 03.11.2015


Ответы (4)


У меня тоже была такая проблема с переводами. Я тоже обновлял модуль base много раз, и он работал, но иногда в этом не было необходимости. Я сделал следующий процесс:

  • Перейдите в Настройки> Переводы> Загрузить перевод, выберите свой язык и установите флажок Перезаписать существующие условия, затем нажмите кнопку Загрузить.

  • После этого нажмите F5, чтобы обновить браузер, затем перейдите в Настройки> Переводы> Условия использования> Синхронизировать условия, выберите свой язык и нажмите Обновить. Затем снова нажмите F5, чтобы увидеть, были ли обновлены ваши условия.

С Уважением.

person forvas    schedule 09.11.2015
comment
Странно ... Пункты левого меню были переведены. Но пункт в верхнем меню не изменился. Здесь, экран. Есть ли у вас какие-либо идеи? Я танцую с барабаном очень много времени: ((( - person Danila Ganchar; 09.11.2015
comment
Как я понял, перевод для топа Project хранится в /odoo/openerp/addons/base/i18n/ru.po. Вот исходник из файла #. module: base #: model:ir.module.category,name:base.module_category_project_management #: model:ir.ui.menu,name:base.menu_main_pm msgid "Project" msgstr "Проект" - person Danila Ganchar; 09.11.2015
comment
Да, это странно. Каждый термин нужно было перевести. Но теперь вы можете переводить термины с левой стороны, выполняя синхронизацию, попробуйте обновить свой модуль, нажмите F5 и повторите описанный выше процесс. Если вы не видите свой перевод в верхнем меню, то попробуйте обновить base, на всякий случай (может после синхронизации он заработает). - person forvas; 09.11.2015
comment
Это так странно ... Сейчас попробовал это решение после переустановки odoo 9. Даже левые пункты меню не перевели. Не знаю почему. Установил только модуль project и больше ничего. - person Danila Ganchar; 09.11.2015
comment
Да, это сводит нас с ума. В версии 8 у меня такое всегда происходило с модулем purchase. Модуль был переведен на мой язык во время установки, за исключением некоторых условий (одним из них был пункт верхнего меню). Поэтому я всегда обновлял браузер, делал то, что я сказал вам в своем ответе, и, если ничего не происходило, обновлял base, снова повторял процесс ответа, и если такая же проблема, то я обновлял свой собственный модуль и повторял процесс опять таки. После этих попыток мне удалось обновить перевод по мере необходимости. Иногда на самом деле какая-то случайность ... - person forvas; 09.11.2015
comment
Мне только что пришла в голову другая идея. Попробуйте удалить кеш браузера до и после выполнения описанных мною действий. Иногда у меня это срабатывало, когда мне приходилось сталкиваться с подобными проблемами. Удачи ;) - person forvas; 09.11.2015
comment
Я раньше удалял кеш. Думаю, проблема не в кеше. Я попробую еще раз решение с clear odoo. - person Danila Ganchar; 09.11.2015
comment
Это работает! Большое спасибо! Удачи в разработке;))) - person Danila Ganchar; 09.11.2015

Иногда бывает недостаточно обновить базовый модуль. Реализовал решение на основе поста. Что я делаю, так это очищаю весь язык с помощью запроса, а затем перезагружаю язык снова, используя. «Загрузить перевод» из меню конфигурации.

Запрос, который сделал это возможным, следующий, например, для es_CL:

УДАЛИТЬ ИЗ ir_translation, ГДЕ lang = 'es_CL';

Я поместил это в модуль, который вы можете использовать, чтобы адаптировать его под свои нужды:

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

Когда этот модуль установлен, он выполняет запрос. Затем вы можете перезагрузить язык с помощью меню.

person Daniel Blanco    schedule 23.08.2016
comment
Спасибо. Я забываю о ir_translation. Нашел, но потом ... В любом случае это полезная информация. - person Danila Ganchar; 23.08.2016

Иногда переводы работают не очень хорошо. Попробуйте нажать кнопку «Обновить» в модуле «База». Это должно решить проблему.

Обновление: 21 ноя 2019

Я не знаю, что было в более старых версиях, но теперь в командной строке есть больше параметров для обновления, импорта и экспорта переводов. В вашем случае может быть полезен аргумент --i18n-overwrite:

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
person ChesuCR    schedule 02.11.2015
comment
Это решение работает в версии 8. Но в версии 9 проблема все еще существует (((. Вы знаете, как это исправить? - person Danila Ganchar; 03.11.2015
comment
мм, жаль: / С версией 9 еще не работал. Я не знаю, переводятся ли языки одинаково. После обновления базового модуля попробуйте также обновить свой настраиваемый модуль. - person ChesuCR; 03.11.2015
comment
Ваше решение решает мою проблему. Я не мог понять, почему таким образом я работаю на 'clear' odoo, но не работаю над своим проектом. Итак, я проверил подверсии и обнаружил, что они разные. После обновления проекта до последней подрывной версии ваше решение работает нормально. Большое спасибо! - person Danila Ganchar; 10.11.2015
comment
Я обнаружил это только сейчас - person Danila Ganchar; 10.11.2015
comment
Ааа! Жалко, что вы дали очки репутации @forvas вместо меня xD - person ChesuCR; 11.11.2015
comment
Год (((Но уже поздно (( - person Danila Ganchar; 11.11.2015

Да, иногда локализация работает некорректно. Вот еще одна стратегия из версии 8, которая все еще может помочь вам в версии 9.

  • Сначала обновите свой модуль, как описано
  • 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
    • Выполните «Расширенный поиск» с помощью 'Module' 'contains', чтобы найти все ваши термины
    • выберите их все (возможно, установите пейджер на «неограниченный»)
    • Выберите "Еще"> "Удалить".
    • Подтверждать
  • Обновите свой модуль еще раз.
  • Снова экспортируйте файл ru.po; теперь он должен содержать все пропущенные термины.

Проблема, по-видимому, в том, что модуль иногда принимает некоторые значения из языка по умолчанию (en) на целевой язык, что затем запрещает указание термина как «для перевода».

person miw    schedule 06.11.2015
comment
Большое тебе спасибо. Я попробую это решение на 9 версии. Дам вам знать. - person Danila Ganchar; 09.11.2015
comment
Ничего не изменилось (((. После обновления модуля base я вижу новые переведенные термины, но пункт меню все еще без перевода. - person Danila Ganchar; 09.11.2015