This is the documentation for older versions of Odoo (formerly OpenERP).

See the new Odoo user documentation.

See the new Odoo technical documentation.

Перевод OpenERP

В исходном коде OpenERP, все переводимые строки написаны на международном английском (код языка en_US). Администратор отдельно взятой системы может устанавливать дополнительные языки, выбирая из официальных переводов. В результате, соответствующий перевод всех установленных модулей будет загружен в базу данных и использован взамен английских терминов в интерфейсе приложения, когда пользователь изменит предпочитаемый язык.

Вне зависимости от дальнейшего в тексте, если вы собрались работать над переводом OpenERP, прочитайте, пожалуйста, общие рекомендации по переводу на Launchpad (en) перед написанием вашего первого перевода. Этот документ содержит важные советы начинающим переводчикам.

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

  1. Работать на Launchpad, платформе сообщества OpenERP используя выделенный интерфейс переводчика на Launchpad, также известный как Rosetta. Это гарантирует работу над последним переводом, который автоматически синхронизируется с .po-файлами в исходном коде. Подробности смотрите в Перевод в Launchpad.

  2. Работать с PO файлами напрямую, рассматривая их как обычные файлы с исходным кодом, и следовательно отправлять предложения внесения изменений PO в OpenERP также, как и обычные изменения в исходном коде. Более подробно об этом рассказано в разделе Перевод в исходном коде.

Первый путь настоятельно рекомендуется, когда вы работаете над официальным переводом OpenERP, однако иногда второй — более эффективен. Например, когда вы переводите новые компоненты сообщества. Оба этих пути требуют различных прав доступа, что разъясняется ниже.

Can I do batch translations locally and then upload the .po files in batch in Launchpad?

Конечно, вы можете переводить локально, однако Launchpad не позволяет загружать файлы .po напрямую, так как в общем случае предполагается работа непосредственно в их интерфейсе перевода. Вам потребуется работать над переводом другим методом, основанным напрямую на файлах .po, как объяснятеся в разделе Перевод в исходном коде. Мы всё-таки рекомендуем работать с Launchpad, в силу множества преимуществ, описанных в разделе Перевод в Launchpad.

Перевод в Launchpad

Launchpad предоставляет веб-интерфейс для работы над переводом. Его главные особенности:

  • В силу веб-ориентированности, он доступен всем и отовсюду и не требует навыков разработчика

  • Он предоставляет всю сопутствующую информацию, нужную переводчику и указывает место, в программе, где расположен термин, что очень важно для правильного перевода.

  • С помощью тысяч открытых проектов, расположенных на Launchpad, он может предлагать похожие переводы из других продуктов, ускоряя работу переводчика.

  • Он предоставляет возможности редактирования и позволяет одним переводчикам помечать для рассмотрения переводы, которые должны быть рассмотрены другими переводчиками, значительно облегчая совместную работу.

  • Он включает свою систему прав доступа, в которой команды Launchpad могут быть назначены для перевода на отдельные языки и нести ответственность за качество перевода.

  • Он автоматически синхронизируется с исходным кодом, содержащим перевод, полностью избавляя от необходимости заниматься этим вручную, как описано в разделе Перевод в исходном коде.

После регистрации на Launchpad, вы получаете доступ к переводу любого проекта OpenERP, просто нажимая на ссылки Translations или Help Translate на странице проекта. Вы также можете найти список всех (официальных и разрабатываемых сообществом) переводимых проектов на Launchpad, относящихся к OpenERP, на странице https://translations.launchpad.net/openobject.

Несколько ссылок для быстрого доступа к основным переводам проекта OpenERP:

Пожалуйста, обратите внимание также на Документацию по переводу Launchpad и FAQ.

Права доступа для переводов на Launchpad

OpenERP использует структурированные права для перевода на Launchpad, что означает три момента:

  • Каждый всегда может предложить вариант перевода модулей, клиента и сервера OpenERP.

  • Если языку не назначена команда переводчиков — каждый может редактировать перевод и даже принимать варианты перевода.

  • Если языку назначена команда переводчиков — только участники этой команды могут редактировать и принимать варианты перевода на этот язык, но остальные всё равно могут предлагать варианты перевода.

