1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """convert plain text (.txt) files to Gettext PO localization files
24
25 See: http://translate.sourceforge.net/wiki/toolkit/txt2po for examples and
26 usage instructions
27 """
28
29 from translate.storage import txt
30 from translate.storage import po
31
32
34
35 - def __init__(self, duplicatestyle="msgctxt"):
36 self.duplicatestyle = duplicatestyle
37
49
50
51 -def converttxt(inputfile, outputfile, templates, duplicatestyle="msgctxt", encoding="utf-8", flavour=None):
52 """reads in stdin using fromfileclass, converts using convertorclass, writes to stdout"""
53 inputstore = txt.TxtFile(inputfile, encoding=encoding, flavour=flavour)
54 convertor = txt2po(duplicatestyle=duplicatestyle)
55 outputstore = convertor.convertstore(inputstore)
56 if outputstore.isempty():
57 return 0
58 outputfile.write(str(outputstore))
59 return 1
60
61
63 from translate.convert import convert
64 from translate.misc import stdiotell
65 import sys
66 sys.stdout = stdiotell.StdIOWrapper(sys.stdout)
67 formats = {"txt": ("po", converttxt), "*": ("po", converttxt)}
68 parser = convert.ConvertOptionParser(formats, usepots=True, description=__doc__)
69 parser.add_option("", "--encoding", dest="encoding", default='utf-8', type="string",
70 help="The encoding of the input file (default: UTF-8)")
71 parser.passthrough.append("encoding")
72 parser.add_option("", "--flavour", dest="flavour", default="plain",
73 type="choice", choices=["plain", "dokuwiki", "mediawiki"],
74 help="The flavour of text file: plain (default), dokuwiki, mediawiki",
75 metavar="FLAVOUR")
76 parser.passthrough.append("flavour")
77 parser.add_duplicates_option()
78 parser.run(argv)
79