diff options
Diffstat (limited to 'solenv/bin')
-rwxr-xr-x | solenv/bin/hrcex | 35 | ||||
-rwxr-xr-x | solenv/bin/uiex | 35 | ||||
-rw-r--r-- | solenv/bin/uilangfilter.xslt | 63 |
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> </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> </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> </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> </xsl:text> -</xsl:template> - -<xsl:template match="text()"/> - -</xsl:stylesheet> |