Также можете обратиться к документации по Launchpad Translations:

Запрос на создание и назначение команды переводчиков

Если для вашего языка до сих пор не назначена команда переводчиков, вы можете создать её сами, и запросить назначение на язык. Если команда уже создана — свяжитесь с её участниками, чтобы присоединиться к ним.

Если вы решаете создать новую команду (каждый может сделать это), пожалуйста, назовите её openerp-i18n-XXX, где XXX — код вашего языка. Например openerp-i18n-dutch. Пожалуйста, удостоверьтесь, что указали полное описание команды, поясняющее её цели, процесс вступления (если вы создаёте модерируемую или команду с ограничением вступления). Описание может быть на вашем языке, и, если вам требуются примеры, вы можете посмотреть описание других, уже созданных, команд переводчиков. Пожалуйста, взгляните также на рекомендации Launchpad по работе команды локализации.

Когда проделаете всё это — отправьте сообщение для odo с просьбой назначить вашу новую команду.

После этого каждый всё ещё сможет предложить и просмотреть перевод на ваш язык, но нужно будет стать участником вашей новой команды, чтобы иметь возможность проверять/принимать переводы.

Редактирование и утверждение перевода на Launchpad

Когда команда переводчиков назначена — она становится ответственной за проверку каждого перевода, сделанного участниками, до того, как этот перевод будет использован в официальных пакетах и ветвях.

Если вы участвуете в команде переводчиков, пожалуйста. удостоверьтесь, что новые предположения рассматриваются как только это возможно.

Вы можете посмотреть сколько строк требует проверки на странице перевода проекта для вашего языка. Простой щелчок на число в столбце "Need review" сразу откроет страницу с предложениями перевода, требующими проверки:

/doc_static/5.0/_images/translation-lp-template-list.png

Одна из особенностей Launchpad в том, что он может хранить многие предположения перевода одной и той же строки. Launchpad также предложит переводы, сделанные в совсем других проектах. В качестве проверяющего, вы можете свободно выбрать наилучший вариант перевода, или самому выполнить его.

When none of the suggestions are good enough, you can also discard them by checking "Dismiss all suggestions above.". They will be removed from the review process and fall into oblivion - use wisely.

/doc_static/5.0/_images/translation-lp-review.png

Requesting review for your own translations

В то время, как вы отвечаете за проверку переводов, сделанных другими, вы можете сами захотеть переводить, и попросить других проверить ваши переводы. В этой части Launchpad предоставит вам дополнительную пометку, обозначенную "Someone should review this translation". Если вы отметите это поле, ваш вклад будет рассматриваться как предположение, а не как проверенный перевод.

Если вы делаете множество переводов, требующих проверки другими участниками — просто покиньте режим проверяющего "Reviewer mode", чтобы перейти в режим "Translator mode". Тогда Launchpad будет автоматически устанавливать отметку за вас.

/doc_static/5.0/_images/translation-lp-translator-mode.png

Why am I credited for translations when I only reviewed someone else's contribution?

Проверяя переводы, вы должны с осторожностью выбирать предположение и не копировать варианты перевода в поле "New translation", чтобы Launchpad не решил, что это ваш перевод.

Даже если вы делаете мельчайшее изменение в переводе(например, исправляете опечатку), перевод будет принят как новое предположение и записан на вас.

Перевод в исходном коде

В качестве альтернативы Launchpad, можно выполнять перевод напрямую в исходном коде, рассматривая файлы перевода как обычные файлы с программным кодом. Результатом работы переводчика в этом случае будет (скорее всего) обычная "заплатка", которая может быть опубликована только согласно особым разрешениям, устанавливаемым для кода каждого проекта. Напротив, при использовании Launchpad, любой проверенный перевод напрямую фиксируется системой в официальных ветвях без какой-либо задержки.

Поскольку никто вне Команды качества OpenERP не может напрямую фиксировать "заплатки" в официальных ветвях, это означает, что для дополнения перевода официального проекта OpenERP потребуется отправить, используя процедуру предложения слияния, как описанго в разделе Предложения слияния и заплатки.

