summaryrefslogtreecommitdiff
path: root/solenv/bin
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/bin')
-rwxr-xr-xsolenv/bin/hrcex35
-rwxr-xr-xsolenv/bin/uiex35
-rw-r--r--solenv/bin/uilangfilter.xslt63
3 files changed, 70 insertions, 63 deletions
diff --git a/solenv/bin/hrcex b/solenv/bin/hrcex
new file mode 100755
index 000000000000..2a657290ed88
--- /dev/null
+++ b/solenv/bin/hrcex
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+
+import polib
+import binascii
+import getopt
+import sys
+import os.path
+from subprocess import check_output
+
+try:
+ myopts, args = getopt.getopt(sys.argv[1:], "i:o:")
+except getopt.GetoptError as e:
+ print(" Syntax: hrcex -i FileIn -o FileOut")
+ print(" FileIn: Source files (*.ui)")
+ print(" FileOut: Destination file (*.*)")
+ sys.exit(2)
+
+for o, a in myopts:
+ if o == '-i':
+ ifile = a
+ elif o == '-o':
+ ofile = a
+
+with open(ofile, "a") as output:
+ input = check_output(["xgettext", "-C", "--add-comments", "--keyword=NC_:1c,2", "--from-code=UTF-8", "--no-wrap", ifile, "-o", "-"])
+ po = polib.pofile(input)
+ if len(po) != 0:
+ print >> output, ""
+ for entry in po:
+ keyid = entry.msgctxt + '|' + entry.msgid
+ print >> output, '#. ' + polib.genKeyId(keyid)
+ location = entry.occurrences[0][0]
+ location = os.path.basename(location)
+ entry.occurrences[0] = location, entry.occurrences[0][1]
+ print >> output, entry
diff --git a/solenv/bin/uiex b/solenv/bin/uiex
new file mode 100755
index 000000000000..0f086a20c6c7
--- /dev/null
+++ b/solenv/bin/uiex
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+
+import polib
+import binascii
+import getopt
+import sys
+import os.path
+from subprocess import check_output
+
+try:
+ myopts, args = getopt.getopt(sys.argv[1:], "i:o:")
+except getopt.GetoptError as e:
+ print(" Syntax: uiex -i FileIn -o FileOut")
+ print(" FileIn: Source files (*.ui)")
+ print(" FileOut: Destination file (*.*)")
+ sys.exit(2)
+
+for o, a in myopts:
+ if o == '-i':
+ ifile = a
+ elif o == '-o':
+ ofile = a
+
+with open(ofile, "a") as output:
+ input = check_output(["xgettext", "--add-comments", "--no-wrap", ifile, "-o", "-"])
+ po = polib.pofile(input)
+ if len(po) != 0:
+ print >> output, ""
+ for entry in po:
+ keyid = entry.msgctxt + '|' + entry.msgid
+ print >> output, '#. ' + polib.genKeyId(keyid)
+ location = entry.occurrences[0][0]
+ location = os.path.basename(location)
+ entry.occurrences[0] = location, entry.occurrences[0][1]
+ print >> output, entry
diff --git a/solenv/bin/uilangfilter.xslt b/solenv/bin/uilangfilter.xslt
deleted file mode 100644
index 7eb3557fa7a2..000000000000
--- a/solenv/bin/uilangfilter.xslt
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:str="http://exslt.org/strings">
- <xsl:output method="xml" encoding="UTF-8"/>
-
-<xsl:template match="/">
- <l><xsl:text>&#10;</xsl:text>
- <!--
- What I want to do here is to extract all nodes that are translatable
- except the columns of list and tree stores
- -->
- <xsl:apply-templates select="//*[not(self::col)][@translatable='yes']" />
- <!--
- What I want to do here is to extract just the list and tree store
- columns that are translatable (the first one only)
- -->
- <xsl:apply-templates select="interface/object[data/row/col[@id='0'][@translatable='yes']]" />
- </l>
-</xsl:template>
-
-<!--
- Normal nodes
--->
-<xsl:template match="*/*[not(self::col|self::item)][@translatable='yes']">
- <xsl:text> </xsl:text>
- <t r="string" g="{str:tokenize(../@id,':')[1]}" l="{@name}">
- <xsl:copy-of select="text()" />
- </t><xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<!--
- Item nodes
--->
-<xsl:template match="*/*[self::item][@translatable='yes']">
- <xsl:text> </xsl:text>
- <xsl:variable name="groupid" select="../../@id"/>
- <t r="stringlist" g="{str:tokenize(../../@id,':')[1]}" l="{count(preceding::item[../../@id=$groupid])}">
- <xsl:copy-of select="text()" />
- </t><xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<!--
- Column nodes
--->
-<xsl:template match="col[@id='0'][@translatable='yes']">
- <xsl:text> </xsl:text>
- <xsl:variable name="groupid" select="../../../@id"/>
- <t r="stringlist" g="{str:tokenize($groupid,':')[1]}" l="{count(preceding::col[@id='0'][../../../@id=$groupid])}">
- <xsl:copy-of select="text()" />
- </t><xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="text()"/>
-
-</xsl:stylesheet>