Index: acct_mgr/templates/accounts_cfg_wizard.html
===================================================================
--- acct_mgr/templates/accounts_cfg_wizard.html	(revision 12608)
+++ acct_mgr/templates/accounts_cfg_wizard.html	(working copy)
@@ -290,7 +290,7 @@
           <div class="field">
             <label>
               <input type="checkbox" name="ignore_auth_case" value="true"
-                     title="[trac] ignore_auth_case"
+                     title="${'[trac] ignore_auth_case'}"
                      checked="${ignore_auth_case and 'checked' or None}" />
               Convert login names to lower case on registration and login.
             </label>
@@ -303,7 +303,7 @@
           <div class="field">
             <label>
               <input type="checkbox" name="check_auth_ip" value="true"
-                     title="[trac] check_auth_ip"
+                     title="${'[trac] check_auth_ip'}"
                      checked="${check_auth_ip and 'checked' or None}" />
               Check IP address for authentication.
             </label>
@@ -315,7 +315,7 @@
           <div class="field">
             <label>
               <input type="checkbox" name="secure_cookies" value="true"
-                     title="[trac] secure_cookies"
+                     title="${'[trac] secure_cookies'}"
                      checked="${secure_cookies and 'checked' or None}" />
               Restrict sending cookies to HTTPS connections.
             </label>
@@ -332,11 +332,13 @@
             <input type="hidden" id="auth_cookie_lifetime_old"
                    value="$auth_cookie_lifetime" disabled="disabled" />
             <label>
-              Lifetime of the authentication cookie:
-              <input type="text" class="numwidget" name="auth_cookie_lifetime"
-                     title="[trac] auth_cookie_lifetime"
-                     value="$auth_cookie_lifetime" />
-              seconds
+              <i18n:msg>
+                Lifetime of the authentication cookie:
+                <input type="text" class="numwidget" name="auth_cookie_lifetime"
+                       title="${'[trac] auth_cookie_lifetime'}"
+                       value="$auth_cookie_lifetime" />
+                seconds
+              </i18n:msg>
               <span class="hint" py:if="value"
                     id="pretty_auth_cookie_lifetime">
                 (${pretty_precise_timedelta(None, diff=value)})
@@ -355,7 +357,7 @@
             <label>
               <input type="radio" name="acctmgr_login" value="0"
                      checked="${acctmgr_login and None or 'checked'}"
-                     title="[components] trac.web.auth.loginmodule" />
+                     title="${'[components] trac.web.auth.loginmodule'}" />
               Use HTTP authentication and credentials as configured in and
               provided by your web-server.
             </label>
@@ -366,7 +368,7 @@
             <label>
               <input type="radio" name="acctmgr_login" value="1"
                      checked="${acctmgr_login and 'checked' or None}"
-                     title="[components] acct_mgr.web_ui.loginmodule" />
+                     title="${'[components] acct_mgr.web_ui.loginmodule'}" />
               Use a HTML login form backed by one or more password stores
               managed by AccountManagerPlugin.
             </label>
@@ -389,7 +391,7 @@
               <label>
                 <input type="checkbox" name="login_opt_list" value="true"
                        checked="${login_opt_list and 'checked' or None}"
-                       title="[account-manager] login_opt_list" />
+                       title="${'[account-manager] login_opt_list'}" />
                 Integrate links to related actions into the login form.
               </label>
               <p class="hint">
@@ -409,7 +411,7 @@
               <label>
                 <input type="checkbox" name="persistent_sessions" value="true"
                        checked="${persistent_sessions and 'checked' or None}"
-                       title="[account-manager] persistent_sessions" />
+                       title="${'[account-manager] persistent_sessions'}" />
                 Allow the user to be remembered across sessions without
                 needing to re-authenticate.
               </label>
@@ -423,7 +425,7 @@
               <label i18n:msg="">
                 Likelihood of session cookie ID change:
                 <input type="text" class="numwidget" name="cookie_refresh_pct"
