summaryrefslogtreecommitdiffstats
path: root/web/utils/genpopo
diff options
context:
space:
mode:
Diffstat (limited to 'web/utils/genpopo')
-rwxr-xr-xweb/utils/genpopo170
1 files changed, 0 insertions, 170 deletions
diff --git a/web/utils/genpopo b/web/utils/genpopo
deleted file mode 100755
index 66bf9a1..0000000
--- a/web/utils/genpopo
+++ /dev/null
@@ -1,170 +0,0 @@
-#! /usr/bin/python -O
-# -*- coding: iso-8859-1 -*-
-
-# This script iterates through the script directories
-# looking for php scripts that contain __() functions.
-# It creates/appends to the corresponding
-# "xxx.po" file in the 'lang' subdirectory and places the
-# i18n strings into the file in the proper format.
-#
-# usage: genpopo [-v] [-f]
-# -v: verbose, print duplicate terms that could be moved to common_po
-# -f: force, overwrite existing translated files, otherwise append
-#
-
-import re
-import os
-import sys
-
-INC_HEADER = """\
-<?php
-# INSTRUCTIONS TO TRANSLATORS
-#
-# This file contains the i18n translations for a subset of the
-# Arch Linux User Community Repository (AUR). This is a PHP
-# script, and as such, you MUST pay great attention to the syntax.
-# If your text contains any double-quotes ("), you MUST escape
-# them with a backslash (\).
-#
-
-global $_t;
-"""
-
-language = 'en'
-lang = {}
-
-print_dupes = '-v' in sys.argv
-force = '-f' in sys.argv
-
-up = re.compile('_\(\s*"(([^"]|(?<=\\\\)["])+)"')
-
-scriptdirs = ['html', 'lib', 'template']
-pofile = '%s.po' % language
-
-current_dir = os.getcwd()
-
-# Iterate through various places where the php files might be.
-#
-for dir in scriptdirs:
- dir = "../%s" % dir
-
- if os.path.exists(dir):
- # Find all the PHP files in the current directory.
- #
- files = [x for x in os.listdir(dir)
- if (x[-4:] == '.inc' and x[-7:] != '.po')
- or x[-6:] == '.class'
- or x[-4:] == '.php'
- or x[-6:] == '.phtml'
- ]
- os.chdir(dir)
-
- for file in files:
- f = open(file,'r')
- lines = f.readlines()
- f.close()
-
- # Parse the file
- print "Parsing %s..." % file
- for line in lines:
- match = up.search(line)
- while match:
- term = match.group(1).replace('\\"','"')
- if print_dupes:
- if term in lang.keys():
- print 'Multiple use of "%s"' % term
-
- lang[term] = 1
- line = line[match.end(1):]
- match = up.search(line)
-
- os.chdir(current_dir)
-
-# Generate the .po file if it doesn't already exist.
-# If it does exist, only append new stuff to the end.
-# If the 'force' option is passed, just overwrite.
-
-if force:
- # Just overwrite any existing files
- print "Generating %s..." % pofile
-
- f = open(pofile,'w')
- f.write(INC_HEADER)
-
- for term in lang.keys():
- f.write("\n")
- f.write('$_t["%s"]\n = "%s";\n' % (term, term))
-
- f.write("\n");
- f.close()
-else:
- # Need to leave existing file intact. Only append on new terms.
- mapre = re.compile('^\$_t\["(.*)"\].*$')
- got_match = False
-
- print "Updating %s..." % pofile
-
- try:
- f = open(pofile, 'r')
- new_file = 0
- except:
- new_file = 1
-
- if not new_file:
- contents = f.readlines()
- f.close()
-
- # Strip beginning/ending empty lines
- while contents[0] == '':
- del contents[0]
- while contents[-1] in ['', "\n", "?>", "?>\n", "\n?>"]:
- del contents[-1]
-
- f = open(pofile,'w')
- f.write("".join(contents))
- f.write("\n");
- f.close()
- else:
- f = open(pofile,'w')
- f.write(INC_HEADER)
- f.write('\n')
- f.close()
-
- # Read file contents so we can hash what already exists
- try:
- f = open(pofile, 'r')
- new_file = 0
- except:
- new_file = 1
-
- existing_terms = []
- if not new_file:
- contents = f.readlines()
- f.close()
-
- # Strip beginning/ending empty lines
- while contents[0] == '':
- del contents[0]
- while contents[-1] in ['', "\n", "?>", "?>\n", "\n?>"]:
- del contents[-1]
-
- # Collect existing terms
- for line in contents:
- match = mapre.search(line)
- if match:
- existing_terms.append(match.group(1))
-
- # Append any new terms to EOF
- f = open(pofile, 'w')
- if not new_file:
- f.write("".join(contents))
- else:
- f.write(INC_HEADER)
-
- for term in lang.keys():
- if term not in existing_terms:
- f.write("\n");
- f.write('$_t["%s"]\n = "%s";\n' % (term, term))
- f.write("\n");
- f.close()
-