diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml
index ed3cfc920c05a754cc2c727db4507bb16ca584ef..7be2d47df55ae56d29e6617783bff282c9ab53c7 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml
@@ -56,6 +56,7 @@
             <value> <string>message_dict = {}\n
 \n
 def add_message(message, comment):\n
+  \n
   if not message:\n
     return\n
   if message in message_dict:\n
@@ -152,14 +153,21 @@ for i in page_template_list:\n
 #\n
 # Workflow\n
 #\n
+s_title_list = []\n
 for i in context.portal_workflow.objectValues():\n
   add_message(i.title_or_id(), portal_url.getRelativeContentURL(i))\n
+  \n
   if not i.states:\n
     continue\n
   for s in i.states.values():\n
-    if s.title:\n
-      add_message(s.title, portal_url.getRelativeContentURL(s))\n
-\n
+     s_title = s.title\n
+     if s_title:\n
+       # adding a context in msg_id for more precise translation\n
+       msg_id = \'%s [state in %s]\' % (s_title, i.id)\n
+       add_message(msg_id, portal_url.getRelativeContentURL(s))\n
+       # also use state title as msg_id for compatibility\n
+       add_message(s_title, portal_url.getRelativeContentURL(s))\n
+  \n
   if not i.transitions:\n
     continue\n
   for t in i.transitions.values():\n
@@ -275,7 +283,10 @@ return printed\n
                             <string>value</string>
                             <string>label</string>
                             <string>Base_findStaticTranslationText</string>
+                            <string>s_title_list</string>
                             <string>s</string>
+                            <string>s_title</string>
+                            <string>msg_id</string>
                             <string>t</string>
                             <string>worklist</string>
                             <string>action_title</string>
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index 8b120bce8f826ee72124b968b2dacabf3af889f1..2415c065944e9ce572ac4d79cc79e621e9dee039 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-447
\ No newline at end of file
+448
\ No newline at end of file