]> git.lyx.org Git - lyx.git/blobdiff - po/lyx_pot.py
* sk.po
[lyx.git] / po / lyx_pot.py
index b559aec97e25e8cc0b8e6d89d4da016165d84c5b..88d35a9921c381ea694dd9d2364bc9623e60fede 100755 (executable)
@@ -172,7 +172,8 @@ def layouts_l10n(input_files, output, base):
             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))
@@ -221,8 +222,10 @@ def qt4_l10n(input_files, output, base):
             # get lines that match <string>...</string>
             if pat.match(line):
                 (string,) = pat.match(line).groups()
-                string = string.replace('&amp;', '&').replace('&lt;', '<').replace('&gt;', '>')
+                string = string.replace('&amp;', '&').replace('&quot;', '"')
+                string = string.replace('&lt;', '<').replace('&gt;', '>')
                 string = string.replace('\\', '\\\\').replace('"', r'\"')
+                string = string.replace('&#x0a;', r'\n')
                 print >> output, '#: %s:%d\nmsgid "%s"\nmsgstr ""\n' % \
                     (relativePath(src, base), lineno+1, string)
         input.close()
@@ -230,30 +233,23 @@ def qt4_l10n(input_files, output, base):
 
 
 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):