-rm -rf $(LANGS)
# Default target options.h
+options.h: LOCALEDIR := .
options.h: t_options.h mo
- $(PYTHON2) $(PYTHON_FLAGS) gen_xmlpool.py $(LANGS) > options.h
+ $(PYTHON2) $(PYTHON_FLAGS) gen_xmlpool.py t_options.h $(LOCALEDIR) $(LANGS) > options.h
# Update .mo files from the corresponding .po files.
mo:
#!/usr/bin/python
+#
+# Usage:
+# gen_xmlpool.py /path/to/t_option.h localedir lang lang lang ...
+#
+# For each given language, this script expects to find a .mo file at
+# `{localedir}/{language}/LC_MESSAGES/options.mo`.
+#
+
import sys
import gettext
import re
+# Path to t_options.h
+template_header_path = sys.argv[1]
+
+localedir = sys.argv[2]
+
# List of supported languages
-languages = sys.argv[1:]
+languages = sys.argv[3:]
# Escape special characters in C strings
def escapeCString (s):
translations = [("en", gettext.NullTranslations())]
for lang in languages:
try:
- trans = gettext.translation ("options", ".", [lang])
+ trans = gettext.translation ("options", localedir, [lang])
except IOError:
sys.stderr.write ("Warning: language '%s' not found.\n" % lang)
continue
# Process the options template and generate options.h with all
# translations.
-template = file ("t_options.h", "r")
+template = file (template_header_path, "r")
descMatches = []
for line in template:
if len(descMatches) > 0: