Перевод собственного рабочего цикла (WorkFlow)
Отображение состояний и транзакций рабочего цикла (WorkFlow) на русском
Всем привет! Возникла такая проблема! Создаю собственный рабочий цикл (WorkFlow) в ZMI, задаю название рабочего цикла, его состояния и транзакции на русском языке в поле Title (Id - на английском). На сайте все хорошо отображается на русском языке, но как только захожу в Установки сайта->Типы контента или Календарь, получаю следующую ошибку: "UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)". Задаю названия на английском языке (транслит), все хорошо работает!
Как перевести транлсит на русский? или другим способом решить данную проблему?
PS скриншот прилагается
PSS попытки перевести на русский с помощью i18n закончились неудачей 
PSSS прошу извинить за 4 поста подряд, сервер по-началу не отвечал!
Вам надо добавить перевод для заголовков состояний и действий. Подробнее о создании переводов (i18n) можно почитать здесь http://maurits.vanrees.org/weblog/archive/2007/09/i18n-locales-and-plone-3.0. Идея в том, чтобы создать либо папку i18n в корне своего продукта, либо папку locales (тогда ее нужно подключать через zcml). У вас должен получится файл со строками в i18n домене plone - для примера можно взять любой файл из plone.app.locales, в котором msgid - название действий и переходов, msgstr - их перевод. Чтобы подключить файл с переводами нужно:
1) установить свой продукт
2) в plone3 я обычно удаляю содержимое $INSTANCE/var/instance/pts чтобы файл переводов перекомпилировались и тестирую через ZMI/Control_Panel/TranslationService - в списке нужно найти свой файл, во вкладках можно выбрать тест и посмотреть переводится ли строка. Также можно обновить через кнопку Reload
3) в plone4 пока не довелось подключать файлы переводов, но похоже, что в нем поменялся подход к компиляции файлов - подробнее можно почитать в этом постеВ принципе, если лень возится с переводами, то можно попробовать сменить дефолтную кодировку в python - в $INSTANCE_HOME/Python-x.x/lib/pythonx.x./site.py в функции setencoding поменять encoding на utf-8 (по умолчанию ascii). Но это радикальный способ.
>Чтобы подключить файл с переводами нужно:
>1) установить свой продукт
Никакого продукта не устанавливаю, а захожу в Zope Management Interface и в разделе portal_workflow создаю свой рабочий цикл. Подключить файл с переводом получится?
Без продукта не получится. Создать и установить продукт легко - http://ploner.ru/docs/manual/upravlenie-proektom-s-pomoschyu-buildout/cozdanie-novogo-paketa (если у вас сборка плона на основе билдаута).
Кроме того, в будущем вы сможете экспортировать свое воркфлоу в xml и сохранить его в профиле пакета - так делать концептуально правильно.