Если вы всё ещё хотите использовать этот метод, например из-за того, что желаете обновлять все ваши переводы одним пакетом (что пока невозможно сделать на Launchpad), вам в первую очередь надо будет понять содержание раздела Структура файлов перевода:.

Следом за этим вы можете начинать редактировать файлы .po напрямую, используя редактор файлов, например POEdit, или вместо этого обновлять переводы напрямую средствами OpenERP, и заменять существующие файлы .po путём экспорта обновленных файлов через "Мастер выгрузки перевода OpenERP".

Мы рекомендуем соблюдать следующие шаги, чтобы быть уверенным в правильности результата, полученного этим способом:

  1. Прочитайте всё содержимое раздела Структура файлов перевода:;

  2. Скачайте последнюю версию исходных кодов и, для начала, создайте новую базу данных, чтобы удостовериться в использовании последних версий переводов;

  3. Переводите локально с помощью интерфейса OpenERP или любого другого инструмента;

  4. При переводе средствами OpenERP, выгрузите все файлы .po вашего языка для всех модулей, и запишите из поверх имеющихся в исходный код, используя "Мастер выгрузки".

  5. В этот момент у вас будет версия исходного кода, в которой ваши языковые файлы заменены. Теперь вам надо зафиксировать изменения и загрузить их в публичную ветвь на LP, чтобы внести предложение слияния и команда контроля качества OpenERP сможет объединить обновлённые языковые файлы с официальными ветвями. Используйте типовую процедуру, описанную в разделе Предложения слияния и заплатки.

Структура файлов перевода:

Изменено в версии 5.0: and 6.0

Что касалось версии 5.0, OpenERP использует исключительно формат GetText Portable Object (также известный как *.po [1]) для хранения переводов. Множество инструментов и библиотек, позволяющих работать с этим распространённым форматом, доступно для большинства платформ и языков программирования.

Переводы организованы в некоторое количество разделов, где каждый раздел — специализированная на определённой теме область OpenERP. Каждый раздел обладает отдельным списком переводимых терминов, описанных в так называемом шаблоне PO, чаще называемом раздел.pot и находящимся в подкаталоге i18n [4], своей для каждого раздела. Каждый из клиентов OpenERP (GTK и Веб) представляют собой отдельный раздел, также как и каждый модуль OpenERP.

Шаблон раздела не содержит никаких переводов. В нём лишь перечислены доступные для перевода термины. Переводы - это обычные файлы .po, которые должны быть расположены в том же подкаталоге, что и шаблон их раздела, и соблюдать нижеследующее соглашение об именах.

Предупреждение

Файлы шаблонов разделов должны называться раздел.pot и размещаться в подкаталоге po` или i18n.

Для OpenERP 5.0, файлы переводов должны называться lc_CC.po подразумевая код соответствующей страны по стандарту ISO 3166 [2] или ISO 639-1 [3]. Например, перевод на французский для Франции будет называться fr_FR.po, а перевод на бразильский португальский будет обозначаться pt_BR.po.

Для OpenERP 6.0, файлы переводов должны называться lc_CC.po подразумевая код соответствующей страны по стандарту ISO 3166 [2] или ISO 639-1 [3], за исключением основных сочетаний, таких как французский французский и португальский португальский, которые должны обозначаться только кодом языка. Например, для французского перевода, это будет fr.po, а для обычного португальского — pt.po, однако бразильский португальский будет обозначаться как pt_BR.po.

Если вы захотите найти на шаблон раздела и перевод на датский для Бельгии модуля Счета, вы будете искать следующие файлы в проекте дополнений:

account
 i18n
   account.pot
   nl_BE.po
[1]

http://www.gnu.org/software/autoconf/manual/gettext/PO-Files.html#PO-Files

[2](1, 2)

http://www.iso.org/iso/country_codes/iso_3166_code_lists.htm

[3](1, 2)

http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

[4]

i18n — общепринятое сокращение слова Internationalization, поскольку между первой i и последней n в этом слове содержится 18 букв.