Index: /trunk/admin/themes/default/template/user_list.tpl
===================================================================
--- /trunk/admin/themes/default/template/user_list.tpl	(revision 25501)
+++ /trunk/admin/themes/default/template/user_list.tpl	(revision 25502)
@@ -11,13 +11,13 @@
 
 {footer_script}
-var selectedMessage_pattern = "{'%d of %d photos selected'|@translate}";
-var selectedMessage_none = "{'No photo selected, %d photos in current set'|@translate}";
-var selectedMessage_all = "{'All %d photos are selected'|@translate}";
-var applyOnDetails_pattern = "{'on the %d selected users'|@translate}";
-var newUser_pattern = "&#x2714; {'User %s added'|translate}";
-var registeredOn_pattern = "{'Registered on %s, %s.'|translate}";
-var lastVisit_pattern = "{'Last visit on %s, %s.'|translate}";
-var missingConfirm = "{'You need to confirm deletion'|translate}";
-var missingUsername = "{'Please, enter a login'|translate}";
+var selectedMessage_pattern = "{'%d of %d users selected'|translate|escape:javascript}";
+var selectedMessage_none = "{'No user selected of %d users'|translate|escape:javascript}";
+var selectedMessage_all = "{'All %d users are selected'|translate|escape:javascript}";
+var applyOnDetails_pattern = "{'on the %d selected users'|translate|escape:javascript}";
+var newUser_pattern = "&#x2714; {'User %s added'|translate|escape:javascript}";
+var registeredOn_pattern = "{'Registered on %s, %s.'|translate|escape:javascript}";
+var lastVisit_pattern = "{'Last visit on %s, %s.'|translate|escape:javascript}";
+var missingConfirm = "{'You need to confirm deletion'|translate|escape:javascript}";
+var missingUsername = "{'Please, enter a login'|translate|escape:javascript}";
 
 var allUsers = [{$all_users}];
@@ -145,14 +145,14 @@
           var userDetails = '<form>';
           userDetails += '<div class="userActions">';
-          userDetails += '<span class="changePasswordDone infos" style="display:none">&#x2714; Password updated</span>';
-          userDetails += '<span class="changePassword" style="display:none">{/literal}{'New password'|translate}{literal} <input type="text"> <a href="#" class="buttonLike updatePassword"><img src="themes/default/images/ajax-loader-small.gif" style="margin-bottom:-1px;margin-left:1px;display:none;"><span class="text">{/literal}{'Submit'|translate}{literal}</span></a> <a href="#" class="cancel">Cancel</a></span>';
-          userDetails += '<a class="icon-key changePasswordOpen" href="#">Change password</a>';
-          userDetails += '<br><a target="_blank" href="admin.php?page=user_perm&amp;user_id='+userId+'" class="icon-lock">Permissions</a>';
-          userDetails += '<br><span class="userDelete"><img class="loading" src="themes/default/images/ajax-loader-small.gif" style="display:none;"><a href="#" class="icon-trash" data-user_id="'+userId+'">Delete</a></span>';
+          userDetails += '<span class="changePasswordDone infos" style="display:none">&#x2714; {/literal}{'Password updated'|translate|escape:javascript}{literal}</span>';
+          userDetails += '<span class="changePassword" style="display:none">{/literal}{'New password'|translate}{literal} <input type="text"> <a href="#" class="buttonLike updatePassword"><img src="themes/default/images/ajax-loader-small.gif" style="margin-bottom:-1px;margin-left:1px;display:none;"><span class="text">{/literal}{'Submit'|translate|escape:javascript}{literal}</span></a> <a href="#" class="cancel">{/literal}{'Cancel'|translate|escape:javascript}{literal}</a></span>';
+          userDetails += '<a class="icon-key changePasswordOpen" href="#">{/literal}{'Change password'|translate|escape:javascript}{literal}</a>';
+          userDetails += '<br><a target="_blank" href="admin.php?page=user_perm&amp;user_id='+userId+'" class="icon-lock">{/literal}{'Permissions'|translate|escape:javascript}{literal}</a>';
+          userDetails += '<br><span class="userDelete"><img class="loading" src="themes/default/images/ajax-loader-small.gif" style="display:none;"><a href="#" class="icon-trash" data-user_id="'+userId+'">{/literal}{'Delete'|translate|escape:javascript}{literal}</a></span>';
           userDetails += '</div>';
 
-          userDetails += '<span class="changeUsernameOpen"><strong class="username">'+user.username+'</strong> <a href="#" class="icon-pencil">Change username</a></span>';
+          userDetails += '<span class="changeUsernameOpen"><strong class="username">'+user.username+'</strong> <a href="#" class="icon-pencil">{/literal}{'Change username'|translate|escape:javascript}{literal}</a></span>';
           userDetails += '<span class="changeUsername" style="display:none">';