-                       title="[account-manager] cookie_refresh_pct"
+                       title="${'[account-manager] cookie_refresh_pct'}"
                        value="$cookie_refresh_pct" />
                 % per work hour
               </label>
@@ -436,7 +438,7 @@
               <label>
                 Path for authentication cookie:
                 <input type="text" class="textwidget" name="auth_cookie_path"
-                       title="[trac] auth_cookie_path"
+                       title="${'[trac] auth_cookie_path'}"
                        value="$auth_cookie_path" />
               </label>
               <p class="hint" i18n:msg="">
@@ -471,7 +473,7 @@
                   <input type="radio" name="init_store" value="db"
                          checked="${init_store == 'db' and
                                     'checked' or None}"
-                         title="[account-manager] password_store" />
+                         title="${'[account-manager] password_store'}" />
                   Use a password store embedded into Trac db.
                 </label>
                 <p class="hint" i18n:msg="">
@@ -508,7 +510,7 @@
                            value="htdigest"
                            checked="${init_store == 'htdigest' or
                                       not htpasswd and 'checked' or None}"
-                           title="[account-manager] password_store" />
+                           title="${'[account-manager] password_store'}" />
                     'htdigest' format
                     <span class="hint">(<strong>HtDigestStore</strong>)</span>
                   </label>
@@ -519,7 +521,7 @@
                            value="htpasswd"
                            checked="${init_store == 'htpasswd' and
                                       'checked' or None}"
-                           title="[account-manager] password_store" />
+                           title="${'[account-manager] password_store'}" />
                     'htpasswd' format
                     <span class="hint">(<strong>HtPasswdStore</strong>)</span>
                   </label>
@@ -530,7 +532,7 @@
                   <input type="radio" name="init_store" value="svn_file"
                          checked="${init_store == 'svn_file' and 
                                     'checked' or None}"
-                         title="[account-manager] password_store" />
+                         title="${'[account-manager] password_store'}" />
                   Re-use the file-based password file from SVN - read-only.
                 </label>
                 <p class="hint" i18n:msg="">
@@ -545,7 +547,7 @@
                   <input type="radio" name="init_store" value="http"
                          checked="${init_store == 'http' and
                                     'checked' or None}"
-                         title="[account-manager] password_store" />
+                         title="${'[account-manager] password_store'}" />
                   Delegate authentication using HTTP authentication.
                 </label>
                 <p class="hint" i18n:msg="">
@@ -562,7 +564,7 @@
                   <input type="radio" name="init_store" value="etc"
                          checked="${init_store == 'etc' and
                                     'checked' or None}"
-                         title="[account-manager] password_store" />
+                         title="${'[account-manager] password_store'}" />
                   Use a different password store.
                 </label>
                 <p class="hint">
@@ -578,7 +580,7 @@
                 <legend>Configuration</legend>
                 <div class="field">
                   <!-- Default field content requires no indentation here -->
-                  <textarea name="etc_store_cfg" rows="7">
+                  <textarea name="etc_store_cfg" rows="7" xml:lang="en">
 [account-manager]
 password_store =
 
@@ -598,9 +600,8 @@
               <p i18n:msg="store_list">
                 All enabled stores are listed below, but most won't work at
                 all without additional configuration.<br />Currently enabled:
-                <span title="[account-manager] password_store">
-                  <em>${', '.join(password_store)}</em>
-                </span>
+                <em title="${'[account-manager] password_store'}"
+                  >${', '.join(password_store)}</em>
               </p>
               <p class="hint" py:if="len(password_store) > 1">
                 This is an experts-only type of store configuration.
@@ -668,7 +669,7 @@
               <label>
                 <input type="checkbox" name="reset_password" value="true"
                        checked="${reset_password and 'checked' or None}"
-                       title="[account-manager] reset_password" />
+                       title="${'[account-manager] reset_password'}" />
                 Enable the password reset procedure.
               </label>
               <p class="hint">
@@ -681,7 +682,7 @@
                 Length of the randomly-generated passwords:
                 <input type="text" class="numwidget"
                        name="generated_password_length"
