1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """convert Gettext PO localization files to a Wordfast translation memory file
24
25 see: http://translate.sourceforge.net/wiki/toolkit/po2wordfast for examples and
26 usage instructions
27 """
28
29 import os
30
31 from translate.storage import po
32 from translate.storage import wordfast
33 from translate.convert import convert
34 from translate.misc import wStringIO
35
36
38
39 - def convertfiles(self, inputfile, wffile, sourcelanguage='en', targetlanguage=None):
50
51
52 -def convertpo(inputfile, outputfile, templatefile, sourcelanguage='en', targetlanguage=None):
58
59
61
62 - def __init__(self, filename, mode=None):
63 """initialises wfmultifile from a seekable inputfile or writable outputfile"""
64 self.filename = filename
65 if mode is None:
66 if os.path.exists(filename):
67 mode = 'r'
68 else:
69 mode = 'w'
70 self.mode = mode
71 self.multifilename = os.path.splitext(filename)[0]
72 self.wffile = wordfast.WordfastTMFile()
73
75 """returns a pseudo-file object for the given subfile"""
76
77 def onclose(contents):
78 pass
79 outputfile = wStringIO.CatchStringOutput(onclose)
80 outputfile.filename = subfile
81 outputfile.wffile = self.wffile
82 return outputfile
83
84
94
95
97 formats = {"po": ("txt", convertpo), ("po", "txt"): ("txt", convertpo)}
98 archiveformats = {(None, "output"): wfmultifile, (None, "template"): wfmultifile}
99 parser = WfOptionParser(formats, usepots=False, usetemplates=False, description=__doc__, archiveformats=archiveformats)
100 parser.add_option("-l", "--language", dest="targetlanguage", default=None,
101 help="set target language code (e.g. af-ZA) [required]", metavar="LANG")
102 parser.add_option("", "--source-language", dest="sourcelanguage", default='en',
103 help="set source language code (default: en)", metavar="LANG")
104 parser.passthrough.append("sourcelanguage")
105 parser.passthrough.append("targetlanguage")
106 parser.run(argv)
107
108
109 if __name__ == '__main__':
110 main()
111