Make i18n scripts stricter about UTF-8 input/output handling.
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 28 Jul 2009 06:26:25 +0000 (06:26 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 28 Jul 2009 06:26:25 +0000 (06:26 +0000)
Also, be strict about the JSON format of strings in Dojo resource bundles.

git-svn-id: svn://svn.open-ils.org/ILS/trunk@13751 dcc99617-32d9-48b4-a31d-7c20da2025e4

build/i18n/scripts/db-seed-i18n.py
build/i18n/scripts/dojo_resource.py
build/i18n/scripts/fieldmapper.py
build/i18n/scripts/ils_events.py

index 7f34194..608fbbe 100755 (executable)
@@ -119,7 +119,7 @@ class SQL(basel10n.BaseL10N):
                 if msgstr == '':
                     # Don't generate a stmt for an untranslated string
                     break
-                self.sql.append(insert % (identifier.group('class'), occurid, locale, msgstr))
+                self.sql.append(unicode(insert % (identifier.group('class'), occurid, locale, msgstr), 'utf_8'))
 
 def main():
     """
index 2320f2a..6e069e8 100755 (executable)
@@ -7,8 +7,8 @@ Requires polib from http://polib.googlecode.com
 
 Source event definitions are structured as follows:
 {
-    MSG_ID1: "This is a message with 1 variable - ${0}.",
-    MSG_ID2: "This is a message with two variables: ${0} and ${1}."
+    "MSG_ID1": "This is a message with 1 variable - ${0}.",
+    "MSG_ID2": "This is a message with two variables: ${0} and ${1}."
 }
 
 Note that this is a deliberately limited subset of the variable substitution
index 385fce5..bcff5dd 100755 (executable)
@@ -69,9 +69,9 @@ class IDL(basel10n.BaseL10N):
             for name in entry.occurrences:
                 if entry.msgstr == '':
                     # No translation available; use the en-US definition
-                    self.definitions.append(entity % (name[0], entry.msgid))
+                    self.definitions.append(unicode(entity % (name[0], entry.msgid), 'utf_8'))
                 else:
-                    self.definitions.append(entity % (name[0], entry.msgstr))
+                    self.definitions.append(unicode(entity % (name[0], entry.msgstr), 'utf_8'))
 
 class IDLHandler(xml.sax.handler.ContentHandler):
     """
index 1b8193c..5825200 100755 (executable)
@@ -98,9 +98,9 @@ class ILSEvents(basel10n.BaseL10N):
 
                 if entry.msgstr == '':
                     # No translation available; use the en-US definition
-                    self.definitions.append(event % (int(numcode), textcode, self.locale, entry.msgid))
+                    self.definitions.append(unicode(event % (int(numcode), textcode, self.locale, entry.msgid), 'utf_8'))
                 else:
-                    self.definitions.append(event % (int(numcode), textcode, self.locale, entry.msgstr))
+                    self.definitions.append(unicode(event % (int(numcode), textcode, self.locale, entry.msgstr), 'utf_8'))
 
 class ILSEventHandler(xml.sax.handler.ContentHandler):
     """