-                       title="[account-manager] generated_password_length"
+                       title="${'[account-manager] generated_password_length'}"
                        value="$generated_password_length" />
                 characters
               </label>
@@ -693,7 +694,7 @@
               <label>
                 <input type="checkbox" name="force_passwd_change" value="true"
                        checked="${force_passwd_change and 'checked' or None}"
-                       title="[account-manager] force_passwd_change" />
+                       title="${'[account-manager] force_passwd_change'}" />
                 Force users to change passwords after a password reset.
               </label>
             </div>
@@ -717,7 +718,7 @@
             <label>
               <input type="checkbox" name="acctmgr_register"
                      checked="${acctmgr_register and 'checked' or None}"
-                     title="[components] acct_mgr.register.RegistrationModule"
+                     title="${'[components] acct_mgr.register.RegistrationModule'}"
                      value="true" />
               Allow users to register for a new account.
             </label>
@@ -728,11 +729,10 @@
               All checks provided by AccountManagerPlugin are enabled per
               default, but some are configurable on their own.<br />
               Currently enabled:
-              <span title="[account-manager] register_check">
-                <em>$register_check</em>
-              </span>
+              <em title="${'[account-manager] register_check'}"
+                >$register_check</em>
             </p>
-            <p class="hint">
+            <p class="hint" i18n:msg="">
               Checks like <strong>BotTrapCheck</strong> won't work at all
               without additional configuration.
             </p>
@@ -783,7 +783,7 @@
               <label>
                 <input type="checkbox" name="require_approval" value="true"
                        checked="${require_approval and 'checked' or None}"
-                       title="[account-manager] require_approval" />
+                       title="${'[account-manager] require_approval'}" />
                 Require administrative account approval after registration.
               </label>
               <p class="hint">
@@ -796,7 +796,7 @@
               <label>
                 <input type="checkbox" name="verify_email" value="true"
                        checked="${verify_email and 'checked' or None}"
-                       title="[account-manager] verify_email" />
+                       title="${'[account-manager] verify_email'}" />
                 Force users to verify their email addresses.
               </label>
               <p class="hint">
@@ -824,7 +824,7 @@
               sophisticated protection, if one can afford them, handle their
               installation, configuration and maintenance.
             </p>
-            <p>
+            <p i18n:msg="">
               The <strong>AccountGuard</strong> component is another option.
               It is an add-on to AccountManagerPlugin's own
               <strong>LoginModule</strong> and provides account protection
@@ -836,7 +836,7 @@
                 <input type="checkbox" name="acctmgr_guard"
                        checked="${acctmgr_guard and 'checked' or None}"
                        disabled="${not acctmgr_login and 'disabled' or None}"
-                       title="[components] acct_mgr.guard.AccountGuard"
+                       title="${'[components] acct_mgr.guard.AccountGuard'}"
                        value="true" />
                 Enable the guard add-on component.
               </label>
@@ -864,10 +864,10 @@
                     <input type="text" class="numwidget" name="user_lock_time"
                            value="$user_lock_time" />
                     seconds
-                    <p class="hint" i18n:msg="">
-                      Zero means <strong>unlimited</strong> lock time here.
-                    </p>
                   </label>
+                  <p class="hint" i18n:msg="">
+                    Zero means <strong>unlimited</strong> lock time here.
+                  </p>
                 </div>
                 <div id="user_lock_time_progression">
                   <div class="field">
@@ -908,11 +908,13 @@
                          value="$user_lock_max_time" disabled="disabled" />
                   <div id="user_lock_max_time" class="field">
                     <label>
-                      Upper lock time limit:
-                      <input type="text" class="numwidget"
-                             name="user_lock_max_time"
-                             value="$user_lock_max_time" />
-                      seconds
+                      <i18n:msg>
+                        Upper lock time limit:
+                        <input type="text" class="numwidget"
+                               name="user_lock_max_time"
+                               value="$user_lock_max_time" />
+                        seconds
+                      </i18n:msg>
                       <span class="hint" py:if="user_lock_max_time"
                             id="pretty_user_lock_max_time">
                         (${pretty_precise_timedelta(None,
