Index: /branches/2.3/admin/themes/default/template/install.tpl
===================================================================
--- /branches/2.3/admin/themes/default/template/install.tpl	(revision 12427)
+++ /branches/2.3/admin/themes/default/template/install.tpl	(revision 12428)
@@ -281,5 +281,5 @@
 <label>
 <input type="checkbox" name="newsletter_subscribe"{if $F_NEWSLETTER_SUBSCRIBE} checked="checked"{/if}>
-<span class="cluetip" title="{'Piwigo Announcements Newsletter'|@translate}|{'Keep in touch with Piwigo project, subscribe to Piwigo Announcement Newsletter. You will receive emails when a new release is available (sometimes including a security bug fix, it\'s important to know and upgrade) and when major events happen to the project. Only a few emails a year.'|@translate|htmlspecialchars|nl2br}">{'Subscribe %s to Piwigo Announcements Newsletter'|@translate|@sprintf:$EMAIL}</span>
+<span class="cluetip" title="{'Piwigo Announcements Newsletter'|@translate}|{'Keep in touch with Piwigo project, subscribe to Piwigo Announcement Newsletter. You will receive emails when a new release is available (sometimes including a security bug fix, it\'s important to know and upgrade) and when major events happen to the project. Only a few emails a year.'|@translate|@htmlspecialchars|@nl2br}">{'Subscribe %s to Piwigo Announcements Newsletter'|@translate|@sprintf:$EMAIL}</span>
 </label>
 <br>
Index: /branches/2.3/admin/themes/default/template/intro.tpl
===================================================================
--- /branches/2.3/admin/themes/default/template/intro.tpl	(revision 12427)
+++ /branches/2.3/admin/themes/default/template/intro.tpl	(revision 12428)
@@ -2,6 +2,6 @@
 
 {footer_script require='jquery.cluetip'}
-var piwigo_need_update_msg = '<a href="admin.php?page=updates">{"A new version of Piwigo is available."|@translate|@escape:"javascript"}</a>';
-var ext_need_update_msg = '<a href="admin.php?page=updates&amp;tab=ext">{"Some upgrades are available for extensions."|@translate|@escape:"javascript"}</a>';
+var piwigo_need_update_msg = '<a href="admin.php?page=updates">{'A new version of Piwigo is available.'|@translate|@escape:"javascript"}</a>';
+var ext_need_update_msg = '<a href="admin.php?page=updates&amp;tab=ext">{'Some upgrades are available for extensions.'|@translate|@escape:"javascript"}</a>';
 
 {literal}
@@ -43,5 +43,5 @@
       <li><a href="{$U_CHECK_UPGRADE}">{'Check for upgrade'|@translate}</a></li>
 {if isset($SUBSCRIBE_BASE_URL)}
-      <li><a href="{$SUBSCRIBE_BASE_URL}{$EMAIL}" class="externalLink cluetip" title="{'Piwigo Announcements Newsletter'|@translate}|{'Keep in touch with Piwigo project, subscribe to Piwigo Announcement Newsletter. You will receive emails when a new release is available (sometimes including a security bug fix, it\'s important to know and upgrade) and when major events happen to the project. Only a few emails a year.'|@translate|htmlspecialchars|nl2br}">{'Subscribe %s to Piwigo Announcements Newsletter'|@translate|@sprintf:$EMAIL}</a></li>
+      <li><a href="{$SUBSCRIBE_BASE_URL}{$EMAIL}" class="externalLink cluetip" title="{'Piwigo Announcements Newsletter'|@translate}|{'Keep in touch with Piwigo project, subscribe to Piwigo Announcement Newsletter. You will receive emails when a new release is available (sometimes including a security bug fix, it\'s important to know and upgrade) and when major events happen to the project. Only a few emails a year.'|@translate|@htmlspecialchars|@nl2br}">{'Subscribe %s to Piwigo Announcements Newsletter'|@translate|@sprintf:$EMAIL}</a></li>
 {/if}
     </ul>
Index: /branches/2.3/admin/themes/default/template/languages_new.tpl
===================================================================
--- /branches/2.3/admin/themes/default/template/languages_new.tpl	(revision 12427)
+++ /branches/2.3/admin/themes/default/template/languages_new.tpl	(revision 12428)
@@ -27,6 +27,6 @@
 {foreach from=$languages item=language name=languages_loop}
   <tr class="{if $smarty.foreach.languages_loop.index is odd}row1{else}row2{/if}">
