From 291f6e785150d7ed1bd195292f8bf30e9af2d47f Mon Sep 17 00:00:00 2001
From: Yusei Tahara <yusei@nexedi.com>
Date: Thu, 28 Aug 2008 10:05:43 +0000
Subject: [PATCH] 2008-08-28 yusei * Extract translation message from
 tal:dfeine expression.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@23219 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ExtensionTemplateItem/Glossary.py          | 18 +++++++++++++++---
 bt5/erp5_forge/bt/change_log                   |  3 +++
 bt5/erp5_forge/bt/revision                     |  2 +-
 3 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/bt5/erp5_forge/ExtensionTemplateItem/Glossary.py b/bt5/erp5_forge/ExtensionTemplateItem/Glossary.py
index c4ed3a85b7..3ddef43d33 100644
--- a/bt5/erp5_forge/ExtensionTemplateItem/Glossary.py
+++ b/bt5/erp5_forge/ExtensionTemplateItem/Glossary.py
@@ -61,9 +61,19 @@ def findStaticTranslationText(page_template, func_name_list):
       text_dict.update(interpreter._i18n_message_id_dict)
 
   def addTextFromPythonExpression(node):
-    tal_expression = node[1]
-    if isinstance(tal_expression, (tuple, list)):
-      tal_expression = tal_expression[0]
+    if node[0]=='insertText':
+      tal_expression = node[1]
+      if isinstance(tal_expression, (tuple, list)):
+        tal_expression = tal_expression[0]
+    elif node[0] in ('setLocal', 'setGlobal'):
+      if len(node)==2:
+        tal_expression = node[1][1]
+      elif len(node)==3:
+        tal_expression = node[2]
+      else:
+        return
+    else:
+      return
     tal_expression = tal_expression[1:-1]
     match = name_match(tal_expression)
     if match:
@@ -86,6 +96,8 @@ def findStaticTranslationText(page_template, func_name_list):
   parser.parseString(page_template._text)
   iterate(parser.gen.program, 'insertTranslation', addText)
   iterate(parser.gen.program, 'insertText', addTextFromPythonExpression)
+  iterate(parser.gen.program, 'setLocal', addTextFromPythonExpression)
+  iterate(parser.gen.program, 'setGlobal', addTextFromPythonExpression)
   return text_dict.keys()
 
 #
diff --git a/bt5/erp5_forge/bt/change_log b/bt5/erp5_forge/bt/change_log
index 85478dde10..5f316f403c 100644
--- a/bt5/erp5_forge/bt/change_log
+++ b/bt5/erp5_forge/bt/change_log
@@ -1,3 +1,6 @@
+2008-08-28 yusei
+* Extract translation message from tal:dfeine expression.
+
 2008-08-27 yusei
 * Improve pot file export.
 
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index 871cae9aa6..5f1a9f39c2 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-323
\ No newline at end of file
+324
\ No newline at end of file
-- 
2.30.9