-          userDetails += '<input type="text"> <a href="#" class="buttonLike updateUsername"><img src="themes/default/images/ajax-loader-small.gif" style="margin-bottom:-1px;margin-left:1px;display:none;"><span class="text">{/literal}{'Submit'|translate}{literal}</span></a> <a href="#" class="cancel">Cancel</a>';
+          userDetails += '<input type="text"> <a href="#" class="buttonLike updateUsername"><img src="themes/default/images/ajax-loader-small.gif" style="margin-bottom:-1px;margin-left:1px;display:none;"><span class="text">{/literal}{'Submit'|translate}{literal}</span></a> <a href="#" class="cancel">{/literal}{'Cancel'|translate|escape:javascript}{literal}</a>';
           userDetails += '</span>';
 
@@ -222,5 +222,5 @@
           userDetails += '</div>';
 
-          userDetails += '<div class="userProperty"><strong>{/literal}{'Theme'|translate}{literal}</strong>';
+          userDetails += '<div class="userProperty"><strong>{/literal}{'Interface theme'|translate|escape:javascript}{literal}</strong>';
           userDetails += '<br><select name="theme">';
           jQuery("#action select[name=theme] option").each(function() {
@@ -272,6 +272,8 @@
           userDetails += '<div style="clear:both"></div></div>';
 
-          userDetails += '<span class="infos propertiesUpdateDone" style="display:none">&#x2714; User '+user.username+' updated</span>';
-          userDetails += '<input type="submit" value="{/literal}{'Update user'|translate}{literal}" style="display:none;" data-user_id="'+userId+'">';
+          userDetails += '<span class="infos propertiesUpdateDone" style="display:none">&#x2714; ';
+          userDetails += sprintf("{/literal}{'User %s updated'|translate|escape:javascript}{literal}", user.username);
+          userDetails += '</span>';
+          userDetails += '<input type="submit" value="{/literal}{'Update user'|translate|escape:javascript}{literal}" style="display:none;" data-user_id="'+userId+'">';
           userDetails += '<img class="submitWait" src="themes/default/images/ajax-loader-small.gif" style="display:none">'
           userDetails += '</form>';
@@ -554,19 +556,17 @@
     "sAjaxSource": "admin/user_list_backend.php",
     "oLanguage": {
-      "sProcessing":     "Traitement en cours...",
-      "sLengthMenu":     "Afficher _MENU_ éléments",
-      "sZeroRecords":    "Aucun élément à afficher",
-      "sInfo":           "Affichage des élements _START_ à _END_ sur _TOTAL_",
-      "sInfoEmpty":      "Affichage de l'élement 0 à 0 sur 0 éléments",
-      "sInfoFiltered":   "<br>(filtré de _MAX_ éléments au total{/literal}{if $is_a_guest} <span class='limitedVersionWarning'>dans la version complète</span>{/if}{literal})",
-      "sInfoPostFix":    "",
-      "sSearch":         "Rechercher",
-      "sLoadingRecords": "Téléchargement...",
-      "sUrl":            "",
+      "sProcessing": "{/literal}{'Loading...'|translate|escape:'javascript'}{literal}",
+      "sLengthMenu": sprintf("{/literal}{'Show %s users'|translate|escape:'javascript'}{literal}", '_MENU_'),
+      "sZeroRecords": "{/literal}{'No matching users found'|translate|escape:'javascript'}{literal}",
+      "sInfo": sprintf("{/literal}{'Showing %s to %s of %s users'|translate|escape:'javascript'}{literal}", '_START_', '_END_', '_TOTAL_'),
+      "sInfoEmpty": "{/literal}{'No matching users found'|translate|escape:'javascript'}{literal}",
+      "sInfoFiltered": sprintf("{/literal}{'(filtered from %s total users)'|translate|escape:'javascript'}{literal}", '_MAX_'),
+      "sSearch": '<span class="icon-search"></span>'+"{/literal}{'Search'|translate|escape:'javascript'}{literal}",
+      "sLoadingRecords": "{/literal}{'Loading...'|translate|escape:'javascript'}{literal}",
       "oPaginate": {
-          "sFirst":    "Premier",
-          "sPrevious": "← Précédent",
-          "sNext":     "Suivant →",
-          "sLast":     "Dernier"
+          "sFirst":    "{/literal}{'First'|translate|escape:'javascript'}{literal}",
+          "sPrevious": '← '+"{/literal}{'Previous'|translate|escape:'javascript'}{literal}",
+          "sNext":     "{/literal}{'Next'|translate|escape:'javascript'}{literal}"+' →',
+          "sLast":     "{/literal}{'Last'|translate|escape:'javascript'}{literal}",
       }
     },
@@ -993,5 +993,5 @@
       <input id="applyAction" class="submit" type="submit" value="{'Apply action'|@translate}" name="submit"> <span id="applyOnDetails"></span>
       <span id="applyActionLoading" style="display:none"><img src="themes/default/images/ajax-loader-small.gif"></span>
-      <span class="infos" style="display:none">&#x2714; Users modified</span>
+      <span class="infos" style="display:none">&#x2714; {'Users modified'|translate}</span>
     </p>
 
Index: /trunk/admin/themes/default/theme.css
===================================================================
--- /trunk/admin/themes/default/theme.css	(revision 25501)
+++ /trunk/admin/themes/default/theme.css	(revision 25502)
@@ -1152,5 +1152,5 @@
 .userPropertiesSetTitle {font-weight:bold;margin-bottom:1em;}
 .userPrefs {border-left:1px solid #ddd;padding-left:10px;}
-.userProperty {width:220px;float:left;margin-bottom:15px;}
+.userProperty {width:340px;float:left;margin-bottom:15px;}
 .userActions {float:right;text-align:right;}
 
Index: /trunk/language/en_UK/admin.lang.php
===================================================================
--- /trunk/language/en_UK/admin.lang.php	(revision 25501)
+++ /trunk/language/en_UK/admin.lang.php	(revision 25502)
@@ -953,3 +953,22 @@
 $lang['[NBM] Problems or questions'] = "[NBM] Problems or questions";
 $lang['Purge user cache'] = 'Purge user cache';
+$lang['Loading...'] = 'Loading...';
+$lang['Show %s users'] = 'Show %s users';
+$lang['No matching users found'] = 'No matching users found';
+$lang['Showing %s to %s of %s users'] = 'Showing %s to %s of %s users';
+$lang['(filtered from %s total users)'] = '(filtered from %s total users)';
+$lang['No user selected, no action possible.'] = 'No user selected, no action possible.';
+$lang['%d of %d users selected'] = '%d of %d users selected';
+$lang['No user selected of %d users'] = 'No user selected of %d users';
+$lang['All %d users are selected'] = 'All %d users are selected';
+$lang['on the %d selected users'] = 'on the %d selected users';
+$lang['User %s added'] = 'User %s added';
+$lang['Registered on %s, %s.'] = 'Registered on %s, %s.';
+$lang['Last visit on %s, %s.'] = 'Last visit on %s, %s.';
+$lang['Change password'] = 'Change password';
+$lang['Password updated'] = 'Password updated';
+$lang['Change username'] = 'Change username';
+$lang['Update user'] = 'Update user';
+$lang['User %s updated'] = 'User %s updated';
+$lang['Users modified'] = 'Users modified';
 ?>
Index: /trunk/language/en_UK/common.lang.php
===================================================================
--- /trunk/language/en_UK/common.lang.php	(revision 25501)
+++ /trunk/language/en_UK/common.lang.php	(revision 25502)
@@ -418,3 +418,4 @@
 $lang['Password is missing. Please enter the password.'] = "Password is missing. Please enter the password.";
 $lang['Password confirmation is missing. Please confirm the chosen password.'] = "Password confirmation is missing. Please confirm the chosen password.";
+$lang['%d photos per page'] = '%d photos per page';
 ?>
Index: /trunk/language/fr_FR/admin.lang.php
===================================================================
--- /trunk/language/fr_FR/admin.lang.php	(revision 25501)
+++ /trunk/language/fr_FR/admin.lang.php	(revision 25502)
@@ -955,3 +955,22 @@
 $lang['Select at least one tag'] = 'Sélectionnez au moins un tag';
 $lang['Basic settings'] = 'Paramètres de base';
+$lang['Loading...'] = 'Chargement...';
+$lang['Show %s users'] = 'Afficher %s utilisateurs';
+$lang['No matching users found'] = 'Aucun utilisateur à afficher';
+$lang['Showing %s to %s of %s users'] = 'Affichage des utilisateurs %s à %s sur %s';
+$lang['(filtered from %s total users)'] = '(filtré de %s utilisateurs au total)';
+$lang['No user selected, no action possible.'] = 'Aucun utilisateur sélectionné, aucune action possible.';
+$lang['%d of %d users selected'] = '%d des %d utilisateurs sélectionnés';
+$lang['No user selected of %d users'] = 'Aucun utilisateur sélectionné sur les %d';
+$lang['All %d users are selected'] = 'Tous les %d utilisateurs sont sélectionnés';
+$lang['on the %d selected users'] = 'sur les %d utilisateurs sélectionnés';
+$lang['User %s added'] = 'Utilisateur %s ajouté';
+$lang['Registered on %s, %s.'] = 'Enregistré depuis le %s, %s.';
+$lang['Last visit on %s, %s.'] = 'Dernière visite le %s, %s.';
+$lang['Change password'] = 'Changer le mot de passe';
+$lang['Password updated'] = 'Mot de passe mis à jour';
+$lang['Change username'] = 'Changer le nom d\'utilisateur';
+$lang['Update user'] = 'Mettre à jour l\'utilisateur';
+$lang['User %s updated'] = 'Utilisateur %s mis à jour';
+$lang['Users modified'] = 'Utilisateurs modifiés';
 ?>
Index: /trunk/language/fr_FR/common.lang.php
===================================================================
--- /trunk/language/fr_FR/common.lang.php	(revision 25501)
+++ /trunk/language/fr_FR/common.lang.php	(revision 25502)
@@ -418,3 +418,4 @@
 $lang['Password is missing. Please enter the password.'] = "Le mot de passe manque. Veuillez saisir le mot de passe.";
 $lang['Password confirmation is missing. Please confirm the chosen password.'] = "La confirmation du mot de passe manque. Veuillez confirmer le mot de passe choisi.";
+$lang['%d photos per page'] = '%d photos par page';
 ?>