-    <td><a href="{$language.EXT_URL}" class="externalLink cluetip" title="{$language.EXT_NAME}|{$language.EXT_DESC|htmlspecialchars|nl2br}">{$language.EXT_NAME}</a></td>
-    <td style="text-align:center;"><a href="{$language.EXT_URL}" class="externalLink cluetip" title="{$language.EXT_NAME}|{$language.VER_DESC|htmlspecialchars|nl2br}">{$language.VERSION}</a></td>
+    <td><a href="{$language.EXT_URL}" class="externalLink cluetip" title="{$language.EXT_NAME}|{$language.EXT_DESC|@htmlspecialchars|@nl2br}">{$language.EXT_NAME}</a></td>
+    <td style="text-align:center;"><a href="{$language.EXT_URL}" class="externalLink cluetip" title="{$language.EXT_NAME}|{$language.VER_DESC|@htmlspecialchars|@nl2br}">{$language.VERSION}</a></td>
     <td>{$language.DATE}</td>
     <td>{$language.AUTHOR}</td>
Index: /branches/2.3/admin/themes/default/template/menubar.tpl
===================================================================
--- /branches/2.3/admin/themes/default/template/menubar.tpl	(revision 12427)
+++ /branches/2.3/admin/themes/default/template/menubar.tpl	(revision 12428)
@@ -27,5 +27,5 @@
 
 <div class="titrePage">
-  <h2>{'Menu Management'|translate}</h2>
+  <h2>{'Menu Management'|@translate}</h2>
 </div>
 
Index: /branches/2.3/admin/themes/default/template/updates_ext.tpl
===================================================================
--- /branches/2.3/admin/themes/default/template/updates_ext.tpl	(revision 12427)
+++ /branches/2.3/admin/themes/default/template/updates_ext.tpl	(revision 12428)
@@ -187,5 +187,5 @@
       <td></td>
       <td class="pluginDesc">
-        <p id="revdesc_{$plugin.ID}" style="display:none;">{$plugin.REV_DESC|htmlspecialchars|nl2br}</p>
+        <p id="revdesc_{$plugin.ID}" style="display:none;">{$plugin.REV_DESC|@htmlspecialchars|@nl2br}</p>
       </td>
     </tr>
@@ -229,5 +229,5 @@
       <td></td>
       <td class="pluginDesc">
-        <p id="revdesc_{$theme.ID}" style="display:none;">{$theme.REV_DESC|htmlspecialchars|nl2br}</p>
+        <p id="revdesc_{$theme.ID}" style="display:none;">{$theme.REV_DESC|@htmlspecialchars|@nl2br}</p>
       </td>
     </tr>
@@ -271,5 +271,5 @@
       <td></td>
       <td class="pluginDesc">
-        <p id="revdesc_{$language.ID}" style="display:none;">{$language.REV_DESC|htmlspecialchars|nl2br}</p>
+        <p id="revdesc_{$language.ID}" style="display:none;">{$language.REV_DESC|@htmlspecialchars|@nl2br}</p>
       </td>
     </tr>
Index: /branches/2.3/include/template.class.php
===================================================================
--- /branches/2.3/include/template.class.php	(revision 12427)
+++ /branches/2.3/include/template.class.php	(revision 12428)
@@ -767,11 +767,11 @@
 
     $regex = "~$ldq *\'([^'$]+)\'\|@translate *$rdq~";
-    $source = preg_replace( $regex.'e', 'isset($lang[\'$1\']) ? $lang[\'$1\'] : \'$0\'', $source);
+    $source = preg_replace_callback( $regex, create_function('$m', 'global $lang; return isset($lang[$m[1]]) ? $lang[$m[1]] : $m[0];'), $source);
 
     $regex = "~$ldq *\'([^'$]+)\'\|@translate\|~";
-    $source = preg_replace( $regex.'e', 'isset($lang[\'$1\']) ? \'{\'.var_export($lang[\'$1\'],true).\'|\' : \'$0\'', $source);
+    $source = preg_replace_callback( $regex, create_function('$m', 'global $lang; return isset($lang[$m[1]]) ? \'{\'.var_export($lang[$m[1]],true).\'|\' : \'$m[0]\';'), $source);
 
     $regex = "~($ldq *assign +var=.+ +value=)\'([^'$]+)\'\|@translate~e";
-    $source = preg_replace( $regex, 'isset($lang[\'$2\']) ? \'$1\'.var_export($lang[\'$2\'],true) : \'$0\'', $source);
+    $source = preg_replace_callback( $regex, create_function('$m', 'global $lang; return isset($lang[$m[2]]) ? $m[1].var_export($lang[$m[2]],true) : \'$m[0]\';'), $source);
 
     return $source;
