--- a/svghmi/gen_index_xhtml.xslt Fri Jan 22 08:43:24 2021 +0100
+++ b/svghmi/gen_index_xhtml.xslt Fri Jan 22 11:30:37 2021 +0100
@@ -264,7 +264,9 @@
<xsl:value-of select="."/>
+ <xsl:text> [</xsl:text> + <xsl:value-of select="text()"/> <xsl:apply-templates mode="testtree" select="*">
<xsl:with-param name="indent">
@@ -959,23 +961,43 @@
<xsl:variable name="translations" select="ns:GetTranslations($translatable_strings)"/>
- <xsl:text>var translations = {
- <xsl:for-each select="$translations/*">
- <xsl:text> "</xsl:text>
- <xsl:value-of select="local-name()"/>
- <xsl:text> }</xsl:text>
+ <xsl:text>var langs = [</xsl:text> + <xsl:for-each select="$translations/langs/lang"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:text>var translations = [ + <xsl:for-each select="$translatable_texts"> + <xsl:variable name="n" select="position()"/> + <xsl:text> ["</xsl:text> + <xsl:value-of select="@id"/> + <xsl:text>",[</xsl:text> + <xsl:for-each select="$translations/messages/msgid[$n]/msg"> + <xsl:for-each select="line"> + <xsl:value-of select="."/> + <xsl:if test="position()!=last()"> + <xsl:text>\n</xsl:text> + <xsl:if test="position()!=last()"> + <xsl:text>]]</xsl:text> <xsl:if test="position()!=last()">
--- a/svghmi/i18n.py Fri Jan 22 08:43:24 2021 +0100
+++ b/svghmi/i18n.py Fri Jan 22 11:30:37 2021 +0100
@@ -106,20 +106,23 @@
def TranslationToEtree(langs,translated_messages):
- langsroot = etree.Element("langs")
+ result = etree.Element("translations") + langsroot = etree.SubElement(result, "langs") langel = etree.SubElement(langsroot, "lang")
- msgsroot = etree.Element("translations")
+ msgsroot = etree.SubElement(result, "messages") for msgid, msgs in translated_messages:
msgidel = etree.SubElement(msgsroot, "msgid")
msgel = etree.SubElement(msgidel, "msg")
- return [langsroot,msgsroot]
+ for line in msg.split("\n"): + lineel = etree.SubElement(msgel, "line") + lineel.text = escape(line.encode("utf-8")).decode("utf-8") --- a/svghmi/i18n.ysl2 Fri Jan 22 08:43:24 2021 +0100
+++ b/svghmi/i18n.ysl2 Fri Jan 22 11:30:37 2021 +0100
@@ -20,13 +20,28 @@
const "translations", "ns:GetTranslations($translatable_strings)";
- foreach "$translations/*" {
- | }`if "position()!=last()" > ,`
+ foreach "$translations/langs/lang" { + if "position()!=last()" > ,
+ foreach "$translatable_texts" { + const "n","position()"; + foreach "$translations/messages/msgid[$n]/msg" { + if "position()!=last()" > \\\\n + if "position()!=last()" > , + if "position()!=last()" > ,