ListName = re.compile(r'\s*ListName\s+(.*)')
CategoryName = re.compile(r'\s*Category\s+(.*)')
NameRE = re.compile(r'DeclareLyXModule.*{(.*)}')
- InsetLayout = re.compile(r'^InsetLayout\s+(.*)')
+ InsetLayout = re.compile(r'^InsetLayout\s+\"?(.*)\"?')
+ FlexCheck = re.compile(r'^Flex:(.*)')
DescBegin = re.compile(r'#+\s*DescriptionBegin\s*$')
DescEnd = re.compile(r'#+\s*DescriptionEnd\s*$')
Category = re.compile(r'#Category: (.*)$')
EndI18nPreamble = re.compile(r'\s*End(Lang)|(Babel)Preamble\s*$')
I18nString = re.compile(r'_\(([^\)]+)\)')
CounterFormat = re.compile(r'\s*PrettyFormat\s+"?(.*)"?')
-
+ CiteFormat = re.compile(r'\s*CiteFormat')
+ KeyVal = re.compile(r'^\s*_\w+\s+(.*)$')
+ End = re.compile(r'\s*End')
+
for src in input_files:
readingDescription = False
readingI18nPreamble = False
+ readingCiteFormats = False
descStartLine = -1
descLines = []
lineno = 0
if res != None:
string = res.group(1)
string = string.replace('_', ' ')
- writeString(out, src, base, lineno, string)
+ #Flex:xxx is not used in translation
+ #writeString(out, src, base, lineno, string)
+ m = FlexCheck.search(string)
+ if m:
+ writeString(out, src, base, lineno, m.group(1))
continue
res = Category.search(line)
if res != None:
string = res.group(1)
writeString(out, src, base, lineno, string)
continue
+ res = CiteFormat.search(line)
+ if res != None:
+ readingCiteFormats = True
+ res = End.search(line)
+ if res != None and readingCiteFormats:
+ readingCiteFormats = False
+ if readingCiteFormats:
+ res = KeyVal.search(line)
+ if res != None:
+ val = res.group(1)
+ writeString(out, src, base, lineno, val)
+
out.close()
def languages_l10n(input_files, output, base):
- '''Generate pot file from lib/language'''
- output = open(output, 'w')
- # assuming only one language file
- reg = re.compile('[\w-]+\s+[\w"]+\s+"([\w \-\(\),]+)"\s+(true|false)\s+[\w-]+\s+[\w\-]+\s+"[^"]*"')
- input = open(input_files[0])
- for lineno, line in enumerate(input.readlines()):
- if line[0] == '#':
- continue
- # From:
- # afrikaans afrikaans "Afrikaans" false iso8859-15 af_ZA ""
- # To:
- # #: lib/languages:2
- # msgid "Afrikaans"
- # msgstr ""
- if reg.match(line):
- print >> output, '#: %s:%d\nmsgid "%s"\nmsgstr ""\n' % \
- (relativePath(input_files[0], base), lineno+1, reg.match(line).groups()[0])
- else:
- print "Error: Unable to handle line:"
- print line
- # No need to abort if the parsing fails (e.g. "ignore" language has no encoding)
- # sys.exit(1)
- input.close()
- output.close()
+ '''Generate pot file from lib/languages'''
+ out = open(output, 'w')
+ GuiName = re.compile(r'^[^#]*GuiName\s+(.*)')
+
+ for src in input_files:
+ descStartLine = -1
+ descLines = []
+ lineno = 0
+ for line in open(src).readlines():
+ lineno += 1
+ res = GuiName.search(line)
+ if res != None:
+ string = res.group(1)
+ writeString(out, src, base, lineno, string)
+ continue
+
+ out.close()
def external_l10n(input_files, output, base):