Что вижу - о том пою (aragont) wrote,
Что вижу - о том пою
aragont

Перевод mailman 2.1.15 на UTF8

Программа управления списками рассылки mailman до версии 2.1.19 использовала для русского языка кодировку koi8-r, а с 2.1.19 - utf-8. Популярный дистрибутив CentOS 7 в основном ориентирован на utf-8, но использует mailman 2.1.15 что приводит к мелким проблемам с русским интерфейсом. Ниже инструкция по переводу mailman 2.1.15 на utf-8.

1. Переводим файлы локализации на русский язык.

mkdir -p /usr/lib/mailman/messages/ru_RU.UTF-8/LC_MESSAGES

iconv -f KOI8R -t UTF8 /usr/lib/mailman/messages/ru/LC_MESSAGES/mailman.po \
  > /usr/lib/mailman/messages/ru_RU.UTF-8/LC_MESSAGES/mailman.po

cd /usr/lib/mailman/messages/ru_RU.UTF-8/LC_MESSAGES/

sed -i 's/charset=koi8-r/charset=utf-8/' mailman.po
msgfmt -o mailman.mo mailman.po


2. Переводим шаблоны в /etc/templates/ru. Если хочется сохранить исходные файлы, то можно перевод сохранить в каталоге /etc/mailman/templates/site/ru/, который имеет приоритет.

mkdir -p /etc/mailman/templates/site/ru/
cd /etc/mailman/templates/ru/
for F in *; do iconv -f KOI8R -t UTF8 "$F" > ../site/ru/"$F";done


3. Изменяем настройки языка в /etc/mailman/mm_cfg.py Я удалил поддержку всех языков кроме русского и английского в строке LC_DESCRIPTIONS = {}, но это не обязательно. Зачем делают фокус с созданием и уничтожением функции _() я не понял. Похоже, что изначально список языков был взят копипастой из другой системы и функции _() и add_language() вставили для совместимости.

LC_DESCRIPTIONS = {}

def _(s):
    return s

def add_language(code, description, charset, direction='ltr'):
    LC_DESCRIPTIONS[code] = (description, charset, direction)

add_language('en', _('English (USA)'),   'us-ascii', 'ltr')
add_language('ru', _('Russian'),         'utf-8',    'ltr')

del _

DEFAULT_SERVER_LANGUAGE = 'ru'
DEFAULT_CHARSET = 'utf-8'


4. Если у вас уже были архивы списков рассылки в кодировке koi8-r, то их надо перегенерировать

/usr/lib/mailman/bin/arch --wipe LISTNAME
Tags: программы, рецепты
Subscribe

  • О победителях и побеждённых

    На канале Discovery идёт передача про самодеятельных историков, которые занимаются исследованием остатков укреплений Второй мировой войны. Ведущий:…

  • Вопрос по географии

    Когда на бутылке с гранатовым соком я увидел карту Азербайджана, то, к своему стыду, не смог вспомнить название анклава. Взгляните и проверьте своё…

  • Осьминог

    В любимом магазине радиотоваров на остановке "Дом кино" появилась новая вариация "третьей руки" для радиолюбителей. По сути дела, это фотоштатив…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments