[devel] PO2POT

Максим Иванов =?iso-8859-1?q?ivanov_=CE=C1_cg=2Eru?=
Ср Дек 12 11:17:09 MSK 2007


В сообщении от Wednesday 12 December 2007 08:40:51 Андрей Черепанов 
написал(а):
> 11 декабря 2007 Michael Shigorin написал:
> > On Tue, Dec 11, 2007 at 05:00:17PM +0300, Максим Иванов wrote:
> > > Существует ли какой более-менее просто способ отконвертить .po
> > > файлы обратно в .pot?
> >
> > msgunfmt
>
> Мища, не путай. Эта команда скомпиленные файлы .mo конвертит в исходные
> .po. Проблема очистки переводов нетривиальна и готовых скриптов нет даже у
> меня.
Получилось собрать нечто:
==================
#!/usr/bin/python
import sys

from translate.storage import po
from translate.convert import convert

def convertpo(inputpofile, outputpotfile, template):
    """reads in inputpofile, removes the header, writes to outputpotfile."""
    inputpo = po.pofile(inputpofile)
    header = inputpo.header()
    if header:
        inputpo.units = inputpo.units[1:]
    for i, unit in enumerate(inputpo.units):
        unit.othercomments = []
        unit.markfuzzy(False)
        unit.target = ""
        if unit.isobsolete():
            del inputpo.units[i]
    outputpotfile.write(str(inputpo))
    return 1

def main(argv=None):
    from translate.convert import convert
    formats = {"po": ("pot", convertpo)}
    parser = convert.ConvertOptionParser(formats, description=__doc__)
    parser.run(argv)

if __name__ == '__main__':
    main(sys.argv)
=======================
конвертит один файл из .po в .pot, иногда в .pot файле строки идут с 
префиксом "#~", причину этого явления еще не выявил.




Подробная информация о списке рассылки Devel