Index: .hgtags
===================================================================
--- .hgtags	(revision 2467)
+++ .hgtags	(revision 1468)
@@ -12,3 +12,2 @@
 6fce226121140735a51a8f447c80f1dacd2974ea 2.4.4
 514d5121a12586b7ff320924d44028b677a01020 2.4.4
-e42d3233f080a2e846301cba3e3585e4a280a87d 2.6-RC
Index: CHANGELOG
===================================================================
--- CHANGELOG	(revision 2480)
+++ CHANGELOG	(revision 1791)
@@ -1,24 +1,2 @@
-Dotclear 2.6-RC - 2013-10-18
-===========================================================
-* PHP 5.2 required
-* jQuery upgraded to 1.10.2 (including jQuery migrate plugin 1.2.1)
-* mySQLi support (now proposed by default rather than mySQL)
-* Administration revamped, relooked, redesigned, new icons, new ergonomic's behaviours
-* Administration is now responsive (easier to cope with it on small devices)
-* Administration menu re-organized
-* a11y (accessibility) everywhere, with and whithout Js
-* Success, notice and warning messages have been harmonized
-* daInstaller has been dispatched in core (in plugins and blog themes management)
-* Global help is now available, contextual help is available on every page
-* Media manager enhanced
-* Maintenance plugin revamped and enhanced (now includes export features)
-* Categories management enhanced
-* Plugins and themes management revamped
-* New “Plumetis” variation for Blowup theme
-* Jasmine is now used for unit testing of js components
-* A lot of bug fixes
-* A lot of cosmetics adjustments
-* A lot of enhancements
-
 Dotclear 2.5.3 - 2013-09-13
 ===========================================================
@@ -213,5 +191,5 @@
 * Templates: Entries & Comments tags can now be sorted.
 * Templates: The template subsystem is quicker, linier, and ready to be extended.
-* Complete reworking of the settings system
+* Complete reworking of the settings system 
 * Correct handling of postgresql non default schemas.
 * Admin: Autocompletion and further enhancing to tags handling.
Index: admin/_charte.php
===================================================================
--- admin/_charte.php	(revision 2392)
+++ admin/_charte.php	(revision 2495)
@@ -31,4 +31,5 @@
 	<script type="text/javascript" src="js/jquery/jquery.js"></script>
 	<script type="text/javascript" src="js/jquery/jquery-ui.custom.js"></script>
+	<script type="text/javascript" src="js/jquery/jquery.ui.touch-punch.js"></script>
 	<script type="text/javascript" src="js/jquery/jquery.pageTabs.js"></script>
 	<script type="text/javascript" src="js/jquery/jquery.biscuit.js"></script>
@@ -83,4 +84,10 @@
 		<div id="main">
 			<div id="content" class="clearfix">
+			<div class="info">
+				<p>Cette page vise à présenter les règles graphiques et conventions utilisées dans les pages de l'administration
+				d'une installation Dotclear, à l'usage des contributeurs et développeurs d'extensions. Elle en est elle-même
+				une illustration. L'observation de son code source peut donc servir de complément aux descriptions.</p>
+			</div>
+
 				<h2>Typographie</h2>
 				<h3 id="texte">Textes</h3>
@@ -159,9 +166,11 @@
 						</div><!--
 						--><div class="two-boxes even">
-							<div class="two-boxes odd">
-								<p><span class="step">4</span> On peut bien sûr imbriquer des boîtes de class <code>"two-boxes"</code>
-								 au sein d'une boîte <code>"two-boxes" afin qu'elles…</code>…</p>
-							</div><div class="two-boxes even">
-								<p><span class="step">4 bis</span>… se distribuent horizontalement comme dans une boîte <code>"one-box"</code>.</p>
+							<div class="box odd">
+								<p><span class="step">4</span> Toutes les boîtes de class <code>"box"</code><br />
+								 placées au sein d'une boîte <code>"two-boxes"</code>…</p>
+							</div>
+							<div class="box even">
+								<p><span class="step">4 bis</span>… se distribuent horizontalement comme dans <br />
+									une boîte <code>"one-box"</code>.</p>
 							</div>
 						</div>
@@ -240,9 +249,7 @@
 							<p><label for="ex1">Label simple + input text :</label><input id="ex1" type="text" /></p>
 							<p class="form-note">p class="form-note".</p>
-							<p><label for="ex4" class="classic">Label class="classic" + input text :</label> <input id="ex4" type="text" /></p>
-							<p><label for="ex2" class="required"><abbr title="'.__('Required field').'">*</abbr> Label class="required" :</label> <input id="ex2" type="text" /><span class="form-note">span class="form-note"</span></p>
-							<p><label for="ex11" class="bold">Label class="bold" :</label> <input id="ex11" type="text" /></p>
-							<p class="form-note">La class="bold" est bien sûr à écrire en minuscules.</p>
+							<p><label for="ex2" class="required"><abbr title="'.__('Required field').'">*</abbr> Label class="required" :</label> <input id="ex2" type="text" /></p>
 							<p><label for="ex3">Input class="maximal" :</label> <input id="ex3" type="text" class="maximal" /></p>
+							<p><label for="ex4" class="classic">Label class="classic" :</label> <input id="ex4" type="text" /></p>
 						</div>
 						<div class="col">
@@ -255,10 +262,7 @@
 							<p><label class="classic" for="ex8-1"><input type="radio" checked="checked" id="ex8-1" value="ex8-1" name="ex8-1" />
 							 Bouton radio 1 (label.classic)</label></p>
-							<p><label class="classic" for="ex8-2"><input type="radio" id="ex8-2" value="ex8-2" name="ex8-2" />
+							 <p><label class="classic" for="ex8-2"><input type="radio" id="ex8-2" value="ex8-2" name="ex8-2" />
 							 Bouton radio 2 (label.classic)</label></p>
-							<p class="form-note">Les checkboxes et les boutons radio sont dans la balise &lt;label&gt;.</p>
-							<p><label class="classic" for="ex9"><input type="checkbox"
-							checked="checked" id="ex9" value="1" title="intitulé du champ" /></label> <label
-							for="ex10" class="classic">checkbox.classic + label class="classic" :</label> <input id="ex10" type="text" /></p>
+							 <p class="form-note">Les checkboxes et les boutons radio sont dans la balise &lt;label&gt;.</p>
 						</div>
 					</form>
@@ -333,21 +337,10 @@
 					<p class="nav_prevnext"><a title="Titre de l'élément précédente" href="post.php?id=4145">«&nbsp;Élément précédent</a> | <a title="Titre de l'élément suivant" href="#">Élément suivant&nbsp;»</a></p>
 
-				<h3 id="pseudo-tabs">Pseudo-onglets </h3>
-					<p>Les pseudo-onglets permettent d'ajouter des sous-pages qui sont des liens vers d'autres pages, par opposition aux onglets qui sont des sections internes à la page.</p>
-					<p>Les pseudo-onglets sont à positionner immédiatement après le breadcrumb (ici un hr simule le trait sous le breadcrumb).</p>
-					<hr style="margin-bottom: .75em;" />
-					<ul class="pseudo-tabs">
-					  <li><a href="#">Page 1</a></li>
-					  <li><a href="#">Autre faux onglet</a></li>
-					  <li><a href="#" class="active">Onglet actif</a></li>
-					  <li><a href="#">Liste 4</a></li>
-					</ul>
-
-				<h2 id="common">Tableaux</h2>
+				<h2>Tableaux</h2>
 					<p>Il existe deux mises en forme type de tableaux selon que l'on cherche à faire un tableau ordinaire
 					ou un tableau dont on peut déplacer les lignes par glisser déposer (voir plus bas). Cependant certaines règles
 					sont communes à tout les tableaux.</p>
 
-				<h3>Règles communes</h3>
+				<h3 id="communes">Règles communes</h3>
 					<h4>Largeur du tableau</h4>
 						<p>Sauf pour des tableaux particuliers (absents dans l'admin mais qui pourraient être nécessaires
@@ -373,5 +366,5 @@
 							<li><code>count</code> : le contenu de la cellule sera aligné à droite avec un petit retrait.</li>
 						</ul>
-				<h3 id="courants">Tableau classique</h3>
+				<h3 id="ordinaires">Tableau classique</h3>
 				<div class="table-outer">
 					<table>
@@ -439,5 +432,5 @@
 				</div>
 
-				<h3 id="dragable">Tableau avec ordonnancement</h3>
+				<h3>Tableau avec ordonnancement</h3>
 				<p>Les tableaux permettant l'ordonnancement doivent offrir la possibilité d'effectuer le classement grâce à
 				des inputs placés en début de ligne pour que le classement soit possible même lorsque cette fonctionnalité est
@@ -546,30 +539,26 @@
 						</table>
 					</div>
-
-				<h2 id="iconset">Icônes</h2>
-				<p>Les icônes utilisées dans l'administration sont présentes en deux formats&nbsp; 64*64px pour les grandes 
-				(qui sont affichées sur le tableau de bord si la page correspondante est choisie en favori par l'utilisateur) et 
-				16*16px pour les petits formats.</p>
-				<p>La plupart sont dérivées de la fonte d'icônes <a href="http://www.elegantthemes.com/blog/resources/elegant-icon-font">Elegant Font</a>. Les autres sont des images vectorielles réalisées 
-				par la DC Team. Nous les avons nommées <em>Traviata</em>. La palette de couleurs utilisée est la suivante&nbsp;:</p>
-				<p class="txt-center"><img src="images/palette-traviata.png" alt="palette des couleurs utilisées pour les icônes" /></p>
-				<p class="txt-center">Bleu&nbsp;: #137bbb - Vert&nbsp;: #9ac123 - Rouge&nbsp;: #c44d58 - Bleu ciel&nbsp;: #a2cbe9 - Gris clair&nbsp;: #ececec - 
-				Gris moyen&nbsp;: #b2b2b2 - Gris foncé&nbsp;: #676e78.</p>
 			</div><!-- /content -->
 		</div><!-- /main -->
 		<div id="main-menu">
-			<ul><li class="pretty-title">Typographie
+			<form id="search-menu" action="search.php" method="get">
+				<p><label for="qx" class="hidden">Chercher : </label><input type="text" size="30" name="qx" id="qx" maxlength="255"  /><input type="submit" value="OK" /></p>
+			</form>
+			<div id="favorites-menu">
+				<h3>Typo</h3>
 				<ul>
 					<li><a href="#texte">Texte</a></li>
 					<li><a href="#titres">Titres hx</a></li>
 				</ul>
-				</li>
-				<li class="pretty-title">Layouts
+			</div><!-- /favorites-menu -->
+			<div id="blog-menu">
+				<h3>Layouts</h3>
 				<ul>
 					<li><a href="#onglets">Onglets</a></li>
 					<li><a href="#multi-colonnage">Multi-colonnage</a></li>
 				</ul>
-				</li>
-				<li class="pretty-title">Interactions
+			</div><!-- /blog-menu -->
+			<div id="system-menu">
+				<h3>Interactions</h3>
 				<ul>
 					<li><a href="#elements">Éléments de formulaire</a></li>
@@ -577,25 +566,12 @@
 					<li><a href="#messages">Messages</a></li>
 				</ul>
-				</li>
-				<li class="pretty-title">Navigation
+			</div><!-- /system-menu -->
+			<div id="plugins-menu">
+				<h3>Navigation</h3>
 				<ul>
 					<li><a href="#direct">Accès direct</a></li>
 					<li><a href="#prevnext">Précédent, suivant</a></li>
-					<li><a href="#pseudo-tabs">Pseudo-onglets</a></li>
 				</ul>
-				</li>
-				<li class="pretty-title">Tableaux
-				<ul>
-					<li><a href="#commons">Règles communes</a></li>
-					<li><a href="#courants">Tableaux courants</a></li>
-					<li><a href="#dragables">Tableaux ordonnancés</a></li>
-				</ul>
-				</li>
-			</ul>
-			<div class="info vertical-separator">
-				<p>Cette page vise à présenter les règles graphiques et conventions utilisées dans les pages de l'administration
-				d'une installation Dotclear, à l'usage des contributeurs et développeurs d'extensions. Elle en est elle-même
-				une illustration. L'observation de son code source peut donc servir de complément aux descriptions.</p>
-			</div>
+			</div><!-- /plugins-menu -->
 		</div><!-- /main-menu -->
 
Index: admin/blog_theme.php
===================================================================
--- admin/blog_theme.php	(revision 2487)
+++ admin/blog_theme.php	(revision 2337)
@@ -84,5 +84,5 @@
 # -- Execute actions --
 try {
-	$list->doActions();
+	$list->doActions('themes');
 }
 catch (Exception $e) {
@@ -125,5 +125,5 @@
 			->setModules($modules)
 			->displayModules(
-				/*cols */		array('checkbox', 'name', 'sshot', 'desc', 'author', 'version', 'current_version', 'parent'),
+				/*cols */		array('sshot', 'name', 'desc', 'author', 'version', 'current_version', 'parent'),
 				/* actions */	array('update', 'delete')
 			);
@@ -132,5 +132,5 @@
 		'<p class="info vertical-separator">'.sprintf(
 			__("Visit %s repository, the resources center for Dotclear."),
-			'<a href="http://themes.dotaddict.org/dc2/">Dotaddict</a>'
+			'<a href="http://themes.dotaddict.org/dc2/"</a>'
 			).
 		'</p>'.
Index: admin/categories.php
===================================================================
--- admin/categories.php	(revision 2464)
+++ admin/categories.php	(revision 2495)
@@ -103,10 +103,9 @@
 
 $starting_script = "";
-
-$core->auth->user_prefs->addWorkspace('accessibility');
 if (!$core->auth->user_prefs->accessibility->nodragdrop
 	&& $core->auth->check('categories',$core->blog->id)
 	&& $rs->count()>1) {
 		$starting_script .= dcPage::jsLoad('js/jquery/jquery-ui.custom.js');
+		$starting_script .= dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js');
 		$starting_script .= dcPage::jsLoad('js/jquery/jquery.mjs.nestedSortable.js');
 }
@@ -186,5 +185,5 @@
 		}
 		echo
-		' <input type="submit"'.$attr_disabled.' class="'.$input_class.'delete" name="delete['.$rs->cat_id.']" value="'.__('Delete category').'"/>'.
+		'<input type="submit"'.$attr_disabled.' class="'.$input_class.'delete" name="delete['.$rs->cat_id.']" value="'.__('Delete category').'"/>'.
 		'</p>';
 
Index: admin/index.php
===================================================================
--- admin/index.php	(revision 2358)
+++ admin/index.php	(revision 2314)
@@ -332,5 +332,5 @@
 		'<p class="area"><label class="required" '.
 		'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '.
-		form::textarea('post_content',50,10).
+		form::textarea('post_content',50,7).
 		'</p>'.
 		'<p><label for="cat_id" class="classic">'.__('Category:').'</label> '.
Index: admin/js/_blog_theme.js
===================================================================
--- admin/js/_blog_theme.js	(revision 2487)
+++ admin/js/_blog_theme.js	(revision 2290)
@@ -16,4 +16,10 @@
 	});
 
+	// confirm module deletion
+	$('div.module-actions form input[type=submit][name=delete]').click(function() {
+		var module_id = $('input[name=module]',$(this).parent()).val();
+		return window.confirm(dotclear.msg.confirm_delete_theme.replace('%s',module_id));
+	});
+
 	// dirty short search blocker
 	$('div.modules-search form input[type=submit]').click(function(){
@@ -21,58 +27,3 @@
 		if (mlen.length > 2){return true;}else{return false;}
 	});
-
-	// checkboxes selection
-	$('.checkboxes-helpers').each(function() {
-		dotclear.checkboxesHelpers(this);
-	});
-
-	// actions tests
-	$('.modules-form-actions').each(function(){
-		var rxActionType = /^[^\[]+/;
-		var rxActionValue = /([^\[]+)\]$/;
-		var checkboxes = $(this).find('input[type=checkbox]');
-
-		// check if submit is a global action or one line action
-		$("input[type=submit]",this).click(function() {
-			var keyword = $(this).attr('name');
-			var maction = keyword.match(rxActionType);
-			var action = maction[0];
-			var mvalues = keyword.match(rxActionValue);
-
-			// action on multiple modules
-			if (!mvalues) {
-				var checked = false;
-
-				// check if there is checkboxes in form
-				if(checkboxes.length > 0) {
-					// check if there is at least one checkbox checked
-					$(checkboxes).each(function() {
-						if (this.checked) {
-							checked = true;
-						}
-					});
-					if (!checked) {
-						//alert(dotclear.msg.no_selection);
-						return false;
-					}
-				}
-
-				// confirm delete
-				if (action == 'delete') {
-					return window.confirm(dotclear.msg.confirm_delete_themes);
-				}
-
-			// action on one module
-			}else {
-				var module = mvalues[1];
-
-				// confirm delete
-				if (action == 'delete') {
-					return window.confirm(dotclear.msg.confirm_delete_theme.replace('%s',module));
-				}
-			}
-
-			return true;
-		});
-	});
 });
Index: admin/js/_media_item.js
===================================================================
--- admin/js/_media_item.js	(revision 2454)
+++ admin/js/_media_item.js	(revision 2101)
@@ -1,11 +1,12 @@
 $(function() {
-	// Add datePicker if possible
-	var media_dt = document.getElementById('media_dt');
-	if (media_dt != undefined) {
+	$('#media-details-tab').onetabload(function() {
+		// Add date picker
+		var media_dt = document.getElementById('media_dt');
+		if (media_dt == undefined) { return; }
 		var post_dtPick = new datePicker(media_dt);
 		post_dtPick.img_top = '1.5em';
 		post_dtPick.draw();
-	}
-
+	});
+	
 	// Display zip file content
 	$('#file-unzip').each(function() {
@@ -13,19 +14,19 @@
 		var mediaId = $(this).find('input[name=id]').val();
 		var self = $(this);
-
+		
 		a.href = '#';
 		$(a).text(dotclear.msg.zip_file_content);
 		self.before(a);
 		$(a).wrap('<p></p>');
-
+		
 		$(a).click(function() {
 			$.get('services.php',{f:'getZipMediaContent',id: mediaId},function(data) {
 				var rsp = $(data).children('rsp')[0];
-
+				
 				if (rsp.attributes[0].value == 'ok') {
 					var div = document.createElement('div');
 					var list = document.createElement('ul');
 					var expanded = false;
-
+					
 					$(div).css({
 						overflow: 'auto',
@@ -38,5 +39,5 @@
 					$(a).hide();
 					$(div).before('<h3>' + dotclear.msg.zip_file_content + '</h3>');
-
+					
 					$(rsp).find('file').each(function() {
 						$(list).append('<li>' + $(this).text() + '</li>');
@@ -53,5 +54,5 @@
 		});
 	});
-
+	
 	// Confirm for inflating in current directory
 	$('#file-unzip').submit(function() {
Index: admin/js/_plugins.js
===================================================================
--- admin/js/_plugins.js	(revision 2487)
+++ admin/js/_plugins.js	(revision 2292)
@@ -1,67 +1,168 @@
+dotclear.moduleExpander = function(line) {
+        var td = line.firstChild;
+        
+        var img = document.createElement('img');
+        img.src = dotclear.img_plus_src;
+        img.alt = dotclear.img_plus_alt;
+        img.className = 'expand';
+        $(img).css('cursor','pointer');
+        img.line = line;
+        img.onclick = function() { dotclear.viewModuleContent(this,this.line); };
+        
+        td.insertBefore(img,td.firstChild);
+};
+
+dotclear.modulesExpander = function(line,lines) {
+        var td = line.firstChild;
+
+        var img = document.createElement('img');
+        img.src = dotclear.img_plus_src;
+        img.alt = dotclear.img_plus_alt;
+        img.className = 'expand';
+        $(img).css('cursor','pointer');
+        img.lines = lines;
+        img.onclick = function() { dotclear.viewModulesContent(this,this.lines); };
+
+        td.insertBefore(img,td.firstChild);
+};
+
+dotclear.viewModulesContent = function(img,lines) {
+        
+        action = 'toggle';
+
+        if (img.alt == dotclear.img_plus_alt) {
+                img.src = dotclear.img_minus_src;
+                img.alt = dotclear.img_minus_alt;
+                action = 'open';
+        } else {
+                img.src = dotclear.img_plus_src;
+                img.alt = dotclear.img_plus_alt;
+                action = 'close';
+        }
+        
+        lines.each(function() {
+                var td = this.firstChild;
+                dotclear.viewModuleContent(td.firstChild,td.firstChild.line,action);
+        });
+};
+
+dotclear.viewModuleContent = function(img,line,action) {
+
+        var action = action || 'toggle';
+		var cols = $('td',$(line)).length
+        var sp = line.id.split('_m_');
+		var listId=sp[0];
+		var moduleId= sp[1];
+
+        var tr = document.getElementById('pe'+moduleId);
+        
+		if ( !tr && ( action == 'toggle' || action == 'open' ) ) {
+                tr = document.createElement('tr');
+                tr.id = 'pe'+moduleId;
+
+                var td = document.createElement('td');
+                td.colSpan = cols;
+                td.className = 'expand';
+                tr.appendChild(td);
+                
+                img.src = dotclear.img_minus_src;
+                img.alt = dotclear.img_minus_alt;
+                
+                // Get post content
+                $.get('services.php',{f:'getModuleById', id: moduleId, list: listId},function(data) {
+                        var rsp = $(data).children('rsp')[0];
+                        
+                        if (rsp.attributes[0].value == 'ok') {
+                                var author = $(rsp).find('author').text();
+                                var details = $(rsp).find('details').text();
+                                var support = $(rsp).find('support').text();
+								var box = document.createElement('div');
+                                var bloc = document.createElement('ul');
+                                bloc.className = "mod-more";
+                                
+                                if (author) {
+                                        $(bloc).append($('<li class="module-author">'+dotclear.msg.module_author+' '+author+'</li>'));
+                                }
+                                if (details) {
+                                        var dd = '';
+                                        dd += '<a class="module-details" href="'+details+'">'+dotclear.msg.module_details+'</a>';
+                                        if (support) {
+                                                dd += ' - ';
+                                                dd += '<a class="module-support" href="'+support+'">'+dotclear.msg.module_support+'</a>';
+                                        }
+                                        $(bloc).append($('<li>'+dd+'</li>'));
+                                }
+
+                                $(td).append($(box).append(bloc));
+                                
+                                var section = $(rsp).find('section').text();
+                                var tags = $(rsp).find('tags').text();
+                                
+				var boxb = document.createElement('div');
+                                var blocb = document.createElement('ul');
+                                blocb.className = "mod-more";
+                                
+                                if (section) {
+                                        $(blocb).append($('<li class="module-section">'+dotclear.msg.module_section+' '+section+'</li>'));
+                                }
+                                if (tags) {
+                                        $(blocb).append($('<li class="module-tags">'+dotclear.msg.module_tags+' '+tags+'</li>'));
+                                }
+                                $(td).append($(boxb).append(blocb));
+                        } else {
+                                alert($(rsp).find('message').text());
+                        }
+                });
+                
+                $(line).addClass('expand');
+                line.parentNode.insertBefore(tr,line.nextSibling);
+        }
+        else if (tr && tr.style.display == 'none' && ( action == 'toggle' || action == 'open' ) )
+        {
+                $(tr).css('display', 'table-row');
+                $(line).addClass('expand');
+                img.src = dotclear.img_minus_src;
+                img.alt = dotclear.img_minus_alt;
+        }
+        else if (tr && tr.style.display != 'none' && ( action == 'toggle' || action == 'close' ) )
+        {
+                $(tr).css('display', 'none');
+                $(line).removeClass('expand');
+                img.src = dotclear.img_plus_src;
+                img.alt = dotclear.img_plus_alt;
+        }
+        
+        parentTable = $(line).parents('table');
+        if( parentTable.find('tr.expand').length == parentTable.find('tr.line').length ) {
+                img = parentTable.find('tr:not(.line) th:first img');
+                img.attr('src',dotclear.img_minus_src);
+                img.attr('alt',dotclear.img_minus_alt);
+        }
+        
+        if( parentTable.find('tr.expand').length == 0 ) {
+                img = parentTable.find('tr:not(.line) th:first img');
+                img.attr('src',dotclear.img_plus_src);
+                img.attr('alt',dotclear.img_plus_alt);
+        }
+        
+};
+
+
 $(function() {
+/*
+	// expand all modules lines
+	$('table.modules.expandable tr:not(.line)').each(function() {
+		dotclear.modulesExpander(this,$('table.modules.expandable tr.line'));
+	});
+*/
 	// expand a module line
-	$('table.modules.expandable tr.line').each(function(){
-		$('td.module-name',this).toggleWithLegend($(this).next('.module-more'),{
-			img_on_src: dotclear.img_plus_src,
-			img_on_alt: dotclear.img_plus_alt,
-			img_off_src: dotclear.img_minus_src,
-			img_off_alt: dotclear.img_minus_alt,
-			legend_click: true
-		});
+	$('table.modules.expandable tr.line').each(function() {
+		dotclear.moduleExpander(this);
 	});
 
-	// checkboxes selection
-	$('.checkboxes-helpers').each(function() {
-		dotclear.checkboxesHelpers(this);
-	});
-
-	// actions tests
-	$('.modules-form-actions').each(function(){
-		var rxActionType = /^[^\[]+/;
-		var rxActionValue = /([^\[]+)\]$/;
-		var checkboxes = $(this).find('input[type=checkbox]');
-
-		// check if submit is a global action or one line action
-		$("input[type=submit]",this).click(function() {
-			var keyword = $(this).attr('name');
-			var maction = keyword.match(rxActionType);
-			var action = maction[0];
-			var mvalues = keyword.match(rxActionValue);
-
-			// action on multiple modules
-			if (!mvalues) {
-				var checked = false;
-
-				// check if there is checkboxes in form
-				if(checkboxes.length > 0) {
-					// check if there is at least one checkbox checked
-					$(checkboxes).each(function() {
-						if (this.checked) {
-							checked = true;
-						}
-					});
-					if (!checked) {
-						//alert(dotclear.msg.no_selection);
-						return false;
-					}
-				}
-
-				// confirm delete
-				if (action == 'delete') {
-					return window.confirm(dotclear.msg.confirm_delete_plugins);
-				}
-
-			// action on one module
-			}else {
-				var module = mvalues[1];
-
-				// confirm delete
-				if (action == 'delete') {
-					return window.confirm(dotclear.msg.confirm_delete_plugin.replace('%s',module));
-				}
-			}
-
-			return true;
-		});
+	// confirm module deletion
+	$('div.module-actions form input[type=submit][name=delete]').click(function() {
+		var module_id = $('input[name=module]',$(this).parent()).val();
+		return window.confirm(dotclear.msg.confirm_delete_plugin.replace('%s',module_id));
 	});
 });
Index: admin/js/common.js
===================================================================
--- admin/js/common.js	(revision 2486)
+++ admin/js/common.js	(revision 2298)
@@ -410,5 +410,5 @@
 	// manage outgoing links
 	$('a').filter(function() {
-		return ((this.hostname && this.hostname!=location.hostname && !$(this).hasClass('modal'))
+		return ((this.hostname && this.hostname!=location.hostname)
 			|| $(this).hasClass('outgoing'));
 	}).each(function() {
Index: admin/js/jquery/jquery.pageTabs.js
===================================================================
--- admin/js/jquery/jquery.pageTabs.js	(revision 2479)
+++ admin/js/jquery/jquery.pageTabs.js	(revision 2348)
@@ -68,24 +68,10 @@
 	
 	var getHash = function getHash(href) {
-		var href = href || '';
-
 		return href.replace(/.*#/, '');
 	};
 	
 	$.pageTabs.clickTab = function(tab) {
-		if (tab=='') {
+		if (tab=='' || $('#'+$.pageTabs.options.idTabPrefix+tab, '.'+$.pageTabs.options.containerClass).length==0) {
 			tab = getHash($('ul li a', '.'+$.pageTabs.options.containerClass+':eq(0)').attr('href'));
-		} else if ($('#'+$.pageTabs.options.idTabPrefix+tab, '.'+$.pageTabs.options.containerClass).length==0) {
-			// try to find anchor in a .multi-part div
-			if ($('#'+tab).length==1) {
-				var div_content = $('#'+tab).parents('.'+$.pageTabs.options.contentClass);
-				if (div_content.length==1) {
-					tab = div_content.attr('id').replace($.pageTabs.options.partPrefix,'');
-				} else {
-					tab = getHash($('ul li a', '.'+$.pageTabs.options.containerClass+':eq(0)').attr('href'));
-				}
-			} else {
-				tab = getHash($('ul li a', '.'+$.pageTabs.options.containerClass+':eq(0)').attr('href'));
-			}
 		}
 
Index: admin/js/jquery/jquery.ui.touch-punch.js
===================================================================
--- admin/js/jquery/jquery.ui.touch-punch.js	(revision 2495)
+++ admin/js/jquery/jquery.ui.touch-punch.js	(revision 2495)
@@ -0,0 +1,160 @@
+/*!
+ * jQuery UI Touch Punch 0.2.2
+ *
+ * Copyright 2011, Dave Furfero
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ *
+ * Depends:
+ *  jquery.ui.widget.js
+ *  jquery.ui.mouse.js
+ */
+(function ($) {
+
+  // Detect touch support
+  $.support.touch = 'ontouchend' in document;
+
+  // Ignore browsers without touch support
+  if (!$.support.touch) {
+    return;
+  }
+
+  var mouseProto = $.ui.mouse.prototype,
+      _mouseInit = mouseProto._mouseInit,
+      touchHandled;
+
+  /**
+   * Simulate a mouse event based on a corresponding touch event
+   * @param {Object} event A touch event
+   * @param {String} simulatedType The corresponding mouse event
+   */
+  function simulateMouseEvent (event, simulatedType) {
+
+    // Ignore multi-touch events
+    if (event.originalEvent.touches.length > 1) {
+      return;
+    }
+
+    event.preventDefault();
+
+    var touch = event.originalEvent.changedTouches[0],
+        simulatedEvent = document.createEvent('MouseEvents');
+    
+    // Initialize the simulated mouse event using the touch event's coordinates
+    simulatedEvent.initMouseEvent(
+      simulatedType,    // type
+      true,             // bubbles                    
+      true,             // cancelable                 
+      window,           // view                       
+      1,                // detail                     
+      touch.screenX,    // screenX                    
+      touch.screenY,    // screenY                    
+      touch.clientX,    // clientX                    
+      touch.clientY,    // clientY                    
+      false,            // ctrlKey                    
+      false,            // altKey                     
+      false,            // shiftKey                   
+      false,            // metaKey                    
+      0,                // button                     
+      null              // relatedTarget              
+    );
+
+    // Dispatch the simulated event to the target element
+    event.target.dispatchEvent(simulatedEvent);
+  }
+
+  /**
+   * Handle the jQuery UI widget's touchstart events
+   * @param {Object} event The widget element's touchstart event
+   */
+  mouseProto._touchStart = function (event) {
+
+    var self = this;
+
+    // Ignore the event if another widget is already being handled
+    if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) {
+      return;
+    }
+
+    // Set the flag to prevent other widgets from inheriting the touch event
+    touchHandled = true;
+
+    // Track movement to determine if interaction was a click
+    self._touchMoved = false;
+
+    // Simulate the mouseover event
+    simulateMouseEvent(event, 'mouseover');
+
+    // Simulate the mousemove event
+    simulateMouseEvent(event, 'mousemove');
+
+    // Simulate the mousedown event
+    simulateMouseEvent(event, 'mousedown');
+  };
+
+  /**
+   * Handle the jQuery UI widget's touchmove events
+   * @param {Object} event The document's touchmove event
+   */
+  mouseProto._touchMove = function (event) {
+
+    // Ignore event if not handled
+    if (!touchHandled) {
+      return;
+    }
+
+    // Interaction was not a click
+    this._touchMoved = true;
+
+    // Simulate the mousemove event
+    simulateMouseEvent(event, 'mousemove');
+  };
+
+  /**
+   * Handle the jQuery UI widget's touchend events
+   * @param {Object} event The document's touchend event
+   */
+  mouseProto._touchEnd = function (event) {
+
+    // Ignore event if not handled
+    if (!touchHandled) {
+      return;
+    }
+
+    // Simulate the mouseup event
+    simulateMouseEvent(event, 'mouseup');
+
+    // Simulate the mouseout event
+    simulateMouseEvent(event, 'mouseout');
+
+    // If the touch interaction did not move, it should trigger a click
+    if (!this._touchMoved) {
+
+      // Simulate the click event
+      simulateMouseEvent(event, 'click');
+    }
+
+    // Unset the flag to allow other widgets to inherit the touch event
+    touchHandled = false;
+  };
+
+  /**
+   * A duck punch of the $.ui.mouse _mouseInit method to support touch events.
+   * This method extends the widget with bound touch event handlers that
+   * translate touch events to mouse events and pass them to the widget's
+   * original mouse event handling methods.
+   */
+  mouseProto._mouseInit = function () {
+    
+    var self = this;
+
+    // Delegate the touch handlers to the widget's element
+    self.element
+      .bind('touchstart', $.proxy(self, '_touchStart'))
+      .bind('touchmove', $.proxy(self, '_touchMove'))
+      .bind('touchend', $.proxy(self, '_touchEnd'));
+
+    // Call the original $.ui.mouse init method
+    _mouseInit.call(self);
+  };
+
+})(jQuery);
Index: admin/media.php
===================================================================
--- admin/media.php	(revision 2430)
+++ admin/media.php	(revision 2320)
@@ -344,7 +344,7 @@
 
 if ($post_id) {
-	echo '<div class="form-note info"><p>'.sprintf(__('Choose a file to attach to entry %s by clicking on %s.'),
+	echo '<p class="form-note info">'.sprintf(__('Choose a file to attach to entry %s by clicking on %s.'),
 		'<a href="'.$core->getPostAdminURL($post_type,$post_id).'">'.html::escapeHTML($post_title).'</a>',
-		'<img src="images/plus.png" alt="'.__('Attach this file to entry').'" />').'</p></div>';
+		'<img src="images/plus.png" alt="'.__('Attach this file to entry').'" />').'</p>';
 }
 if ($popup) {
Index: admin/plugins.php
===================================================================
--- admin/plugins.php	(revision 2487)
+++ admin/plugins.php	(revision 2337)
@@ -59,5 +59,5 @@
 # -- Execute actions --
 try {
-	$list->doActions();
+	$list->doActions('plugins');
 }
 catch (Exception $e) {
@@ -131,5 +131,5 @@
 			->setModules($modules)
 			->displayModules(
-				/*cols */		array('checkbox', 'icon', 'name', 'version', 'current_version', 'desc'),
+				/*cols */		array('icon', 'name', 'version', 'current_version', 'desc'),
 				/* actions */	array('update')
 			);
@@ -162,5 +162,5 @@
 		->setModules($modules)
 		->displayModules(
-			/* cols */		array('expander', 'icon', 'name', 'version', 'desc', 'distrib'),
+			/* cols */		array('expander', 'icon', 'name', 'config', 'version', 'desc', 'distrib'),
 			/* actions */	array('deactivate', 'delete', 'behavior')
 		);
Index: admin/post.php
===================================================================
--- admin/post.php	(revision 2486)
+++ admin/post.php	(revision 2256)
@@ -299,5 +299,5 @@
 			# --BEHAVIOR-- adminAfterPostUpdate
 			$core->callBehavior('adminAfterPostUpdate',$cur,$post_id);
-			dcPage::addSuccessNotice (sprintf(__('The post "%s" has been successfully updated'),html::escapeHTML($cur->post_title)));
+			dcPage::addSuccessNotice (sprintf('The post "%s" has been successfully updated',html::escapeHTML($cur->post_title)));
 			http::redirect('post.php?id='.$post_id);
 		}
@@ -452,18 +452,18 @@
 			'items' => array(
 				'post_status' => 
-					'<p class="entry-status"><label for="post_status">'.__('Entry status').' '.$img_status.'</label>'.
+					'<p class="entry-status"><label for="post_status" class="ib">'.__('Entry status').' '.$img_status.'</label>'.
 					form::combo('post_status',$status_combo,$post_status,'maximal','',!$can_publish).
 					'</p>',
 				'post_dt' => 
-					'<p><label for="post_dt">'.__('Publication date and hour').'</label>'.
+					'<p><label for="post_dt" class="ib">'.__('Publication date and hour').'</label>'.
 					form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')).
 					'</p>',
 				'post_lang' =>
-					'<p><label for="post_lang">'.__('Entry language').'</label>'.
+					'<p><label for="post_lang" class="ib">'.__('Entry language').'</label>'.
 					form::combo('post_lang',$lang_combo,$post_lang).
 					'</p>',
 				'post_format' =>
 					'<div>'.
-					'<h5 id="label_format"><label for="post_format" class="classic">'.__('Text formatting').'</label></h5>'.
+					'<h5 id="label_format"><label for="post_format" class="ib">'.__('Text formatting').'</label></h5>'.
 					'<p>'.form::combo('post_format',$formaters_combo,$post_format,'maximal').
 					'</p>'.
@@ -522,10 +522,10 @@
 					'</div>',
 				'post_password' =>
-					'<p><label for="post_password">'.__('Password').'</label>'.
+					'<p><label for="post_password" class="ib">'.__('Password').'</label>'.
 					form::field('post_password',10,32,html::escapeHTML($post_password),'maximal').
 					'</p>',
 				'post_url' =>
 					'<div class="lockable">'.
-					'<p><label for="post_url">'.__('Edit basename').'</label>'.
+					'<p><label for="post_url" class="ib">'.__('Edit basename').'</label>'.
 					form::field('post_url',10,255,html::escapeHTML($post_url),'maximal').
 					'</p>'.
@@ -538,10 +538,10 @@
 		"post_title" =>
 			'<p class="col">'.
-			'<label class="required no-margin bold"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'.
+			'<label class="required no-margin"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'.
 			form::field('post_title',20,255,html::escapeHTML($post_title),'maximal').
 			'</p>',
 		
 		"post_excerpt" =>
-			'<p class="area" id="excerpt-area"><label for="post_excerpt" class="bold">'.__('Excerpt:').' <span class="form-note">'.
+			'<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').' <span class="form-note">'.
 			__('Introduction to the post.').'</span></label> '.
 			form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)).
@@ -549,5 +549,5 @@
 		
 		"post_content" =>
-			'<p class="area" id="content-area"><label class="required bold" '.
+			'<p class="area" id="content-area"><label class="required" '.
 			'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '.
 			form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)).
@@ -555,5 +555,5 @@
 		
 		"post_notes" =>
-			'<p class="area" id="notes-area"><label for="post_notes" class="bold">'.__('Personal notes:').' <span class="form-note">'.
+			'<p class="area" id="notes-area"><label for="post_notes">'.__('Personal notes:').' <span class="form-note">'.
 			__('Unpublished notes.').'</span></label>'.
 			form::textarea('post_notes',50,5,html::escapeHTML($post_notes)).
@@ -589,5 +589,5 @@
 		http::browserUID(DC_MASTER_KEY.$core->auth->userID().$core->auth->getInfo('user_pwd')).
 		'/'.$post->post_url);
-		echo '<a id="post-preview" href="'.$preview_url.'" class="button modal" accesskey="p">'.__('Preview').' (p)'.'</a> ';
+		echo '<a id="post-preview" href="'.$preview_url.'" class="button" accesskey="p">'.__('Preview').' (p)'.'</a> ';
 	} else {
 		echo
Index: admin/preferences.php
===================================================================
--- admin/preferences.php	(revision 2449)
+++ admin/preferences.php	(revision 2495)
@@ -47,6 +47,6 @@
 $default_tab = !empty($_GET['tab']) ? html::escapeHTML($_GET['tab']) : 'user-profile';
 
-if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder']) || 
-	!empty($_GET['replaced']) || !empty($_POST['appendaction']) || !empty($_POST['removeaction']) || 
+if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder']) ||
+	!empty($_GET['replaced']) || !empty($_POST['appendaction']) || !empty($_POST['removeaction']) ||
 	!empty($_GET['db-updated'])) {
 	$default_tab = 'user-favorites';
@@ -84,11 +84,11 @@
 	{
 		$pwd_check = !empty($_POST['cur_pwd']) && $core->auth->checkPassword(crypt::hmac(DC_MASTER_KEY,$_POST['cur_pwd']));
-		
+
 		if ($core->auth->allowPassChange() && !$pwd_check && $user_email != $_POST['user_email']) {
 			throw new Exception(__('If you want to change your email or password you must provide your current password.'));
 		}
-		
+
 		$cur = $core->con->openCursor($core->prefix.'user');
-		
+
 		$cur->user_name = $user_name = $_POST['user_name'];
 		$cur->user_firstname = $user_firstname = $_POST['user_firstname'];
@@ -100,5 +100,5 @@
 
 		$cur->user_options = new ArrayObject($user_options);
-		
+
 		if ($core->auth->allowPassChange() && !empty($_POST['new_pwd']))
 		{
@@ -106,21 +106,21 @@
 				throw new Exception(__('If you want to change your email or password you must provide your current password.'));
 			}
-			
+
 			if ($_POST['new_pwd'] != $_POST['new_pwd_c']) {
 				throw new Exception(__("Passwords don't match"));
 			}
-			
+
 			$cur->user_pwd = $_POST['new_pwd'];
 		}
-		
+
 		# --BEHAVIOR-- adminBeforeUserUpdate
 		$core->callBehavior('adminBeforeUserProfileUpdate',$cur,$core->auth->userID());
-		
+
 		# Udate user
 		$core->updUser($core->auth->userID(),$cur);
-		
+
 		# --BEHAVIOR-- adminAfterUserUpdate
 		$core->callBehavior('adminAfterUserProfileUpdate',$cur,$core->auth->userID());
-		
+
 		dcPage::addSuccessNotice(__('Personal information has been successfully updated.'));
 
@@ -134,10 +134,10 @@
 
 # Update user options
-if (isset($_POST['user_post_format'])) 
+if (isset($_POST['user_post_format']))
 {
 	try
 	{
 		$cur = $core->con->openCursor($core->prefix.'user');
-		
+
 		$cur->user_name = $user_name;
 		$cur->user_firstname = $user_firstname;
@@ -149,5 +149,5 @@
 
 		$cur->user_post_status = $user_post_status = $_POST['user_post_status'];
-		
+
 		$user_options['edit_size'] = (integer) $_POST['user_edit_size'];
 		if ($user_options['edit_size'] < 1) {
@@ -156,10 +156,10 @@
 		$user_options['post_format'] = $_POST['user_post_format'];
 		$user_options['enable_wysiwyg'] = !empty($_POST['user_wysiwyg']);
-		
+
 		$cur->user_options = new ArrayObject($user_options);
-		
+
 		# --BEHAVIOR-- adminBeforeUserOptionsUpdate
 		$core->callBehavior('adminBeforeUserOptionsUpdate',$cur,$core->auth->userID());
-		
+
 		# Update user prefs
 		$core->auth->user_prefs->accessibility->put('nodragdrop',!empty($_POST['user_acc_nodragdrop']),'boolean');
@@ -170,11 +170,11 @@
 		}
 		$core->auth->user_prefs->interface->put('media_by_page',(integer)$_POST['user_ui_media_by_page'],'integer');
-		
+
 		# Udate user
 		$core->updUser($core->auth->userID(),$cur);
-		
+
 		# --BEHAVIOR-- adminAfterUserOptionsUpdate
 		$core->callBehavior('adminAfterUserOptionsUpdate',$cur,$core->auth->userID());
-		
+
 		dcPage::addSuccessNotice(__('Personal options has been successfully updated.'));
 		http::redirect('preferences.php#user-options');
@@ -192,5 +192,5 @@
 		# --BEHAVIOR-- adminBeforeUserOptionsUpdate
 		$core->callBehavior('adminBeforeDashboardOptionsUpdate',$core->auth->userID());
-		
+
 		# Update user prefs
 		$core->auth->user_prefs->dashboard->put('doclinks',!empty($_POST['user_dm_doclinks']),'boolean');
@@ -199,8 +199,8 @@
 		$core->auth->user_prefs->interface->put('iconset',(!empty($_POST['user_ui_iconset']) ? $_POST['user_ui_iconset'] : ''));
 		$core->auth->user_prefs->interface->put('nofavmenu',empty($_POST['user_ui_nofavmenu']),'boolean');
-		
+
 		# --BEHAVIOR-- adminAfterUserOptionsUpdate
 		$core->callBehavior('adminAfterDashboardOptionsUpdate',$core->auth->userID());
-		
+
 		dcPage::addSuccessNotice(__('Dashboard options has been successfully updated.'));
 		http::redirect('preferences.php#user-favorites');
@@ -213,5 +213,5 @@
 
 # Add selected favorites
-if (!empty($_POST['appendaction'])) 
+if (!empty($_POST['appendaction']))
 {
 	try {
@@ -280,5 +280,5 @@
 			unset($order[$k]);
 		}
-	}	
+	}
 	$core->favs->setFavoriteIDs($order,false);
 	if (!$core->error->flag()) {
@@ -305,4 +305,5 @@
 	($user_acc_nodragdrop ? '' : dcPage::jsLoad('js/_preferences-dragdrop.js')).
 	dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
+	dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 	dcPage::jsLoad('js/jquery/jquery.pwstrength.js').
 		'<script type="text/javascript">'."\n".
@@ -320,5 +321,5 @@
 	dcPage::jsPageTabs($default_tab).
 	dcPage::jsConfirmClose('user-form').
-	
+
 	# --BEHAVIOR-- adminPreferencesHeaders
 	$core->callBehavior('adminPreferencesHeaders'),
@@ -386,5 +387,5 @@
 	echo
 	'<h4 class="vertical-separator pretty-title">'.__('Change my password').'</h4>'.
-	
+
 	'<div class="pw-table">'.
 	'<p class="pw-cell"><label for="new_pwd">'.__('New password:').'</label>'.
@@ -395,8 +396,8 @@
 	'</div>'.
 	'</div>'.
-	
+
 	'<p><label for="new_pwd_c">'.__('Confirm new password:').'</label>'.
 	form::password('new_pwd_c',20,255).'</p>'.
-	
+
 	'<p><label for="cur_pwd">'.__('Your current password:').'</label>'.
 	form::password('cur_pwd',20,255).'</p>'.
@@ -589,5 +590,5 @@
 
 if (count($iconsets_combo) > 1) {
-	echo 
+	echo
 		'<div class="fieldset">'.
 		'<h4>'.__('Dashboard icons').'</h4>'.
@@ -596,5 +597,5 @@
 		'</div>';
 } else {
-	echo '<p class="hidden">'.form::hidden('user_ui_iconset','').'</p>';
+	echo form::hidden('user_ui_iconset','');
 }
 
Index: admin/style/default.css
===================================================================
--- admin/style/default.css	(revision 2489)
+++ admin/style/default.css	(revision 2339)
@@ -16,25 +16,6 @@
 */
 /* ---------------------------------------------------------------------------
-																		START
----------------------------------------------------------------------------- */
-html {
-	font-size: 62.5%;
-	}
-body {
-	font-size: 12px; /* ie < 9 sucks */
-	font-size: 1.2rem;
-	line-height: 1.5;
-	font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
-	margin: 0;
-	padding: 0;
-	}
-/* ---------------------------------------------------------------------------
 																	LAYOUTS
 ---------------------------------------------------------------------------- */
-*, *:before, *:after {
-    -webkit-box-sizing: border-box;
-    -moz-box-sizing: border-box;
-    box-sizing: border-box;
-	}
 #header {
 	background: #676e78;
@@ -43,5 +24,4 @@
 	width: 100%;
 	display: table;
-	position: relative;
 	}
 #wrapper {
@@ -89,5 +69,5 @@
 	top: 0;
 	left: 14em;
-	width: 15px;
+	width: 1em;
 	height: 100%;
 	overflow: hidden;
@@ -143,10 +123,10 @@
 	}
 .two-cols .col:first-child,
-.two-cols .col30.first-col {
+	.two-cols .col30.first-col {
 	margin-left: 0;
 	margin-right: 2%;
 	}
 .two-cols .col:last-child,
-.two-cols .col70.last-col {
+	.two-cols .col70.last-col {
 	margin-left: 2%;
 	margin-right: 0;
@@ -165,4 +145,5 @@
 	}
 .three-cols .col:first-child {
+	width: 33.3%;
 	margin-left: 0;
 	}
@@ -172,5 +153,5 @@
 	}
 .two-boxes {
-	width: 48.5%;
+	width: 47%;
 	}
 .three-boxes {
@@ -181,11 +162,8 @@
 	vertical-align: top;
 	margin: 0 1.5% 1em;
+	-moz-box-sizing: border-box;
+	-webkit-box-sizing: border-box;
+	box-sizing: border-box;
 	text-align: left;
-	}
-.two-boxes:nth-of-type(odd), .three-boxes:nth-of-type(3n+1) {
-	margin-left: 0;
-	}
-.two-boxes:nth-of-type(even), .three-boxes:nth-of-type(3n) {
-	margin-right: 0;
 	}
 /* ---------------------------------------------------------------- layout: popups */
@@ -266,12 +244,15 @@
 	display: inline-block;
 	vertical-align: top;
-	margin: 0 10px 10px;
+	margin: 0 1.5% 1em;
+	-moz-box-sizing: border-box;
+	-webkit-box-sizing: border-box;
+	box-sizing: border-box;
 	text-align: left;
 	}
 .box.small {
-	width: 312px;
+	width: 320px;
 	}
 .box.medium {
-	width: 644px;
+	width: 660px;
 	}
 .box.large {
@@ -287,7 +268,16 @@
 																	HTML TAGS
 ---------------------------------------------------------------------------- */
+html {
+	font-size: 62.5%;
+	}
 body {
+	font-size: 12px; /* ie < 9 sucks */
+	font-size: 1.2rem;
+	line-height: 1.5;
+	font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
 	color: #333;
 	background: #fff;
+	margin: 0;
+	padding: 0;
 	}
 /* ------------------------------------------------------------------ titres */
@@ -301,10 +291,9 @@
 	padding: 0 0 1.5em;
 	font-weight: normal;
-	line-height: 1.25;
 	}
 /* fil d'ariane */
 #content > h2 {
 	padding: 0 1em .5em 1em;
-	margin: 0 -1em 1em -1em;
+	margin: 0 -1em .5em -1em;
 	background: #fff url(bg_h2.png) repeat-x center bottom;
 	}
@@ -332,5 +321,6 @@
 	}
 h4, .as_h4 {
-	font-size: 1.16em;
+	font-size: 14px; /* ie < 9 sucks */
+	font-size: 1.4rem;
 	color: #676e78;
 	}
@@ -351,5 +341,6 @@
 	}
 h5 {
-	font-size: 1em;
+	font-size: 12px; /* ie < 9 sucks */
+	font-size: 1.2rem;
 	font-weight: bold;
 	color: #676e78;
@@ -377,5 +368,6 @@
 	}
 table {
-	font-size: 1em;
+	font-size: 12px; /* ie < 9 sucks */
+	font-size: 1.2rem;
 	border-collapse: collapse;
 	margin: 0 0 1em 0;
@@ -427,4 +419,7 @@
 	white-space: pre;
 	white-space: -moz-pre-wrap;
+	white-space: -hp-pre-wrap;
+	white-space: -o-pre-wrap;
+	white-space: -pre-wrap;
 	white-space: pre-wrap;
 	white-space: pre-line;
@@ -461,5 +456,4 @@
 input[type=button], input[type=reset], a.button, button, textarea, select, legend {
 	border-radius: 3px;	
-	max-width: 100%;
 	}
 form {
@@ -502,4 +496,7 @@
 	}
 input:focus, textarea:focus, select:focus {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
 	border-color: #9bca1c;
 	}
@@ -597,9 +594,4 @@
 	color: #900;
 	font-size: 1.3em;
-	}
-label.bold {
-	text-transform: uppercase;
-	font-weight: bold;
-	margin-top: 2em;
 	}
 label.area, p.area {
@@ -738,10 +730,11 @@
 	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
 	font-weight: normal;
-	font-size: 1.16em;
+	font-size: 14px; /* ie < 9 sucks */
+	font-size: 1.4rem;
 	}
 .button.add:hover, .button.add:active, .button.add:focus {
 	background-color: #9BCA1C;
 	background-image: -webkit-gradient(linear, left top, left bottom, from(#9BCA1C), to(#bee74b));
-	background-image: linear-gradient(#9BCA1C, #bee74b);
+	background-image: linear-gradient(top, #9BCA1C, #bee74b);
 	border-color: #9BCA1C;
 	}
@@ -806,5 +799,4 @@
 	padding-top: 1em;
 	padding-bottom: 1em;
-	margin-top: .5em;
 	}
 .error {
@@ -887,5 +879,6 @@
 	}
 #prelude li a {
-	padding: 3px 16px 3px 8px;
+	padding: 3px 16px 3px 8px; /* ie < 9 sucks */
+		padding: 3px 1.6rem 3px .8rem;
 	background: #A2CBE9;
 	color: #000;
@@ -919,5 +912,5 @@
 /* h1 */
 h1 {
-	text-indent: 100%;
+	text-indent: -1000px;
 	width: 16.5em;
 	}
@@ -926,6 +919,8 @@
 	top: 0;
 	left: 0;
-	width: 150px;
-	height: 3em;
+	width: 15em;
+	height: 36px;
+	/* ie < 9 sucks */
+	height: 3.6rem;
 	color: #fff;
 	background: transparent url(dc_logos/b-dotclear120.png) no-repeat 0 6px;
@@ -984,5 +979,6 @@
 	padding: 10px 0 10px 8px;
 	color: #676e78;
-	font-size: 1.15em;
+	font-size: 14px; /* ie < 9 sucks */
+	font-size: 1.4rem;
 	}
 #favorites-menu h3 {
@@ -1029,8 +1025,9 @@
 	}
 #search-menu * {
-	height: 2em;
+	height: 22px; /* ie < 9 sucks */
+	height: 2.2rem;
 	display: inline-block;
 	vertical-align: top;
-	line-height: 24px;
+	line-height: 22px;
 	}
 #search-menu p {
@@ -1038,9 +1035,9 @@
 	border-radius: .3em;
 	position: relative;
-	width: 95%;
 	overflow: hidden;
 	}
 #qx {
-	width: 80%;
+	width: 124px; /* ie < 9 sucks */
+	width: 12.4rem;
 	border-bottom-left-radius: .3em;
 	border-top-left-radius: .3em;
@@ -1049,5 +1046,6 @@
 	padding: 0;
 	border: none;
-	height: 2em;
+	height: 22px;
+	height: 2.2rem;
 	}
 #qx:focus {
@@ -1055,6 +1053,7 @@
 	}
 #search-menu input[type="submit"] {
-	padding: 0 .25em;
-	margin-left: .33em;
+	padding: 0 3px;
+	padding: 0 .3rem;
+	margin-left: -4px;
 	background: #dfdfdf;
 	border-color: #999;
@@ -1067,6 +1066,6 @@
 	border: none;
 	border-left: 1px solid #999;
-	font-size: .91em;
-	float: right;
+	font-size: 10px; /* ie < 9 sucks */
+	font-size: 1rem;
 	}
 #search-menu input[type="submit"]:hover,
@@ -1115,36 +1114,4 @@
 	padding-left: 1em;
 	}
-.pseudo-tabs {
-	margin: -.75em 0 2em 0;
-	border-bottom: 1px solid #bbb;
-	display: table;
-	width: 100%;
-	padding: 0;
-	line-height: 24px;
-	border-collapse: collapse;
-	}
-.pseudo-tabs li {
-	display: table-cell;
-	border-width: 0 1px;
-	border-style: solid;
-	border-color: #ccc;
-	padding: 0;
-	margin: 0;
-	text-align: center;
-	}
-.pseudo-tabs a {
-	display: block;
-	font-weight: bold;
-	padding: 0 24px;
-	border-bottom: none;
-	}
-.pseudo-tabs a:hover, .pseudo-tabs a:focus {
-	background-color: #ecf0f1;
-	color: #333;
-	}
-.pseudo-tabs a.active {
-	background-color: #ecf0f1;
-	color: #d30e60;
-	}
 /* contextual help */
 #help {
@@ -1160,5 +1127,6 @@
 	top: 0;
 	right: 0;
-	width: 24em;
+	width: 280px; /* ie < 9 sucks */
+	width: 28rem;
 	border-left: 2px solid #FFD478;
 	border-top: 2px solid #FFD478;
@@ -1175,5 +1143,6 @@
 	cursor: pointer;
 	color: #2373A8;
-	line-height: 3;
+	line-height: 36px; /* ie < 9 sucks */
+	line-height: 3.6rem;
 	}
 #help-button.floatable {
@@ -1195,5 +1164,6 @@
 	}
 #content.with-help #help-button {
-	right: 24em;
+	right: 280px; /* ie < 9 sucks */
+	right: 28rem;
 	background-color: #f5f5f5;
 	position: fixed;
@@ -1408,5 +1378,6 @@
 	width: 20em;
 	margin: 1.5em auto 0;
-	font-size: 1.16em;
+	font-size: 14px; /* ie < 9 sucks */
+	font-size: 1.4rem;
 	}
 #login-screen h1 {
@@ -1422,5 +1393,4 @@
 	padding: 1em 1em 0 1em;
 	background: #fff;
-	margin-bottom: 0;
 	}
 #login-screen input[type=text], #login-screen input[type=password], #login-screen input[type=submit],
@@ -1429,4 +1399,7 @@
 	margin: 0;
 	padding: 5px 3px;
+	-webkit-box-sizing: border-box;	
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
 	}
 #login-screen input.login, #login-screen input.login:focus {
@@ -1437,8 +1410,6 @@
 #login-screen #issue {
 	margin-left: 1.33em;
-	font-size: .91em;
-	}
-#issue p:first-child {
-	text-align: right;
+	font-size: 12px; /* ie < 9 sucks */
+	font-size: 1.2rem;
 	}
 #login-screen #issue strong {
@@ -1447,6 +1418,5 @@
 /* ------------------------------------------------------------------------- index.php */
 #dashboard-main {
-	padding: 1em;
-	text-align: center;
+	padding: 1em 0;
 	}
 /* raccourcis */
@@ -1457,5 +1427,5 @@
 	}
 #icons p {
-	width: 14em;
+	width: 170px;
 	text-align: center;
 	margin: 1em 0 2em;
@@ -1491,10 +1461,6 @@
 /* billet rapide */
 #quick {
-	padding: 1em;
-	max-width: 976px;
-	margin: 0 auto;
-	background: #f5f5f5;
-	box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
-	text-align: left;
+	margin-top: 1em;
+	padding-top: 1em;
 	}
 #quick h3 {
@@ -1523,5 +1489,5 @@
 /* modules additionnels */
 #dashboard-boxes {
-	margin: 1em auto 1em;
+	margin: 2em auto 1em;
 	padding-top: 2em;
 	}
@@ -1610,13 +1576,9 @@
 	}
 /* ------------------------------------------------------------------- blog_theme.php */
-/* pour les alignements verticaux */
-#theme-new, #theme-activate, #theme-deactivate, #theme-update {
-	margin-left: -10px;
-	margin-right: -10px;
-	}
 .box.theme {
-	margin: 5px;
+	margin: .5em;
 	padding: 10px 10px 5px 10px;
 	border: 1px solid #dfdfdf;
+	min-height: 295px;
 	position: relative;
 	}
@@ -1624,7 +1586,18 @@
 	background: #ecf0f1 url(texture.png);
 	}
-.module-name, .module-name label {
+#theme-new .box.theme {
+	width: 280px;
+	}
+#theme-activate .box.theme {
+	min-height: 330px;
+	}
+#theme-deactivate .box.theme {
+	min-height: 90px;
+	}
+#theme-deactivate .box.theme:hover {
+	background: transparent url(dc_logos/sq-logo-32.png) no-repeat top right;
+	}
+.module-name {
 	margin-bottom: .5em;
-	color: #676e78;
 	}
 .module-sshot {
@@ -1632,9 +1605,17 @@
 	}
 .module-sshot img {
-	padding: 5px;
+	padding: .5em;
 	background: #f7f7f7;
 	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
 	border: 3px solid #fff;
-	max-width: 100%;
+	padding: .5em;
+	}
+.theme .module-sshot img {
+	max-width: 280px; /* pour ceux qui n'ont pas de miniature */
+	}
+#theme-new .theme .module-sshot img {
+	max-width: 240px; /* pour ceux qui n'ont pas de miniature */
+	max-height: 210px;
+	overflow: hidden;
 	}
 .module-actions {
@@ -1656,89 +1637,50 @@
 	content: "- ";
 	}
-.toggle-bloc .mod-more {
-	display: block;
-	margin-left: 0;
-	}
-.box.theme input {
-	margin-bottom: 1em;
-	}
-.module-name input[type="checkbox"] {
-	margin-bottom: 0;
-	}
-/**
-Les screenshots des thèmes ont deux tailles possibles :
-- dans Ajouter des thèmes : 240px (+ 10 padding image + 20 padding boîte + 6 bordure + 2 ombrage = 278)
-- dans Thèmes installés : 280px (+ 10 padding-image + 20 padding-boîte + 2 ombrage = 318)
-On adapte largeur et hauteur en fonction 
-*/
-#theme-new .box.theme, #theme-update .box.theme { /* Ajouter un thème */
-	width: 278px;
-	min-height: 275px;
-	}
-#theme-new .module-sshot img { /* Pour ceux qui n'ont pas de miniature on contraint l'image */
-	max-width: 240px;
-	max-height: 210px;
-	overflow: hidden;
-	}
-#theme-deactivate .box.theme { /* Thèmes désactivés */
-	width: 278px;
-	}
-#theme-activate .box.theme { /* Thèmes installés */
-	width: 318px;
-	min-height: 304px;
-	max-width: 100%;
-	}
-#theme-deactivate .box.theme:hover {
-	background: transparent url(dc_logos/sq-logo-32.png) no-repeat top right;
-	}
-/* si js est là, les infos viennent par dessus le screenshot */
 .with-js #theme-new .module-infos.toggle-bloc,
 .with-js #theme-new .module-actions.toggle-bloc {
 	position: absolute;
+	top: 138px;
 	left: 10px;
 	width: 239px;
-	margin: 0;
 	padding: 10px;
 	background: rgba(250, 250, 250, .95);
 	}
 .with-js #theme-new .module-infos.toggle-bloc {
-	top: 128px;
+	top: 138px;
 	height: 80px;
 	border-top: 1px solid #e3e3e3;
 	}
 .with-js #theme-new .module-actions.toggle-bloc {
-	top: 208px;
-	height: 40px;
+	top: 228px;
+	height: 18px;
+	margin: 0;
 	border-bottom: 1px solid #e3e3e3;
 	}
-.with-js .module-sshot:hover {
-	cursor: pointer;
-	}
-/* mise en forme pour la boîte du thème courant */
-.box.current-theme { /* Thème courant */
-	width: 646px;
-	margin: 5px;
-	padding: 20px 18px 6px;
+.toggle-bloc .mod-more {
+	display: block;
+	margin-left: 0;
+	}
+.box.current-theme {
+	width: 652px;
+	margin: .5em;
+	padding: 10px 18px;
 	background: #fff url(texture.png);
 	border: 1px solid #eee;
 	border-radius: .5em;
-	min-height: 326px;
+	min-height: 330px;
 	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
-	position: relative;
-	}
-.current-theme .module-sshot:hover {
-	cursor: auto;
 	}
 .current-theme .module-sshot img {
 	float: left;
 	margin-right: 2em;
-	border: 9px solid #fff;
-	padding: 5px;
-	max-width: 308px;
-	max-height: 273px;
+	margin-bottom: 1em;
+	border: 3px solid #fff;
+	padding: .5em;
 	}
 .current-theme .module-name {
 	color: #D33800;
-	font-size: 1.5em;
+	font-size: 1.33em;
+	}
+.box.theme input {
 	margin-bottom: 1em;
 	}
@@ -1746,12 +1688,7 @@
 	width: auto;
 	overflow: hidden;
-	padding-top: 2em;
+	padding-top: 3em;
 	margin: 1.5em 0 2em;
 	background: transparent url(../images/minus-theme.png) no-repeat left top;
-	}
-.current-theme .actions-buttons {
-	position: absolute;
-	bottom: 0;
-	right: 18px;
 	}
 /* ------------------------------------------------------------------ categories.php */
@@ -1797,5 +1734,5 @@
 	float: right;
 	margin-top: -.2em;
-	font-size: .91em;
+	font-size: 11px;
 	}
 .cat-buttons select {
@@ -1826,5 +1763,5 @@
 	margin: 9px;
 	padding: 10px 12px 6px;
-	width: 320px;
+	width: 300px;
 	display: inline-block;
 	vertical-align: top;
@@ -2010,7 +1947,9 @@
 .upload-progress div {
 	width: 0;
-	height: 1.2em;
+	height: 1em;
+	padding: .2em 0;
+	font-size: 0.8em;
 	font-weight: bold;
-	line-height: 1.2em;
+	line-height: 1em;
 	text-align: right;
 	background: green url(loader.png) repeat-x left top;
@@ -2074,8 +2013,4 @@
 	padding: 4px 4px 0 20px;
 	}
-.modules a.module-config {
-	background: transparent url(settings.png) no-repeat 2px 6px;
-	padding: 4px 4px 0 18px;
-	}
 #m_search {
 	background: transparent url(search.png) no-repeat 4px center;
@@ -2107,7 +2042,4 @@
 	padding-top: .5em;
 	}
-#plugin-update td {
-	vertical-align: baseline;
-	}
 /* ---------------------------------------------------------- post.php, page.php */
 #entry-wrapper {
@@ -2124,6 +2056,16 @@
 	float: right;
 	}
+#entry-content label {
+	text-transform: uppercase;
+	font-weight: bold;
+	margin-top: 2em;
+	display: inline-block;
+	}
+#entry-content label:first-child {
+	margin-top: 0;
+	}
 #entry-sidebar h4 {
-	font-size: 1.08em;
+	font-size: 13px;
+	font-size: 1.3rem;
 	margin-top: .3em;
 	}
@@ -2211,7 +2153,4 @@
 /* --------------------------------------------------------------------- user.php */
 .blog-perm {
-	padding-top: 2em;
-	}
-.blog-perm {
 	margin-top: 2em;
 	font-weight: bold;
@@ -2235,8 +2174,4 @@
 	font-size: 2em;
 	}
-.guideline #content h2:first-child {
-	margin-top: 0;
-	padding-top: .5em;
-	}
 .guideline h3 {
 	margin-top: 2em;
@@ -2249,12 +2184,4 @@
 	padding: 2px .5em;
 	}
-.guideline #main-menu ul {
-	margin: 0;
-	padding: 0;
-	font-weight: normal;
-	}
-.guideline #main-menu li {
-	padding-left: 1em;
-}
 /* ------------------------------------------------------------------------------------
 																				CLASSES
@@ -2603,25 +2530,5 @@
 															UN POIL DE MEDIA QUERIES
 ------------------------------------------------------------------------------------ */
-@media screen and (min-width: 80em) {
-#wrapper {
-	background: #F7F7F7 url(bg_wrapper.png) repeat-y 18em;
-	}
-#main {
-	margin-left: -17em;
-	}
-#content {
-	margin: 0 0 0 17em;
-	}
-#main-menu {
-	width: 17em;
-	}
-#collapser {
-	left: 17em;
-	}
-h1 {
-	width: 19.5em;
-	}
-}
-@media screen and (max-width: 61em) {
+@media screen and (max-width: 1000px) {
 #top-info-blog #switchblog {
 	max-width: 16em;
@@ -2630,4 +2537,6 @@
 	margin-left: 2em;
 	}
+}
+@media screen and (max-width: 960px) {
 #header {
 	display: block;
@@ -2669,13 +2578,5 @@
 	}
 }
-@media screen and (max-width: 48em) {
-	#dashboard-boxes .box.medium, .box.medium,
-	#dashboard-boxes .box.small, .box.small,
-	#dashboard-boxes .box.large, .box.large {
-	width: 95%;
-	margin: 10px auto;
-	}
-}
-@media screen and (max-width: 44em) {
+@media screen and (max-width: 700px) {
 #help-button {
 	height: 26px;
@@ -2684,5 +2585,6 @@
 	padding: 0;
 	margin: 0;
-	font-size: .83em;
+	font-size: 10px;
+	font-size: 1rem;
 	line-height: 68px;
 	overflow: hidden;
@@ -2691,7 +2593,7 @@
 	top: 77px;
 	}
-.one-box, .two-boxes, .box,
+.one-box, .two-boxes, .two-boxes.odd, .two-boxes.even, .box,
 	.two-cols .col {
-	width: 96%;
+	width: 100%;
 	margin-left: 0;
 	margin-right: 0;
@@ -2711,5 +2613,5 @@
 	}
 }
-@media screen and (max-width: 38em) {
+@media screen and (max-width: 600px) {
 #header h1, #header h1 a {
 	width: 42px !important;
@@ -2717,9 +2619,9 @@
 	}
 h1 a:link {
-	background: transparent url(dc_logos/b-dotclear120.png) no-repeat -270px 6px;
+	background: transparent url(dc_logos/b-dotclear120.png) no-repeat -180px 6px;
 	border-right: 1px solid #ccc;
 	}
 h1 a:hover, h1 a:focus {
-	background: url(dc_logos/b-dotclear120.png) no-repeat -270px -94px;
+	background: url(dc_logos/b-dotclear120.png) no-repeat -180px -94px;
 	border-right: 1px solid #A2CBE9;
 	}
@@ -2729,7 +2631,4 @@
 	width: 100%;
 	margin: 0;
-	}
-#dashboard-main {
-	padding: 0;
 	}
 #main-menu a {
@@ -2748,21 +2647,15 @@
 	}
 #main #content > h2 {
-	margin: 0 -.5em 1em;
-	padding: 6px 30px 4px .5em;
-	}
-#dashboard-boxes .box.medium, .box.medium,
-	#dashboard-boxes .box.small, .box.small,
-	#dashboard-boxes .box.large, .box.large {
-	width: 95%;
+	margin: 0;
+	padding: 6px 30px 6px 0;
+	}
+#dashboard-boxes .box.medium,
+	#dashboard-boxes .box.small,
+	#dashboard-boxes .box.large {
+	width: 100%;
 	margin: 10px auto;
 	}
-.cell, #filters-form .cell {
-	display: inline-block;
-	border: none;
-	padding: 1em;
-	vertical-align: bottom;
-	}
 }
-@media screen and (max-width: 26.5em) {
+@media screen and (max-width: 420px) {
 h1, h1 a {
 	padding: 0;
@@ -2779,55 +2672,9 @@
 	margin-bottom: .5em;
 	}
-#wrapper {
-	font-size: 1.4em;
+#icons p {
+	width: 150px;
 	}
 #content.with-help #help-button {
-	top: 120px;
-	right: 20.5em;
-	}
-#content.with-help #help {
-	font-size: 12px;
-	}
-p.top-add {
-	margin-bottom: .5em;
-	text-align: center;
-	}
-.multi-part {
-	padding-left: 0;
-	}
-.part-tabs ul {
-	margin: 1em 0;
-	padding: 0 .5em;
-	}
-.part-tabs li a {
-	display: block;
-	width: 100%;
-	}
-#icons p {
-	width: 9em;
-	padding: 1em .25em;
-	}
-.media-item {
-	width: 90%;
-	}
-#theme-new, #theme-activate, #theme-deactivate {
-	margin-left: 0;
-	margin-right: 0;
-	}
-.box.current-theme {
-	margin: 5px;
-	padding: 10px;
-	width: 100%;
-	}
-.current-theme .module-sshot img {
-	margin: 0;
-	float: none;
-	max-width: 100%;
-	}
-table .maximal {
-	min-width: 14em;
-	}
-th, td {
-	padding: 0.3em 1em 0.3em 0;
+	top: 101px;
 	}
 }
Index: admin/update.php
===================================================================
--- admin/update.php	(revision 2382)
+++ admin/update.php	(revision 2314)
@@ -203,6 +203,5 @@
 		echo
 			'<p class="static-msg">'.sprintf(__('Dotclear %s is available.'),$new_v).
-				($version_info ? ' <a href="'.$version_info.'" class="outgoing" title="'.__('Information about this version').'">('.
-					__('Information about this version').')&nbsp;<img src="images/outgoing.png" alt=""/></a>' : '').
+				($version_info ? ' <a href="'.$version_info.'">('.__('Information about this version').')</a>' : '').
 				'</p>'.
 		
Index: admin/user.php
===================================================================
--- admin/user.php	(revision 2342)
+++ admin/user.php	(revision 2256)
@@ -347,5 +347,5 @@
 				{
 					echo 
-					'<form action="users_actions.php" method="post" class="perm-block">'.
+					'<form action="users_actions.php" method="post">'.
 					'<p class="blog-perm">'.__('Blog:').' <a href="blog.php?id='.html::escapeHTML($k).'">'.
 					html::escapeHTML($v['name']).'</a> ('.html::escapeHTML($k).')</p>';
Index: admin/users_actions.php
===================================================================
--- admin/users_actions.php	(revision 2436)
+++ admin/users_actions.php	(revision 2256)
@@ -316,5 +316,4 @@
 }
 
-dcPage::helpBlock('core_users');
 dcPage::close();
 ?>
Index: inc/admin/actions/class.dcaction.php
===================================================================
--- inc/admin/actions/class.dcaction.php	(revision 2493)
+++ inc/admin/actions/class.dcaction.php	(revision 2243)
@@ -43,20 +43,20 @@
 	/** @var string form field name for "entries" (usually "entries") */
 	protected $field_entries;
-
+	
 	/** @var string title for checkboxes list, if displayed */
 	protected $cb_title;
-
+	
 	/** @var string title for caller page title */
 	protected $caller_title;
 
 	/** @var boolean true if we are acting inside a plugin (different handling of begin/endpage) */
-	protected $in_plugin;
-
+	protected $in_plugin;	
+	
 	/** @var boolean true if we enable to keep selection when redirecting */
-	protected $enable_redir_selection;
+	protected $enable_redir_selection;	
 
     /**
      * Class constructor
-     *
+     * 
      * @param mixed  $core   dotclear core
      * @param mixed  $uri   form uri
@@ -89,5 +89,5 @@
 		$this->enable_redir_selection = true;
 	}
-
+	
     /**
      * setEnableRedirSelection - define whether to keep selection when redirecting
@@ -101,5 +101,5 @@
 		$this->enable_redir_selection = $enable;
 	}
-
+	
     /**
      * addAction - adds an action
@@ -138,5 +138,5 @@
 		return $this;
 	}
-
+	
     /**
      * getCombo - returns the actions combo, useable through form::combo
@@ -149,6 +149,6 @@
 		return $this->combo;
 	}
-
-
+	
+	
     /**
      * getIDS() - returns the list of selected entries
@@ -161,5 +161,5 @@
 		return array_keys($this->entries);
 	}
-
+	
     /**
      * getIDS() - returns the list of selected entries as HTML hidden fields string
@@ -176,5 +176,5 @@
 		return $ret;
 	}
-
+	
     /**
      * getHiddenFields() - returns all redirection parameters as HTML hidden fields
@@ -185,5 +185,5 @@
 	 *
      * @return string the HTML code for hidden fields
-     */
+     */	
 	public function getHiddenFields($with_ids = false) {
 		$ret = '';
@@ -196,6 +196,6 @@
 		return $ret;
 	}
-
-
+	
+	
 	/**
      * getRS() - get record from DB Query containing requested IDs
@@ -210,5 +210,5 @@
 		return $this->rs;
 	}
-
+	
 	/**
      * setupRedir - setup redirection arguments
@@ -233,5 +233,5 @@
      *
      * @param array $params extra parameters to append to redirection
-	 *						must be an array : each key is the name,
+	 *						must be an array : each key is the name, 
 	 *						each value is the wanted value
      * @param boolean $with_selected_entries if true, add selected entries in url
@@ -246,5 +246,5 @@
 			unset($redir_args['redir']);
 		}
-
+		
 		if ($with_selected_entries && $this->enable_redir_selection) {
 			$redir_args[$this->field_entries] = array_keys($this->entries);
@@ -252,5 +252,5 @@
 		return $this->uri.'?'.http_build_query($redir_args).$this->redir_anchor;
 	}
-
+	
 	/**
      * redirect - redirects to redirection page
@@ -263,6 +263,6 @@
 		http::redirect($this->getRedirection($with_selected_entries,$params));
 		exit;
-	}
-
+	}	
+	
 	/**
      * getURI - returns current form URI, if any
@@ -286,5 +286,5 @@
 		return $this->caller_title;
 	}
-
+	
 	/**
      * getAction - returns current action, if any
@@ -309,5 +309,5 @@
 
 		$this->setupRedir($this->from);
-		$this->fetchEntries($this->from);
+		$this->fetchEntries($this->from);	
 		if (isset($this->from['action'])) {
 			$this->action = $this->from['action'];
@@ -339,11 +339,11 @@
      */
 	public function getCheckboxes() {
-		$ret =
+		$ret = 
 			'<table class="posts-list"><tr>'.
 			'<th colspan="2">'.$this->cb_title.'</th>'.
 			'</tr>';
 		foreach ($this->entries as $id=>$title) {
-			$ret .=
-				'<tr><td class="minimal">'.
+			$ret .= 
+				'<tr><td>'.
 				form::checkbox(array($this->field_entries.'[]'),$id,true,'','').'</td>'.
 				'<td>'.	$title.'</td></tr>';
@@ -352,5 +352,5 @@
 		return $ret;
 	}
-
+	
 	/**
      * beginPage, endPage - displays the beginning/ending of a page, if action does not redirects dirtectly
Index: inc/admin/actions/class.dcactioncomments.php
===================================================================
--- inc/admin/actions/class.dcactioncomments.php	(revision 2493)
+++ inc/admin/actions/class.dcactioncomments.php	(revision 2256)
@@ -29,5 +29,5 @@
 		dcDefaultCommentActions::adminCommentsActionsPage($this->core,$this);
 	}
-
+	
 	public function beginPage($breadcrumb='',$head='') {
 		if ($this->in_plugin) {
@@ -43,10 +43,10 @@
 				$head,
 				$breadcrumb
-			);
+			);	
 
 		}
 		echo '<p><a class="back" href="'.$this->getRedirection(true).'">'.__('Back to comments list').'</a></p>';
 	}
-
+	
 	public function endPage() {
 		dcPage::close();
@@ -64,5 +64,5 @@
 		$this->endPage();
 	}
-
+	
 	/**
      * getcheckboxes -returns html code for selected entries
@@ -74,11 +74,11 @@
      */
 	public function getCheckboxes() {
-		$ret =
+		$ret = 
 			'<table class="posts-list"><tr>'.
 			'<th colspan="2">'.__('Author').'</th><th>'.__('Title').'</th>'.
 			'</tr>';
 		foreach ($this->entries as $id=>$title) {
-			$ret .=
-				'<tr><td class="minimal">'.
+			$ret .= 
+				'<tr><td>'.
 				form::checkbox(array($this->field_entries.'[]'),$id,true,'','').'</td>'.
 				'<td>'.	$title['author'].'</td><td>'.$title['title'].'</td></tr>';
@@ -91,15 +91,15 @@
 		if (!empty($from['comments'])) {
 			$comments = $from['comments'];
-
+			
 			foreach ($comments as $k => $v) {
 				$comments[$k] = (integer) $v;
 			}
-
+			
 			$params['sql'] = 'AND C.comment_id IN('.implode(',',$comments).') ';
-
+			
 			if (!isset($from['full_content']) || empty($from['full_content'])) {
 				$params['no_content'] = true;
 			}
-
+			
 			$co = $this->core->blog->getComments($params);
 			while ($co->fetch())	{
@@ -116,5 +116,5 @@
 }
 
-class dcDefaultCommentActions
+class dcDefaultCommentActions 
 {
 	public static function adminCommentsActionsPage($core, dcCommentsActionsPage $ap) {
@@ -127,5 +127,5 @@
 			$ap->addAction(array(__('Mark as junk') => 'junk'), $action);
 		}
-
+	
 		if ($core->auth->check('delete,contentadmin',$core->blog->id))
 		{
@@ -147,5 +147,5 @@
 			default : $status = 1; break;
 		}
-
+		
 		$core->blog->updCommentsStatus($co_ids,$status);
 
@@ -163,10 +163,10 @@
 		{
 			# --BEHAVIOR-- adminBeforeCommentDelete
-			$core->callBehavior('adminBeforeCommentDelete',$comment_id);
+			$core->callBehavior('adminBeforeCommentDelete',$comment_id);				
 		}
-
+		
 		# --BEHAVIOR-- adminBeforeCommentsDelete
 		$core->callBehavior('adminBeforeCommentsDelete',$co_ids);
-
+		
 		$core->blog->delComments($co_ids);
 		dcPage::addSuccessNotice(__('Selected comments have been successfully deleted.'));
Index: inc/admin/actions/class.dcactionposts.php
===================================================================
--- inc/admin/actions/class.dcactionposts.php	(revision 2494)
+++ inc/admin/actions/class.dcactionposts.php	(revision 2309)
@@ -28,5 +28,5 @@
 
 	}
-
+	
 	public function beginPage($breadcrumb='',$head='') {
 		if ($this->in_plugin) {
@@ -46,5 +46,5 @@
 		echo '<p><a class="back" href="'.$this->getRedirection(true).'">'.__('Back to entries list').'</a></p>';
 	}
-
+	
 	public function endPage() {
 		if ($this->in_plugin) {
@@ -54,5 +54,5 @@
 		}
 	}
-
+	
 	public function error(Exception $e) {
 		$this->core->error->add($e->getMessage());
@@ -66,29 +66,29 @@
 		$this->endPage();
 	}
-
+	
 	protected function fetchEntries($from) {
 		if (!empty($from['entries']))
 		{
 			$entries = $from['entries'];
-
+			
 			foreach ($entries as $k => $v) {
 				$entries[$k] = (integer) $v;
 			}
-
+			
 			$params['sql'] = 'AND P.post_id IN('.implode(',',$entries).') ';
-
+			
 			if (!isset($from['full_content']) || empty($from['full_content'])) {
 				$params['no_content'] = true;
 			}
-
+			
 			if (isset($from['post_type'])) {
 				$params['post_type'] = $from['post_type'];
 			}
-
+			
 			$posts = $this->core->blog->getPosts($params);
 			while ($posts->fetch())	{
 				$this->entries[$posts->post_id] = $posts->post_title;
 			}
-			$this->rs = $posts;
+			$this->rs = $posts;			
 		} else {
 			$this->rs = $this->core->con->select("SELECT blog_id FROM ".$this->core->prefix."blog WHERE false");;
@@ -97,5 +97,5 @@
 }
 
-class dcDefaultPostActions
+class dcDefaultPostActions 
 {
 	public static function adminPostsActionsPage($core, $ap) {
@@ -170,5 +170,5 @@
 		$ap->redirect(true);
 	}
-
+	
 	public static function doUpdateSelectedPost($core, dcPostsActionsPage $ap, $post) {
 		$posts_ids = $ap->getIDs();
@@ -199,5 +199,5 @@
 		$ap->redirect(true);
 	}
-
+	
 	public static function doDeletePost($core, dcPostsActionsPage $ap, $post) {
 
@@ -212,8 +212,8 @@
 			$core->callBehavior('adminBeforePostDelete',(integer) $post_id);
 		}
-
+		
 		# --BEHAVIOR-- adminBeforePostsDelete
 		$core->callBehavior('adminBeforePostsDelete',$posts_ids);
-
+		
 		$core->blog->delPosts($posts_ids);
 		dcPage::addSuccessNotice(sprintf(
@@ -225,5 +225,5 @@
 			count($posts_ids))
 		);
-
+		
 		$ap->redirect(false);
 	}
@@ -242,16 +242,16 @@
 				$cur_cat->cat_url = '';
 				$title = $cur_cat->cat_title;
-
+				
 				$parent_cat = !empty($post['new_cat_parent']) ? $post['new_cat_parent'] : '';
-
+				
 				# --BEHAVIOR-- adminBeforeCategoryCreate
 				$core->callBehavior('adminBeforeCategoryCreate', $cur_cat);
-
+				
 				$new_cat_id = $core->blog->addCategory($cur_cat, (integer) $parent_cat);
-
+				
 				# --BEHAVIOR-- adminAfterCategoryCreate
 				$core->callBehavior('adminAfterCategoryCreate', $cur_cat, $new_cat_id);
 			}
-
+			
 			$core->blog->updPostsCategory($posts_ids, $new_cat_id);
 			$title = $core->blog->getCategory($new_cat_id);
@@ -280,5 +280,5 @@
 			$categories_combo = dcAdminCombos::getCategoriesCombo(
 				$core->blog->getCategories()
-			);
+			);			
 			echo
 			'<form action="'.$ap->getURI().'" method="post">'.
@@ -286,7 +286,7 @@
 			'<p><label for="new_cat_id" class="classic">'.__('Category:').'</label> '.
 			form::combo(array('new_cat_id'),$categories_combo,'');
-
+			
 			if ($core->auth->check('categories', $core->blog->id)) {
-				echo
+				echo 
 				'<div>'.
 				'<p id="new_cat">'.__('Create a new category for the post(s)').'</p>'.
@@ -298,5 +298,5 @@
 				'</div>';
 			}
-
+			
 			echo
 			$core->formNonce().
@@ -308,5 +308,5 @@
 
 		}
-
+	
 	}
 	public static function doChangePostAuthor($core, dcPostsActionsPage $ap, $post) {
@@ -320,5 +320,5 @@
 				throw new Exception(__('This user does not exist'));
 			}
-
+			
 			$cur = $core->con->openCursor($core->prefix.'post');
 			$cur->user_id = $new_user_id;
@@ -368,5 +368,5 @@
 			'<p><label for="new_auth_id" class="classic">'.__('New author (author ID):').'</label> '.
 			form::field('new_auth_id',20,255);
-
+			
 			echo
 				$core->formNonce().$ap->getHiddenFields().
@@ -403,5 +403,5 @@
 						html::escapeHTML($core->blog->name) => '',
 						$ap->getCallerTitle() => $ap->getRedirection(true),
-						__('Change language for this selection') => ''
+						_('Change language for this selection') => ''
 			)));
 			# lang list
@@ -420,12 +420,12 @@
 			unset($all_langs);
 			unset($rs);
-
+			
 			echo
 			'<form action="'.$ap->getURI().'" method="post">'.
 			$ap->getCheckboxes().
-
+			
 			'<p><label for="new_lang" class="classic">'.__('Entry language:').'</label> '.
 			form::combo('new_lang',$lang_combo,'');
-
+			
 			echo
 				$core->formNonce().$ap->getHiddenFields().
Index: inc/admin/class.dc.favorites.php
===================================================================
--- inc/admin/class.dc.favorites.php	(revision 2376)
+++ inc/admin/class.dc.favorites.php	(revision 2302)
@@ -491,5 +491,5 @@
 	{
 		$comment_count = $core->blog->getComments(array(),true)->f(0);
-		$str_comments = __('%d comment', '%d comments',$comment_count);
+		$str_comments = __('%d comments', '%d comments',$comment_count);
 		$v['title']= sprintf($str_comments,$comment_count);
 	}
Index: inc/admin/lib.dc.page.php
===================================================================
--- inc/admin/lib.dc.page.php	(revision 2487)
+++ inc/admin/lib.dc.page.php	(revision 2328)
@@ -665,6 +665,4 @@
 		self::jsVar('dotclear.msg.confirm_delete_plugin',
 			__('Are you sure you want to delete "%s" plugin?')).
-		self::jsVar('dotclear.msg.confirm_delete_plugins',
-			__('Are you sure you want to delete selected plugins?')).
 		self::jsVar('dotclear.msg.use_this_theme',
 			__('Use this theme')).
@@ -673,6 +671,4 @@
 		self::jsVar('dotclear.msg.confirm_delete_theme',
 			__('Are you sure you want to delete "%s" theme?')).
-		self::jsVar('dotclear.msg.confirm_delete_themes',
-			__('Are you sure you want to delete selected themes?')).
 		self::jsVar('dotclear.msg.confirm_delete_backup',
 			__('Are you sure you want to delete this backup?')).
Index: inc/admin/lib.moduleslist.php
===================================================================
--- inc/admin/lib.moduleslist.php	(revision 2490)
+++ inc/admin/lib.moduleslist.php	(revision 2327)
@@ -146,6 +146,6 @@
 	public function isDeletablePath($root)
 	{
-		return $this->path_writable
-			&& (preg_match('!^'.$this->path_pattern.'!', $root) || defined('DC_DEV') && DC_DEV)
+		return $this->path_writable 
+			&& (preg_match('!^'.$this->path_pattern.'!', $root) || defined('DC_DEV') && DC_DEV) 
 			&& $this->core->auth->isSuperAdmin();
 	}
@@ -256,5 +256,5 @@
 		}
 
-		echo
+		echo 
 		'<div class="modules-search">'.
 		'<form action="'.$this->getURL().'" method="get">'.
@@ -263,10 +263,10 @@
 		'<input type="submit" value="'.__('OK').'" /> ';
 
-		if ($query) {
-			echo
+		if ($query) { 
+			echo 
 			' <a href="'.$this->getURL().'" class="button">'.__('Reset search').'</a>';
 		}
 
-		echo
+		echo 
 		'</p>'.
 		'<p class="form-note">'.
@@ -276,7 +276,7 @@
 
 		if ($query) {
-			echo
+			echo 
 			'<p class="message">'.sprintf(
-				__('Found %d result for search "%s":', 'Found %d results for search "%s":', count($this->data)),
+				__('Found %d result for search "%s":', 'Found %d results for search "%s":', count($this->data)), 
 				count($this->data), html::escapeHTML($query)
 				).
@@ -349,10 +349,10 @@
 			# Letter having modules
 			elseif (!empty($indexes[$char])) {
-				$title = sprintf(__('%d result', '%d results', $indexes[$char]), $indexes[$char]);
+				$title = sprintf(__('%d module', '%d modules', $indexes[$char]), $indexes[$char]);
 				$buttons[] = '<li class="btn" title="'.$title.'"><a href="'.$this->getURL('m_nav='.$char).'" title="'.$title.'"> '.$char.' </a></li>';
 			}
 			# Letter without modules
 			else {
-				$buttons[] = '<li class="btn no-link" title="'.__('no results').'"> '.$char.' </li>';
+				$buttons[] = '<li class="btn no-link" title="'.__('no module').'"> '.$char.' </li>';
 			}
 		}
@@ -434,6 +434,6 @@
 	 * Sanitize a module.
 	 *
-	 * This clean infos of a module by adding default keys
-	 * and clean some of them, sanitize module can safely
+	 * This clean infos of a module by adding default keys 
+	 * and clean some of them, sanitize module can safely 
 	 * be used in lists.
 	 *
@@ -444,5 +444,5 @@
 		$label = empty($module['label']) ? $id : $module['label'];
 		$name = __(empty($module['name']) ? $label : $module['name']);
-
+		
 		return array_merge(
 			# Default values
@@ -521,53 +521,44 @@
 	public function displayModules($cols=array('name', 'version', 'desc'), $actions=array(), $nav_limit=false)
 	{
-		echo
-		'<form action="'.$this->getURL().'" method="post" class="modules-form-actions">'.
+		echo 
 		'<div class="table-outer">'.
 		'<table id="'.html::escapeHTML($this->list_id).'" class="modules'.(in_array('expander', $cols) ? ' expandable' : '').'">'.
-		'<caption class="hidden">'.html::escapeHTML(__('Plugins list')).'</caption><tr>';
+		'<caption class="hidden">'.html::escapeHTML(__('Modules list')).'</caption><tr>';
 
 		if (in_array('name', $cols)) {
-			$colspan = 1;
-			if (in_array('checkbox', $cols)) {
-				$colspan++;
-			}
-			if (in_array('icon', $cols)) {
-				$colspan++;
-			}
-			echo
-			'<th class="first nowrap"'.($colspan > 1 ? ' colspan="'.$colspan.'"' : '').'>'.__('Name').'</th>';
+			echo 
+			'<th class="first nowrap"'.(in_array('icon', $cols) ? ' colspan="2"' : '').'>'.__('Name').'</th>';
 		}
 
 		if (in_array('score', $cols) && $this->getSearch() !== null && defined('DC_DEBUG') && DC_DEBUG) {
-			echo
+			echo 
 			'<th class="nowrap">'.__('Score').'</th>';
 		}
 
 		if (in_array('version', $cols)) {
-			echo
+			echo 
 			'<th class="nowrap count" scope="col">'.__('Version').'</th>';
 		}
 
 		if (in_array('current_version', $cols)) {
-			echo
+			echo 
 			'<th class="nowrap count" scope="col">'.__('Current version').'</th>';
 		}
 
 		if (in_array('desc', $cols)) {
-			echo
+			echo 
 			'<th class="nowrap" scope="col">'.__('Details').'</th>';
 		}
 
 		if (in_array('distrib', $cols)) {
-			echo
-			'<th'.(in_array('desc', $cols) ? '' : ' class="maximal"').'></th>';
+			echo '<th'.(in_array('desc', $cols) ? '' : ' class="maximal"').'></th>';
 		}
 
 		if (!empty($actions) && $this->core->auth->isSuperAdmin()) {
-			echo
+			echo 
 			'<th class="minimal nowrap">'.__('Action').'</th>';
 		}
 
-		echo
+		echo 
 		'</tr>';
 
@@ -593,82 +584,51 @@
 			}
 
-			echo
+			echo 
 			'<tr class="line" id="'.html::escapeHTML($this->list_id).'_m_'.html::escapeHTML($id).'">';
 
-			$tds = 0;
-
-			if (in_array('checkbox', $cols)) {
-				$tds++;
-				echo
-				'<td class="module-icon nowrap">'.
-				form::checkbox(array('modules['.$count.']', html::escapeHTML($this->list_id).'_modules_'.html::escapeHTML($id)), html::escapeHTML($id)).
-				'</td>';
-			}
-
 			if (in_array('icon', $cols)) {
-				$tds++;
-				echo
+				echo 
 				'<td class="module-icon nowrap">'.sprintf(
-					'<img alt="%1$s" title="%1$s" src="%2$s" />',
+					'<img alt="%1$s" title="%1$s" src="%2$s" />', 
 					html::escapeHTML($id), file_exists($module['root'].'/icon.png') ? 'index.php?pf='.$id.'/icon.png' : 'images/module.png'
 				).'</td>';
 			}
 
-			$tds++;
-			echo
-			'<td class="module-name nowrap" scope="row">';
-			if (in_array('checkbox', $cols)) {
-				if (in_array('expander', $cols)) {
-					echo
-					html::escapeHTML($module['name']);
-				}
-				else {
-					echo
-					'<label for="'.html::escapeHTML($this->list_id).'_modules_'.html::escapeHTML($id).'">'.
-					html::escapeHTML($module['name']).
-					'</label>';
-				}
-			}
-			else {
-				echo
-				html::escapeHTML($module['name']).
-				form::hidden(array('modules['.$count.']'), html::escapeHTML($id));
-			}
-			echo
-			$this->core->formNonce().
-			'</td>';
+			# Link to config file
+			$config = in_array('config', $cols) && !empty($module['root']) && file_exists(path::real($module['root'].'/_config.php'));
+
+			echo 
+			'<td class="module-name nowrap" scope="row">'.($config ? 
+				'<a href="'.$this->getURL('module='.$id.'&amp;conf=1').'" title"'.sprintf(__('Configure module "%s"'), html::escapeHTML($module['name'])).'">'.html::escapeHTML($module['name']).'</a>' : 
+				html::escapeHTML($module['name'])
+			).'</td>';
 
 			# Display score only for debug purpose
 			if (in_array('score', $cols) && $this->getSearch() !== null && defined('DC_DEBUG') && DC_DEBUG) {
-				$tds++;
-				echo
+				echo 
 				'<td class="module-version nowrap count"><span class="debug">'.$module['score'].'</span></td>';
 			}
 
 			if (in_array('version', $cols)) {
-				$tds++;
-				echo
+				echo 
 				'<td class="module-version nowrap count">'.html::escapeHTML($module['version']).'</td>';
 			}
 
 			if (in_array('current_version', $cols)) {
-				$tds++;
-				echo
+				echo 
 				'<td class="module-current-version nowrap count">'.html::escapeHTML($module['current_version']).'</td>';
 			}
 
 			if (in_array('desc', $cols)) {
-				$tds++;
-				echo
-				'<td class="module-desc maximal">'.html::escapeHTML(__($module['desc'])).'</td>';
+				echo 
+				'<td class="module-desc maximal">'.html::escapeHTML($module['desc']).'</td>';
 			}
 
 			if (in_array('distrib', $cols)) {
-				$tds++;
-				echo
-				'<td class="module-distrib">'.(self::isDistributedModule($id) ?
+				echo 
+				'<td class="module-distrib">'.(self::isDistributedModule($id) ? 
 					'<img src="images/dotclear_pw.png" alt="'.
-					__('Plugin from official distribution').'" title="'.
-					__('Plugin from official distribution').'" />'
+					__('Module from official distribution').'" title="'.
+					__('module from official distribution').'" />' 
 				: '').'</td>';
 			}
@@ -677,101 +637,32 @@
 				$buttons = $this->getActions($id, $module, $actions);
 
-				$tds++;
-				echo
+				echo 
 				'<td class="module-actions nowrap">'.
 
-				'<div>'.implode(' ', $buttons).'</div>'.
+				'<form action="'.$this->getURL().'" method="post">'.
+				'<div>'.
+				$this->core->formNonce().
+				form::hidden(array('module'), html::escapeHTML($id)).
+
+				implode(' ', $buttons).
+
+				'</div>'.
+				'</form>'.
 
 				'</td>';
 			}
 
-			echo
+			echo 
 			'</tr>';
 
-			# Other informations
-			if (in_array('expander', $cols)) {
-				echo
-				'<tr class="module-more"><td colspan="'.$tds.'" class="expand">';
-
-				if (!empty($module['author']) || !empty($module['details']) || !empty($module['support'])) {
-					echo
-					'<div><ul class="mod-more">';
-
-					if (!empty($module['author'])) {
-						echo
-						'<li class="module-author">'.__('Author:').' '.html::escapeHTML($module['author']).'</li>';
-					}
-
-					$more = array();
-					if (!empty($module['details'])) {
-						$more[] = '<a class="module-details" href="'.$module['details'].'">'.__('Details').'</a>';
-					}
-
-					if (!empty($module['support'])) {
-						$more[] = '<a class="module-support" href="'.$module['support'].'">'.__('Support').'</a>';
-					}
-
-					if (!empty($more)) {
-						echo
-						'<li>'.implode(' - ', $more).'</li>';
-					}
-
-					echo
-					'</ul></div>';
-				}
-
-				$config = !empty($module['root']) && file_exists(path::real($module['root'].'/_config.php'));
-
-				if ($config || !empty($module['section']) || !empty($module['section'])) {
-					echo
-					'<div><ul class="mod-more">';
-
-					if ($config) {
-						echo
-						'<li><a class="module-config" href="'.$this->getURL('module='.$id.'&amp;conf=1').'">'.__('Configure plugin').'</a></li>';
-					}
-
-					if (!empty($module['section'])) {
-						echo
-						'<li class="module-section">'.__('Section:').' '.html::escapeHTML($module['section']).'</li>';
-					}
-
-					if (!empty($module['section'])) {
-						echo
-						'<li class="module-tags">'.__('Tags:').' '.html::escapeHTML($module['tags']).'</li>';
-					}
-
-					echo
-					'</ul></div>';
-				}
-
-				echo
-				'</td></tr>';
-			}
-
 			$count++;
 		}
-		echo
+		echo 
 		'</table></div>';
 
 		if(!$count && $this->getSearch() === null) {
-			echo
-			'<p class="message">'.__('No plugins matched your search.').'</p>';
-		}
-
-		elseif ((in_array('checkbox', $cols) || $count > 1) && !empty($actions) && $this->core->auth->isSuperAdmin()) {
-			$buttons = $this->getGlobalActions($actions, in_array('checkbox', $cols));
-
-			if (!empty($buttons)) {
-				if (in_array('checkbox', $cols)) {
-					echo 
-					'<p class="checkboxes-helpers"></p>';
-				}
-				echo
-				'<div>'.implode(' ', $buttons).'</div>';
-			}
-		}
-		echo 
-		'</form>';
+			echo 
+			'<p class="message">'.__('No module matches your search.').'</p>';
+		}
 
 		return $this;
@@ -795,32 +686,32 @@
 
 				# Deactivate
-				case 'activate': if ($this->core->auth->isSuperAdmin() && $module['root_writable']) {
-					$submits[] =
-					'<input type="submit" name="activate['.html::escapeHTML($id).']" value="'.__('Activate').'" />';
+				case 'activate': if ($module['root_writable']) {
+					$submits[] = 
+					'<input type="submit" name="activate" value="'.__('Activate').'" />';
 				} break;
 
 				# Activate
-				case 'deactivate': if ($this->core->auth->isSuperAdmin() && $module['root_writable']) {
-					$submits[] =
-					'<input type="submit" name="deactivate['.html::escapeHTML($id).']" value="'.__('Deactivate').'" class="reset" />';
+				case 'deactivate': if ($module['root_writable']) {
+					$submits[] = 
+					'<input type="submit" name="deactivate" value="'.__('Deactivate').'" class="reset" />';
 				} break;
 
 				# Delete
-				case 'delete': if ($this->core->auth->isSuperAdmin() && $this->isDeletablePath($module['root'])) {
+				case 'delete': if ($this->isDeletablePath($module['root'])) {
 					$dev = !preg_match('!^'.$this->path_pattern.'!', $module['root']) && defined('DC_DEV') && DC_DEV ? ' debug' : '';
-					$submits[] =
-					'<input type="submit" class="delete '.$dev.'" name="delete['.html::escapeHTML($id).']" value="'.__('Delete').'" />';
+					$submits[] = 
+					'<input type="submit" class="delete '.$dev.'" name="delete" value="'.__('Delete').'" />';
 				} break;
 
 				# Install (from store)
-				case 'install': if ($this->core->auth->isSuperAdmin() && $this->path_writable) {
-					$submits[] =
-					'<input type="submit" name="install['.html::escapeHTML($id).']" value="'.__('Install').'" />';
+				case 'install': if ($this->path_writable) {
+					$submits[] = 
+					'<input type="submit" name="install" value="'.__('Install').'" />';
 				} break;
 
 				# Update (from store)
-				case 'update': if ($this->core->auth->isSuperAdmin() && $this->path_writable) {
-					$submits[] =
-					'<input type="submit" name="update['.html::escapeHTML($id).']" value="'.__('Update').'" />';
+				case 'update': if ($this->path_writable) {
+					$submits[] = 
+					'<input type="submit" name="update" value="'.__('Update').'" />';
 				} break;
 
@@ -838,61 +729,4 @@
 		}
 
-		return $submits;
-	}
-
-	/**
-	 * Get global action buttons to add to modules list.
-	 *
-	 * @param	array	$actions	      Actions keys
-	 * @param boolean   $with_selection Limit action to selected modules
-	 * @return	Array of actions buttons
-	 */
-	protected function getGlobalActions($actions, $with_selection=false)
-	{
-		$submits = array();
-
-		# Use loop to keep requested order
-		foreach($actions as $action) {
-			switch($action) {
-
-				# Deactivate
-				case 'activate': if ($this->core->auth->isSuperAdmin() && $this->path_writable) {
-					$submits[] =
-					'<input type="submit" name="activate" value="'.($with_selection ?
-						__('Activate selected plugins') :
-						__('Activate all plugins from this list')
-					).'" />';
-				} break;
-
-				# Activate
-				case 'deactivate': if ($this->core->auth->isSuperAdmin() && $this->path_writable) {
-					$submits[] =
-					'<input type="submit" name="deactivate" value="'.($with_selection ?
-						__('Deactivate selected plugins') :
-						__('Deactivate all plugins from this list')
-					).'" />';
-				} break;
-
-				# Update (from store)
-				case 'update': if ($this->core->auth->isSuperAdmin() && $this->path_writable) {
-					$submits[] =
-					'<input type="submit" name="update" value="'.($with_selection ?
-						__('Update selected plugins') :
-						__('Update all plugins from this list')
-					).'" />';
-				} break;
-
-				# Behavior
-				case 'behavior':
-
-					# --BEHAVIOR-- adminModulesListGetGlobalActions
-					$tmp = $this->core->callBehavior('adminModulesListGetGlobalActions', $this, $with_selection);
-
-					if (!empty($tmp)) {
-						$submits[] = $tmp;
-					}
-				break;
-			}
-		}
 
 		return $submits;
@@ -904,31 +738,70 @@
 	 * @note	Set a notice on success through dcPage::addSuccessNotice
 	 * @throw	Exception	Module not find or command failed
+	 * @param	string	$prefix		Prefix used on behaviors
 	 * @return	Null
 	 */
-	public function doActions()
-	{
-		if (empty($_POST) || !empty($_REQUEST['conf'])
-		|| !$this->isWritablePath()) {
+	public function doActions($prefix)
+	{
+		if (empty($_POST) || !empty($_REQUEST['conf']) 
+		|| !$this->core->auth->isSuperAdmin() || !$this->isWritablePath()) {
 			return null;
 		}
 
-		$modules = !empty($_POST['modules']) && is_array($_POST['modules']) ? array_values($_POST['modules']) : array();
-
-		if ($this->core->auth->isSuperAdmin() && !empty($_POST['delete'])) {
-
-			if (is_array($_POST['delete'])) {
-				$modules = array_keys($_POST['delete']);
-			}
-
-			$list = $this->modules->getDisabledModules();
-
-			$failed = false;
-			$count = 0;
-			foreach($modules as $id)
-			{
-				if (!isset($list[$id])) {
+		# List actions
+		if (!empty($_POST['module'])) {
+
+			$id = $_POST['module'];
+
+			if (!empty($_POST['activate'])) {
+
+				$enabled = $this->modules->getDisabledModules();
+				if (!isset($enabled[$id])) {
+					throw new Exception(__('No such module.'));
+				}
+
+				# --BEHAVIOR-- moduleBeforeActivate
+				$this->core->callBehavior($prefix.'BeforeActivate', $id);
+
+				$this->modules->activateModule($id);
+
+				# --BEHAVIOR-- moduleAfterActivate
+				$this->core->callBehavior($prefix.'AfterActivate', $id);
+
+				dcPage::addSuccessNotice(__('Module has been successfully activated.'));
+				http::redirect($this->getURL());
+			}
+
+			elseif (!empty($_POST['deactivate'])) {
+
+				if (!$this->modules->moduleExists($id)) {
+					throw new Exception(__('No such module.'));
+				}
+
+				$module = $this->modules->getModules($id);
+				$module['id'] = $id;
+
+				if (!$module['root_writable']) {
+					throw new Exception(__('You don\'t have permissions to deactivate this module.'));
+				}
+
+				# --BEHAVIOR-- moduleBeforeDeactivate
+				$this->core->callBehavior($prefix.'BeforeDeactivate', $module);
+
+				$this->modules->deactivateModule($id);
+
+				# --BEHAVIOR-- moduleAfterDeactivate
+				$this->core->callBehavior($prefix.'AfterDeactivate', $module);
+
+				dcPage::addSuccessNotice(__('Module has been successfully deactivated.'));
+				http::redirect($this->getURL());
+			}
+
+			elseif (!empty($_POST['delete'])) {
+
+				$disabled = $this->modules->getDisabledModules();
+				if (!isset($disabled[$id])) {
 
 					if (!$this->modules->moduleExists($id)) {
-						throw new Exception(__('No such plugin.'));
+						throw new Exception(__('No such module.'));
 					}
 
@@ -937,15 +810,14 @@
 
 					if (!$this->isDeletablePath($module['root'])) {
-						$failed = true;
-						continue;
+						throw new Exception(__("You don't have permissions to delete this module."));
 					}
 
 					# --BEHAVIOR-- moduleBeforeDelete
-					$this->core->callBehavior('pluginBeforeDelete', $module);
+					$this->core->callBehavior($prefix.'BeforeDelete', $module);
 
 					$this->modules->deleteModule($id);
 
 					# --BEHAVIOR-- moduleAfterDelete
-					$this->core->callBehavior('pluginAfterDelete', $module);
+					$this->core->callBehavior($prefix.'AfterDelete', $module);
 				}
 				else {
@@ -953,159 +825,50 @@
 				}
 
-				$count++;
-			}
-
-			if (!$count && $failed) {
-				throw new Exception(__("You don't have permissions to delete this plugin."));
-			}
-			elseif ($failed) {
-				dcPage::addWarningNotice(__('Some plugins have not been delete.'));
-			}
-			else {
-				dcPage::addSuccessNotice(
-					__('Plugin has been successfully deleted.', 'Plugins have been successuflly deleted.', $count)
+				dcPage::addSuccessNotice(__('Module has been successfully deleted.'));
+				http::redirect($this->getURL());
+			}
+
+			elseif (!empty($_POST['install'])) {
+
+				$updated = $this->store->get();
+				if (!isset($updated[$id])) {
+					throw new Exception(__('No such module.'));
+				}
+
+				$module = $updated[$id];
+				$module['id'] = $id;
+
+				$dest = $this->getPath().'/'.basename($module['file']);
+
+				# --BEHAVIOR-- moduleBeforeAdd
+				$this->core->callBehavior($prefix.'BeforeAdd', $module);
+
+				$ret_code = $this->store->process($module['file'], $dest);
+
+				# --BEHAVIOR-- moduleAfterAdd
+				$this->core->callBehavior($prefix.'AfterAdd', $module);
+
+				dcPage::addSuccessNotice($ret_code == 2 ?
+					__('Module has been successfully updated.') :
+					__('Module has been successfully installed.')
 				);
-			}
-			http::redirect($this->getURL());
-		}
-
-		elseif ($this->core->auth->isSuperAdmin() && !empty($_POST['install'])) {
-
-			if (is_array($_POST['install'])) {
-				$modules = array_keys($_POST['install']);
-			}
-
-			$list = $this->store->get();
-
-			if (empty($list)) {
-				throw new Exception(__('No such plugin.'));
-			}
-
-			$count = 0;
-			foreach($list as $id => $module) {
-
-				if (!in_array($id, $modules)) {
-					continue;
-				}
-
-				$dest = $this->getPath().'/'.basename($module['file']);
-
-				# --BEHAVIOR-- moduleBeforeAdd
-				$this->core->callBehavior('pluginBeforeAdd', $module);
-
-				$this->store->process($module['file'], $dest);
-
-				# --BEHAVIOR-- moduleAfterAdd
-				$this->core->callBehavior('pluginAfterAdd', $module);
-
-				$count++;
-			}
-
-			dcPage::addSuccessNotice(
-				__('Plugin has been successfully installed.', 'Plugins have been successuflly installed.', $count)
-			);
-			http::redirect($this->getURL());
-		}
-
-		elseif ($this->core->auth->isSuperAdmin() && !empty($_POST['activate'])) {
-
-			if (is_array($_POST['activate'])) {
-				$modules = array_keys($_POST['activate']);
-			}
-
-			$list = $this->modules->getDisabledModules();
-			if (empty($list)) {
-				throw new Exception(__('No such plugin.'));
-			}
-
-			$count = 0;
-			foreach($list as $id => $module) {
-
-				if (!in_array($id, $modules)) {
-					continue;
-				}
-
-				# --BEHAVIOR-- moduleBeforeActivate
-				$this->core->callBehavior('pluginBeforeActivate', $id);
-
-				$this->modules->activateModule($id);
-
-				# --BEHAVIOR-- moduleAfterActivate
-				$this->core->callBehavior('pluginAfterActivate', $id);
-
-				$count++;
-			}
-
-			dcPage::addSuccessNotice(
-				__('Plugin has been successfully activated.', 'Plugins have been successuflly activated.', $count)
-			);
-			http::redirect($this->getURL());
-		}
-
-		elseif ($this->core->auth->isSuperAdmin() && !empty($_POST['deactivate'])) {
-
-			if (is_array($_POST['deactivate'])) {
-				$modules = array_keys($_POST['deactivate']);
-			}
-
-			$list = $this->modules->getModules();
-			if (empty($list)) {
-				throw new Exception(__('No such plugin.'));
-			}
-
-			$failed = false;
-			$count = 0;
-			foreach($list as $id => $module) {
-
-				if (!in_array($id, $modules)) {
-					continue;
-				}
-
-				if (!$module['root_writable']) {
-					$failed = true;
-					continue;
-				}
-
-				$module[$id] = $id;
-
-				# --BEHAVIOR-- moduleBeforeDeactivate
-				$this->core->callBehavior('pluginBeforeDeactivate', $module);
-
-				$this->modules->deactivateModule($id);
-
-				# --BEHAVIOR-- moduleAfterDeactivate
-				$this->core->callBehavior('pluginAfterDeactivate', $module);
-
-				$count++;
-			}
-
-			if ($failed) {
-				dcPage::addWarningNotice(__('Some plugins have not been deactivated.'));
-			}
-			else {
-				dcPage::addSuccessNotice(
-					__('Plugin has been successfully deactivated.', 'Plugins have been successuflly deactivated.', $count)
-				);
-			}
-			http::redirect($this->getURL());
-		}
-
-		elseif ($this->core->auth->isSuperAdmin() && !empty($_POST['update'])) {
-
-			if (is_array($_POST['update'])) {
-				$modules = array_keys($_POST['update']);
-			}
-
-			$list = $this->store->get(true);
-			if (empty($list)) {
-				throw new Exception(__('No such plugin.'));
-			}
-
-			$count = 0;
-			foreach($list as $module) {
-
-				if (!in_array($module['id'], $modules)) {
-					continue;
-				}
+				http::redirect($this->getURL());
+			}
+
+			elseif (!empty($_POST['update'])) {
+
+				$updated = $this->store->get(true);
+				if (!isset($updated[$id])) {
+					throw new Exception(__('No such module.'));
+				}
+
+				if (!$this->modules->moduleExists($id)) {
+					throw new Exception(__('No such module.'));
+				}
+
+				$tab = count($updated) > 1 ? '' : '#'.$prefix;
+
+				$module = $updated[$id];
+				$module['id'] = $id;
 
 				if (!self::$allow_multi_install) {
@@ -1120,24 +883,23 @@
 
 				# --BEHAVIOR-- moduleBeforeUpdate
-				$this->core->callBehavior('pluginBeforeUpdate', $module);
+				$this->core->callBehavior($prefix.'BeforeUpdate', $module);
 
 				$this->store->process($module['file'], $dest);
 
 				# --BEHAVIOR-- moduleAfterUpdate
-				$this->core->callBehavior('pluginAfterUpdate', $module);
-
-				$count++;
-			}
-
-			$tab = $count && $count == count($list) ? '#plugins' : '#update';
-
-			dcPage::addSuccessNotice(
-				__('Plugin has been successfully updated.', 'Plugins have been successuflly updated.', $count)
-			);
-			http::redirect($this->getURL().$tab);
-		}
-
+				$this->core->callBehavior($prefix.'AfterUpdate', $module);
+
+				dcPage::addSuccessNotice(__('Module has been successfully updated.'));
+				http::redirect($this->getURL().$tab);
+			}
+			else {
+
+				# --BEHAVIOR-- adminModulesListDoActions
+				$this->core->callBehavior('adminModulesListDoActions', $this, $id, $prefix);
+
+			}
+		}
 		# Manual actions
-		elseif (!empty($_POST['upload_pkg']) && !empty($_FILES['pkg_file'])
+		elseif (!empty($_POST['upload_pkg']) && !empty($_FILES['pkg_file']) 
 			|| !empty($_POST['fetch_pkg']) && !empty($_POST['pkg_url']))
 		{
@@ -1148,5 +910,5 @@
 			if (!empty($_POST['upload_pkg'])) {
 				files::uploadStatus($_FILES['pkg_file']);
-
+				
 				$dest = $this->getPath().'/'.$_FILES['pkg_file']['name'];
 				if (!move_uploaded_file($_FILES['pkg_file']['tmp_name'], $dest)) {
@@ -1161,23 +923,16 @@
 
 			# --BEHAVIOR-- moduleBeforeAdd
-			$this->core->callBehavior('pluginBeforeAdd', null);
+			$this->core->callBehavior($prefix.'BeforeAdd', null);
 
 			$ret_code = $this->store->install($dest);
 
 			# --BEHAVIOR-- moduleAfterAdd
-			$this->core->callBehavior('pluginAfterAdd', null);
+			$this->core->callBehavior($prefix.'AfterAdd', null);
 
 			dcPage::addSuccessNotice($ret_code == 2 ?
-				__('Plugin has been successfully updated.') :
-				__('Plugin has been successfully installed.')
+				__('Module has been successfully updated.') :
+				__('Module has been successfully installed.')
 			);
-			http::redirect($this->getURL().'#plugins');
-		}
-
-		else {
-
-			# --BEHAVIOR-- adminModulesListDoActions
-			$this->core->callBehavior('adminModulesListDoActions', $this, $modules, 'plugin');
-
+			http::redirect($this->getURL().'#'.$prefix);
 		}
 
@@ -1247,5 +1002,5 @@
 			return false;
 		}
-
+		
 		if (!empty($_REQUEST['module']) && empty($id)) {
 			$id = $_REQUEST['module'];
@@ -1253,5 +1008,5 @@
 
 		if (!$this->modules->moduleExists($id)) {
-			$this->core->error->add(__('Unknow plugin ID'));
+			$this->core->error->add(__('Unknow module ID'));
 			return false;
 		}
@@ -1262,5 +1017,5 @@
 
 		if (!file_exists($file)) {
-			$this->core->error->add(__('This plugin has no configuration file.'));
+			$this->core->error->add(__('This module has no configuration file.'));
 			return false;
 		}
@@ -1325,5 +1080,5 @@
 				echo
 				'<form id="module_config" action="'.$this->getURL('conf=1').'" method="post" enctype="multipart/form-data">'.
-				'<h3>'.sprintf(__('Configure "%s"'), html::escapeHTML($this->config_module['name'])).'</h3>'.
+				'<h3>'.sprintf(__('Configure plugin "%s"'), html::escapeHTML($this->config_module['name'])).'</h3>'.
 				'<p><a class="back" href="'.$this->getRedir().'">'.__('Back').'</a></p>';
 			}
@@ -1370,6 +1125,5 @@
 	public function displayModules($cols=array('name', 'config', 'version', 'desc'), $actions=array(), $nav_limit=false)
 	{
-		echo
-		'<form action="'.$this->getURL().'" method="post" class="modules-form-actions">'.
+		echo 
 		'<div id="'.html::escapeHTML($this->list_id).'" class="modules'.(in_array('expander', $cols) ? ' expandable' : '').' one-box">';
 
@@ -1399,33 +1153,15 @@
 			$distrib = self::isDistributedModule($id) ? ' dc-box' : '';
 
-			$line =
-			'<div class="box '.($current ? 'medium current-theme' : 'theme').$distrib.'">';
-
-			if (in_array('name', $cols) && !$current) {
-				$line .=
-				'<h4 class="module-name">';
-
-				if (in_array('checkbox', $cols)) {
-					$line .=
-					'<label for="'.html::escapeHTML($this->list_id).'_modules_'.html::escapeHTML($id).'">'.
-					form::checkbox(array('modules['.$count.']', html::escapeHTML($this->list_id).'_modules_'.html::escapeHTML($id)), html::escapeHTML($id)).
-					html::escapeHTML($module['name']).
-					'</label>';
-
-				}
-				else {
-					$line .=
-					form::hidden(array('modules['.$count.']'), html::escapeHTML($id)).
-					html::escapeHTML($module['name']);
-				}
-
-				$line .=
-				$this->core->formNonce().
-				'</h4>';
+			$line = 
+			'<div class="box '.($current ? 'medium current-theme' : 'small theme').$distrib.'">';
+
+			if (in_array('name', $cols)) {
+				$line .= 
+				'<h4 class="module-name">'.html::escapeHTML($module['name']).'</h4>';
 			}
 
 			# Display score only for debug purpose
 			if (in_array('score', $cols) && $this->getSearch() !== null && defined('DC_DEBUG') && DC_DEBUG) {
-				$line .=
+				$line .= 
 				'<p class="module-score debug">'.sprintf(__('Score: %s'), $module['score']).'</p>';
 			}
@@ -1445,53 +1181,30 @@
 				}
 
-				$line .=
+				$line .= 
 				'<div class="module-sshot"><img src="'.$sshot.'" alt="'.
 				sprintf(__('%s screenshot.'), html::escapeHTML($module['name'])).'" /></div>';
 			}
 
-			$line .=
-			'<div class="module-infos toggle-bloc">';
-
-			if (in_array('name', $cols) && $current) {
-				$line .=
-				'<h4 class="module-name">';
-
-				if (in_array('checkbox', $cols)) {
-					$line .=
-					'<label for="'.html::escapeHTML($this->list_id).'_modules_'.html::escapeHTML($id).'">'.
-					form::checkbox(array('modules['.$count.']', html::escapeHTML($this->list_id).'_modules_'.html::escapeHTML($id)), html::escapeHTML($id)).
-					html::escapeHTML($module['name']).
-					'</label>';
-				}
-				else {
-					$line .=
-					form::hidden(array('modules['.$count.']'), html::escapeHTML($id)).
-					html::escapeHTML($module['name']);
-				}
-
-				$line .=
-				'</h4>';
-			}
-
-			$line .=
+			$line .= 
+			'<div class="module-infos toggle-bloc">'.
 			'<p>';
 
 			if (in_array('desc', $cols)) {
-				$line .=
-				'<span class="module-desc">'.html::escapeHTML(__($module['desc'])).'</span> ';
+				$line .= 
+				'<span class="module-desc">'.html::escapeHTML($module['desc']).'</span> ';
 			}
 
 			if (in_array('author', $cols)) {
-				$line .=
+				$line .= 
 				'<span class="module-author">'.sprintf(__('by %s'),html::escapeHTML($module['author'])).'</span> ';
 			}
 
 			if (in_array('version', $cols)) {
-				$line .=
+				$line .= 
 				'<span class="module-version">'.sprintf(__('version %s'),html::escapeHTML($module['version'])).'</span> ';
 			}
 
 			if (in_array('current_version', $cols)) {
-				$line .=
+				$line .= 
 				'<span class="module-current-version">'.sprintf(__('(current version %s)'),html::escapeHTML($module['current_version'])).'</span> ';
 			}
@@ -1499,9 +1212,9 @@
 			if (in_array('parent', $cols) && !empty($module['parent'])) {
 				if ($this->modules->moduleExists($module['parent'])) {
-					$line .=
+					$line .= 
 					'<span class="module-parent-ok">'.sprintf(__('(built on "%s")'),html::escapeHTML($module['parent'])).'</span> ';
 				}
 				else {
-					$line .=
+					$line .= 
 					'<span class="module-parent-missing">'.sprintf(__('(requires "%s")'),html::escapeHTML($module['parent'])).'</span> ';
 				}
@@ -1515,10 +1228,10 @@
 
 				if ($has_details) {
-					$line .=
+					$line .= 
 					'<a class="module-details" href="'.$module['details'].'">'.__('Details').'</a>';
 				}
 
 				if ($has_support) {
-					$line .=
+					$line .= 
 					' - <a class="module-support" href="'.$module['support'].'">'.__('Support').'</a>';
 				}
@@ -1528,11 +1241,11 @@
 			}
 
-			$line .=
+			$line .= 
 			'</p>'.
 			'</div>';
 
-			$line .=
+			$line .= 
 			'<div class="module-actions toggle-bloc">';
-
+			
 			# Plugins actions
 			if ($current) {
@@ -1543,5 +1256,5 @@
 						http::concatURL($this->core->blog->settings->system->themes_url, '/'.$id) :
 						http::concatURL($this->core->blog->url, $this->core->blog->settings->system->themes_url.'/'.$id);
-					$line .=
+					$line .= 
 					'<p><a href="'.$theme_url.'/style.css">'.__('View stylesheet').'</a></p>';
 				}
@@ -1550,10 +1263,10 @@
 
 				if (file_exists(path::real($this->core->blog->themes_path.'/'.$id).'/_config.php')) {
-					$line .=
-					'<p><a href="'.$this->getURL('module='.$id.'&amp;conf=1', false).'" class="button submit">'.__('Configure theme').'</a></p>';
+					$line .= 
+					'<p><a href="'.$this->getURL('module='.$id.'&conf=1', false).'" class="button">'.__('Configure theme').'</a></p>';
 				}
 
 				# --BEHAVIOR-- adminCurrentThemeDetails
-				$line .=
+				$line .= 
 				$this->core->callBehavior('adminCurrentThemeDetails', $this->core, $id, $module);
 
@@ -1564,43 +1277,33 @@
 			if (!empty($actions)) {
 				$line .=
-				'<p>'.implode(' ', $this->getActions($id, $module, $actions)).'</p>';
-			}
+				'<form action="'.$this->getURL().'" method="post">'.
+				'<div>'.
+				$this->core->formNonce().
+				form::hidden(array('module'), html::escapeHTML($id)).
+
+				implode(' ', $this->getActions($id, $module, $actions)).
+ 
+				'</div>'.
+				'</form>';
+			}
+
+			$line .= 
+			'</div>';
 
 			$line .=
 			'</div>';
 
-			$line .=
-			'</div>';
-
 			$count++;
 
 			$res = $current ? $line.$res : $res.$line;
 		}
-
-		echo
+		echo 
 		$res.
 		'</div>';
 
 		if(!$count && $this->getSearch() === null) {
-			echo
-			'<p class="message">'.__('No themes matched your search.').'</p>';
-		}
-
-		elseif ((in_array('checkbox', $cols) || $count > 1) && !empty($actions) && $this->core->auth->isSuperAdmin()) {
-			$buttons = $this->getGlobalActions($actions, in_array('checkbox', $cols));
-
-			if (!empty($buttons)) {
-				if (in_array('checkbox', $cols)) {
-					echo 
-					'<p class="checkboxes-helpers"></p>';
-				}
-				echo '<div>'.implode(' ', $buttons).'</div>';
-			}
-		}
-
-		echo
-		'</form>';
-
-		return $this;
+			echo 
+			'<p class="message">'.__('No module matches your search.').'</p>';
+		}
 	}
 
@@ -1614,6 +1317,6 @@
 			# Select theme to use on curent blog
 			if (in_array('select', $actions) && $this->path_writable) {
-				$submits[] =
-				'<input type="submit" name="select['.html::escapeHTML($id).']" value="'.__('Use this one').'" />';
+				$submits[] = 
+				'<input type="submit" name="select" value="'.__('Use this one').'" />';
 			}
 		}
@@ -1625,53 +1328,14 @@
 	}
 
-	protected function getGlobalActions($actions, $with_selection=false)
-	{
-		$submits = array();
-
-		foreach($actions as $action) {
-			switch($action) {
-
-				# Update (from store)
-				case 'update': if ($this->core->auth->isSuperAdmin() && $this->path_writable) {
-					$submits[] =
-					'<input type="submit" name="update" value="'.($with_selection ?
-						__('Update selected themes') :
-						__('Update all themes from this list')
-					).'" />';
-				} break;
-
-				# Behavior
-				case 'behavior':
-
-					# --BEHAVIOR-- adminModulesListGetGlobalActions
-					$tmp = $this->core->callBehavior('adminModulesListGetGlobalActions', $this);
-
-					if (!empty($tmp)) {
-						$submits[] = $tmp;
-					}
-				break;
-			}
-		}
-
-		return $submits;
-	}
-
-	public function doActions()
-	{
-		if (empty($_POST) || !empty($_REQUEST['conf']) || !$this->isWritablePath()) {
-			return null;
-		}
-
-		$modules = !empty($_POST['modules']) && is_array($_POST['modules']) ? array_values($_POST['modules']) : array();
-
-		if (!empty($_POST['select'])) {
-
-			# Can select only one theme at a time!
-			if (is_array($_POST['select'])) {
-				$modules = array_keys($_POST['select']);
-				$id = $modules[0];
+	public function doActions($prefix)
+	{
+		if (!empty($_POST) && empty($_REQUEST['conf']) && $this->isWritablePath()) {
+
+			# Select theme to use on curent blog
+			if (!empty($_POST['module']) && !empty($_POST['select'])) {
+				$id = $_POST['module'];
 
 				if (!$this->modules->moduleExists($id)) {
-					throw new Exception(__('No such theme.'));
+					throw new Exception(__('No such module.'));
 				}
 
@@ -1680,269 +1344,10 @@
 				$this->core->blog->triggerBlog();
 
-				dcPage::addSuccessNotice(__('Theme has been successfully selected.'));
+				dcPage::addSuccessNotice(__('Module has been successfully selected.'));
 				http::redirect($this->getURL().'#themes');
 			}
 		}
 
-		elseif ($this->core->auth->isSuperAdmin() && !empty($_POST['activate'])) {
-
-			if (is_array($_POST['activate'])) {
-				$modules = array_keys($_POST['activate']);
-			}
-
-			$list = $this->modules->getDisabledModules();
-			if (empty($list)) {
-				throw new Exception(__('No such theme.'));
-			}
-
-			$count = 0;
-			foreach($list as $id => $module) {
-
-				if (!in_array($id, $modules)) {
-					continue;
-				}
-
-				# --BEHAVIOR-- themeBeforeActivate
-				$this->core->callBehavior('themeBeforeActivate', $id);
-
-				$this->modules->activateModule($id);
-
-				# --BEHAVIOR-- themeAfterActivate
-				$this->core->callBehavior('themeAfterActivate', $id);
-
-				$count++;
-			}
-
-			dcPage::addSuccessNotice(
-				__('Theme has been successfully activated.', 'Themes have been successuflly activated.', $count)
-			);
-			http::redirect($this->getURL());
-		}
-
-		elseif ($this->core->auth->isSuperAdmin() && !empty($_POST['deactivate'])) {
-
-			if (is_array($_POST['deactivate'])) {
-				$modules = array_keys($_POST['deactivate']);
-			}
-
-			$list = $this->modules->getModules();
-			if (empty($list)) {
-				throw new Exception(__('No such theme.'));
-			}
-
-			$failed = false;
-			$count = 0;
-			foreach($list as $id => $module) {
-
-				if (!in_array($id, $modules)) {
-					continue;
-				}
-
-				if (!$module['root_writable']) {
-					$failed = true;
-					continue;
-				}
-
-				$module[$id] = $id;
-
-				# --BEHAVIOR-- themeBeforeDeactivate
-				$this->core->callBehavior('themeBeforeDeactivate', $module);
-
-				$this->modules->deactivateModule($id);
-
-				# --BEHAVIOR-- themeAfterDeactivate
-				$this->core->callBehavior('themeAfterDeactivate', $module);
-
-				$count++;
-			}
-
-			if ($failed) {
-				dcPage::addWarningNotice(__('Some themes have not been deactivated.'));
-			}
-			else {
-				dcPage::addSuccessNotice(
-					__('Theme has been successfully deactivated.', 'Themes have been successuflly deactivated.', $count)
-				);
-			}
-			http::redirect($this->getURL());
-		}
-
-		elseif ($this->core->auth->isSuperAdmin() && !empty($_POST['delete'])) {
-
-			if (is_array($_POST['delete'])) {
-				$modules = array_keys($_POST['delete']);
-			}
-
-			$list = $this->modules->getDisabledModules();
-
-			$failed = false;
-			$count = 0;
-			foreach($modules as $id)
-			{
-				if (!isset($list[$id])) {
-
-					if (!$this->modules->moduleExists($id)) {
-						throw new Exception(__('No such theme.'));
-					}
-
-					$module = $this->modules->getModules($id);
-					$module['id'] = $id;
-
-					if (!$this->isDeletablePath($module['root'])) {
-						$failed = true;
-						continue;
-					}
-
-					# --BEHAVIOR-- themeBeforeDelete
-					$this->core->callBehavior('themeBeforeDelete', $module);
-
-					$this->modules->deleteModule($id);
-
-					# --BEHAVIOR-- themeAfterDelete
-					$this->core->callBehavior('themeAfterDelete', $module);
-				}
-				else {
-					$this->modules->deleteModule($id, true);
-				}
-
-				$count++;
-			}
-
-			if (!$count && $failed) {
-				throw new Exception(__("You don't have permissions to delete this theme."));
-			}
-			elseif ($failed) {
-				dcPage::addWarningNotice(__('Some themes have not been delete.'));
-			}
-			else {
-				dcPage::addSuccessNotice(
-					__('Theme has been successfully deleted.', 'Themes have been successuflly deleted.', $count)
-				);
-			}
-			http::redirect($this->getURL());
-		}
-
-		elseif ($this->core->auth->isSuperAdmin() && !empty($_POST['install'])) {
-
-			if (is_array($_POST['install'])) {
-				$modules = array_keys($_POST['install']);
-			}
-
-			$list = $this->store->get();
-
-			if (empty($list)) {
-				throw new Exception(__('No such theme.'));
-			}
-
-			$count = 0;
-			foreach($list as $id => $module) {
-
-				if (!in_array($id, $modules)) {
-					continue;
-				}
-
-				$dest = $this->getPath().'/'.basename($module['file']);
-
-				# --BEHAVIOR-- themeBeforeAdd
-				$this->core->callBehavior('themeBeforeAdd', $module);
-
-				$this->store->process($module['file'], $dest);
-
-				# --BEHAVIOR-- themeAfterAdd
-				$this->core->callBehavior('themeAfterAdd', $module);
-
-				$count++;
-			}
-
-			dcPage::addSuccessNotice(
-				__('Theme has been successfully installed.', 'Themes have been successuflly installed.', $count)
-			);
-			http::redirect($this->getURL());
-		}
-
-		elseif ($this->core->auth->isSuperAdmin() && !empty($_POST['update'])) {
-
-			if (is_array($_POST['update'])) {
-				$modules = array_keys($_POST['update']);
-			}
-
-			$list = $this->store->get(true);
-			if (empty($list)) {
-				throw new Exception(__('No such theme.'));
-			}
-
-			$count = 0;
-			foreach($list as $module) {
-
-				if (!in_array($module['id'], $modules)) {
-					continue;
-				}
-
-				$dest = $module['root'].'/../'.basename($module['file']);
-
-				# --BEHAVIOR-- themeBeforeUpdate
-				$this->core->callBehavior('themeBeforeUpdate', $module);
-
-				$this->store->process($module['file'], $dest);
-
-				# --BEHAVIOR-- themeAfterUpdate
-				$this->core->callBehavior('themeAfterUpdate', $module);
-
-				$count++;
-			}
-
-			$tab = $count && $count == count($list) ? '#themes' : '#update';
-
-			dcPage::addSuccessNotice(
-				__('Theme has been successfully updated.', 'Themes have been successuflly updated.', $count)
-			);
-			http::redirect($this->getURL().$tab);
-		}
-
-		# Manual actions
-		elseif (!empty($_POST['upload_pkg']) && !empty($_FILES['pkg_file'])
-			|| !empty($_POST['fetch_pkg']) && !empty($_POST['pkg_url']))
-		{
-			if (empty($_POST['your_pwd']) || !$this->core->auth->checkPassword(crypt::hmac(DC_MASTER_KEY, $_POST['your_pwd']))) {
-				throw new Exception(__('Password verification failed'));
-			}
-
-			if (!empty($_POST['upload_pkg'])) {
-				files::uploadStatus($_FILES['pkg_file']);
-
-				$dest = $this->getPath().'/'.$_FILES['pkg_file']['name'];
-				if (!move_uploaded_file($_FILES['pkg_file']['tmp_name'], $dest)) {
-					throw new Exception(__('Unable to move uploaded file.'));
-				}
-			}
-			else {
-				$url = urldecode($_POST['pkg_url']);
-				$dest = $this->getPath().'/'.basename($url);
-				$this->store->download($url, $dest);
-			}
-
-			# --BEHAVIOR-- themeBeforeAdd
-			$this->core->callBehavior('themeBeforeAdd', null);
-
-			$ret_code = $this->store->install($dest);
-
-			# --BEHAVIOR-- themeAfterAdd
-			$this->core->callBehavior('themeAfterAdd', null);
-
-			dcPage::addSuccessNotice($ret_code == 2 ?
-				__('Theme has been successfully updated.') :
-				__('Theme has been successfully installed.')
-			);
-			http::redirect($this->getURL().'#themes');
-		}
-
-		else {
-
-			# --BEHAVIOR-- adminModulesListDoActions
-			$this->core->callBehavior('adminModulesListDoActions', $this, $modules, 'theme');
-
-		}
-
-		return null;
+		return parent::doActions($prefix);
 	}
 }
Index: inc/admin/lib.pager.php
===================================================================
--- inc/admin/lib.pager.php	(revision 2386)
+++ inc/admin/lib.pager.php	(revision 2323)
@@ -399,10 +399,5 @@
 			
 			if( $filter ) {
-				$html_block .= '<caption>'.
-					sprintf(__(
-						'Comment or trackback matching the filter.',
-						'List of %s comments or trackbacks matching the filter.',
-						$this->rs_count), $this->rs_count).
-					'</caption>';
+				$html_block .= '<caption>'.sprintf(__('List of %s Comments or trackbacks match the filter.'), $this->rs_count).'</caption>';
 			} else {
 				$html_block .= '<caption class="hidden">'.__('Comments and trackbacks list').'</caption>';
Index: inc/core/class.dc.core.php
===================================================================
--- inc/core/class.dc.core.php	(revision 2492)
+++ inc/core/class.dc.core.php	(revision 2198)
@@ -87,5 +87,5 @@
 		$this->url = new dcUrlHandlers();
 		
-		$this->plugins = new dcPlugins($this);
+		$this->plugins = new dcModules($this);
 		
 		$this->rest = new dcRestServer($this);
Index: inc/core/class.dc.modules.php
===================================================================
--- inc/core/class.dc.modules.php	(revision 2492)
+++ inc/core/class.dc.modules.php	(revision 2245)
@@ -16,5 +16,6 @@
 @brief Modules handler
 
-Provides an object to handle modules (themes or plugins). 
+Provides an object to handle modules (themes or plugins). An instance of this
+class is provided by dcCore $plugins property and used for plugins.
 */
 class dcModules
@@ -35,5 +36,5 @@
 	protected static $_n;
 
-	protected static $type = null;
+	protected static $type = 'plugin';
 	
 	public $core;	///< <b>dcCore</b>	dcCore instance
@@ -160,11 +161,10 @@
 	@param	author		<b>string</b>		Module author name
 	@param	version		<b>string</b>		Module version
-	@param	properties	<b>array</b>		extra properties 
-	(currently available keys : permissions, priority, type)
+	@param	properties	<b>array</b>		extra properties (currently available keys : permissions, priority)
 	*/
 	public function registerModule($name,$desc,$author,$version, $properties = array())
 	{
-		# Fallback to legacy registerModule parameters
 		if (!is_array($properties)) {
+			//Fallback to legacy registerModule parameters
 			$args = func_get_args();
 			$properties = array();
@@ -176,6 +176,4 @@
 			}
 		}
-
-		# Default module properties
 		$properties = array_merge(
 			array(
@@ -187,6 +185,5 @@
 		);
 
-		# Check module type
-		if (self::$type !== null && $properties['type'] !== null && $properties['type'] != self::$type) {
+		if ($properties['type'] !== null && $properties['type'] != self::$type) {
 			$this->errors[] = sprintf(
 				__('Module "%s" has type "%s" that mismatch required module type "%s".'),
@@ -198,5 +195,4 @@
 		}
 
-		# Check module perms on admin side
 		$permissions = $properties['permissions'];
 		if ($this->ns == 'admin') {
@@ -208,5 +204,4 @@
 		}
 		
-		# Check module install on multiple path
 		if ($this->id) {
 			$module_exists = array_key_exists($name,$this->modules_names);
@@ -323,5 +318,5 @@
 				$id = $tmp[0];
 				$cur_module = $modules->getModules($id);
-				if (!empty($cur_module) && (defined('DC_DEV') && DC_DEV === true || dcUtils::versionsCompare($new_modules[$id]['version'], $cur_module['version'], '>', true)))
+				if (!empty($cur_module) && $new_modules[$id]['version'] != $cur_module['version'])
 				{
 					# delete old module
@@ -335,5 +330,5 @@
 					$zip->close();
 					unlink($zip_file);
-					throw new Exception(sprintf(__('Unable to upgrade "%s". (older or same version)'),basename($destination)));		
+					throw new Exception(sprintf(__('Unable to upgrade "%s". (same version)'),basename($destination)));		
 				}
 			}
Index: nc/core/class.dc.plugins.php
===================================================================
--- inc/core/class.dc.plugins.php	(revision 2492)
+++ 	(revision )
@@ -1,58 +1,0 @@
-<?php
-# -- BEGIN LICENSE BLOCK ---------------------------------------
-#
-# This file is part of Dotclear 2.
-#
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
-# Licensed under the GPL version 2.0 license.
-# See LICENSE file or
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#
-# -- END LICENSE BLOCK -----------------------------------------
-if (!defined('DC_RC_PATH')) { return; }
-
-/**
-@ingroup DC_CORE
-@brief Plugins specific handler
-@since 2.6
-
-An instance of this class is provided by dcCore $plugins property 
-and used for plugins.
-
-This class extends dcModules.
-*/
-class dcPlugins extends dcModules
-{	
-	protected static $type = 'plugin';
-
-	/**
-	This method registers a plugin in modules list. You should use this to
-	register a new plugin.
-	
-	<var>$priority</var> is an integer. Modules are sorted by priority and name.
-	Lowest priority comes first. This property is currently ignored when dealing
-	with themes.
-	
-	@param	name			<b>string</b>		Module name
-	@param	desc			<b>string</b>		Module description
-	@param	author		<b>string</b>		Module author name
-	@param	version		<b>string</b>		Module version
-	@param	properties	<b>array</b>		extra properties (currently available keys : permissions, priority, standalone_config, type)
-	*/
-	public function registerModule($name,$desc,$author,$version,$properties = array())
-	{
-		# Fallback to legacy registerModule parameters
-		if (!is_array($properties)) {
-			$args = func_get_args();
-			$properties = array();
-			if (isset($args[4])) {
-				$properties['permissions']=$args[4];
-			}
-			if (isset($args[5])) {
-				$properties['priority']= (integer)$args[5];
-			}
-		}
-
-		parent::registerModule($name, $desc, $author, $version, $properties);
-	}
-}
Index: inc/core/class.dc.store.parser.php
===================================================================
--- inc/core/class.dc.store.parser.php	(revision 2388)
+++ inc/core/class.dc.store.parser.php	(revision 2222)
@@ -89,5 +89,5 @@
 			
 			# First filter right now. If DC_DEV is set all modules are parse
-			if (defined('DC_DEV') && DC_DEV === true || dcUtils::versionsCompare(DC_VERSION, $item['dc_min'], '>=', false)) {
+			if (defined('DC_DEV') && DC_DEV === true || version_compare(DC_VERSION,$item['dc_min'],'>=')) {
 				$this->items[$item['id']] = $item;
 			}
Index: inc/core/class.dc.store.php
===================================================================
--- inc/core/class.dc.store.php	(revision 2388)
+++ inc/core/class.dc.store.php	(revision 2270)
@@ -82,5 +82,5 @@
 		foreach ($current as $p_id => $p_infos) {
 			if (isset($raw_datas[$p_id])) {
-				if (dcUtils::versionsCompare($raw_datas[$p_id]['version'],$p_infos['version'],'>')) {
+				if (self::compare($raw_datas[$p_id]['version'],$p_infos['version'],'>')) {
 					$updates[$p_id] = $raw_datas[$p_id];
 					$updates[$p_id]['root'] = $p_infos['root'];
Index: inc/core/class.dc.themes.php
===================================================================
--- inc/core/class.dc.themes.php	(revision 2492)
+++ inc/core/class.dc.themes.php	(revision 2239)
@@ -41,11 +41,10 @@
 	@param	author		<b>string</b>		Module author name
 	@param	version		<b>string</b>		Module version
-	@param	properties	<b>array</b>		extra properties 
-	(currently available keys : parent, priority, standalone_config, type)
+	@param	properties	<b>array</b>		extra properties (currently available keys : parent, priority, standalone_config)
 	*/
 	public function registerModule($name,$desc,$author,$version,$properties = array())
 	{
-		# Fallback to legacy registerModule parameters
 		if (!is_array($properties)) {
+			//Fallback to legacy registerModule parameters
 			$args = func_get_args();
 			$properties = array();
@@ -57,12 +56,36 @@
 			}
 		}
-		# Themes specifics properties
 		$properties = array_merge(
-			array('parent' => null),
-			$properties,
-			array('permissions' => 'admin') // force themes perms
+			array(
+				'parent' => null,
+				'priority' => 1000,
+				'standalone_config' => false,
+				'type' => null
+			), $properties
 		);
 
-		parent::registerModule($name, $desc, $author, $version, $properties);
+		if ($properties['type'] !== null && $properties['type'] != self::$type) {
+			$this->errors[] = sprintf(
+				__('Module "%s" has type "%s" that mismatch required module type "%s".'),
+				'<strong>'.html::escapeHTML($name).'</strong>',
+				'<em>'.html::escapeHTML($properties['type']).'</em>',
+				'<em>'.html::escapeHTML(self::$type).'</em>'
+			);
+			return;
+		}
+
+		if ($this->id) {
+			$this->modules[$this->id] = array_merge(
+				$properties,
+				array(
+					'root' => $this->mroot,
+					'name' => $name,
+					'desc' => $desc,
+					'author' => $author,
+					'version' => $version,
+					'root_writable' => is_writable($this->mroot)
+				)
+			);
+		}
 	}	
 	
@@ -91,2 +114,3 @@
 	}
 }
+?>
Index: inc/core/class.dc.utils.php
===================================================================
--- inc/core/class.dc.utils.php	(revision 2388)
+++ inc/core/class.dc.utils.php	(revision 1179)
@@ -74,27 +74,4 @@
 		return $clean_ids;
 	}
-
-	/**
-	 * Compare two versions with option of using only main numbers.
-	 *
-	 * @param  string	$current_version	Current version
-	 * @param  string	$required_version	Required version
-	 * @param  string	$operator			Comparison operand
-	 * @param  boolean	$strict				Use full version
-	 * @return boolean	True if comparison success
-	 */
-	public static function versionsCompare($current_version, $required_version, $operator='>=', $strict=true)
-	{
-		if ($strict) {
-			$current_version = preg_replace('!-r(\d+)$!', '-p$1', $current_version);
-			$required_version = preg_replace('!-r(\d+)$!', '-p$1', $required_version);
-		}
-		else {
-			$current_version = preg_replace('/^([0-9\.]+)(.*?)$/', '$1', $current_version);
-			$required_version = preg_replace('/^([0-9\.]+)(.*?)$/', '$1', $required_version);
-		}
-
-		return (boolean) version_compare($current_version, $required_version, $operator);
-	}
 }
 
Index: inc/prepend.php
===================================================================
--- inc/prepend.php	(revision 2492)
+++ inc/prepend.php	(revision 2341)
@@ -35,5 +35,4 @@
 $__autoload['dcPostMedia']				= dirname(__FILE__).'/core/class.dc.postmedia.php';
 $__autoload['dcModules']				= dirname(__FILE__).'/core/class.dc.modules.php';
-$__autoload['dcPlugins']				= dirname(__FILE__).'/core/class.dc.plugins.php';
 $__autoload['dcThemes']				= dirname(__FILE__).'/core/class.dc.themes.php';
 $__autoload['dcRestServer']			= dirname(__FILE__).'/core/class.dc.rest.php';
@@ -135,5 +134,5 @@
 # Constants
 define('DC_ROOT',path::real(dirname(__FILE__).'/..'));
-define('DC_VERSION','2.6-RC');
+define('DC_VERSION','2.7-dev');
 define('DC_DIGESTS',dirname(__FILE__).'/digests');
 define('DC_L10N_ROOT',dirname(__FILE__).'/../locales');
@@ -281,5 +280,5 @@
 	# 60 : template processing error
 	# 70 : blog is offline
-
+	
 	if (CLI_MODE)
 	{
Index: inc/public/class.dc.template.php
===================================================================
--- inc/public/class.dc.template.php	(revision 2357)
+++ inc/public/class.dc.template.php	(revision 2198)
@@ -534,5 +534,5 @@
 	{
 		$f = $this->getFilters($attr);
-		return '<?php echo '.sprintf($f,'(!$_ctx->cur_loop ? 0 : $_ctx->cur_loop->index() + 1)').'; ?>';
+		return '<?php '.sprintf($f,'(!$_ctx->cur_loop ? 0 : $_ctx->cur_loop->index() + 1)').' ?>';
 	}
 	
Index: locales/_pot/main.pot
===================================================================
--- locales/_pot/main.pot	(revision 2432)
+++ locales/_pot/main.pot	(revision 2406)
@@ -8,5 +8,5 @@
 "Project-Id-Version: Dotclear 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-17 09:38+0200\n"
+"POT-Creation-Date: 2013-10-08 07:23+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
@@ -32,5 +32,5 @@
 
 #: admin/auth.php:89 admin/auth.php:113 admin/auth.php:347 admin/auth.php:397
-#: admin/install/index.php:324 admin/install/index.php:373
+#: admin/install/index.php:320 admin/install/index.php:369
 msgid "Username:"
 msgstr ""
@@ -50,5 +50,5 @@
 
 #: admin/auth.php:114 admin/auth.php:400 admin/blog_pref.php:440
-#: admin/install/index.php:374 admin/user.php:225
+#: admin/install/index.php:370 admin/user.php:225
 msgid "Password:"
 msgstr ""
@@ -96,6 +96,6 @@
 
 #: admin/auth.php:350 admin/blog_pref.php:667 admin/comment.php:222
-#: admin/install/index.php:319 admin/post.php:683 admin/preferences.php:371
-#: admin/user.php:264 inc/admin/lib.dc.page.php:622
+#: admin/install/index.php:315 admin/post.php:683 admin/preferences.php:371
+#: admin/user.php:264 inc/admin/lib.dc.page.php:602
 msgid "Email:"
 msgstr ""
@@ -109,10 +109,10 @@
 msgstr ""
 
-#: admin/auth.php:365 admin/install/index.php:328 admin/preferences.php:390
+#: admin/auth.php:365 admin/install/index.php:324 admin/preferences.php:390
 #: admin/user.php:225
 msgid "New password:"
 msgstr ""
 
-#: admin/auth.php:368 admin/install/index.php:336 admin/user.php:236
+#: admin/auth.php:368 admin/install/index.php:332 admin/user.php:236
 msgid "Confirm password:"
 msgstr ""
@@ -173,5 +173,5 @@
 #: admin/blog.php:72 admin/blog_del.php:56 admin/blog_pref.php:278
 #: admin/blogs.php:89 admin/langs.php:145 admin/plugin.php:86
-#: admin/plugins.php:83 admin/update.php:179 admin/user.php:188
+#: admin/plugins.php:95 admin/update.php:179 admin/user.php:188
 #: admin/users.php:110 admin/users_actions.php:138 admin/users_actions.php:145
 msgid "System"
@@ -180,4 +180,5 @@
 #: admin/blog.php:73 admin/blog_del.php:57 admin/blog_pref.php:279
 #: inc/admin/class.dc.favorites.php:455 inc/admin/prepend.php:271
+#: inc/core/_fake_l10n.php:20 inc/core/_fake_l10n.php:27
 msgid "Blogs"
 msgstr ""
@@ -190,13 +191,13 @@
 #: admin/blog_pref.php:326 admin/blog_pref.php:333 admin/blog_pref.php:339
 #: admin/category.php:190 admin/comment.php:218 admin/index.php:329
-#: admin/index.php:333 admin/install/index.php:324 admin/install/index.php:328
-#: admin/install/index.php:336 admin/install/wizard.php:180
+#: admin/index.php:333 admin/install/index.php:320 admin/install/index.php:324
+#: admin/install/index.php:332 admin/install/wizard.php:180
 #: admin/install/wizard.php:190 admin/langs.php:242 admin/langs.php:257
 #: admin/langs.php:259 admin/popup_link.php:31 admin/post.php:540
 #: admin/post.php:552 admin/post.php:679 admin/post.php:691 admin/user.php:209
 #: admin/user.php:224 admin/user.php:236 admin/user.php:308
-#: admin/users_actions.php:308 inc/admin/lib.moduleslist.php:1022
-#: inc/admin/lib.moduleslist.php:1024 inc/admin/lib.moduleslist.php:1034
-#: inc/admin/lib.moduleslist.php:1036
+#: admin/users_actions.php:308 inc/admin/lib.moduleslist.php:957
+#: inc/admin/lib.moduleslist.php:959 inc/admin/lib.moduleslist.php:969
+#: inc/admin/lib.moduleslist.php:971
 msgid "Required field"
 msgstr ""
@@ -232,5 +233,5 @@
 #: admin/blog_del.php:40 admin/langs.php:66 admin/langs.php:109
 #: admin/user.php:75 admin/users_actions.php:99
-#: inc/admin/lib.moduleslist.php:972 inc/admin/lib.moduleslist.php:1579
+#: inc/admin/lib.moduleslist.php:907
 msgid "Password verification failed"
 msgstr ""
@@ -260,5 +261,5 @@
 #: admin/blog_del.php:73 admin/langs.php:242 admin/langs.php:259
 #: admin/user.php:308 admin/users_actions.php:308
-#: inc/admin/lib.moduleslist.php:1024 inc/admin/lib.moduleslist.php:1036
+#: inc/admin/lib.moduleslist.php:959 inc/admin/lib.moduleslist.php:971
 msgid "Your password:"
 msgstr ""
@@ -316,5 +317,5 @@
 msgstr ""
 
-#: admin/blog_pref.php:110 admin/posts.php:97
+#: admin/blog_pref.php:110 admin/posts.php:91
 #: inc/admin/actions/class.dcaction.php:76
 #: inc/admin/actions/class.dcactioncomments.php:78 inc/admin/lib.pager.php:183
@@ -625,10 +626,10 @@
 #: admin/blog_pref.php:600 admin/category.php:221 admin/category.php:238
 #: admin/category.php:251 admin/comment.php:244 admin/index.php:349
-#: admin/install/index.php:340 admin/media_item.php:614 admin/post.php:584
+#: admin/install/index.php:336 admin/media_item.php:614 admin/post.php:584
 #: admin/post.php:699 admin/user.php:310 admin/users_actions.php:310
 #: inc/admin/actions/class.dcactionposts.php:305
 #: inc/admin/actions/class.dcactionposts.php:374
 #: inc/admin/actions/class.dcactionposts.php:433
-#: inc/admin/lib.moduleslist.php:1155
+#: inc/admin/lib.moduleslist.php:1090
 msgid "Save"
 msgstr ""
@@ -691,22 +692,23 @@
 msgstr ""
 
-#: admin/blog_theme.php:60 admin/blog_theme.php:70 admin/blog_theme.php:104
+#: admin/blog_theme.php:67 admin/blog_theme.php:77 admin/blog_theme.php:111
 #: inc/admin/class.dc.favorites.php:449 inc/admin/prepend.php:234
+#: inc/core/_fake_l10n.php:18 inc/core/_fake_l10n.php:25
 msgid "Blog appearance"
 msgstr ""
 
-#: admin/blog_theme.php:71
+#: admin/blog_theme.php:78
 msgid "Theme configuration"
 msgstr ""
 
-#: admin/blog_theme.php:93
+#: admin/blog_theme.php:100
 msgid "Themes management"
 msgstr ""
 
-#: admin/blog_theme.php:115 admin/blog_theme.php:116
+#: admin/blog_theme.php:122 admin/blog_theme.php:123
 msgid "Update themes"
 msgstr ""
 
-#: admin/blog_theme.php:118
+#: admin/blog_theme.php:125
 #, php-format
 msgid "There is one theme to update available from repository."
@@ -715,43 +717,43 @@
 msgstr[1] ""
 
-#: admin/blog_theme.php:133 admin/blog_theme.php:212 admin/plugins.php:139
-#: admin/plugins.php:217
+#: admin/blog_theme.php:140 admin/blog_theme.php:219 admin/plugins.php:151
+#: admin/plugins.php:229
 #, php-format
 msgid "Visit %s repository, the resources center for Dotclear."
 msgstr ""
 
-#: admin/blog_theme.php:147 admin/blog_theme.php:148
+#: admin/blog_theme.php:154 admin/blog_theme.php:155
 msgid "Installed themes"
 msgstr ""
 
-#: admin/blog_theme.php:149
+#: admin/blog_theme.php:156
 msgid "You can configure and manage installed themes from this list."
 msgstr ""
 
-#: admin/blog_theme.php:169 admin/blog_theme.php:170
+#: admin/blog_theme.php:176 admin/blog_theme.php:177
 msgid "Deactivated themes"
 msgstr ""
 
-#: admin/blog_theme.php:171
+#: admin/blog_theme.php:178
 msgid "Deactivated themes are installed but not usable. You can activate them from here."
 msgstr ""
 
-#: admin/blog_theme.php:194
+#: admin/blog_theme.php:201
 msgid "Add themes"
 msgstr ""
 
-#: admin/blog_theme.php:195
+#: admin/blog_theme.php:202
 msgid "Add themes from repository"
 msgstr ""
 
-#: admin/blog_theme.php:222 admin/plugins.php:227
+#: admin/blog_theme.php:229 admin/plugins.php:239
 msgid "Install or upgrade manually"
 msgstr ""
 
-#: admin/blog_theme.php:223
+#: admin/blog_theme.php:230
 msgid "Add themes from a package"
 msgstr ""
 
-#: admin/blog_theme.php:224
+#: admin/blog_theme.php:231
 msgid "You can install themes by uploading or downloading zip files."
 msgstr ""
@@ -769,20 +771,20 @@
 msgstr ""
 
-#: admin/blogs.php:25 admin/comments.php:50 admin/posts.php:107
+#: admin/blogs.php:25 admin/comments.php:50 admin/posts.php:101
 #: admin/users.php:27
 msgid "Descending"
 msgstr ""
 
-#: admin/blogs.php:26 admin/comments.php:51 admin/posts.php:108
+#: admin/blogs.php:26 admin/comments.php:51 admin/posts.php:102
 #: admin/users.php:28
 msgid "Ascending"
 msgstr ""
 
-#: admin/blogs.php:75 admin/comments.php:155 admin/posts.php:233
+#: admin/blogs.php:75 admin/comments.php:155 admin/posts.php:217
 #: admin/users.php:95
 msgid "Show filters and display options"
 msgstr ""
 
-#: admin/blogs.php:82 admin/comments.php:163 admin/posts.php:241
+#: admin/blogs.php:82 admin/comments.php:163 admin/posts.php:225
 #: admin/users.php:103
 msgid "Cancel filters and display options"
@@ -805,29 +807,29 @@
 msgstr ""
 
-#: admin/blogs.php:110 admin/comments.php:220 admin/posts.php:266
+#: admin/blogs.php:110 admin/comments.php:220 admin/posts.php:250
 #: admin/users.php:131
 msgid "Filters"
 msgstr ""
 
-#: admin/blogs.php:111 admin/users.php:132 inc/admin/lib.dc.page.php:271
+#: admin/blogs.php:111 admin/users.php:132 inc/admin/lib.dc.page.php:251
 msgid "Search:"
 msgstr ""
 
-#: admin/blogs.php:116 admin/comments.php:235 admin/posts.php:287
+#: admin/blogs.php:116 admin/comments.php:235 admin/posts.php:269
 #: admin/users.php:137
 msgid "Display options"
 msgstr ""
 
-#: admin/blogs.php:117 admin/comments.php:236 admin/posts.php:288
+#: admin/blogs.php:117 admin/comments.php:236 admin/posts.php:270
 #: admin/users.php:138
 msgid "Order by:"
 msgstr ""
 
-#: admin/blogs.php:119 admin/comments.php:238 admin/posts.php:290
+#: admin/blogs.php:119 admin/comments.php:238 admin/posts.php:272
 #: admin/users.php:140
 msgid "Sort:"
 msgstr ""
 
-#: admin/blogs.php:121 admin/posts.php:292 admin/users.php:142
+#: admin/blogs.php:121 admin/posts.php:274 admin/users.php:142
 msgid "Show"
 msgstr ""
@@ -837,5 +839,5 @@
 msgstr ""
 
-#: admin/blogs.php:126 admin/comments.php:246 admin/posts.php:298
+#: admin/blogs.php:126 admin/comments.php:246 admin/posts.php:280
 #: admin/users.php:147
 msgid "Apply filters and display options"
@@ -865,12 +867,12 @@
 msgstr ""
 
-#: admin/blogs.php:159 inc/admin/lib.pager.php:537
+#: admin/blogs.php:159 inc/admin/lib.pager.php:532
 msgid "Entries (all types)"
 msgstr ""
 
 #: admin/blogs.php:161 admin/comments.php:46 admin/post.php:451
-#: admin/post.php:834 admin/posts.php:100 admin/users_actions.php:219
+#: admin/post.php:834 admin/posts.php:94 admin/users_actions.php:219
 #: inc/admin/actions/class.dcactionposts.php:104 inc/admin/lib.pager.php:189
-#: inc/admin/lib.pager.php:299 inc/admin/lib.pager.php:415
+#: inc/admin/lib.pager.php:299 inc/admin/lib.pager.php:410
 msgid "Status"
 msgstr ""
@@ -918,4 +920,5 @@
 #: admin/categories.php:113 admin/categories.php:117 admin/category.php:167
 #: inc/admin/class.dc.favorites.php:431 inc/admin/prepend.php:243
+#: inc/core/_fake_l10n.php:21 inc/core/_fake_l10n.php:28
 msgid "Categories"
 msgstr ""
@@ -971,5 +974,5 @@
 
 #: admin/categories.php:177 admin/media.php:388 admin/media_item.php:398
-#: inc/admin/lib.dc.page.php:272 inc/admin/lib.moduleslist.php:263
+#: inc/admin/lib.dc.page.php:252 inc/admin/lib.moduleslist.php:263
 msgid "OK"
 msgstr ""
@@ -1113,5 +1116,5 @@
 msgstr ""
 
-#: admin/comment.php:210 admin/comments.php:230 inc/admin/lib.dc.page.php:624
+#: admin/comment.php:210 admin/comments.php:230 inc/admin/lib.dc.page.php:604
 msgid "IP address:"
 msgstr ""
@@ -1125,14 +1128,14 @@
 msgstr ""
 
-#: admin/comment.php:218 admin/comments.php:228 admin/posts.php:267
-#: inc/admin/lib.dc.page.php:693 inc/admin/lib.moduleslist.php:674
+#: admin/comment.php:218 admin/comments.php:228 admin/posts.php:251
+#: inc/admin/lib.dc.page.php:673
 msgid "Author:"
 msgstr ""
 
-#: admin/comment.php:227 admin/post.php:687 inc/admin/lib.dc.page.php:620
+#: admin/comment.php:227 admin/post.php:687 inc/admin/lib.dc.page.php:600
 msgid "Web site:"
 msgstr ""
 
-#: admin/comment.php:231 admin/comments.php:223 admin/posts.php:271
+#: admin/comment.php:231 admin/comments.php:223 admin/posts.php:255
 msgid "Status:"
 msgstr ""
@@ -1142,10 +1145,10 @@
 msgstr ""
 
-#: admin/comment.php:247 admin/langs.php:209 admin/media.php:604
+#: admin/comment.php:247 admin/langs.php:209 admin/media.php:608
 #: admin/post.php:598 admin/users.php:34
 #: inc/admin/actions/class.dcactioncomments.php:132
 #: inc/admin/actions/class.dcactionposts.php:142
 #: inc/admin/actions/class.dcactionposts.php:143
-#: inc/admin/lib.moduleslist.php:769
+#: inc/admin/lib.moduleslist.php:703
 msgid "Delete"
 msgstr ""
@@ -1159,7 +1162,7 @@
 msgstr ""
 
-#: admin/comments.php:43 admin/post.php:832 admin/posts.php:96
+#: admin/comments.php:43 admin/post.php:832 admin/posts.php:90
 #: inc/admin/lib.pager.php:184 inc/admin/lib.pager.php:297
-#: inc/admin/lib.pager.php:414
+#: inc/admin/lib.pager.php:409
 msgid "Date"
 msgstr ""
@@ -1169,7 +1172,7 @@
 msgstr ""
 
-#: admin/comments.php:45 admin/post.php:831 admin/posts.php:99
+#: admin/comments.php:45 admin/post.php:831 admin/posts.php:93
 #: inc/admin/actions/class.dcactioncomments.php:78 inc/admin/lib.pager.php:186
-#: inc/admin/lib.pager.php:298 inc/admin/lib.pager.php:413
+#: inc/admin/lib.pager.php:298 inc/admin/lib.pager.php:408
 msgid "Author"
 msgstr ""
@@ -1229,6 +1232,6 @@
 
 #: admin/comments.php:262 admin/post.php:666 admin/post.php:750
-#: admin/posts.php:313 admin/search.php:127 admin/search.php:155
-#: admin/users.php:164 inc/admin/lib.dc.page.php:85
+#: admin/posts.php:295 admin/search.php:127 admin/search.php:155
+#: admin/users.php:164 inc/admin/lib.dc.page.php:79
 #: inc/admin/lib.pager.php:114
 msgid "ok"
@@ -1236,5 +1239,6 @@
 
 #: admin/help.php:78 admin/help.php:84 admin/help.php:90
-#: inc/admin/class.dc.favorites.php:476 inc/admin/lib.dc.page.php:259
+#: inc/admin/class.dc.favorites.php:476 inc/admin/lib.dc.page.php:239
+#: inc/core/_fake_l10n.php:16 inc/core/_fake_l10n.php:23
 msgid "Global help"
 msgstr ""
@@ -1276,5 +1280,5 @@
 msgstr ""
 
-#: admin/index.php:198 admin/update.php:205 admin/update.php:206
+#: admin/index.php:198 admin/update.php:205
 msgid "Information about this version"
 msgstr ""
@@ -1317,9 +1321,9 @@
 msgstr ""
 
-#: admin/index.php:263 admin/install/index.php:349 admin/plugins.php:91
+#: admin/index.php:263 admin/install/index.php:345 admin/plugins.php:103
 msgid "Following plugins have been installed:"
 msgstr ""
 
-#: admin/index.php:271 admin/install/index.php:357 admin/plugins.php:103
+#: admin/index.php:271 admin/install/index.php:353 admin/plugins.php:115
 msgid "Following plugins have not been installed:"
 msgstr ""
@@ -1334,6 +1338,6 @@
 
 #: admin/index.php:328 admin/post.php:35 admin/post.php:567
-#: admin/posts.php:260 inc/admin/class.dc.favorites.php:405
-#: inc/admin/prepend.php:255
+#: admin/posts.php:244 inc/admin/class.dc.favorites.php:405
+#: inc/admin/prepend.php:255 inc/core/_fake_l10n.php:41
 msgid "New entry"
 msgstr ""
@@ -1349,5 +1353,5 @@
 msgstr ""
 
-#: admin/index.php:336 admin/post.php:483 admin/posts.php:269
+#: admin/index.php:336 admin/post.php:483 admin/posts.php:253
 #: inc/admin/actions/class.dcactionposts.php:286
 msgid "Category:"
@@ -1454,17 +1458,17 @@
 msgstr ""
 
-#: admin/install/index.php:182
+#: admin/install/index.php:178
 msgid "Welcome to Dotclear!"
 msgstr ""
 
-#: admin/install/index.php:183
+#: admin/install/index.php:179
 msgid "This is your first entry. When you're ready to blog, log in to edit or delete it."
 msgstr ""
 
-#: admin/install/index.php:195
+#: admin/install/index.php:191
 msgid "Dotclear Team"
 msgstr ""
 
-#: admin/install/index.php:198
+#: admin/install/index.php:194
 msgid ""
 "<p>This is a comment.</p>\n"
@@ -1472,11 +1476,11 @@
 msgstr ""
 
-#: admin/install/index.php:249
+#: admin/install/index.php:245
 msgid "Dotclear Install"
 msgstr ""
 
-#: admin/install/index.php:268 admin/install/index.php:269
-#: admin/install/index.php:270 admin/install/index.php:271
-#: admin/install/index.php:272 admin/preferences.php:312
+#: admin/install/index.php:264 admin/install/index.php:265
+#: admin/install/index.php:266 admin/install/index.php:267
+#: admin/install/index.php:268 admin/preferences.php:312
 #: admin/preferences.php:313 admin/preferences.php:314
 #: admin/preferences.php:315 admin/preferences.php:316 admin/user.php:174
@@ -1486,100 +1490,100 @@
 msgstr ""
 
-#: admin/install/index.php:268 admin/preferences.php:312 admin/user.php:174
+#: admin/install/index.php:264 admin/preferences.php:312 admin/user.php:174
 msgid "very weak"
 msgstr ""
 
-#: admin/install/index.php:269 admin/preferences.php:313 admin/user.php:175
+#: admin/install/index.php:265 admin/preferences.php:313 admin/user.php:175
 msgid "weak"
 msgstr ""
 
-#: admin/install/index.php:270 admin/preferences.php:314 admin/user.php:176
+#: admin/install/index.php:266 admin/preferences.php:314 admin/user.php:176
 msgid "mediocre"
 msgstr ""
 
-#: admin/install/index.php:271 admin/preferences.php:315 admin/user.php:177
+#: admin/install/index.php:267 admin/preferences.php:315 admin/user.php:177
 msgid "strong"
 msgstr ""
 
-#: admin/install/index.php:272 admin/preferences.php:316 admin/user.php:178
+#: admin/install/index.php:268 admin/preferences.php:316 admin/user.php:178
 msgid "very strong"
 msgstr ""
 
-#: admin/install/index.php:276
+#: admin/install/index.php:272
 msgid "show"
 msgstr ""
 
+#: admin/install/index.php:287
+msgid "Dotclear installation"
+msgstr ""
+
 #: admin/install/index.php:291
-msgid "Dotclear installation"
-msgstr ""
-
-#: admin/install/index.php:295
 #, php-format
 msgid "Cache directory %s is not writable."
 msgstr ""
 
-#: admin/install/index.php:299 admin/install/index.php:393
-#: admin/install/wizard.php:161 inc/admin/lib.dc.page.php:180
-#: inc/admin/lib.dc.page.php:359
+#: admin/install/index.php:295 admin/install/index.php:389
+#: admin/install/wizard.php:161 inc/admin/lib.dc.page.php:174
+#: inc/admin/lib.dc.page.php:339
 msgid "Errors:"
 msgstr ""
 
-#: admin/install/index.php:303
+#: admin/install/index.php:299
 msgid "Configuration file has been successfully created."
 msgstr ""
 
-#: admin/install/index.php:309 admin/install/index.php:314
+#: admin/install/index.php:305 admin/install/index.php:310
 msgid "User information"
 msgstr ""
 
-#: admin/install/index.php:311
+#: admin/install/index.php:307
 msgid "Please provide the following information needed to create the first user."
 msgstr ""
 
-#: admin/install/index.php:315 admin/preferences.php:365 admin/user.php:256
+#: admin/install/index.php:311 admin/preferences.php:365 admin/user.php:256
 msgid "First Name:"
 msgstr ""
 
-#: admin/install/index.php:317 admin/preferences.php:362 admin/user.php:252
+#: admin/install/index.php:313 admin/preferences.php:362 admin/user.php:252
 msgid "Last Name:"
 msgstr ""
 
-#: admin/install/index.php:323
+#: admin/install/index.php:319
 msgid "Username and password"
 msgstr ""
 
+#: admin/install/index.php:361
+msgid "All done!"
+msgstr ""
+
 #: admin/install/index.php:365
-msgid "All done!"
-msgstr ""
-
-#: admin/install/index.php:369
 msgid "Dotclear has been successfully installed. Here is some useful information you should keep."
 msgstr ""
 
-#: admin/install/index.php:371
+#: admin/install/index.php:367
 msgid "Your account"
 msgstr ""
 
-#: admin/install/index.php:377
+#: admin/install/index.php:373
 msgid "Your blog"
 msgstr ""
 
-#: admin/install/index.php:379
+#: admin/install/index.php:375
 msgid "Blog address:"
 msgstr ""
 
+#: admin/install/index.php:376
+msgid "Administration interface:"
+msgstr ""
+
 #: admin/install/index.php:380
-msgid "Administration interface:"
-msgstr ""
-
-#: admin/install/index.php:384
 msgid "Manage your blog now"
 msgstr ""
 
-#: admin/install/index.php:392
+#: admin/install/index.php:388
 msgid "Installation can not be completed"
 msgstr ""
 
-#: admin/install/index.php:394
+#: admin/install/index.php:390
 msgid "For the said reasons, Dotclear can not be installed. Please refer to <a href=\"http://dotclear.org/documentation/2.0/admin/install\">the documentation</a> to learn how to correct the problem."
 msgstr ""
@@ -1700,6 +1704,5 @@
 msgstr ""
 
-#: admin/langs.php:115 inc/admin/lib.moduleslist.php:980
-#: inc/admin/lib.moduleslist.php:1587
+#: admin/langs.php:115 inc/admin/lib.moduleslist.php:915
 msgid "Unable to move uploaded file."
 msgstr ""
@@ -1730,5 +1733,5 @@
 msgstr ""
 
-#: admin/langs.php:189 inc/admin/lib.moduleslist.php:560
+#: admin/langs.php:189 inc/admin/lib.moduleslist.php:559
 msgid "Action"
 msgstr ""
@@ -1760,5 +1763,5 @@
 msgstr ""
 
-#: admin/langs.php:255 inc/admin/lib.moduleslist.php:1021
+#: admin/langs.php:255 inc/admin/lib.moduleslist.php:956
 msgid "Upload a zip file"
 msgstr ""
@@ -1776,13 +1779,13 @@
 msgstr ""
 
-#: admin/langs.php:276
+#: admin/langs.php:277
 msgid "Invalid language zip file."
 msgstr ""
 
-#: admin/langs.php:280
+#: admin/langs.php:281
 msgid "The zip file does not appear to be a valid Dotclear language pack."
 msgstr ""
 
-#: admin/langs.php:290
+#: admin/langs.php:291
 msgid "An error occurred during language upgrade."
 msgstr ""
@@ -1833,9 +1836,9 @@
 #: admin/media.php:422 admin/media.php:453 admin/media_item.php:213
 #: admin/media_item.php:220 inc/admin/class.dc.favorites.php:437
-#: inc/admin/prepend.php:240
+#: inc/admin/prepend.php:240 inc/core/_fake_l10n.php:40
 msgid "Media manager"
 msgstr ""
 
-#: admin/media.php:247 admin/post_media.php:71
+#: admin/media.php:247 admin/post_media.php:65
 msgid "confirm removal"
 msgstr ""
@@ -1847,9 +1850,9 @@
 
 #: admin/media.php:257 admin/media_item.php:384 admin/popup_link.php:41
-#: admin/post.php:594 admin/post_media.php:76 inc/admin/lib.dc.page.php:933
+#: admin/post.php:594 admin/post_media.php:70 inc/admin/lib.dc.page.php:913
 msgid "Cancel"
 msgstr ""
 
-#: admin/media.php:258 admin/post_media.php:77
+#: admin/media.php:258 admin/post_media.php:71
 msgid "Yes"
 msgstr ""
@@ -1880,5 +1883,5 @@
 msgstr ""
 
-#: admin/media.php:348 admin/media.php:352 admin/media.php:586
+#: admin/media.php:348 admin/media.php:352 admin/media.php:587
 #: admin/media.php:588
 msgid "Attach this file to entry"
@@ -1936,9 +1939,9 @@
 msgstr ""
 
-#: admin/media.php:487 inc/admin/lib.dc.page.php:931
+#: admin/media.php:487 inc/admin/lib.dc.page.php:911
 msgid "Choose file"
 msgstr ""
 
-#: admin/media.php:488 inc/admin/lib.dc.page.php:932
+#: admin/media.php:488 inc/admin/lib.dc.page.php:912
 msgid "Choose files"
 msgstr ""
@@ -1957,5 +1960,6 @@
 
 #: admin/media.php:502 admin/preferences.php:17
-#: inc/admin/class.dc.favorites.php:400 inc/admin/lib.dc.page.php:151
+#: inc/admin/class.dc.favorites.php:400 inc/admin/lib.dc.page.php:145
+#: inc/core/_fake_l10n.php:38
 msgid "My preferences"
 msgstr ""
@@ -1969,6 +1973,6 @@
 msgstr ""
 
-#: admin/media.php:508 inc/admin/lib.dc.page.php:935
-#: inc/admin/lib.moduleslist.php:1026
+#: admin/media.php:508 inc/admin/lib.dc.page.php:915
+#: inc/admin/lib.moduleslist.php:961
 msgid "Upload"
 msgstr ""
@@ -1987,9 +1991,9 @@
 msgstr ""
 
-#: admin/media.php:593 admin/media.php:594
+#: admin/media.php:597 admin/media.php:598
 msgid "Insert this file into entry"
 msgstr ""
 
-#: admin/media.php:604
+#: admin/media.php:608
 msgid "delete"
 msgstr ""
@@ -2212,5 +2216,5 @@
 msgstr ""
 
-#: admin/media_item.php:627 inc/admin/lib.dc.page.php:936
+#: admin/media_item.php:627 inc/admin/lib.dc.page.php:916
 msgid "Send"
 msgstr ""
@@ -2232,19 +2236,19 @@
 msgstr ""
 
-#: admin/plugins.php:37 admin/plugins.php:45 admin/plugins.php:74
-#: admin/plugins.php:84 inc/admin/class.dc.favorites.php:466
-#: inc/admin/prepend.php:265
+#: admin/plugins.php:49 admin/plugins.php:57 admin/plugins.php:86
+#: admin/plugins.php:96 inc/admin/class.dc.favorites.php:466
+#: inc/admin/prepend.php:265 inc/core/_fake_l10n.php:31
 msgid "Plugins management"
 msgstr ""
 
-#: admin/plugins.php:46
+#: admin/plugins.php:58
 msgid "Plugin configuration"
 msgstr ""
 
-#: admin/plugins.php:121 admin/plugins.php:122
+#: admin/plugins.php:133 admin/plugins.php:134
 msgid "Update plugins"
 msgstr ""
 
-#: admin/plugins.php:124
+#: admin/plugins.php:136
 #, php-format
 msgid "There is one plugin to update available from repository."
@@ -2253,41 +2257,41 @@
 msgstr[1] ""
 
-#: admin/plugins.php:149 admin/plugins.php:156
+#: admin/plugins.php:161 admin/plugins.php:168
 msgid "Installed plugins"
 msgstr ""
 
-#: admin/plugins.php:156
+#: admin/plugins.php:168
 msgid "Activated plugins"
 msgstr ""
 
-#: admin/plugins.php:157
+#: admin/plugins.php:169
 msgid "You can configure and manage installed plugins from this list."
 msgstr ""
 
-#: admin/plugins.php:174
+#: admin/plugins.php:186
 msgid "Deactivated plugins"
 msgstr ""
 
-#: admin/plugins.php:175
+#: admin/plugins.php:187
 msgid "Deactivated plugins are installed but not usable. You can activate them from here."
 msgstr ""
 
-#: admin/plugins.php:199
+#: admin/plugins.php:211
 msgid "Add plugins"
 msgstr ""
 
-#: admin/plugins.php:200
+#: admin/plugins.php:212
 msgid "Add plugins from repository"
 msgstr ""
 
-#: admin/plugins.php:228
+#: admin/plugins.php:240
 msgid "Add plugins from a package"
 msgstr ""
 
-#: admin/plugins.php:229
+#: admin/plugins.php:241
 msgid "You can install plugins by uploading or downloading zip files."
 msgstr ""
 
-#: admin/plugins.php:243
+#: admin/plugins.php:255
 msgid "Some functions are disabled, please give write access to your plugins directory to enable them."
 msgstr ""
@@ -2335,5 +2339,5 @@
 msgstr ""
 
-#: admin/post.php:78 admin/post.php:567 inc/admin/lib.dc.page.php:630
+#: admin/post.php:78 admin/post.php:567 inc/admin/lib.dc.page.php:610
 msgid "Edit entry"
 msgstr ""
@@ -2359,15 +2363,10 @@
 msgstr ""
 
-#: admin/post.php:301
-#, php-format
-msgid "The post \"%s\" has been successfully updated"
-msgstr ""
-
-#: admin/post.php:323 admin/post.php:397 inc/admin/lib.dc.page.php:628
+#: admin/post.php:323 admin/post.php:397 inc/admin/lib.dc.page.php:608
 msgid "Entry has been successfully created."
 msgstr ""
 
 #: admin/post.php:353 admin/post.php:851 inc/admin/lib.pager.php:231
-#: inc/admin/lib.pager.php:328 inc/admin/lib.pager.php:462
+#: inc/admin/lib.pager.php:328 inc/admin/lib.pager.php:457
 #: inc/core/class.dc.blog.php:96 inc/core/class.dc.blog.php:101
 msgid "Published"
@@ -2375,5 +2374,5 @@
 
 #: admin/post.php:356 admin/post.php:854 inc/admin/lib.pager.php:234
-#: inc/admin/lib.pager.php:331 inc/admin/lib.pager.php:465
+#: inc/admin/lib.pager.php:331 inc/admin/lib.pager.php:460
 #: inc/core/class.dc.blog.php:95 inc/core/class.dc.blog.php:100
 msgid "Unpublished"
@@ -2386,5 +2385,5 @@
 
 #: admin/post.php:362 admin/post.php:857 inc/admin/lib.pager.php:240
-#: inc/admin/lib.pager.php:337 inc/admin/lib.pager.php:468
+#: inc/admin/lib.pager.php:337 inc/admin/lib.pager.php:463
 #: inc/core/class.dc.blog.php:93 inc/core/class.dc.blog.php:99
 msgid "Pending"
@@ -2396,10 +2395,11 @@
 msgstr ""
 
-#: admin/post.php:374 admin/post.php:388 admin/posts.php:245
-#: admin/posts.php:249 admin/users_actions.php:218
+#: admin/post.php:374 admin/post.php:388 admin/posts.php:229
+#: admin/posts.php:233 admin/users_actions.php:218
 #: inc/admin/actions/class.dcaction.php:80
 #: inc/admin/actions/class.dcactionposts.php:33
 #: inc/admin/actions/class.dcactionposts.php:40
 #: inc/admin/class.dc.favorites.php:411 inc/admin/prepend.php:252
+#: inc/core/_fake_l10n.php:19 inc/core/_fake_l10n.php:26
 msgid "Entries"
 msgstr ""
@@ -2413,5 +2413,5 @@
 msgstr ""
 
-#: admin/post.php:403 admin/post_media.php:60
+#: admin/post.php:403 admin/post_media.php:54
 msgid "Attachment has been successfully removed."
 msgstr ""
@@ -2453,5 +2453,5 @@
 msgstr ""
 
-#: admin/post.php:482 admin/posts.php:98 inc/admin/lib.pager.php:185
+#: admin/post.php:482 admin/posts.php:92 inc/admin/lib.pager.php:185
 msgid "Category"
 msgstr ""
@@ -2461,5 +2461,5 @@
 msgstr ""
 
-#: admin/post.php:502 inc/admin/lib.pager.php:408
+#: admin/post.php:502 inc/admin/lib.pager.php:403
 msgid "Comments and trackbacks list"
 msgstr ""
@@ -2523,5 +2523,6 @@
 #: inc/admin/actions/class.dcactioncomments.php:60
 #: inc/admin/class.dc.favorites.php:418 inc/admin/lib.pager.php:187
-#: inc/admin/prepend.php:249
+#: inc/admin/prepend.php:249 inc/core/_fake_l10n.php:22
+#: inc/core/_fake_l10n.php:29
 msgid "Comments"
 msgstr ""
@@ -2571,9 +2572,9 @@
 msgstr ""
 
-#: admin/post.php:835 admin/post.php:875 inc/admin/lib.pager.php:491
+#: admin/post.php:835 admin/post.php:875 inc/admin/lib.pager.php:486
 msgid "Edit"
 msgstr ""
 
-#: admin/post.php:860 inc/admin/lib.pager.php:471
+#: admin/post.php:860 inc/admin/lib.pager.php:466
 #: inc/core/class.dc.blog.php:98
 msgid "Junk"
@@ -2592,17 +2593,17 @@
 msgstr ""
 
-#: admin/post_media.php:46
+#: admin/post_media.php:40
 msgid "This attachment does not exist"
 msgstr ""
 
+#: admin/post_media.php:63
+msgid "Remove attachment"
+msgstr ""
+
+#: admin/post_media.php:65
+msgid "Attachment"
+msgstr ""
+
 #: admin/post_media.php:69
-msgid "Remove attachment"
-msgstr ""
-
-#: admin/post_media.php:71
-msgid "Attachment"
-msgstr ""
-
-#: admin/post_media.php:75
 msgid "Are you sure you want to remove this attachment?"
 msgstr ""
@@ -2613,5 +2614,5 @@
 msgstr ""
 
-#: admin/posts.php:74 admin/posts.php:101 inc/admin/lib.pager.php:251
+#: admin/posts.php:74 admin/posts.php:95 inc/admin/lib.pager.php:251
 #: inc/admin/lib.pager.php:348
 msgid "Selected"
@@ -2622,49 +2623,37 @@
 msgstr ""
 
-#: admin/posts.php:80
-msgid "With attachments"
-msgstr ""
-
-#: admin/posts.php:81
-msgid "Without attachments"
-msgstr ""
-
-#: admin/posts.php:102
+#: admin/posts.php:96
 msgid "Number of comments"
 msgstr ""
 
-#: admin/posts.php:103
+#: admin/posts.php:97
 msgid "Number of trackbacks"
 msgstr ""
 
-#: admin/posts.php:253
+#: admin/posts.php:237
 msgid "Selected entries have been successfully updated."
 msgstr ""
 
-#: admin/posts.php:255
+#: admin/posts.php:239
 msgid "Selected entries have been successfully deleted."
 msgstr ""
 
+#: admin/posts.php:260
+msgid "Selected:"
+msgstr ""
+
+#: admin/posts.php:262
+msgid "Month:"
+msgstr ""
+
+#: admin/posts.php:264
+msgid "Lang:"
+msgstr ""
+
 #: admin/posts.php:276
-msgid "Selected:"
-msgstr ""
-
-#: admin/posts.php:278
-msgid "Attachments:"
-msgstr ""
-
-#: admin/posts.php:280
-msgid "Month:"
-msgstr ""
-
-#: admin/posts.php:282
-msgid "Lang:"
-msgstr ""
-
-#: admin/posts.php:294
 msgid "entries per page"
 msgstr ""
 
-#: admin/posts.php:311 admin/search.php:125
+#: admin/posts.php:293 admin/search.php:125
 msgid "Selected entries action:"
 msgstr ""
@@ -2807,5 +2796,5 @@
 
 #: admin/preferences.php:486 admin/preferences.php:488
-#: inc/admin/lib.dc.page.php:149
+#: inc/admin/lib.dc.page.php:143
 msgid "My dashboard"
 msgstr ""
@@ -2977,46 +2966,46 @@
 msgstr ""
 
-#: admin/update.php:209
+#: admin/update.php:208
 msgid "To upgrade your Dotclear installation simply click on the following button. A backup file of your current installation will be created in your root directory."
 msgstr ""
 
-#: admin/update.php:213
+#: admin/update.php:212
 msgid "Update Dotclear"
 msgstr ""
 
-#: admin/update.php:220
+#: admin/update.php:219
 msgid "Manage backup files"
 msgstr ""
 
+#: admin/update.php:222
+msgid "Update backup files"
+msgstr ""
+
 #: admin/update.php:223
-msgid "Update backup files"
-msgstr ""
-
-#: admin/update.php:224
 msgid "The following files are backups of previously updates. You can revert your previous installation or delete theses files."
 msgstr ""
 
-#: admin/update.php:235
+#: admin/update.php:234
 msgid "Please note that reverting your Dotclear version may have some unwanted side-effects. Consider reverting only if you experience strong issues with this new version."
 msgstr ""
 
-#: admin/update.php:237
+#: admin/update.php:236
 #, php-format
 msgid "You should not revert to version prior to last one (%s)."
 msgstr ""
 
+#: admin/update.php:238
+msgid "Delete selected file"
+msgstr ""
+
 #: admin/update.php:239
-msgid "Delete selected file"
-msgstr ""
-
-#: admin/update.php:240
 msgid "Revert to selected file"
 msgstr ""
 
+#: admin/update.php:250
+msgid "Congratulations, you're one click away from the end of the update."
+msgstr ""
+
 #: admin/update.php:251
-msgid "Congratulations, you're one click away from the end of the update."
-msgstr ""
-
-#: admin/update.php:252
 msgid "Finish the update."
 msgstr ""
@@ -3083,5 +3072,5 @@
 msgstr ""
 
-#: admin/user.php:350 inc/admin/lib.dc.page.php:65
+#: admin/user.php:350 inc/admin/lib.dc.page.php:59
 msgid "Blog:"
 msgstr ""
@@ -3092,17 +3081,17 @@
 msgstr ""
 
-#: admin/users.php:19 inc/admin/lib.pager.php:533
+#: admin/users.php:19 inc/admin/lib.pager.php:528
 msgid "Username"
 msgstr ""
 
-#: admin/users.php:20 inc/admin/lib.pager.php:535
+#: admin/users.php:20 inc/admin/lib.pager.php:530
 msgid "Last Name"
 msgstr ""
 
-#: admin/users.php:21 inc/admin/lib.pager.php:534
+#: admin/users.php:21 inc/admin/lib.pager.php:529
 msgid "First Name"
 msgstr ""
 
-#: admin/users.php:22 inc/admin/lib.pager.php:536
+#: admin/users.php:22 inc/admin/lib.pager.php:531
 msgid "Display name"
 msgstr ""
@@ -3341,4 +3330,5 @@
 
 #: inc/admin/class.dc.favorites.php:471 inc/admin/prepend.php:262
+#: inc/core/_fake_l10n.php:34
 msgid "Languages"
 msgstr ""
@@ -3346,452 +3336,451 @@
 #: inc/admin/class.dc.favorites.php:493
 #, php-format
-msgid "%d comment"
+msgid "%d comments"
 msgid_plural "%d comments"
 msgstr[0] ""
 msgstr[1] ""
 
-#: inc/admin/lib.dc.page.php:69
+#: inc/admin/lib.dc.page.php:63
 msgid "Change blog"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:82
+#: inc/admin/lib.dc.page.php:76
 msgid "Blogs:"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:134
+#: inc/admin/lib.dc.page.php:128
 msgid "Go to the content"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:135
+#: inc/admin/lib.dc.page.php:129
 msgid "Go to the menu"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:136
+#: inc/admin/lib.dc.page.php:130
 msgid "Go to search"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:137
+#: inc/admin/lib.dc.page.php:131
 msgid "Go to help"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:145 inc/admin/lib.dc.page.php:146
+#: inc/admin/lib.dc.page.php:139 inc/admin/lib.dc.page.php:140
 msgid "Go to site"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:152
+#: inc/admin/lib.dc.page.php:146
 #, php-format
 msgid "Logout %s"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:160
+#: inc/admin/lib.dc.page.php:154
 msgid "Hide main menu"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:161
+#: inc/admin/lib.dc.page.php:155
 msgid "Show main menu"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:170
+#: inc/admin/lib.dc.page.php:164
 msgid "Safe mode"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:171
+#: inc/admin/lib.dc.page.php:165
 msgid "You are in safe mode. All plugins have been temporarily disabled. Remind to log out then log in again normally to get back all functionalities"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:180 inc/admin/lib.dc.page.php:626
-#: inc/admin/lib.dc.page.php:930
+#: inc/admin/lib.dc.page.php:174 inc/admin/lib.dc.page.php:606
+#: inc/admin/lib.dc.page.php:910
 msgid "Error:"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:246 inc/admin/lib.dc.page.php:407
+#: inc/admin/lib.dc.page.php:228 inc/admin/lib.dc.page.php:387
 msgid "[%H:%M:%S]"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:279
+#: inc/admin/lib.dc.page.php:259
 #, php-format
 msgid "Thank you for using %s."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:382
+#: inc/admin/lib.dc.page.php:362
 msgid "Go to dashboard"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:524
+#: inc/admin/lib.dc.page.php:504
 msgid "Help about this page"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:529
+#: inc/admin/lib.dc.page.php:509
 #, php-format
 msgid "See also %s"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:529
+#: inc/admin/lib.dc.page.php:509
 msgid "the global help"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:594 inc/admin/lib.dc.page.php:601
+#: inc/admin/lib.dc.page.php:574 inc/admin/lib.dc.page.php:581
 msgid "uncover"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:596 inc/admin/lib.dc.page.php:603
+#: inc/admin/lib.dc.page.php:576 inc/admin/lib.dc.page.php:583
 msgid "hide"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:606
+#: inc/admin/lib.dc.page.php:586
 msgid "Need help?"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:608
+#: inc/admin/lib.dc.page.php:588
 msgid "new window"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:610
+#: inc/admin/lib.dc.page.php:590
 msgid "Hide"
 msgstr ""
 
+#: inc/admin/lib.dc.page.php:592
+msgid "Select:"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:594
+msgid "no selection"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:596
+msgid "select all"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:598
+msgid "Invert selection"
+msgstr ""
+
 #: inc/admin/lib.dc.page.php:612
-msgid "Select:"
+msgid "view entry"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:614
-msgid "no selection"
+#, php-format
+msgid "Are you sure you want to delete selected entries (%s)?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:616
-msgid "select all"
+#, php-format
+msgid "Are you sure you want to delete selected medias (%d)?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:618
-msgid "Invert selection"
+#, php-format
+msgid "Are you sure you want to delete selected categories (%s)?"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:620
+msgid "Are you sure you want to delete this entry?"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:622
+msgid "Click here to unlock the field"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:624
+msgid "Are you sure you want to delete all spams?"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:626
+#, php-format
+msgid "Are you sure you want to delete selected comments (%s)?"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:628
+msgid "Are you sure you want to delete this comment?"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:630
+msgid "Users with posts cannot be deleted."
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:632
-msgid "view entry"
+#, php-format
+msgid "Are you sure you want to delete selected users (%s)?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:634
 #, php-format
-msgid "Are you sure you want to delete selected entries (%s)?"
+msgid "Are you sure you want to delete category \"%s\"?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:636
-#, php-format
-msgid "Are you sure you want to delete selected medias (%d)?"
+msgid "Are you sure you want to reorder all categories?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:638
 #, php-format
-msgid "Are you sure you want to delete selected categories (%s)?"
+msgid "Are you sure you want to remove media \"%s\"?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:640
-msgid "Are you sure you want to delete this entry?"
+msgid "Are you sure you want to extract archive in current directory?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:642
-msgid "Click here to unlock the field"
+#, php-format
+msgid "Are you sure you want to remove attachment \"%s\"?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:644
-msgid "Are you sure you want to delete all spams?"
+#, php-format
+msgid "Are you sure you want to delete \"%s\" language?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:646
 #, php-format
-msgid "Are you sure you want to delete selected comments (%s)?"
+msgid "Are you sure you want to delete \"%s\" plugin?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:648
-msgid "Are you sure you want to delete this comment?"
+msgid "Use this theme"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:650
-msgid "Users with posts cannot be deleted."
+msgid "Remove this theme"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:652
 #, php-format
-msgid "Are you sure you want to delete selected users (%s)?"
+msgid "Are you sure you want to delete \"%s\" theme?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:654
-#, php-format
-msgid "Are you sure you want to delete category \"%s\"?"
+msgid "Are you sure you want to delete this backup?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:656
-msgid "Are you sure you want to reorder all categories?"
+msgid "Zip file content"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:658
-#, php-format
-msgid "Are you sure you want to remove media \"%s\"?"
+msgid "XHTML markup validator"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:660
-msgid "Are you sure you want to extract archive in current directory?"
+msgid "XHTML content is valid."
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:662
-#, php-format
-msgid "Are you sure you want to remove attachment \"%s\"?"
+msgid "There are XHTML markup errors."
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:664
-#, php-format
-msgid "Are you sure you want to delete \"%s\" language?"
+msgid "Attention: an audit of a content not yet registered."
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:666
-#, php-format
-msgid "Are you sure you want to delete \"%s\" plugin?"
+msgid "You have unsaved changes. Switch post format will loose these changes. Proceed anyway?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:668
-msgid "Use this theme"
+msgid "Warning: post format change will not convert existing content. You will need to apply new format by yourself. Proceed anyway?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:670
-msgid "Remove this theme"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:672
-#, php-format
-msgid "Are you sure you want to delete \"%s\" theme?"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:674
-msgid "Are you sure you want to delete this backup?"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:676
-msgid "Zip file content"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:678
-msgid "XHTML markup validator"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:680
-msgid "XHTML content is valid."
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:682
-msgid "There are XHTML markup errors."
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:684
-msgid "Attention: an audit of a content not yet registered."
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:686
-msgid "You have unsaved changes. Switch post format will loose these changes. Proceed anyway?"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:688
-msgid "Warning: post format change will not convert existing content. You will need to apply new format by yourself. Proceed anyway?"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:690
 msgid "Loading enhanced uploader, please wait."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:695 inc/admin/lib.moduleslist.php:550
-#: inc/admin/lib.moduleslist.php:679 inc/admin/lib.moduleslist.php:1303
+#: inc/admin/lib.dc.page.php:675 inc/admin/lib.moduleslist.php:550
+#: inc/admin/lib.moduleslist.php:1231
 msgid "Details"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:697 inc/admin/lib.moduleslist.php:683
-#: inc/admin/lib.moduleslist.php:1308
+#: inc/admin/lib.dc.page.php:677 inc/admin/lib.moduleslist.php:1236
 msgid "Support"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:699
+#: inc/admin/lib.dc.page.php:679
 msgid "Help:"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:701 inc/admin/lib.moduleslist.php:708
+#: inc/admin/lib.dc.page.php:681
 msgid "Section:"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:703 inc/admin/lib.moduleslist.php:713
+#: inc/admin/lib.dc.page.php:683
 msgid "Tags:"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:734
+#: inc/admin/lib.dc.page.php:714
 msgid "You have unsaved changes."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:816
+#: inc/admin/lib.dc.page.php:796
 msgid "close"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:817
+#: inc/admin/lib.dc.page.php:797
 msgid "now"
 msgstr ""
 
+#: inc/admin/lib.dc.page.php:841
+msgid "visual"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:842
+msgid "source"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:844
+msgid "You can use the following shortcuts to format your text."
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:845
+msgid "-- none --"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:846
+msgid "-- block format --"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:847
+msgid "Paragraph"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:848
+msgid "Level 1 header"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:849
+msgid "Level 2 header"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:850
+msgid "Level 3 header"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:851
+msgid "Level 4 header"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:852
+msgid "Level 5 header"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:853
+msgid "Level 6 header"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:854
+msgid "Strong emphasis"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:855
+msgid "Emphasis"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:856
+msgid "Inserted"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:857
+msgid "Deleted"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:858
+msgid "Inline quote"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:859
+msgid "Code"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:860
+msgid "Line break"
+msgstr ""
+
 #: inc/admin/lib.dc.page.php:861
-msgid "visual"
+msgid "Blockquote"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:862
-msgid "source"
+msgid "Preformated text"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:863
+msgid "Unordered list"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:864
-msgid "You can use the following shortcuts to format your text."
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:865
-msgid "-- none --"
+msgid "Ordered list"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:866
-msgid "-- block format --"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:867
-msgid "Paragraph"
+msgid "Link"
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:867 inc/admin/lib.dc.page.php:871
+msgid "URL?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:868
-msgid "Level 1 header"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:869
-msgid "Level 2 header"
+msgid "Language?"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:870
-msgid "Level 3 header"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:871
-msgid "Level 4 header"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:872
-msgid "Level 5 header"
+msgid "External image"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:873
-msgid "Level 6 header"
+msgid "Media chooser"
 msgstr ""
 
 #: inc/admin/lib.dc.page.php:874
-msgid "Strong emphasis"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:875
-msgid "Emphasis"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:876
-msgid "Inserted"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:877
-msgid "Deleted"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:878
-msgid "Inline quote"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:879
-msgid "Code"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:880
-msgid "Line break"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:881
-msgid "Blockquote"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:882
-msgid "Preformated text"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:883
-msgid "Unordered list"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:884
-msgid "Ordered list"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:886
-msgid "Link"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:887 inc/admin/lib.dc.page.php:891
-msgid "URL?"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:888
-msgid "Language?"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:890
-msgid "External image"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:893
-msgid "Media chooser"
-msgstr ""
-
-#: inc/admin/lib.dc.page.php:894
 msgid "Link to an entry"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:924
+#: inc/admin/lib.dc.page.php:904
 msgid "Temporarily activate enhanced uploader"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:925
+#: inc/admin/lib.dc.page.php:905
 msgid "Temporarily disable enhanced uploader"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:926
+#: inc/admin/lib.dc.page.php:906
 msgid "Limit exceeded."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:927
+#: inc/admin/lib.dc.page.php:907
 msgid "File size exceeds allowed limit."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:928
+#: inc/admin/lib.dc.page.php:908
 msgid "Canceled."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:929
+#: inc/admin/lib.dc.page.php:909
 msgid "HTTP Error:"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:934
+#: inc/admin/lib.dc.page.php:914
 msgid "Clean"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:937
+#: inc/admin/lib.dc.page.php:917
 msgid "File successfully uploaded."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:938
+#: inc/admin/lib.dc.page.php:918
 msgid "No file in queue."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:939
+#: inc/admin/lib.dc.page.php:919
 msgid "1 file in queue."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:940
+#: inc/admin/lib.dc.page.php:920
 #, php-format
 msgid "%d files in queue."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:941
+#: inc/admin/lib.dc.page.php:921
 msgid "Queue error:"
 msgstr ""
@@ -3826,11 +3815,11 @@
 #: inc/admin/lib.moduleslist.php:351
 #, php-format
-msgid "%d result"
-msgid_plural "%d results"
+msgid "%d module"
+msgid_plural "%d modules"
 msgstr[0] ""
 msgstr[1] ""
 
 #: inc/admin/lib.moduleslist.php:356
-msgid "no results"
+msgid "no module"
 msgstr ""
 
@@ -3840,5 +3829,5 @@
 
 #: inc/admin/lib.moduleslist.php:526
-msgid "Plugins list"
+msgid "Modules list"
 msgstr ""
 
@@ -3859,193 +3848,156 @@
 msgstr ""
 
-#: inc/admin/lib.moduleslist.php:635 inc/admin/lib.moduleslist.php:636
-msgid "Plugin from official distribution"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:703
-msgid "Configure plugin"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:731
-msgid "No plugins matched your search."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:756
+#: inc/admin/lib.moduleslist.php:602
+#, php-format
+msgid "Configure module \"%s\""
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:631
+msgid "Module from official distribution"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:632
+msgid "module from official distribution"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:665 inc/admin/lib.moduleslist.php:1306
+msgid "No module matches your search."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:690
 msgid "Activate"
 msgstr ""
 
-#: inc/admin/lib.moduleslist.php:762
+#: inc/admin/lib.moduleslist.php:696
 msgid "Deactivate"
 msgstr ""
 
-#: inc/admin/lib.moduleslist.php:775
+#: inc/admin/lib.moduleslist.php:709
 msgid "Install"
 msgstr ""
 
-#: inc/admin/lib.moduleslist.php:781 inc/admin/prepend.php:259
+#: inc/admin/lib.moduleslist.php:715 inc/admin/prepend.php:259
 msgid "Update"
 msgstr ""
 
-#: inc/admin/lib.moduleslist.php:824 inc/admin/lib.moduleslist.php:842
-#: inc/admin/lib.moduleslist.php:870 inc/admin/lib.moduleslist.php:900
-#: inc/admin/lib.moduleslist.php:927 inc/admin/lib.moduleslist.php:931
-msgid "No such plugin."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:835
-msgid "Plugin has been successfully activated."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:849
-msgid "You don't have permissions to deactivate this plugin."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:860
-msgid "Plugin has been successfully deactivated."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:877
-msgid "You don't have permissions to delete this plugin."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:892
-msgid "Plugin has been successfully deleted."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:917 inc/admin/lib.moduleslist.php:957
-#: inc/admin/lib.moduleslist.php:998
-msgid "Plugin has been successfully updated."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:918 inc/admin/lib.moduleslist.php:999
-msgid "Plugin has been successfully installed."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1022
-msgid "Zip file path:"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1033
-msgid "Download a zip file"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1034
-msgid "Zip file URL:"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1038
-msgid "Download"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1075
-msgid "Unknow plugin ID"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1084
-msgid "This plugin has no configuration file."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1147
-#, php-format
-msgid "Configure \"%s\""
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1148
-msgid "Back"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1231
-#, php-format
-msgid "Score: %s"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1250
-#, php-format
-msgid "%s screenshot."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1271
-#, php-format
-msgid "by %s"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1276
-#, php-format
-msgid "version %s"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1281
-#, php-format
-msgid "(current version %s)"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1287
-#, php-format
-msgid "(built on \"%s\")"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1291
-#, php-format
-msgid "(requires \"%s\")"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1331
-msgid "View stylesheet"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1338
-msgid "Configure theme"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1378
-msgid "No themes matched your search."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1392
-msgid "Use this one"
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1417 inc/admin/lib.moduleslist.php:1431
-#: inc/admin/lib.moduleslist.php:1449 inc/admin/lib.moduleslist.php:1507
-#: inc/admin/lib.moduleslist.php:1534 inc/admin/lib.moduleslist.php:1538
-msgid "No such theme."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1424
-msgid "Theme has been successfully selected."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1442
-msgid "Theme has been successfully activated."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1456
-msgid "You don't have permissions to deactivate this theme."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1467
-msgid "Theme has been successfully deactivated."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1477 inc/core/class.dc.modules.php:404
+#: inc/admin/lib.moduleslist.php:759 inc/admin/lib.moduleslist.php:777
+#: inc/admin/lib.moduleslist.php:805 inc/admin/lib.moduleslist.php:835
+#: inc/admin/lib.moduleslist.php:862 inc/admin/lib.moduleslist.php:866
+#: inc/admin/lib.moduleslist.php:1339 inc/core/class.dc.modules.php:404
 #: inc/core/class.dc.modules.php:415 inc/core/class.dc.modules.php:430
 msgid "No such module."
 msgstr ""
 
-#: inc/admin/lib.moduleslist.php:1484
-msgid "You don't have permissions to delete this theme."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1499
-msgid "Theme has been successfully deleted."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1524 inc/admin/lib.moduleslist.php:1564
-#: inc/admin/lib.moduleslist.php:1605
-msgid "Theme has been successfully updated."
-msgstr ""
-
-#: inc/admin/lib.moduleslist.php:1525 inc/admin/lib.moduleslist.php:1606
-msgid "Theme has been successfully installed."
+#: inc/admin/lib.moduleslist.php:770
+msgid "Module has been successfully activated."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:784
+msgid "You don't have permissions to deactivate this module."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:795
+msgid "Module has been successfully deactivated."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:812
+msgid "You don't have permissions to delete this module."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:827
+msgid "Module has been successfully deleted."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:852 inc/admin/lib.moduleslist.php:892
+#: inc/admin/lib.moduleslist.php:933
+msgid "Module has been successfully updated."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:853 inc/admin/lib.moduleslist.php:934
+msgid "Module has been successfully installed."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:957
+msgid "Zip file path:"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:968
+msgid "Download a zip file"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:969
+msgid "Zip file URL:"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:973
+msgid "Download"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1010
+msgid "Unknow module ID"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1019
+msgid "This module has no configuration file."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1082
+#, php-format
+msgid "Configure plugin \"%s\""
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1083
+msgid "Back"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1166
+#, php-format
+msgid "Score: %s"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1185
+#, php-format
+msgid "%s screenshot."
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1199
+#, php-format
+msgid "by %s"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1204
+#, php-format
+msgid "version %s"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1209
+#, php-format
+msgid "(current version %s)"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1215
+#, php-format
+msgid "(built on \"%s\")"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1219
+#, php-format
+msgid "(requires \"%s\")"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1259
+msgid "View stylesheet"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1266
+msgid "Configure theme"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1320
+msgid "Use this one"
+msgstr ""
+
+#: inc/admin/lib.moduleslist.php:1346
+msgid "Module has been successfully selected."
 msgstr ""
 
@@ -4119,58 +4071,56 @@
 msgstr ""
 
-#: inc/admin/lib.pager.php:403
-#, php-format
-msgid "Comment or trackback matching the filter."
-msgid_plural "List of %s comments or trackbacks matching the filter."
-msgstr[0] ""
-msgstr[1] ""
-
-#: inc/admin/lib.pager.php:412
+#: inc/admin/lib.pager.php:401
+#, php-format
+msgid "List of %s Comments or trackbacks match the filter."
+msgstr ""
+
+#: inc/admin/lib.pager.php:407
 msgid "Type"
 msgstr ""
 
-#: inc/admin/lib.pager.php:416
+#: inc/admin/lib.pager.php:411
 msgid "Entry"
 msgstr ""
 
-#: inc/admin/lib.pager.php:479
+#: inc/admin/lib.pager.php:474
 #, php-format
 msgid "Edit the %1$s from %2$s"
 msgstr ""
 
-#: inc/admin/lib.pager.php:480 inc/admin/lib.pager.php:492
+#: inc/admin/lib.pager.php:475 inc/admin/lib.pager.php:487
 msgid "comment"
 msgstr ""
 
-#: inc/admin/lib.pager.php:480 inc/admin/lib.pager.php:492
+#: inc/admin/lib.pager.php:475 inc/admin/lib.pager.php:487
 msgid "trackback"
 msgstr ""
 
-#: inc/admin/lib.pager.php:489
+#: inc/admin/lib.pager.php:484
 msgid "Type and author"
 msgstr ""
 
-#: inc/admin/lib.pager.php:513
+#: inc/admin/lib.pager.php:508
 msgid "No user matches the filter"
 msgstr ""
 
-#: inc/admin/lib.pager.php:515
+#: inc/admin/lib.pager.php:510
 msgid "No user"
 msgstr ""
 
-#: inc/admin/lib.pager.php:527
+#: inc/admin/lib.pager.php:522
 #, php-format
 msgid "List of %s users match the filter."
 msgstr ""
 
-#: inc/admin/lib.pager.php:529
+#: inc/admin/lib.pager.php:524
 msgid "Users list"
 msgstr ""
 
-#: inc/admin/lib.pager.php:569
+#: inc/admin/lib.pager.php:564
 msgid "admin"
 msgstr ""
 
-#: inc/admin/lib.pager.php:572
+#: inc/admin/lib.pager.php:567
 msgid "superadmin"
 msgstr ""
@@ -4220,4 +4170,36 @@
 msgstr ""
 
+#: inc/core/_fake_l10n.php:17 inc/core/_fake_l10n.php:24
+msgid "Antispam"
+msgstr ""
+
+#: inc/core/_fake_l10n.php:30
+msgid "Galeries"
+msgstr ""
+
+#: inc/core/_fake_l10n.php:32
+msgid "Import/Export"
+msgstr ""
+
+#: inc/core/_fake_l10n.php:33
+msgid "Installateur DotAddict.org"
+msgstr ""
+
+#: inc/core/_fake_l10n.php:35
+msgid "Blogroll"
+msgstr ""
+
+#: inc/core/_fake_l10n.php:36
+msgid "Maintenance"
+msgstr ""
+
+#: inc/core/_fake_l10n.php:37
+msgid "Simple menu"
+msgstr ""
+
+#: inc/core/_fake_l10n.php:39
+msgid "Tags"
+msgstr ""
+
 #: inc/core/class.dc.auth.php:73
 msgid "administrator"
@@ -4292,87 +4274,87 @@
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1228
+#: inc/core/class.dc.blog.php:1213
 msgid "You are not allowed to create an entry"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1286
+#: inc/core/class.dc.blog.php:1271
 msgid "You are not allowed to update entries"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1292 inc/core/class.dc.blog.php:1519
+#: inc/core/class.dc.blog.php:1277 inc/core/class.dc.blog.php:1504
 msgid "No such entry ID"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1321
+#: inc/core/class.dc.blog.php:1306
 msgid "You are not allowed to edit this entry"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1356 inc/core/class.dc.meta.php:168
+#: inc/core/class.dc.blog.php:1341 inc/core/class.dc.meta.php:168
 #: inc/core/class.dc.meta.php:182
 msgid "You are not allowed to change this entry status"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1400 inc/core/class.dc.blog.php:1444
+#: inc/core/class.dc.blog.php:1385 inc/core/class.dc.blog.php:1429
 msgid "You are not allowed to change this entry category"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1477
+#: inc/core/class.dc.blog.php:1462
 msgid "You are not allowed to change entries category"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1513
+#: inc/core/class.dc.blog.php:1498
 msgid "You are not allowed to delete entries"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1682
+#: inc/core/class.dc.blog.php:1667
 msgid "No entry title"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1686 inc/core/class.dc.blog.php:1702
+#: inc/core/class.dc.blog.php:1671 inc/core/class.dc.blog.php:1687
 msgid "No entry content"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1766
+#: inc/core/class.dc.blog.php:1751
 msgid "Notes"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1768
+#: inc/core/class.dc.blog.php:1753
 msgid "Note"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1879
+#: inc/core/class.dc.blog.php:1864
 msgid "Empty entry URL"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2131
+#: inc/core/class.dc.blog.php:2116
 msgid "You are not allowed to update comments"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2137 inc/core/class.dc.blog.php:2143
-#: inc/core/class.dc.blog.php:2264
+#: inc/core/class.dc.blog.php:2122 inc/core/class.dc.blog.php:2128
+#: inc/core/class.dc.blog.php:2249
 msgid "No such comment ID"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2150
+#: inc/core/class.dc.blog.php:2135
 msgid "You are not allowed to update this comment"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2194
+#: inc/core/class.dc.blog.php:2179
 msgid "You are not allowed to change this comment's status"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2258 inc/core/class.dc.blog.php:2315
+#: inc/core/class.dc.blog.php:2243 inc/core/class.dc.blog.php:2300
 msgid "You are not allowed to delete comments"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2351
+#: inc/core/class.dc.blog.php:2336
 msgid "You must provide a comment"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2355
+#: inc/core/class.dc.blog.php:2340
 msgid "You must provide an author name"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2359
+#: inc/core/class.dc.blog.php:2344
 msgid "Email address is not valid."
 msgstr ""
@@ -4488,5 +4470,5 @@
 #: inc/core/class.dc.modules.php:332
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
@@ -4682,5 +4664,5 @@
 msgstr ""
 
-#: inc/dbschema/upgrade.php:425
+#: inc/dbschema/upgrade.php:412
 msgid "Something went wrong with auto upgrade:"
 msgstr ""
@@ -4871,22 +4853,22 @@
 msgstr ""
 
-#: inc/prepend.php:182
+#: inc/prepend.php:178
 msgid "Site temporarily unavailable"
 msgstr ""
 
+#: inc/prepend.php:179
+msgid "<p>We apologize for this temporary unavailability.<br />Thank you for your understanding.</p>"
+msgstr ""
+
 #: inc/prepend.php:183
-msgid "<p>We apologize for this temporary unavailability.<br />Thank you for your understanding.</p>"
-msgstr ""
-
-#: inc/prepend.php:187
 msgid "Unable to connect to database"
 msgstr ""
 
-#: inc/prepend.php:189
+#: inc/prepend.php:185
 #, php-format
 msgid "<p>This either means that the username and password information in your <strong>config.php</strong> file is incorrect or we can't contact the database server at \"<em>%s</em>\". This could mean your host's database server is down.</p> <ul><li>Are you sure you have the correct username and password?</li><li>Are you sure that you have typed the correct hostname?</li><li>Are you sure that the database server is running?</li></ul><p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href=\"http://forum.dotclear.net/\">Dotclear Support Forums</a>.</p>"
 msgstr ""
 
-#: inc/prepend.php:200
+#: inc/prepend.php:196
 msgid "The following error was encountered while trying to read the database:"
 msgstr ""
Index: locales/_pot/plugins.pot
===================================================================
--- locales/_pot/plugins.pot	(revision 2485)
+++ locales/_pot/plugins.pot	(revision 2406)
@@ -8,5 +8,5 @@
 "Project-Id-Version: Dotclear 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-23 13:44+0000\n"
+"POT-Creation-Date: 2013-10-08 07:23+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
@@ -103,14 +103,13 @@
 
 #: plugins/_fake_plugin/_fake_l10n.php:29
-#: plugins/widgets/_default_widgets.php:49
 msgid "List of categories"
 msgstr ""
 
 #: plugins/_fake_plugin/_fake_l10n.php:30
-msgid "Feed subscription links (RSS or Atom)"
+msgid "RSS or Atom feed subscription links"
 msgstr ""
 
 #: plugins/_fake_plugin/_fake_l10n.php:31
-msgid "List of last entries from feed (RSS or Atom)"
+msgid "Last entries from feed"
 msgstr ""
 
@@ -124,5 +123,5 @@
 
 #: plugins/_fake_plugin/_fake_l10n.php:34
-msgid "List of last comments published"
+msgid "List of last comments posted"
 msgstr ""
 
@@ -168,5 +167,5 @@
 msgstr ""
 
-#: plugins/aboutConfig/index.php:138 plugins/antispam/index.php:203
+#: plugins/aboutConfig/index.php:138 plugins/antispam/index.php:199
 #: plugins/blogroll/index.php:205 plugins/blogroll/index.php:330
 #: plugins/simpleMenu/index.php:143 plugins/simpleMenu/index.php:488
@@ -184,120 +183,114 @@
 msgstr ""
 
-#: plugins/akismet/class.dc.filter.akismet.php:32
+#: plugins/akismet/class.dc.filter.akismet.php:31
 msgid "Akismet spam filter"
 msgstr ""
 
-#: plugins/akismet/class.dc.filter.akismet.php:37
+#: plugins/akismet/class.dc.filter.akismet.php:36
 #, php-format
 msgid "Filtered by %s."
 msgstr ""
 
-#: plugins/akismet/class.dc.filter.akismet.php:120
+#: plugins/akismet/class.dc.filter.akismet.php:119
 msgid "Filter configuration have been successfully saved."
 msgstr ""
 
-#: plugins/akismet/class.dc.filter.akismet.php:143
+#: plugins/akismet/class.dc.filter.akismet.php:142
 msgid "Akismet API key:"
 msgstr ""
 
-#: plugins/akismet/class.dc.filter.akismet.php:148
+#: plugins/akismet/class.dc.filter.akismet.php:147
 msgid "API key verified"
 msgstr ""
 
-#: plugins/akismet/class.dc.filter.akismet.php:150
+#: plugins/akismet/class.dc.filter.akismet.php:149
 msgid "API key not verified"
 msgstr ""
 
-#: plugins/akismet/class.dc.filter.akismet.php:157
+#: plugins/akismet/class.dc.filter.akismet.php:156
 msgid "Get your own API key"
 msgstr ""
 
-#: plugins/antispam/_admin.php:18 plugins/antispam/_admin.php:32
-#: plugins/antispam/index.php:18
-msgid "Antispam"
-msgstr ""
-
-#: plugins/antispam/_admin.php:80 plugins/antispam/index.php:179
+#: plugins/antispam/_admin.php:64 plugins/antispam/index.php:175
 #, php-format
 msgid "All spam comments older than %s day(s) will be automatically deleted."
 msgstr ""
 
-#: plugins/antispam/_admin.php:81 plugins/antispam/index.php:180
+#: plugins/antispam/_admin.php:65 plugins/antispam/index.php:176
 #, php-format
 msgid "You can modify this duration in the %s"
 msgstr ""
 
-#: plugins/antispam/_admin.php:91
+#: plugins/antispam/_admin.php:75
 msgid "Delete junk comments older than"
 msgstr ""
 
-#: plugins/antispam/_admin.php:93
+#: plugins/antispam/_admin.php:77
 msgid "days"
 msgstr ""
 
-#: plugins/antispam/_admin.php:95
+#: plugins/antispam/_admin.php:79
 msgid "Set spam filters."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:32
+#: plugins/antispam/filters/class.dc.filter.ip.php:31
 msgid "IP Blacklist / Whitelist Filter"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:37
+#: plugins/antispam/filters/class.dc.filter.ip.php:36
 #, php-format
 msgid "Filtered by %1$s with rule %2$s."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:78
+#: plugins/antispam/filters/class.dc.filter.ip.php:77
 msgid "IP address has been successfully added."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:92
+#: plugins/antispam/filters/class.dc.filter.ip.php:91
 msgid "IP addresses have been successfully removed."
 msgstr ""
 
+#: plugins/antispam/filters/class.dc.filter.ip.php:103
+msgid "Blacklist"
+msgstr ""
+
 #: plugins/antispam/filters/class.dc.filter.ip.php:104
-msgid "Blacklist"
-msgstr ""
-
-#: plugins/antispam/filters/class.dc.filter.ip.php:105
 msgid "Whitelist"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:121
+#: plugins/antispam/filters/class.dc.filter.ip.php:120
 msgid "Add an IP address: "
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:125
+#: plugins/antispam/filters/class.dc.filter.ip.php:124
 msgid "Global IP (used for all blogs)"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:131
-#: plugins/antispam/filters/class.dc.filter.words.php:122
-#: plugins/widgets/index.php:261
+#: plugins/antispam/filters/class.dc.filter.ip.php:130
+#: plugins/antispam/filters/class.dc.filter.words.php:121
 msgid "Add"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:138
+#: plugins/antispam/filters/class.dc.filter.ip.php:137
 msgid "No IP address in list."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:144
+#: plugins/antispam/filters/class.dc.filter.ip.php:143
 msgid "IP list"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:172
+#: plugins/antispam/filters/class.dc.filter.ip.php:171
 msgid "Local IPs (used only for this blog)"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:178
+#: plugins/antispam/filters/class.dc.filter.ip.php:177
 msgid "Global IPs (used for all blogs)"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.iplookup.php:33
+#: plugins/antispam/filters/class.dc.filter.iplookup.php:32
 msgid "Checks sender IP address against DNSBL servers"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.iplookup.php:38
+#: plugins/antispam/filters/class.dc.filter.iplookup.php:37
 #: plugins/antispam/filters/class.dc.filter.linkslookup.php:27
 #, php-format
@@ -305,13 +298,13 @@
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.iplookup.php:68
+#: plugins/antispam/filters/class.dc.filter.iplookup.php:67
 msgid "The list of DNSBL servers has been succesfully updated."
 msgstr ""
 
+#: plugins/antispam/filters/class.dc.filter.iplookup.php:80
+msgid "IP Lookup servers"
+msgstr ""
+
 #: plugins/antispam/filters/class.dc.filter.iplookup.php:81
-msgid "IP Lookup servers"
-msgstr ""
-
-#: plugins/antispam/filters/class.dc.filter.iplookup.php:82
 msgid "Add here a coma separated list of servers."
 msgstr ""
@@ -321,66 +314,66 @@
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:32
+#: plugins/antispam/filters/class.dc.filter.words.php:31
 msgid "Words Blacklist"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:37
+#: plugins/antispam/filters/class.dc.filter.words.php:36
 #, php-format
 msgid "Filtered by %1$s with word %2$s."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:73
+#: plugins/antispam/filters/class.dc.filter.words.php:72
 msgid "Words have been successfully added."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:87
+#: plugins/antispam/filters/class.dc.filter.words.php:86
 msgid "Word has been successfully added."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:99
+#: plugins/antispam/filters/class.dc.filter.words.php:98
 msgid "Words have been successfully removed."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:112
+#: plugins/antispam/filters/class.dc.filter.words.php:111
 msgid "Add a word "
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:116
+#: plugins/antispam/filters/class.dc.filter.words.php:115
 msgid "Global word (used for all blogs)"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:128
+#: plugins/antispam/filters/class.dc.filter.words.php:127
 msgid "No word in list."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:134
+#: plugins/antispam/filters/class.dc.filter.words.php:133
 msgid "List of bad words"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:158
+#: plugins/antispam/filters/class.dc.filter.words.php:157
 msgid "Local words (used only for this blog)"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:164
+#: plugins/antispam/filters/class.dc.filter.words.php:163
 msgid "Global words (used for all blogs)"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:175
+#: plugins/antispam/filters/class.dc.filter.words.php:174
 msgid "Delete selected words"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:183
+#: plugins/antispam/filters/class.dc.filter.words.php:182
 msgid "Create default wordlist"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.words.php:213
+#: plugins/antispam/filters/class.dc.filter.words.php:212
 msgid "This word exists"
 msgstr ""
 
-#: plugins/antispam/inc/class.dc.spamfilter.php:51
+#: plugins/antispam/inc/class.dc.spamfilter.php:50
 msgid "No description"
 msgstr ""
 
-#: plugins/antispam/inc/class.dc.spamfilter.php:106
+#: plugins/antispam/inc/class.dc.spamfilter.php:105
 #, php-format
 msgid "Filtered by %1$s (%2$s)"
@@ -427,5 +420,5 @@
 msgstr ""
 
-#: plugins/antispam/index.php:94 plugins/antispam/index.php:191
+#: plugins/antispam/index.php:94 plugins/antispam/index.php:187
 msgid "Filters configuration has been successfully saved."
 msgstr ""
@@ -445,82 +438,75 @@
 msgstr ""
 
+#: plugins/antispam/index.php:157
+msgid "Information"
+msgstr ""
+
 #: plugins/antispam/index.php:161
-msgid "Information"
-msgstr ""
-
-#: plugins/antispam/index.php:165
 msgid "Junk comments:"
 msgstr ""
 
-#: plugins/antispam/index.php:167
+#: plugins/antispam/index.php:163
 msgid "Published comments:"
 msgstr ""
 
-#: plugins/antispam/index.php:197
+#: plugins/antispam/index.php:193
 msgid "Available spam filters"
 msgstr ""
 
-#: plugins/antispam/index.php:199
+#: plugins/antispam/index.php:195
 msgid "Order"
 msgstr ""
 
-#: plugins/antispam/index.php:200 plugins/antispam/index.php:221
+#: plugins/antispam/index.php:196 plugins/antispam/index.php:217
 msgid "Active"
 msgstr ""
 
-#: plugins/antispam/index.php:201 plugins/antispam/index.php:222
+#: plugins/antispam/index.php:197 plugins/antispam/index.php:218
 msgid "Auto Del."
 msgstr ""
 
-#: plugins/antispam/index.php:202
+#: plugins/antispam/index.php:198
 msgid "Filter name"
 msgstr ""
 
-#: plugins/antispam/index.php:214 plugins/antispam/index.php:215
+#: plugins/antispam/index.php:210 plugins/antispam/index.php:211
 msgid "Filter configuration"
 msgstr ""
 
-#: plugins/antispam/index.php:220 plugins/blogroll/index.php:218
+#: plugins/antispam/index.php:216 plugins/blogroll/index.php:218
 msgid "position"
 msgstr ""
 
-#: plugins/antispam/index.php:250
+#: plugins/antispam/index.php:246
 msgid "Syndication"
 msgstr ""
 
-#: plugins/antispam/index.php:252
+#: plugins/antispam/index.php:248
 msgid "Junk comments RSS feed"
 msgstr ""
 
-#: plugins/antispam/index.php:253
+#: plugins/antispam/index.php:249
 msgid "Published comments RSS feed"
 msgstr ""
 
-#: plugins/attachments/_admin.php:50
+#: plugins/attachments/_admin.php:35
 msgid "Attachments"
 msgstr ""
 
-#: plugins/attachments/_admin.php:50
+#: plugins/attachments/_admin.php:35
 #, php-format
 msgid "Attachments (%d)"
 msgstr ""
 
-#: plugins/attachments/_admin.php:71
+#: plugins/attachments/_admin.php:56
 msgid "remove"
 msgstr ""
 
-#: plugins/attachments/_admin.php:80
+#: plugins/attachments/_admin.php:65
 msgid "No attachment."
 msgstr ""
 
-#: plugins/attachments/_admin.php:82
+#: plugins/attachments/_admin.php:67
 msgid "Add files to this entry"
-msgstr ""
-
-#: plugins/blogroll/_admin.php:20 plugins/blogroll/_admin.php:25
-#: plugins/blogroll/_admin.php:37 plugins/blogroll/_widgets.php:21
-#: plugins/blogroll/edit.php:103 plugins/blogroll/index.php:172
-#: plugins/blogroll/index.php:190 plugins/blogroll/index.php:195
-msgid "Blogroll"
 msgstr ""
 
@@ -531,19 +517,4 @@
 #: plugins/blogroll/_widgets.php:22 plugins/blowupConfig/index.php:273
 msgid "Links"
-msgstr ""
-
-#: plugins/blogroll/_widgets.php:22 plugins/pages/_widgets.php:22
-#: plugins/simpleMenu/_widgets.php:21 plugins/tags/_widgets.php:22
-#: plugins/widgets/_default_widgets.php:21
-#: plugins/widgets/_default_widgets.php:28
-#: plugins/widgets/_default_widgets.php:35
-#: plugins/widgets/_default_widgets.php:43
-#: plugins/widgets/_default_widgets.php:50
-#: plugins/widgets/_default_widgets.php:60
-#: plugins/widgets/_default_widgets.php:68
-#: plugins/widgets/_default_widgets.php:77
-#: plugins/widgets/_default_widgets.php:85
-#: plugins/widgets/_default_widgets.php:103
-msgid "Title (optional)"
 msgstr ""
 
@@ -1163,43 +1134,43 @@
 msgstr ""
 
-#: plugins/blowupConfig/lib/class.blowup.config.php:63
+#: plugins/blowupConfig/lib/class.blowup.config.php:62
 msgid "default"
 msgstr ""
 
-#: plugins/blowupConfig/lib/class.blowup.config.php:164
-#: plugins/blowupConfig/lib/class.blowup.config.php:412
+#: plugins/blowupConfig/lib/class.blowup.config.php:163
+#: plugins/blowupConfig/lib/class.blowup.config.php:411
 msgid "The 'public' directory does not exist."
 msgstr ""
 
-#: plugins/blowupConfig/lib/class.blowup.config.php:170
-#: plugins/blowupConfig/lib/class.blowup.config.php:180
-#: plugins/blowupConfig/lib/class.blowup.config.php:418
-#: plugins/blowupConfig/lib/class.blowup.config.php:428
+#: plugins/blowupConfig/lib/class.blowup.config.php:169
+#: plugins/blowupConfig/lib/class.blowup.config.php:179
+#: plugins/blowupConfig/lib/class.blowup.config.php:417
+#: plugins/blowupConfig/lib/class.blowup.config.php:427
 #, php-format
 msgid "The '%s' directory cannot be modified."
 msgstr ""
 
-#: plugins/blowupConfig/lib/class.blowup.config.php:333
+#: plugins/blowupConfig/lib/class.blowup.config.php:332
 msgid "Unable to create css file."
 msgstr ""
 
-#: plugins/blowupConfig/lib/class.blowup.config.php:406
+#: plugins/blowupConfig/lib/class.blowup.config.php:405
 msgid "At least one of the following functions is not available: imagecreatetruecolor, imagepng & imagecreatefrompng."
 msgstr ""
 
-#: plugins/blowupConfig/lib/class.blowup.config.php:438
-#: plugins/blowupConfig/lib/class.blowup.config.php:481
+#: plugins/blowupConfig/lib/class.blowup.config.php:437
+#: plugins/blowupConfig/lib/class.blowup.config.php:480
 msgid "Unable to create images."
 msgstr ""
 
-#: plugins/blowupConfig/lib/class.blowup.config.php:445
+#: plugins/blowupConfig/lib/class.blowup.config.php:444
 msgid "Invalid file type."
 msgstr ""
 
-#: plugins/blowupConfig/lib/class.blowup.config.php:456
+#: plugins/blowupConfig/lib/class.blowup.config.php:455
 msgid "Uploaded image is not 800 pixels wide."
 msgstr ""
 
-#: plugins/blowupConfig/lib/class.blowup.config.php:565
+#: plugins/blowupConfig/lib/class.blowup.config.php:564
 msgid "Unable to open image."
 msgstr ""
@@ -1207,9 +1178,4 @@
 #: plugins/fairTrackbacks/class.dc.filter.fairtrackbacks.php:28
 msgid "Checks trackback source for a link to the post"
-msgstr ""
-
-#: plugins/importExport/_admin.php:15 plugins/importExport/_admin.php:27
-#: plugins/importExport/index.php:59
-msgid "Import/Export"
 msgstr ""
 
@@ -1253,5 +1219,4 @@
 #: plugins/importExport/inc/class.dc.export.flat.php:209
 #: plugins/importExport/inc/class.dc.export.flat.php:231
-#: plugins/importExport/index.php:103
 msgid "Export"
 msgstr ""
@@ -1279,5 +1244,5 @@
 
 #: plugins/importExport/inc/class.dc.ieModule.php:77
-#: plugins/widgets/index.php:321
+#: plugins/widgets/index.php:289
 msgid "or"
 msgstr ""
@@ -1535,15 +1500,9 @@
 msgstr ""
 
-#: plugins/importExport/inc/flat/class.flat.import.php:218
-#: plugins/importExport/inc/flat/class.flat.import.php:301
-#, php-format
-msgid "Error raised at line %s"
-msgstr ""
-
-#: plugins/importExport/inc/flat/class.flat.import.php:227
+#: plugins/importExport/inc/flat/class.flat.import.php:222
 msgid "File is not a full export."
 msgstr ""
 
-#: plugins/importExport/inc/flat/class.flat.import.php:711
+#: plugins/importExport/inc/flat/class.flat.import.php:704
 #, php-format
 msgid "ID of \"%3$s\" does not match on record \"%1$s\" at line %2$s of backup file."
@@ -1563,70 +1522,70 @@
 msgstr ""
 
-#: plugins/importExport/index.php:69 plugins/maintenance/index.php:121
+#: plugins/importExport/index.php:69 plugins/maintenance/index.php:81
 msgid "Please wait..."
 msgstr ""
 
-#: plugins/importExport/index.php:104
+#: plugins/importExport/index.php:105
 #, php-format
 msgid "Export functions are in the page %s."
 msgstr ""
 
-#: plugins/maintenance/_admin.php:49
+#: plugins/maintenance/_admin.php:50
 msgid "Servicing"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:49
+#: plugins/maintenance/_admin.php:50
 msgid "Tools to maintain the performance of your blogs."
 msgstr ""
 
-#: plugins/maintenance/_admin.php:50
+#: plugins/maintenance/_admin.php:51
 msgid "Backup"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:50
+#: plugins/maintenance/_admin.php:51
 msgid "Tools to back up your content."
 msgstr ""
 
-#: plugins/maintenance/_admin.php:51
+#: plugins/maintenance/_admin.php:52
 msgid "Development"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:51
+#: plugins/maintenance/_admin.php:52
 msgid "Tools to assist in development of plugins, themes and core."
 msgstr ""
 
-#: plugins/maintenance/_admin.php:53
+#: plugins/maintenance/_admin.php:54
 msgid "Optimize"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:54
+#: plugins/maintenance/_admin.php:55
 msgid "Count and index"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:55
+#: plugins/maintenance/_admin.php:56
 msgid "Purge"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:56
+#: plugins/maintenance/_admin.php:57
 msgid "Other"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:57
+#: plugins/maintenance/_admin.php:58
 msgid "Current blog"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:58
+#: plugins/maintenance/_admin.php:59
 msgid "All blogs"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:60
+#: plugins/maintenance/_admin.php:61
 msgid "Maintain translations"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:60
+#: plugins/maintenance/_admin.php:61
 msgid "Translations"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:135
+#: plugins/maintenance/_admin.php:130
 #, php-format
 msgid "One task to execute"
@@ -1635,14 +1594,14 @@
 msgstr[1] ""
 
-#: plugins/maintenance/_admin.php:164 plugins/maintenance/index.php:216
+#: plugins/maintenance/_admin.php:159 plugins/maintenance/index.php:189
 msgid "This task has never been executed."
 msgstr ""
 
-#: plugins/maintenance/_admin.php:166 plugins/maintenance/index.php:222
+#: plugins/maintenance/_admin.php:161 plugins/maintenance/index.php:195
 #, php-format
 msgid "Last execution of this task was on %s."
 msgstr ""
 
-#: plugins/maintenance/_admin.php:180
+#: plugins/maintenance/_admin.php:175
 #, php-format
 msgid "There is a task to execute."
@@ -1651,14 +1610,71 @@
 msgstr[1] ""
 
-#: plugins/maintenance/_admin.php:182
+#: plugins/maintenance/_admin.php:177
 msgid "Manage tasks"
 msgstr ""
 
-#: plugins/maintenance/_admin.php:205
-msgid "Display overdue tasks counter on maintenance dashboard icon"
-msgstr ""
-
-#: plugins/maintenance/_admin.php:209
-msgid "Display overdue tasks list on dashboard items"
+#: plugins/maintenance/_admin.php:200
+msgid "Display count of late tasks on maintenance dashboard icon"
+msgstr ""
+
+#: plugins/maintenance/_admin.php:204
+msgid "Display list of late tasks on dashboard items"
+msgstr ""
+
+#: plugins/maintenance/_config.php:19 plugins/maintenance/index.php:63
+msgid "Never"
+msgstr ""
+
+#: plugins/maintenance/_config.php:20 plugins/maintenance/index.php:64
+msgid "Every week"
+msgstr ""
+
+#: plugins/maintenance/_config.php:21 plugins/maintenance/index.php:65
+msgid "Every two weeks"
+msgstr ""
+
+#: plugins/maintenance/_config.php:22 plugins/maintenance/index.php:66
+msgid "Every month"
+msgstr ""
+
+#: plugins/maintenance/_config.php:23 plugins/maintenance/index.php:67
+msgid "Every two months"
+msgstr ""
+
+#: plugins/maintenance/_config.php:55
+msgid "Maintenance plugin has been successfully configured."
+msgstr ""
+
+#: plugins/maintenance/_config.php:64
+msgid "Set up reminders for maintenance tasks."
+msgstr ""
+
+#: plugins/maintenance/_config.php:66
+msgid "Activation"
+msgstr ""
+
+#: plugins/maintenance/_config.php:69
+msgid "Display alert messages on late tasks"
+msgstr ""
+
+#: plugins/maintenance/_config.php:72
+#, php-format
+msgid "You can place list of late tasks on your %s."
+msgstr ""
+
+#: plugins/maintenance/_config.php:76
+msgid "Frequency"
+msgstr ""
+
+#: plugins/maintenance/_config.php:80
+msgid "Use one recall time for all tasks"
+msgstr ""
+
+#: plugins/maintenance/_config.php:82
+msgid "Recall time for all tasks:"
+msgstr ""
+
+#: plugins/maintenance/_config.php:88
+msgid "Use one recall time per task"
 msgstr ""
 
@@ -1833,75 +1849,22 @@
 msgstr ""
 
-#: plugins/maintenance/index.php:92
-msgid "Maintenance plugin has been successfully configured."
-msgstr ""
-
-#: plugins/maintenance/index.php:103
-msgid "Never"
-msgstr ""
-
-#: plugins/maintenance/index.php:104
-msgid "Every week"
-msgstr ""
-
-#: plugins/maintenance/index.php:105
-msgid "Every two weeks"
-msgstr ""
-
-#: plugins/maintenance/index.php:106
-msgid "Every month"
-msgstr ""
-
-#: plugins/maintenance/index.php:107
-msgid "Every two months"
-msgstr ""
-
-#: plugins/maintenance/index.php:140
+#: plugins/maintenance/index.php:100
 msgid "You have not sufficient permissions to view this page."
 msgstr ""
 
-#: plugins/maintenance/index.php:217 plugins/maintenance/index.php:226
+#: plugins/maintenance/index.php:109
+msgid "Settings successfully updated"
+msgstr ""
+
+#: plugins/maintenance/index.php:190 plugins/maintenance/index.php:199
 msgid "You should execute it now."
 msgstr ""
 
-#: plugins/maintenance/index.php:249 plugins/maintenance/index.php:271
+#: plugins/maintenance/index.php:222 plugins/maintenance/index.php:244
 msgid "Execute task"
 msgstr ""
 
-#: plugins/maintenance/index.php:252
+#: plugins/maintenance/index.php:225
 msgid "This may take a very long time."
-msgstr ""
-
-#: plugins/maintenance/index.php:282 plugins/maintenance/index.php:283
-msgid "Alert settings"
-msgstr ""
-
-#: plugins/maintenance/index.php:286
-msgid "Activation"
-msgstr ""
-
-#: plugins/maintenance/index.php:289
-msgid "Display alert messages on late tasks"
-msgstr ""
-
-#: plugins/maintenance/index.php:292
-#, php-format
-msgid "You can place list of late tasks on your %s."
-msgstr ""
-
-#: plugins/maintenance/index.php:296
-msgid "Frequency"
-msgstr ""
-
-#: plugins/maintenance/index.php:300
-msgid "Use one recall time for all tasks"
-msgstr ""
-
-#: plugins/maintenance/index.php:302
-msgid "Recall time for all tasks:"
-msgstr ""
-
-#: plugins/maintenance/index.php:308
-msgid "Use one recall time per task"
 msgstr ""
 
@@ -2095,10 +2058,4 @@
 msgstr ""
 
-#: plugins/simpleMenu/_admin.php:18 plugins/simpleMenu/_admin.php:23
-#: plugins/simpleMenu/_admin.php:31 plugins/simpleMenu/_widgets.php:20
-#: plugins/simpleMenu/index.php:16
-msgid "Simple menu"
-msgstr ""
-
 #: plugins/simpleMenu/index.php:41
 msgid "All months"
@@ -2123,13 +2080,4 @@
 msgstr ""
 
-#: plugins/simpleMenu/index.php:92 plugins/tags/_admin.php:14
-#: plugins/tags/_admin.php:63 plugins/tags/_admin.php:101
-#: plugins/tags/_admin.php:124 plugins/tags/_admin.php:130
-#: plugins/tags/_widgets.php:21 plugins/tags/_widgets.php:22
-#: plugins/tags/tag_posts.php:74 plugins/tags/tag_posts.php:94
-#: plugins/tags/tags.php:17 plugins/tags/tags.php:26
-msgid "Tags"
-msgstr ""
-
 #: plugins/simpleMenu/index.php:99
 msgid "User defined"
@@ -2283,13 +2231,13 @@
 msgstr ""
 
-#: plugins/tags/_admin.php:124
+#: plugins/tags/_admin.php:107
 msgid "Add tags"
 msgstr ""
 
-#: plugins/tags/_admin.php:130
+#: plugins/tags/_admin.php:113
 msgid "Remove tags"
 msgstr ""
 
-#: plugins/tags/_admin.php:161
+#: plugins/tags/_admin.php:144
 msgid "Tag has been successfully added to selected entries"
 msgid_plural "Tags have been successfully added to selected entries"
@@ -2297,49 +2245,49 @@
 msgstr[1] ""
 
-#: plugins/tags/_admin.php:181
+#: plugins/tags/_admin.php:164
 msgid "Add tags to this selection"
 msgstr ""
 
-#: plugins/tags/_admin.php:191 plugins/tags/_admin.php:310
+#: plugins/tags/_admin.php:174 plugins/tags/_admin.php:293
 #, php-format
 msgid "Are you sure you want to remove this %s?"
 msgstr ""
 
-#: plugins/tags/_admin.php:192 plugins/tags/_admin.php:311
+#: plugins/tags/_admin.php:175 plugins/tags/_admin.php:294
 #, php-format
 msgid "Add a %s to this entry"
 msgstr ""
 
-#: plugins/tags/_admin.php:193 plugins/tags/_admin.php:312
+#: plugins/tags/_admin.php:176 plugins/tags/_admin.php:295
 msgid "Choose from list"
 msgstr ""
 
-#: plugins/tags/_admin.php:194 plugins/tags/_admin.php:313
+#: plugins/tags/_admin.php:177 plugins/tags/_admin.php:296
 msgid "all"
 msgstr ""
 
-#: plugins/tags/_admin.php:195
+#: plugins/tags/_admin.php:178
 msgid "Enter tags separated by coma"
 msgstr ""
 
-#: plugins/tags/_admin.php:196 plugins/tags/_admin.php:317
+#: plugins/tags/_admin.php:179 plugins/tags/_admin.php:300
 msgid "used in %e - frequency %p%"
 msgstr ""
 
-#: plugins/tags/_admin.php:197 plugins/tags/_admin.php:318
+#: plugins/tags/_admin.php:180 plugins/tags/_admin.php:301
 #: plugins/tags/tags.php:56
 msgid "entry"
 msgstr ""
 
-#: plugins/tags/_admin.php:198 plugins/tags/_admin.php:319
+#: plugins/tags/_admin.php:181 plugins/tags/_admin.php:302
 #: plugins/tags/tags.php:56
 msgid "entries"
 msgstr ""
 
-#: plugins/tags/_admin.php:206
+#: plugins/tags/_admin.php:189
 msgid "Tags to add:"
 msgstr ""
 
-#: plugins/tags/_admin.php:233
+#: plugins/tags/_admin.php:216
 msgid "Tag has been successfully removed from selected entries"
 msgid_plural "Tags have been successfully removed from selected entries"
@@ -2347,30 +2295,30 @@
 msgstr[1] ""
 
-#: plugins/tags/_admin.php:258
+#: plugins/tags/_admin.php:241
 msgid "No tags for selected entries"
 msgstr ""
 
-#: plugins/tags/_admin.php:265
+#: plugins/tags/_admin.php:248
 msgid "Remove selected tags from this selection"
 msgstr ""
 
-#: plugins/tags/_admin.php:272
+#: plugins/tags/_admin.php:255
 msgid "Following tags have been found in selected entries:"
 msgstr ""
 
-#: plugins/tags/_admin.php:315 plugins/tags/_public.php:373
+#: plugins/tags/_admin.php:298 plugins/tags/_public.php:373
 #: plugins/tags/tag_posts.php:95
 msgid "Tag"
 msgstr ""
 
-#: plugins/tags/_admin.php:338
+#: plugins/tags/_admin.php:321
 msgid "Short"
 msgstr ""
 
-#: plugins/tags/_admin.php:339
+#: plugins/tags/_admin.php:322
 msgid "Extended"
 msgstr ""
 
-#: plugins/tags/_admin.php:344
+#: plugins/tags/_admin.php:327
 msgid "Tags list format:"
 msgstr ""
@@ -2440,5 +2388,5 @@
 
 #: plugins/themeEditor/_admin.php:55
-msgid "Syntax highlighting in theme editor"
+msgid "Syntax color for theme editor"
 msgstr ""
 
@@ -2657,97 +2605,133 @@
 msgstr ""
 
-#: plugins/widgets/index.php:213 plugins/widgets/index.php:242
+#: plugins/widgets/index.php:163 plugins/widgets/index.php:192
 msgid "Widgets"
 msgstr ""
 
+#: plugins/widgets/index.php:182
+msgid "Are you sure you want to reset sidebars?"
+msgstr ""
+
+#: plugins/widgets/index.php:199
+msgid "Available widgets"
+msgstr ""
+
+#: plugins/widgets/index.php:200
+msgid "Move widgets from this list to one of the sidebars."
+msgstr ""
+
+#: plugins/widgets/index.php:207 plugins/widgets/index.php:336
+msgid "order"
+msgstr ""
+
+#: plugins/widgets/index.php:209
+msgid "Append to:"
+msgstr ""
+
+#: plugins/widgets/index.php:219
+msgid "Add widgets to sidebars"
+msgstr ""
+
+#: plugins/widgets/index.php:226
+msgid "Navigation sidebar"
+msgstr ""
+
 #: plugins/widgets/index.php:232
-msgid "Are you sure you want to reset sidebars?"
-msgstr ""
-
-#: plugins/widgets/index.php:249
-msgid "Available widgets"
+msgid "Extra sidebar"
+msgstr ""
+
+#: plugins/widgets/index.php:238
+msgid "Custom sidebar"
+msgstr ""
+
+#: plugins/widgets/index.php:244
+msgid "Update sidebars"
+msgstr ""
+
+#: plugins/widgets/index.php:245
+msgid "Reset sidebars"
 msgstr ""
 
 #: plugins/widgets/index.php:250
-msgid "Drag widgets from this list to one of the sidebars, for add."
-msgstr ""
-
-#: plugins/widgets/index.php:257 plugins/widgets/index.php:371
-msgid "order"
+msgid "Use of widgets"
+msgstr ""
+
+#: plugins/widgets/index.php:251
+msgid "Widgets may be used to add various blocks of content to be displayed on your public pages. To add a widget, drag it from the Available widgets list on the left to one of the sidebars on the right of this page. You can order your widgets in a sidebar by dragging them up or down. You must update sidebars to apply your changes."
+msgstr ""
+
+#: plugins/widgets/index.php:254
+msgid "Once included in a sidebar, widgets have configuration options that you can reach by clicking on the arrow next to their name."
+msgstr ""
+
+#: plugins/widgets/index.php:256
+msgid "Reset sidebars to get back to default widgets installation."
+msgstr ""
+
+#: plugins/widgets/index.php:257
+msgid "Widget templates tags"
 msgstr ""
 
 #: plugins/widgets/index.php:259
-msgid "Append to:"
-msgstr ""
-
-#: plugins/widgets/index.php:270
-msgid "Add widgets to sidebars"
-msgstr ""
-
-#: plugins/widgets/index.php:277
-msgid "Navigation sidebar"
-msgstr ""
-
-#: plugins/widgets/index.php:283
-msgid "Extra sidebar"
+msgid "If you are allowed to edit your theme templates, you can directly add widgets as templates tags, with their own configuration."
+msgstr ""
+
+#: plugins/widgets/index.php:261
+msgid "To add a widget in your template, you need to write code like this:"
+msgstr ""
+
+#: plugins/widgets/index.php:262
+msgid "Widget ID"
+msgstr ""
+
+#: plugins/widgets/index.php:263
+msgid "Setting name"
+msgstr ""
+
+#: plugins/widgets/index.php:263
+msgid "Setting value"
+msgstr ""
+
+#: plugins/widgets/index.php:266
+msgid "Here are the following available widgets for your blog:"
+msgstr ""
+
+#: plugins/widgets/index.php:273
+msgid "Widget ID:"
+msgstr ""
+
+#: plugins/widgets/index.php:280
+msgid "No setting for this widget"
 msgstr ""
 
 #: plugins/widgets/index.php:289
-msgid "Custom sidebar"
-msgstr ""
-
-#: plugins/widgets/index.php:295
-msgid "Update sidebars"
-msgstr ""
-
-#: plugins/widgets/index.php:296
-msgid "Reset sidebars"
-msgstr ""
-
-#: plugins/widgets/index.php:305
-msgid "Widget ID:"
-msgstr ""
-
-#: plugins/widgets/index.php:312
-msgid "No setting for this widget"
-msgstr ""
-
-#: plugins/widgets/index.php:321
 msgid "boolean"
 msgstr ""
 
-#: plugins/widgets/index.php:321 plugins/widgets/index.php:325
+#: plugins/widgets/index.php:289 plugins/widgets/index.php:293
 msgid "possible values:"
 msgstr ""
 
+#: plugins/widgets/index.php:293
+msgid "listitem"
+msgstr ""
+
+#: plugins/widgets/index.php:298
+msgid "string"
+msgstr ""
+
+#: plugins/widgets/index.php:304
+msgid "Setting name:"
+msgstr ""
+
 #: plugins/widgets/index.php:325
-msgid "listitem"
-msgstr ""
-
-#: plugins/widgets/index.php:330
-msgid "string"
-msgstr ""
-
-#: plugins/widgets/index.php:336
-msgid "Setting name:"
-msgstr ""
-
-#: plugins/widgets/index.php:359
-msgid "No widget for now."
-msgstr ""
-
-#: plugins/widgets/index.php:375
-msgid "Up the widget"
-msgstr ""
-
-#: plugins/widgets/index.php:376
-msgid "Down the widget"
-msgstr ""
-
-#: plugins/widgets/index.php:377
+msgid "No widget."
+msgstr ""
+
+#: plugins/widgets/index.php:339
 msgid "Remove widget"
 msgstr ""
 
-#: plugins/widgets/index.php:390
-msgid "Drag widgets here to remove."
-msgstr ""
+#: plugins/widgets/index.php:352
+msgid "Drag widgets here to remove them from this sidebar."
+msgstr ""
Index: locales/bn/main.po
===================================================================
--- locales/bn/main.po	(revision 2432)
+++ locales/bn/main.po	(revision 1836)
@@ -2597,5 +2597,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/ca/main.po
===================================================================
--- locales/ca/main.po	(revision 2432)
+++ locales/ca/main.po	(revision 1836)
@@ -2684,5 +2684,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/cs/main.po
===================================================================
--- locales/cs/main.po	(revision 2432)
+++ locales/cs/main.po	(revision 1836)
@@ -2599,5 +2599,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Není možné provést aktualizaci \"%s\". (stejná verze)"
 
Index: locales/da/main.po
===================================================================
--- locales/da/main.po	(revision 2432)
+++ locales/da/main.po	(revision 1836)
@@ -2609,5 +2609,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/de/main.po
===================================================================
--- locales/de/main.po	(revision 2432)
+++ locales/de/main.po	(revision 1836)
@@ -2600,5 +2600,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Untauglich zum Aktualisieren \"%s\". (gleiche Version)"
 
Index: locales/en/help/blog_pref.html
===================================================================
--- locales/en/help/blog_pref.html	(revision 990)
+++ locales/en/help/blog_pref.html	(revision 990)
@@ -0,0 +1,152 @@
+<html>
+<head>
+  <title>Blog settings</title>
+</head>
+
+<body>
+
+<h3>Blog details</h3>
+<dl>
+  <dt>Blog ID</dt>
+  <dd>Unique ID of the blog. Mandatory, can only be modified by a super administrator.</dd>
+  
+  <dt>Blog name</dt>
+  <dd>Name of the blog, mandatory.</dd>
+  
+  <dt>Blog URL</dt>
+  <dd>Complete blog URL. Mandatory, can only be modified by a super administrator.</dd>
+  
+  <dt>Blog status</dt>
+  <dd>
+    <ul>
+      <li><strong>online</strong>: blog open to visitors</li>
+      <li><strong>offline</strong>: blog closed to visitors
+      but open to writers.</li>
+      <li><strong>removed</strong>: blog closed to both visitors and writers, opened only for super-administrators.</li>
+    </ul>
+  </dd>
+  
+  <dt>Blog description</dt>
+  <dd>Here you can put any description you want for your blog. This is a
+  simple text, without formatting.</dd>
+</dl>
+
+<h3>Blog configuration</h3>
+<dl>
+  <dt>Blog editor's name</dt>
+  <dd>Name of the person responsible for the blog. It may be the owner or the
+  publisher if he exists.</dd>
+  
+  <dt>Copyright notice</dt>
+  <dd>Note about the reproduction rights for the blog.</dd>
+  
+  <dt>Default language</dt>
+  <dd>Language of the blog interface. Either this language is among the avalaible ones,
+  and the interface will be translated, or it is not, and the interface will then
+  default to English.</dd>
+  
+  <dt>Blog timezone</dt>
+  <dd>Defines the timezone that will be used for comments and trackbacks.</dd>
+
+  <dt>XML/RPC interface</dt>
+  <dd>Allows external client to interact with your blog via XML/RPC 
+  protocol. When activated the needed parameters to be set in your external client are displayed.</dd>
+  
+  <dt>Date formats</dt>
+  <dd>The date format of the blog posts. See the date and time
+  format reference section below for further details.</dd>
+  
+  <dt>Time format</dt>
+  <dd>The time format of the blog posts. See the date and time
+  format reference section below for further details.</dd>
+  
+  <dt>Display .. entries per page</dt>
+  <dd>The number will be used as the limit for the number of entries
+  on the homepage, the first page of each category and the rss feeds.</dd>
+  
+  <dt>Leave comments open for .. days</dt>
+  <dd>The number of days during wich comments and trackbacks will be open 
+  after the post publication. When empty, the comments will be kept open
+  indefinitly.</dd>
+  
+  <dt>Display smilies on entries and comments </dt>
+  <dd>Display sequences of characters as :-) or ;-) as images.</dd>
+  
+  <dt>Accept comments</dt>
+  <dd>Globally accepts comments on the blog. Takes precedence over the
+  per post setting.</dd>
+  
+  <dt>Accept trackbacks</dt>
+  <dd>Globally accepts trackbacks on the blog. Takes precedence over the
+  per post setting.</dd>
+  
+  <dt>Moderate comments and trackbacks</dt>
+  <dd>With such an option, comments and trackbacks will be published after
+  editor agreement.</dd>
+  
+  <dt>Add "nofollow" relation on comments and trackbacks links</dt>
+  <dd>Adds an attribute on inks in comments and trackbacks, instructing the
+  search bots not to follow them. This antispam features has yet to
+  prove its value.</dd>
+  
+  <dt>Wiki syntax for comments </dt>
+  <dd>Allows a subset of the wiki syntax to be used in comments.</dd>
+</dl>
+
+<h3>Format reference</h3>
+<p>Some fields can be configured to format the date and time to your needs.
+Here is a reference:</p>
+
+<ul>
+  <li><strong>%a</strong>: abreviated week day (local).</li>
+  <li><strong>%A</strong>: complete week day (local).</li>
+  <li><strong>%b</strong>: abbreviated month name (local).</li>
+  <li><strong>%B</strong>: complete month name (local).</li>
+  <li><strong>%c</strong>: default local date and time display.</li>
+  <li><strong>%C</strong>: century (the year, divided by 100 and
+  round up beetween 00 and 99)</li>
+  <li><strong>%d</strong>: numeric month day (from 01 to 31)</li>
+  <li><strong>%D</strong>: identical to %m/%d/%y</li>
+  <li><strong>%e</strong>: numeric month day (from 1 to 31)</li>
+  <li><strong>%g</strong>: identical to %G, 2 digits.</li>
+  <li><strong>%G</strong>: The year on 4 digits, according to the week number
+  (cf. %V). Format and value identical to %Y, except that if the number of the
+  week belongs to the preceding or following year, the current year
+  will be used instead.</li>
+  <li><strong>%h</strong>: identical to %b</li>
+  <li><strong>%H</strong>: digital hour of the day, 24H mode
+  (from 00 to 23)</li>
+  <li><strong>%I</strong>: digital hour of the day, 12H mode
+  (from 01 to 12)</li>
+  <li><strong>%j</strong>: day of the year, digital (from 001 to 366)</li>
+  <li><strong>%m</strong>: month, digital (from 1 à 12)</li>
+  <li><strong>%M</strong>: minute, digital</li>
+  <li><strong>%n</strong>: newline character</li>
+  <li><strong>%p</strong>: either `am' or `pm', according to the absolute time,
+  or depending of the local settings.</li>
+  <li><strong>%r</strong>: the hour, a.m. and p.m. format</li>
+  <li><strong>%R</strong>: the hour, 24h format</li>
+  <li><strong>%S</strong>: seconds, digital</li>
+  <li><strong>%t</strong>: tab character</li>
+  <li><strong>%T</strong>: the current time (identical to %H:%M:%S)</li>
+  <li><strong>%u</strong>: day week, digit, from 1 to 7. (1 stands for monday)</li>
+  <li><strong>%U</strong>: week number, the first sundqy of the year being the
+  first day of the first week.</li>
+  <li><strong>%V</strong>: the week numpber as defined in ISO
+  8601:1988, digital, from 01 to 53. The week 1 is the first week
+  with more than 4 days in the current year, whose monday is the first day.
+  (Use %G or %g for the year elements corresponding to the number of the
+  week for the considered timestamp.)</li>
+  <li><strong>%W</strong>: number of the week in the year, the first monday of
+  the year being the start of the first week</li>
+  <li><strong>%w</strong>: day of the week, digital, 0 stands for sunday</li>
+  <li><strong>%x</strong>: prefered format for the date without the time</li>
+  <li><strong>%X</strong>: prefered format for the time without the date</li>
+  <li><strong>%y</strong>: the year, two digits (from 00 to 99)</li>
+  <li><strong>%Y</strong>: the year, four digits</li>
+  <li><strong>%Z ou %z</strong>: timezone, name or abbreviation</li>
+  <li><strong>%%</strong>: a litteral `%' character</li>
+</ul>
+
+</body>
+</html>
Index: locales/en/help/categories.html
===================================================================
--- locales/en/help/categories.html	(revision 175)
+++ locales/en/help/categories.html	(revision 175)
@@ -0,0 +1,47 @@
+<html>
+<head>
+  <title>Categories</title>
+</head>
+
+<body>
+<h3>Categories list</h3>
+<dl>
+  <dt>Create a new category</dt>
+  <dd>Choose the name you wish to use for your new category
+  then click on Save to validate its creation. you may leave it at the first level or choose its parent. 
+  To modify your category, click on its name in the list.</dd>
+  
+  <dt>Delete a category</dt>
+  <dd>Choose the category you wish to delete in the selection menu and click ok.
+  A category can be deleted only if it contains no posts.</dd>
+  
+  <dt>Reorder categories</dt>
+  <dd>Use this option to place all categories at the same level.
+  If you wish to reorder a category respectively to other categories,
+  click on its name and choose its parent and its position respectively to its siblings.</dd>
+</dl>
+
+<h3>Modifying a category</h3>
+<dl>
+  <dt>Title</dt>
+  <dd>Choose the name you wish to give to your category
+  the click on Save to validate.</dd>
+  
+  <dt>URL</dt>
+  <dd>DotClear creates a default url for the category, making it reachable 
+  with a path similar to this one : 
+  <strong>http://monblog.tld/category/My-category</strong>. You can click
+  on the small lock on the right to modify it according to your needs.</dd>
+  
+  <dt>Description</dt>
+  <dd>What's inside the description field will be shown when selecting
+  one of the blog's categories. You can fill it with any kind of content
+  (paragraphs, lists, etc.) The format used for this field is HTML.</dd>
+  
+  <dt>Move this category</dt>
+  <dd>You can move the category as a child of any other by choosing its parent.
+  You can also specify the category position respectively to its siblings by placing it before or after any of them.</dd>
+</dl>
+
+</body>
+</html>
Index: locales/en/help/comments.html
===================================================================
--- locales/en/help/comments.html	(revision 0)
+++ locales/en/help/comments.html	(revision 0)
@@ -0,0 +1,58 @@
+<html>
+<head>
+  <title>Comments</title>
+</head>
+
+<body>
+<h3>Filters for comment list</h3>
+<dl>
+  <dt>Type:</dt>
+  <dd>None, comments or trackbacks.</dd>
+  
+  <dt>Status:</dt>
+  <dd><ul>
+    <li><strong>junk</strong>: <!-- Pour spampl' ? --></li>
+    <li><strong>pending</strong>: <!-- Modération ? --></li>
+    <li><strong>unpublished</strong>: offline ;</li>
+    <li><strong>published</strong>: online.</li>
+  </ul></dd>
+  
+  <dt>Order by:</dt>
+  <dd>Choose: date, entry title, author or status, then
+  choose the sort order.</dd>
+  
+  <dt>Sort</dt>
+  <dd>Choose whether the list will be sorted in ascending or descending order.</dd>
+  
+  <dt>Comment author.</dt>
+  <dd>The search is not case sensitive. If you want to search only a part of
+  the name, you can use the <strong>*</strong> generic character.</dd>
+  
+  <dt>Comments per page :</dt>
+  <dd>Allows you to choose the number of comments on each page of this list.</dd>
+</dl>
+
+<h3>Modify or add a comment</h3>
+<dl>
+  <dt>Author:</dt>
+  <dd>Author name. This field is mandatory.</dd>
+  
+  <dt>Email:</dt>
+  <dd>Author's email address.</dd>
+  
+  <dt>Web site:</dt>
+  <dd>URL of the comment author's blog or website.</dd>
+  
+  <dt>Status:</dt>
+  <dd><ul>
+    <li><strong>junk</strong>: <!-- Pour spampl' ? --></li>
+    <li><strong>pending</strong>: <!-- Modération ? --></li>
+    <li><strong>unpublished</strong>: offline</li>
+    <li><strong>published</strong>: online</li>
+  </ul></dd>
+  
+  <dt>Comment:</dt>
+  <dd>Comment's content. This field is html formated.</dd>
+</dl>
+</body>
+</html>
Index: ocales/en/help/core_blog_pref.html
===================================================================
--- locales/en/help/core_blog_pref.html	(revision 2367)
+++ 	(revision )
@@ -1,152 +1,0 @@
-<html>
-<head>
-  <title>Blog settings</title>
-</head>
-
-<body>
-
-<h3>Blog details</h3>
-<dl>
-  <dt>Blog ID</dt>
-  <dd>Unique ID of the blog. Mandatory, can only be modified by a super administrator.</dd>
-  
-  <dt>Blog name</dt>
-  <dd>Name of the blog, mandatory.</dd>
-  
-  <dt>Blog URL</dt>
-  <dd>Complete blog URL. Mandatory, can only be modified by a super administrator.</dd>
-  
-  <dt>Blog status</dt>
-  <dd>
-    <ul>
-      <li><strong>online</strong>: blog open to visitors</li>
-      <li><strong>offline</strong>: blog closed to visitors
-      but open to writers.</li>
-      <li><strong>removed</strong>: blog closed to both visitors and writers, opened only for super-administrators.</li>
-    </ul>
-  </dd>
-  
-  <dt>Blog description</dt>
-  <dd>Here you can put any description you want for your blog. This is a
-  simple text, without formatting.</dd>
-</dl>
-
-<h3>Blog configuration</h3>
-<dl>
-  <dt>Blog editor's name</dt>
-  <dd>Name of the person responsible for the blog. It may be the owner or the
-  publisher if he exists.</dd>
-  
-  <dt>Copyright notice</dt>
-  <dd>Note about the reproduction rights for the blog.</dd>
-  
-  <dt>Default language</dt>
-  <dd>Language of the blog interface. Either this language is among the avalaible ones,
-  and the interface will be translated, or it is not, and the interface will then
-  default to English.</dd>
-  
-  <dt>Blog timezone</dt>
-  <dd>Defines the timezone that will be used for comments and trackbacks.</dd>
-
-  <dt>XML/RPC interface</dt>
-  <dd>Allows external client to interact with your blog via XML/RPC 
-  protocol. When activated the needed parameters to be set in your external client are displayed.</dd>
-  
-  <dt>Date formats</dt>
-  <dd>The date format of the blog posts. See the date and time
-  format reference section below for further details.</dd>
-  
-  <dt>Time format</dt>
-  <dd>The time format of the blog posts. See the date and time
-  format reference section below for further details.</dd>
-  
-  <dt>Display .. entries per page</dt>
-  <dd>The number will be used as the limit for the number of entries
-  on the homepage, the first page of each category and the rss feeds.</dd>
-  
-  <dt>Leave comments open for .. days</dt>
-  <dd>The number of days during wich comments and trackbacks will be open 
-  after the post publication. When empty, the comments will be kept open
-  indefinitly.</dd>
-  
-  <dt>Display smilies on entries and comments </dt>
-  <dd>Display sequences of characters as :-) or ;-) as images.</dd>
-  
-  <dt>Accept comments</dt>
-  <dd>Globally accepts comments on the blog. Takes precedence over the
-  per post setting.</dd>
-  
-  <dt>Accept trackbacks</dt>
-  <dd>Globally accepts trackbacks on the blog. Takes precedence over the
-  per post setting.</dd>
-  
-  <dt>Moderate comments and trackbacks</dt>
-  <dd>With such an option, comments and trackbacks will be published after
-  editor agreement.</dd>
-  
-  <dt>Add "nofollow" relation on comments and trackbacks links</dt>
-  <dd>Adds an attribute on inks in comments and trackbacks, instructing the
-  search bots not to follow them. This antispam features has yet to
-  prove its value.</dd>
-  
-  <dt>Wiki syntax for comments </dt>
-  <dd>Allows a subset of the wiki syntax to be used in comments.</dd>
-</dl>
-
-<h3>Format reference</h3>
-<p>Some fields can be configured to format the date and time to your needs.
-Here is a reference:</p>
-
-<ul>
-  <li><strong>%a</strong>: abreviated week day (local).</li>
-  <li><strong>%A</strong>: complete week day (local).</li>
-  <li><strong>%b</strong>: abbreviated month name (local).</li>
-  <li><strong>%B</strong>: complete month name (local).</li>
-  <li><strong>%c</strong>: default local date and time display.</li>
-  <li><strong>%C</strong>: century (the year, divided by 100 and
-  round up beetween 00 and 99)</li>
-  <li><strong>%d</strong>: numeric month day (from 01 to 31)</li>
-  <li><strong>%D</strong>: identical to %m/%d/%y</li>
-  <li><strong>%e</strong>: numeric month day (from 1 to 31)</li>
-  <li><strong>%g</strong>: identical to %G, 2 digits.</li>
-  <li><strong>%G</strong>: The year on 4 digits, according to the week number
-  (cf. %V). Format and value identical to %Y, except that if the number of the
-  week belongs to the preceding or following year, the current year
-  will be used instead.</li>
-  <li><strong>%h</strong>: identical to %b</li>
-  <li><strong>%H</strong>: digital hour of the day, 24H mode
-  (from 00 to 23)</li>
-  <li><strong>%I</strong>: digital hour of the day, 12H mode
-  (from 01 to 12)</li>
-  <li><strong>%j</strong>: day of the year, digital (from 001 to 366)</li>
-  <li><strong>%m</strong>: month, digital (from 1 à 12)</li>
-  <li><strong>%M</strong>: minute, digital</li>
-  <li><strong>%n</strong>: newline character</li>
-  <li><strong>%p</strong>: either `am' or `pm', according to the absolute time,
-  or depending of the local settings.</li>
-  <li><strong>%r</strong>: the hour, a.m. and p.m. format</li>
-  <li><strong>%R</strong>: the hour, 24h format</li>
-  <li><strong>%S</strong>: seconds, digital</li>
-  <li><strong>%t</strong>: tab character</li>
-  <li><strong>%T</strong>: the current time (identical to %H:%M:%S)</li>
-  <li><strong>%u</strong>: day week, digit, from 1 to 7. (1 stands for monday)</li>
-  <li><strong>%U</strong>: week number, the first sundqy of the year being the
-  first day of the first week.</li>
-  <li><strong>%V</strong>: the week numpber as defined in ISO
-  8601:1988, digital, from 01 to 53. The week 1 is the first week
-  with more than 4 days in the current year, whose monday is the first day.
-  (Use %G or %g for the year elements corresponding to the number of the
-  week for the considered timestamp.)</li>
-  <li><strong>%W</strong>: number of the week in the year, the first monday of
-  the year being the start of the first week</li>
-  <li><strong>%w</strong>: day of the week, digital, 0 stands for sunday</li>
-  <li><strong>%x</strong>: prefered format for the date without the time</li>
-  <li><strong>%X</strong>: prefered format for the time without the date</li>
-  <li><strong>%y</strong>: the year, two digits (from 00 to 99)</li>
-  <li><strong>%Y</strong>: the year, four digits</li>
-  <li><strong>%Z ou %z</strong>: timezone, name or abbreviation</li>
-  <li><strong>%%</strong>: a litteral `%' character</li>
-</ul>
-
-</body>
-</html>
Index: ocales/en/help/core_categories.html
===================================================================
--- locales/en/help/core_categories.html	(revision 2367)
+++ 	(revision )
@@ -1,47 +1,0 @@
-<html>
-<head>
-  <title>Categories</title>
-</head>
-
-<body>
-<h3>Categories list</h3>
-<dl>
-  <dt>Create a new category</dt>
-  <dd>Choose the name you wish to use for your new category
-  then click on Save to validate its creation. you may leave it at the first level or choose its parent. 
-  To modify your category, click on its name in the list.</dd>
-  
-  <dt>Delete a category</dt>
-  <dd>Choose the category you wish to delete in the selection menu and click ok.
-  A category can be deleted only if it contains no posts.</dd>
-  
-  <dt>Reorder categories</dt>
-  <dd>Use this option to place all categories at the same level.
-  If you wish to reorder a category respectively to other categories,
-  click on its name and choose its parent and its position respectively to its siblings.</dd>
-</dl>
-
-<h3>Modifying a category</h3>
-<dl>
-  <dt>Title</dt>
-  <dd>Choose the name you wish to give to your category
-  the click on Save to validate.</dd>
-  
-  <dt>URL</dt>
-  <dd>DotClear creates a default url for the category, making it reachable 
-  with a path similar to this one : 
-  <strong>http://monblog.tld/category/My-category</strong>. You can click
-  on the small lock on the right to modify it according to your needs.</dd>
-  
-  <dt>Description</dt>
-  <dd>What's inside the description field will be shown when selecting
-  one of the blog's categories. You can fill it with any kind of content
-  (paragraphs, lists, etc.) The format used for this field is HTML.</dd>
-  
-  <dt>Move this category</dt>
-  <dd>You can move the category as a child of any other by choosing its parent.
-  You can also specify the category position respectively to its siblings by placing it before or after any of them.</dd>
-</dl>
-
-</body>
-</html>
Index: ocales/en/help/core_comments.html
===================================================================
--- locales/en/help/core_comments.html	(revision 2367)
+++ 	(revision )
@@ -1,58 +1,0 @@
-<html>
-<head>
-  <title>Comments</title>
-</head>
-
-<body>
-<h3>Filters for comment list</h3>
-<dl>
-  <dt>Type:</dt>
-  <dd>None, comments or trackbacks.</dd>
-  
-  <dt>Status:</dt>
-  <dd><ul>
-    <li><strong>junk</strong>: <!-- Pour spampl' ? --></li>
-    <li><strong>pending</strong>: <!-- Modération ? --></li>
-    <li><strong>unpublished</strong>: offline ;</li>
-    <li><strong>published</strong>: online.</li>
-  </ul></dd>
-  
-  <dt>Order by:</dt>
-  <dd>Choose: date, entry title, author or status, then
-  choose the sort order.</dd>
-  
-  <dt>Sort</dt>
-  <dd>Choose whether the list will be sorted in ascending or descending order.</dd>
-  
-  <dt>Comment author.</dt>
-  <dd>The search is not case sensitive. If you want to search only a part of
-  the name, you can use the <strong>*</strong> generic character.</dd>
-  
-  <dt>Comments per page :</dt>
-  <dd>Allows you to choose the number of comments on each page of this list.</dd>
-</dl>
-
-<h3>Modify or add a comment</h3>
-<dl>
-  <dt>Author:</dt>
-  <dd>Author name. This field is mandatory.</dd>
-  
-  <dt>Email:</dt>
-  <dd>Author's email address.</dd>
-  
-  <dt>Web site:</dt>
-  <dd>URL of the comment author's blog or website.</dd>
-  
-  <dt>Status:</dt>
-  <dd><ul>
-    <li><strong>junk</strong>: <!-- Pour spampl' ? --></li>
-    <li><strong>pending</strong>: <!-- Modération ? --></li>
-    <li><strong>unpublished</strong>: offline</li>
-    <li><strong>published</strong>: online</li>
-  </ul></dd>
-  
-  <dt>Comment:</dt>
-  <dd>Comment's content. This field is html formated.</dd>
-</dl>
-</body>
-</html>
Index: ocales/en/help/core_media.html
===================================================================
--- locales/en/help/core_media.html	(revision 2367)
+++ 	(revision )
@@ -1,96 +1,0 @@
-<html>
-<head>
-  <title>Media manager</title>
-</head>
-
-<body>
-
-<h3>Media list</h3>
-<p>The media manager's main page displays a list of available files (medias)
-for the currently selected blog.</p>
-
-<p>You can click the icons or names of the medias in the folder or any
-subfolder to display them.</p>
-
-<p>Selecting a MP3 sound file displays a player to immediately play
-the file. The Flash plugin must be installed on your browser for
-this player to operate.</p>
-
-<p>The images are displayed with a thumbnail when possible.</p>
-
-<h3>Add files</h3>
-<dl>
-  <dt>Choose a file</dt>
-  <dd>Here you can select one of your local files to send it on your 
-  blog. Should the file be bigger than the maximum size, it will not be sent.</dd>
-  
-  <dt>Title</dt>
-  <dd>Optional title for the file you want to send.</dd>
-  
-  <dt>Private</dt>
-  <dd>Check this if you want the file to be private, i.e. accessible only by
-  its owner and not accessible from the blog.</dd>
-</dl>
-
-<dl>
-  <dt>Enhanced uploader</dt>
-  <dd>Allows to select one or several of your local files to send them on your 
-  blog. Should any file be bigger than the maximum size, it will not be sent.</dd>
-</dl>
-
-<h3>New folder</h3>
-<p>This form allows you to create an new subfolder in the currently displayed
-folder. Just choose a name for it as you would do on your own computer.</p>
-
-<h3>Media details</h3>
-<p>This page displays a set of informations about the currently selected
-file and allows you to perform a few operations.</p>
-
-<dl>
-  <dt>File name</dt>
-  <dd>Change the file name of the current file.</dd>
-  
-  <dt>File title</dt>
-  <dd>Give a title to the file, or change the current one.</dd>
-  
-  <dt>File date</dt>
-  <dd>Change the file date.</dd>
-  
-  <dt>Private</dt>
-  <dd>Specify that the file will be hidden to anyone but its owner in the media manager.</dd>
-  
-  <dt>New directory</dt>
-  <dd>Allows you to move the file in another folder.</dd>
-  
-  <dt>Change file</dt>
-  <dd>With this form, you can replace the file while keeping all the attributes
-  (name, title...). As always, you have to respect the maximum file size.</dd>
-</dl>
-
-<h3>A specific treatment for images</h3>
-<p>When you add an image, depending of its size, up to four versions will be made available:</p>
-<ul>
-  <li><strong>square</strong>: a 48x48 pixels square thumbnail,</li>
-  <li><strong>thumbnail</strong>: the image reduced to 100 pixels on its longest side.</li>
-  <li><strong>small</strong>: the longuest side is reduced to 240 pixels.</li>
-  <li><strong>medium</strong>: the longuest side is reduced to 500 pixels.</li>
-  <li><strong>original</strong>: the original, unchanged image.</li>
-</ul>
-<p>Default size for the versions thumbnail, small and medium can be modified in your blog's parameters.</p>
-
-<h3>Add a file to an entry</h3>
-<p>You can easily attach a file to one of your posts. First, create a new post
-and save it. Then click on "Add files to this entry" to open the media manager.</p>
-
-<p>Just click on the [+] icon (Attach this file to entry). The file will then
-be attached to the post.</p>
-
-<p>The attached files will be shown on the post page, as a list beside the post content.
-The MP3 files will be made available through the Flash player, so that they can easily by read by visitors.</p>
-
-<h3>Podcast and broadcasting of music files</h3>
-<p>All attached files will be included in your RSS feeds, allowing for easy
-podcasting of any type of file.</p>
-
-</body>
-</html>
Index: ocales/en/help/core_post.html
===================================================================
--- locales/en/help/core_post.html	(revision 2367)
+++ 	(revision )
@@ -1,105 +1,0 @@
-<html>
-<head>
-  <title>Editing an entry</title>
-</head>
-
-<body>
-
-<h3>Editing an entry</h3>
-
-<dl>
-  <dt>Entry title</dt>
-  <dd>Type in the entry title. This field is mandatory.</dd>
-  
-  <dt>Excerpt</dt>
-  <dd>The content of this field will be shown in pages showing entries as
-  a list, such as the homepage or categories pages, followed by a "continue reading"
-  link. It will also be visible at the begining of the page showing the
-  whole post. Should you leave it blank, the <em>content</em> field will be shown
-  on the homepage and other entry list pages.</dd>
-  
-  <dt>Content</dt>
-  <dd>The content of your entry. This field is mandatory.</dd>
-  
-  <dt>Notes</dt>
-  <dd>This text area is for personal use, for notes or memos. What you enter here
-  will never be displayed on the blog..</dd>
-  
-  <dt>Category</dt>
-  <dd>Your entry's category. To create a new category, please see the
-  "categories" section. You can choose to leave
-  you entry without a category by selecting the blank line.</dd>
-  
-  <dt>Entry status</dt>
-  <dd>Allows you to choose your post's status:
-    <ul>
-      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
-      <li><strong>scheduled:</strong> the post will be set online at the time and date
-      set in the <em>Published on</em> field.</li>
-      <li><strong>unpublished:</strong> the post is offline.</li>
-      <li><strong>published:</strong> the post is online.</li>
-    </ul>
-  </dd>
-  
-  <dt>Published on</dt>
-  <dd>Here you can change the post's publication date and time. If the post's
-  status is <em>scheduled</em>,  it will come online at the said date and time.</dd>
-  
-  <dt>Text formatting</dt>
-  <dd>To choose the post syntax. Wiki is a simplified syntax
-  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
-  understanding of xhtml, we advise you to choose the wiki syntax.
-  See the Wiki syntax reference for more information.</dd>
-  
-  <dt>Accept comments</dt>
-  <dd>Select this box to allow your visitors to comment the entry. The corresponding
-  global setting is to be found in the blog settings.</dd>
-  
-  <dt>Accept trackbacks</dt>
-  <dd>A trackback is a way to let a portion of your entry as a comment on
-  another blog. Select this box to allow others to trackback your entry. The
-  corresponding global setting is to be found in the blog settings.</dd>
-  
-  <dt>Selected entry</dt>
-  <dd>The selected entries will be listed on your blog menu, under the title "Best
-  of me".</dd>
-  
-  <dt>Entry password</dt>
-  <dd>You can enter a password for your entry. A password protected entry will
-  not be displayed on your blog, it will only be reachable to those you will
-  give the entry url (see the <em>view entry</em> link) and password.</dd>
-  
-  <dt>Basename</dt>
-  <dd>By clicking on its lock, you can unprotect this field and and choose another
-  URL for your entry. If the URL you're trying to use is already used by another
-  entry, a number will be added to it.</dd>
-  
-  <dt>Entry language</dt>
-  <dd>The two character language code of your entry. It defaults to your (as a
-  user) language but you can change it to whatever language code you want, ie.
-  "en" or "fr-qc". This code is used for the entry's display, no chack is made
-  on it.</dd>
-  
-  <dt>Attachments</dt>
-  <dd>The attachments are all the medias you joined to the entry. The link <em>add
-  file to this entry</em> allows you to attach other files to the entry. Remember
-  to save your changes before clicking on this link. For further information,
-  see the media manager help.</dd>
-</dl>
-
-<h3>Comments</h3>
-<dl>
-  <dt>Comment list</dt>
-  <dd>On the <em>Comments</em> tab, you can read and change the status of
-  your entry's comments. If you're allowed to by the blog administrator,
-  you will be able to set your comments online or offline, to delete them or
-  to mark them as junk.</dd>
-  
-  <dt>Add a comment</dt>
-  <dd>On the <em>Add a comment</em> tab, you can reply to one of your entry's
-  comments without leaving your blog's backend. The syntax to be used here is
-  plain, unlimited, xhtml. Use the fields as if you were modifying a comment.</dd>
-</dl>
-
-</body>
-</html>
Index: ocales/en/help/core_posts.html
===================================================================
--- locales/en/help/core_posts.html	(revision 2367)
+++ 	(revision )
@@ -1,65 +1,0 @@
-<html>
-<head>
-  <title>Managing entries</title>
-</head>
-
-<body>
-
-<h3>Filters for the entry list</h3>
-
-<dl>
-  <dt>Author</dt>
-  <dd>Allows you to filter by author.</dd>
-  
-  <dt>Category</dt>
-  <dd>Filter by category.</dd>
-  
-  <dt>Status</dt>
-  <dd><ul>
-    <li><strong>pending:</strong> posts whose publication status has not yet
-    been decided.</li>
-    <li><strong>scheduled:</strong> post to be set online automatically.</li>
-    <li><strong>unpublished:</strong> offline posts.</li>
-    <li><strong>published:</strong> online posts.</li>
-  </ul></dd>
-  
-  <dt>Selected</dt>
-  <dd>Only the selected posts, or the non selected ones.</dd>
-  
-  <dt>Month</dt>
-  <dd>Filter on a specific month and year.</dd>
-  
-  <dt>Language</dt>
-  <dd>Filter on the different languages used on the blog.</dd>
-  
-  <dt>Order by</dt>
-  <dd>Defines the list order, either on the date, the title, the author,
-  the status or the selected status.</dd>
-  
-  <dt>Sort</dt>
-  <dd>Choose whether the list will be sorted in ascending or descending order.</dd>
-  
-  <dt>Entries per page</dt>
-  <dd>Number of entries that will be displayed on each page of the resulting
-  set.</dd>
-</dl>
-
-<h3>Selected entry actions</h3>
-<p>If your user permission level allows it, you can perform batch operations on the
-entries you select in the list.</p>
-
-<ul>
-  <li><strong>Publish</strong>: set the entries online.</li>
-  <li><strong>Unpublish</strong>: set the entries offline.</li>
-  <li><strong>Schedule</strong>: schedule the entries to be set online at their
-  publication date.</li>
-  <li><strong>Mark as pending</strong>: erase other publication status.</li>
-  <li><strong>Change category</strong>: directs you to the category list to choose a
-  new one for the entries.</li>
-  <li><strong>Change author</strong>: allows you to change the posts' author by
-  entering the new author's ID.</li>
-  <li><strong>Delete</strong>: suppress the posts (this operation cannot be undone).</li>
-</ul>
-
-</body>
-</html>
Index: ocales/en/help/core_trackbacks.html
===================================================================
--- locales/en/help/core_trackbacks.html	(revision 2367)
+++ 	(revision )
@@ -1,29 +1,0 @@
-<html>
-<head>
-  <title>Editing an entry</title>
-</head>
-
-<body>
-
-<h3>Trackback</h3>
-<p>To make a trackback, click on the <em>Ping blogs</em> link.
-You will not see this link if your entry's status is not <em>published</em>.</p>
-
-<dl>
-  <dt>URLs to ping</dt>
-  <dd>Paste here the trackback URLs you found in the posts you want to ping.</dd>
-  
-  
-  <dt>Excerpt to send</dt>
-  <dd>This field defaults to your entry's first few sentences. That's wht will be
-  sent to the blog you're pinging, along with a link to your post. You can modify
-  the excerpt by editing this field.</dd>
-  
-  
-  <dt>Auto discover ping URLs</dt>
-  <dd>If your entries links specific posts and if the blog carrying those posts
-  is set to allow it, this tool will find the URLs to ping for you.</dd>
-</dl>
-
-</body>
-</html>
Index: ocales/en/help/core_user.html
===================================================================
--- locales/en/help/core_user.html	(revision 2367)
+++ 	(revision )
@@ -1,71 +1,0 @@
-<html>
-<head>
-  <title>User</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
-
-<body>
-
-<h3>User information</h3>
-<dl>
-  <dt>User name</dt>
-  <dd>At least 2 characters (non accentuated characters, numbers or symbols, no white space. This field is mandatory.</dd>
-
-  <dt>Password</dt>
-  <dd>Write down twice your password in the fields <em>Password</em> and <em>Confirm password</em>. The minimal password length is 6 characters.
-  These two fields are mandatory.</dd>
-  
-  <dt>Name, First name</dt>
-  <dd>If the display name is empty, the author's name will be displayed
-  as his Firstname and Name as set here.</dd>
-
-  <dt>Display name</dt>
-  <dd>You can choose here a nickname that will be displayed in your posts instead of your name and first name.</dd>
-
-  <dt>Email</dt>
-  <dd>Address that will be used to send a new password on dotclear's new password generation page.</dd>
-
-  <dt>URL</dt>
-  <dd>The user's web site. If set, the author name will be displayed as
-  a link to the said site.</dd>
-  
-  <dt>Preferred format</dt>
-  <dd>To choose the prefered post syntax. Wiki is a simplified syntax
-  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
-  understanding of html, we advise you to choose the wiki syntax.</dd>
-  
-  <dt>Default entry status</dt>
-  <dd>The default entry status can be set to:
-    <ul>
-      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
-      <li><strong>scheduled:</strong> the post will be set online at the time and date
-      set in the <em>Published on</em> field.</li>
-      <li><strong>unpublished:</strong> the post is offline.</li>
-      <li><strong>published:</strong> the post is online.</li>
-    </ul>
-  </dd>
-
-  <dt>Entry edit field height</dt>
-  <dd>The height of the Entry edit field. Defaults to 24.</dd>
-  
-  <dt>User language</dt>
-  <dd>The language in wich one publishes his posts. If the translation exists,
-  the interface will also be displayed in that language.</dd>
-
-  <dt>User timezone</dt>
-  <dd>That choice will define the time displayed on post publication.</dd>
-
-  <dt>Password change required to connect</dt>
-  <dd>Check this box to force the new user to change his password on login.</dd>
-
-  <dt>Super administrator</dt>
-  <dd>This choice will give all permissions to the user on all of your installation's blogs.</dd>
-</dl>
-
-<h3>Tags</h3>
-<dl>
-  <dt>Tags list format</dt>
-  <dd>This choice allows, in post editing page, to display all available tags 
-  or only most used ones.</dd>
-</dl>
-</body>
-</html>
Index: ocales/en/help/core_user_pref.html
===================================================================
--- locales/en/help/core_user_pref.html	(revision 2370)
+++ 	(revision )
@@ -1,130 +1,0 @@
-<html>
-<head>
-  <title>User preferences</title>
-</head>
-
-<body>
-
-<h4>My profile</h4>
-<dl>
-  <dt>Last name, First name</dt>
-  <dd>If the display name is empty, the author's name will be displayed
-  as his Firstname and Name as set here.</dd>
-  
-  <dt>Display name</dt>
-  <dd>You can choose here a nickname that will be displayed in your posts instead 
-  of your name and first name.</dd>
-  
-  <dt>Email</dt>
-  <dd>Address where will be sent the new comment notifications.<em>(If you update
-  this field, you must enter your current password in the appropriate field at the 
-  bottom of the form)</em></dd>
-  
-  <dt>URL</dt>
-  <dd>The user's web site. If set, the author name will be displayed as
-  a link to the said site.</dd>
-  
-  <dt>User language</dt>
-  <dd>The language in wich one publishes his posts. If the translation exists,
-  the interface will also be displayed in that language.</dd>
-  
-  <dt>User timezone</dt>
-  <dd>That choice will define the time displayed on post publication.</dd>
-  
-  <dt>Change your password</dt>
-  <dd>To change your password, write down twice your password in the fields 
-  <em>New password</em> and <em>Confirm password</em>. The minimal password 
-  length is 6 characters. If no new password is provided, the current one is kept.
-  <em>(If you update this field, you must enter your current password in
-  the appropriate field at the bottom of the form)</em></dd>
-</dl>
-<h4>My options</h4>
-<dl>  
-  <dt>Activate enhanced uploader in media manager</dt>
-  <dd>Allows to activate the advanced interface in media manager that enables to 
-  upload multiple files at a time (NB: your web browser must support Javascript 
-  to take benefit from this feature)</dd>
-
-  <dt>Disable javascript powered drag and drop for ordering items</dt>
-  <dd>Allows to disable "drag and drop" for item ordering. Drag and drop will be 
-  replaced by numeric fields that will enable en enter fields position.</dd>
-
-  <dt>Number of elements displayed per page in media manager</dt>
-  <dd>Defines the number of media that will be displayed in media manager (folders
-  are not taken into account when counting items).</dd>
-  
-  <dt>Do not use standard favicon</dt>
-  <dd>Allows to disable default favicon in web browser address bar.</dd>
-    
-  <dt>Preferred format</dt>
-  <dd>To choose the preferred post syntax. Wiki is a simplified syntax
-  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
-  understanding of html, we advise you to choose the wiki syntax.</dd>
-  
-  <dt>Default entry status</dt>
-  <dd>The default entry status can be set to:
-    <ul>
-      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
-      <li><strong>scheduled:</strong> the post will be set online at the time and date
-      set in the <em>Published on</em> field.</li>
-      <li><strong>unpublished:</strong> the post is offline.</li>
-      <li><strong>published:</strong> the post is online.</li>
-    </ul>
-  </dd>
-  
-  <dt>Entry edit field height</dt>
-  <dd>The height of the Entry edit field. Defaults to 24.</dd>
-  
-  <dt>Enable WYSIWYG mode</dt>
-  <dd>Allows the use of the WYSIWYG editor for the posts and description fields.</dd>
-
-  <dt>Syntax highlighting in theme editor</dt>
-  <dd>Enables syntax highlighting when using theme editor (html/css files)</dd>
-      
-</dl>
-<h4>My favorites</h4>
-<dl>
-  <dt>My favorites</dt>
-  <dd>This zone displays the chosen favorites on the blog's dashboard. 
-  They can be reordered with your mouse if javascript is activated in your browser. 
-  Otherwise, a field allows to give them an ordering number. When you are finished, do not forget 
-  to save your changes. You may also select favorites to be deleted from the list.</dd>
-  
-  <dt>Define as default favorites (super admin)</dt> 
-  <dd>Enable to set currently defined favorites list as default favorites list for all users. 
-  This list will be proposed to users if they don't have defined their favorites yet.</dd>
-
-  <dt>Available favorites</dt>
-  <dd>All plugins allowing to be put as favorites are diplayed here. Check the corresponding boxes 
-  and add them to the dashboard.</dd>
-
-  <dt>Display favorites at the top of the menu</dt>
-  <dd>Enables to display favorites in left-side menu.</dd>
-
-  <dt>Iconset</dt>
-  <dd>If several iconsets are installed, enables to choose which isonset to
-  use for admin.</dd>
-  
-  <dt>Dashboard modules</dt>
-  <dd>Choices made in this zone will be reflected on your blog's dashboard.</dd>
-  
-  <dt>Display documentation links</dt>
-  <dd>Enables to display documentation links on dashboard landing page.</dd>
-  
-  <dt>Display Dotclear news</dt>
-  <dd>Enables to display dotclear news on dashboard landing page.</dd>
-
-  <dt>Display quick entry form</dt>
-  <dd>Enables to display "quick entry" form on dashboard landing page.</dd>
-
-  <dt>Display overdue tasks counter on maintenance dashboard icon</dt>
-  <dd>Enables to display the number of overdue tasks (ie. that should be processed) under the 
-  "Maintenance" icon. "Maintenance" icon should be set in favorites to take benefit from this feature.</dd>
-
-  <dt>Display overdue tasks list on dashboard items</dt>
-  <dd>Enables to display the list of overdue tasks (ie. that should be processed) in a dedicated 
-  section on Dashboard landing page.</dd>
-
-</dl>
-</body>
-</html>
Index: ocales/en/help/core_wiki.html
===================================================================
--- locales/en/help/core_wiki.html	(revision 2367)
+++ 	(revision )
@@ -1,85 +1,0 @@
-<html>
-<head>
-  <title>Wiki syntax reference</title>
-</head>
-
-<body>
-
-<h3>Wiki syntax reference</h3>
-
-<p>The wiki syntax is a way to enhance your text with a minimal set
-of tags, studied to cover the basic needs (titles, paragraphs, quotes,
-lists...)</p>
-
-<dl>
-<dt>Block elements</dt>
-<dd>
-<ul>
-  <li>Leave an empty line between two similar blocks.</li>
-  <li><strong>Paragraph</strong>: free text, ended by an empty line if
-  another paragraph is to follow.</li>
-  <li><strong>Title</strong>: <code>!!! title</code>, <code>!! title</code>
-  or <code>! title</code>, allowing you to use three  different levels of
-  heading.</li>
-  <li><strong>Horizontal line</strong>: <code>----</code></li>
-  <li><strong>Lists</strong>: Start each line with
-  <code>*</code> or <code>#</code> for unnumbered or numbered lists respectively.
-  List imbrication is done by mixing list markers this way:
-<pre>
-* item 1
-** item 1.1
-* item 2
-*# item 2.1
-...
-</pre>
-  </li>
-  <li><strong>Preformatted text</strong>: each line must start with a space.</li>
-  <li><strong>Block quote</strong>: each line must start with a semicolon (<code>&gt;</code>).</li>
-</ul>
-</dd>
-
-<dt>Formatting tags</dt>
-<dd>
-<ul>
-  <li><strong>Emphasis</strong>: two quotes <code>''text''</code></li>
-  <li><strong>Strong emphasis</strong>: two underscore <code>__text__</code></li>
-  <li><strong>New line</strong>: <code>%%%</code></li>
-  <li><strong>Insertion</strong>: two plusses <code>++text++</code></li>
-  <li><strong>Deletion</strong>: two minuses <code>--text--</code></li>
-  <li><strong>Link</strong>: <code>[url]</code>, <code>[name|url]</code>,
-    <code>[name|url|language]</code> or <code>[name|url|languagee|title]</code></li>
-  <li><strong>Image</strong>:
-    <code>((url|alternative text))</code>,
-    <code>((url|alternative text|position))</code> or
-    <code>((url|alternative text|position|long description))</code>.
-    <br />The position can be either L or G (left), R or D (right) or C (centered).</li>
-  <li><strong>Anchor</strong>: <code>~anchor~</code></li>
-  <li><strong>Acronym</strong>: <code>??acronym|title??</code></li>
-  <li><strong>Inline HTML</strong>: two backquotes <code>``html code``</code></li>
-  <li><strong>Inline quote</strong>: <code>{{quote}}</code>,
-    <code>{{quote|language}}</code> or <code>{{quote|language|url}}</code></li>
-  <li><strong>Code</strong>: <code>@@code@@</code></li>
-  <li><strong>Footnotes</strong>: <code>$$footnote$$</code></li>
-</ul>
-</dd>
-
-<dt>Unformatted text</dt>
-<dd>If you don't want one formatting character to be interpreted as such, add a
-<code>\</code> just before it. This way:
-<code>\[text in brackets without being a link\]</code>
-</dd>
-
-<dt>HTML Code</dt>
-<dd>Even if you chose the wiki syntax, you may sometimes need a more
-powerful formatting, i.e. HTML syntax. Do it the following way:
-<pre>
-///html
-&lt;p style="color:red"&gt;my text in red&lt;/p&gt;
-///
-</pre>
-</dd>
-</dl>
-
-
-</body>
-</html>
Index: ocales/en/help/index.html
===================================================================
--- locales/en/help/index.html	(revision 2484)
+++ 	(revision )
@@ -1,226 +1,0 @@
-<html>
-<head>
-  <title></title> <!-- Leave the title empty -->
-</head>
-
-<body>
-
-<div class="multi-part legible" id="first-step" title="Premiers pas">
-	<h3>Interface discovery</h3>
-	<div class="fieldset">
-		<h4>First steps</h4>
-		<p> In addition to the global help pages, several administration pages have an online help. If javascript is enabled
-		on your browser, you can see online help at the upper-right position of the page, by clicking on the <img src="images/menu/help.png" alt="" /> <strong>Need Help&nbsp;?</strong> link ; if javascript is disabled, the help is displayed at the bottom of the page.</p>
-	</div>
-
-	<p> Each administration page will contain the same top heading, main manu and footer.<em>(The location for each element
-	is shown here for a computer reading&nbsp;; for mobile devices or tablets, the location may vary according the the space available.)</em></p>
-
-	<h4 class="pretty-title">Top heading</h4>
-	<p>The top heading is composed of three elements :</p>
-	<h5 class="as_h4">Logo</h5>
-	<p>By default, this logo is the Dotclear logo, and links to the administration landing page. However, a platform
-	manager can choose another logo, and redirect to something else (generally, the service landing page).</p>
-
-	<h5 class="as_h4">Blog(s)</h5>
-	<p>The first element located after the logo shows the <em>active</em> blog, ie. the blog on which you are acting. If your
-	installation is composed of several blogs, these information are available in a combo menu, which enables to switch to another blog.</p>
-	<p>The link following the blog name enables to go and see the blog in another window or another tab.</p>
-
-	<h5 class="as_h4">User</h5>
-	<p>At the very right part of the heading section, the link <em>My dashboard</em> enables to get back to the blog landing page.</p>
-	<p>The next link, <em>My preferences</em>, leads to the page where you can modify your personal information, setup the dashboard and choose your interface and editing options.</p>
-	<p>Surprisingly, the link <em>Disconnect [your login]</em> enables to…  get disconnected (at Dotclear's, we are ergnonomy champions!).</p>
-
-	<h4 class="pretty-title">Main menu</h4>
-	<p>The main menu is located on the left side of the screen. It can be collapsed by clicking on its right border (and then uncollapsed by clicking again on it)</p>
-	<p>It leads to the different administration pages, according to your permissions on the current blog. It is composed of four blocks&nbsp;:</p>
-	<ul>
-		<li><strong>My favorites</strong> lists the pages that you have selected as favorites in the <em>My preferences</em>/<em>My Dashboard</em> tab. If you have not selected any favorite yet, this list will contain the default dotclear set, or the set that has been defined by the platform manager. If you do not want to display this block, you can uncheck the matching checkbox in your dashboard options .</li>
-		<li><strong>Blog</strong> lists all the pages that enable to feed and setup the current blog, from editing an entry, to manage media, or choosing presentation or other parameters.<br />
-		<em>If you do not have admin rights on the current blog, there will not be any other block below that one in the main menu.</em></li>
-		<li><strong>System settings</strong> links to the pages that enable to manage the Dotclear installation : blogs management, users and available languages, plugins installation, system settings. If you have rights on several blogs, but no superadmin rights, you will only see the <em>Blogs</em> entry.</li>
-		<li><strong>Plugins</strong> enables to setup the installed plugins. If the plugin settings only impact one blog at a time, its administration page is available from the <em>Blog</em> block, but if they impact the whole installation, they are located here, and only available for super-admin users.</li>
-	</ul>
-
-	<h4 class="pretty-title">Pied de page</h4>
-	<p>Une version gratuite de Dotclear est offerte à tout utilisateur découvrant le secret du pied de page.</p>
-
-	<h3>Aide aux grands débutants</h3>
-	<p>Si vous n'êtes pas familier avec l'univers des blogs, nous vous recommandons notre documentation (sommaire complet dans les onglets Documentation de cette page) ainsi que les tutoriels qui vous sont spécialement dédiés sur le blog <a href="http://abc.dotaddict.org">abc Dotclear</a>. Par exemple&nbsp;:</p>
-	<ul>
-		<li><a href="http://dotclear.org/documentation/2.0/usage/beginners">Mon premier billet pas à pas</a></li>
-		<li><a href="http://abc.dotaddict.org/post/2009/07/08/13-Ma-premiere-sauvegarde">Ma première sauvegarde</a></li>
-		<li><a href="http://abc.dotaddict.org/post/1970/01/01/Choisir-un-theme">Choisir un thème</a></li>
-	</ul>
-	<p>Le <a href="http://forum.dotclear.net/">forum</a> est un lieu d'entraide convivial où aucune question n'est considérée comme stupide. N'hésitez pas à y participer pour demander de l'aide et – pourquoi pas – aider d'autres utilisateurs à votre tour.</p>
-	<p class="info">Nous nous efforçons d'utiliser un vocabulaire compréhensible sans connaissances préalables. Toutefois si nous nous sommes laissés aller à employer un terme de jargon, vous en trouverez sans doute l'explication dans le <a href="http://dotclear.org/documentation/glossary">glossaire</a> de notre documentation en ligne.</p>
-</div>
-
-<div class="multi-part" id="users-doc" title="User manual">
-	<h3>User manual</h3>
-	<div class="three-boxes">
-		<h4 class="pretty-title">Managing the content</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/usage/entries">Entries</a>
-					<ul><li>Creating and editing</li><li>Entry details</li><li>Entry-related actions</li><li>Comments and trackbacks</li><li>Batch management of entries</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/usage/comments-trackbacks">Comments and trackbacks</a>
-					<ul><li>Follow-up</li><li>Management</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/usage/categories">Categories</a>
-					<ul><li>Creating a category</li><li>Editing a category</li><li>Deleting a category</li><li>Sotring the category list</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/usage/tags">Tags (keywords)</a>
-					<ul><li>Adding tags</li><li>Tag management</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/usage/media">Media and attachments</a>
-					<ul><li>Creating a sub-directory</li><li>Adding files</li><li>Downloading a zip archive of the current directory</li><li>Change of gill in file details</li><li>Adding files directly</li><li>Special file types</li><li>Attachments</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/usage/widgets">Blog menu content (widgets)</a>
-					<ul><li>Navigation sidebar, Extra sidebar</li><li>Defualt widgets</li><li>Adding/removing a widget</li><li>Widgets options</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/usage/blogroll">Blogroll</a>
-					<ul><li>Blogroll</li><li>Adding a link</li><li>Adding a category</li><li>XFN</li><li>Importing links from an OPML or XBEL file</li></ul></li>
-			</ul>
-	</div>
-	<div class="three-boxes">
-		<h4 class="pretty-title">Settings and customization</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/usage/blog-parameters">Blog settings</a>
-					<ul><li>Blog details</li><li>Blog configuration</li><li>Comments and trackbacks</li><li>Blog presentation</li><li>Media and images</li><li>Search engine robot policy</li><li>Antispam</li><li>LightBox</li><li>Save</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/usage/user-preferences">User preferences</a>
-					<ul><li>Mon profil</li><li>Mes options</li><li>Mon tableau de bord</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/themes">Apparence du blog</a>
-					<ul><li>Choisir un thème</li><li>Installer un thème</li><li>Personnaliser un thème</li><li>Éditeur de thème</li></ul></li>
-			</ul>
-	</div>
-	<div class="three-boxes fieldset">
-			<h4 class="smart-title">Lectures complémentaires</h4>
-				<h5>Glossaire</h5>
-				<ul><li><a href="http://dotclear.org/documentation/glossary">Tous ces mots mystérieux utilisés dans le web et pour Dotclear</a></li></ul>
-				<h5>Syntaxes de saisie</h5>
-					<ul><li><a href="http://dotclear.org/documentation/2.0/usage/syntaxes">Syntaxe wiki et correspondances xhtml</a></li><li><a href="http://dotclear.org/documentation/2.0/usage/syntaxes#aller-plus-loin">Aller plus loin</a></li></ul>
-				<h5>Syndication RSS, Atom</h5>
-					<ul><li><a href="http://dotclear.org/documentation/2.0/usage/feeds">Kesako ?</a></li><li><a href="http://dotclear.org/documentation/2.0/usage/feeds#comment-les-mettre-a-disposition">Comment les mettre à disposition ?</a></li><li><a href="http://dotclear.org/documentation/2.0/usage/feeds#comment-s-abonner">Comment s&#039;abonner ?</a></li><li><a href="http://dotclear.org/documentation/2.0/usage/feeds#en-savoir-plus">En savoir plus</a></li></ul>
-			<h4 class="smart-title">Tutoriels</h4>
-				<ul><li><a href="http://abc.dotaddict.org/archive">abc dotclear</a>, un blog spécialement dédié aux grands débutants.</li>
-				<li><a href="http://tips.dotaddict.org">Tips</a>, des tutoriels pour vous aider à personnaliser votre blog.</li></ul>
-			<h4 class="smart-title">Entraide</h4>
-				<ul><li><a href="http://forum.dotclear.net">Le forum de Dotclear</a></li><li><a href="http://dotclear.org/documentation/2.0/faq#utilisation">Questions fréquentes des utilisateurs</a></li></ul>
-	</div>
-</div>
-
-	<div class="multi-part" id="admin-doc" title="Documentation administrateurs">
-	<h3>Documentation pour les administrateurs</h3>
-		<div class="three-boxes">
-		<h4 class="pretty-title">Installation et mise à jour</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/admin/install">Installation</a>
-					<ul><li>Prérequis</li><li>Installation automatique</li><li>Installation « classique »</li><li>Assistant d’installation</li><li>Mise en place manuelle du fichier config.php</li><li>Fin de l’installation</li><li>Etapes suivantes</li><li>Multiblog</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/upgrade">Mise à jour</a>
-					<ul><li>Préparatifs</li><li>Mise à jour automatique</li><li>Mise à jour manuelle du programme</li><li>Mise à jour de la base de données</li><li>Avec SQLite</li><li>Annexe : mise à jour d&#039;une copie subversion</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/config">Paramètres du fichier de configuration</a>
-					<ul><li>Introduction</li><li>Paramètres</li><li>Ajouts au fichier</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/1-to-2">Mise à jour de Dotclear 1.2 vers 2</a>
-					<ul><li>Cas général</li><li>Si vous changez de serveur</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/migrate">Migration d&#039;un autre système de blog à Dotclear</a></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/local-install">Installer en local</a>
-					<ul><li>Windows</li><li>Mac OS X</li><li>Linux</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/install/iis">Installation de Dotclear avec IIS7</a></li>
-			</ul>
-
-			<h5>Annexe hébergeurs</h5>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/hosting">Hébergeurs</a>
-					<ul><li>Documentations spécifiques</li><li>Hébergeurs supportant Dotclear</li><li>Panels d&#039;installation</li><li>Tester votre hébergeur</li></ul></li></ul>
-		</div>
-		<div class="three-boxes">
-			<h4 class="pretty-title">Administration</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/admin/users">Gestion des utilisateurs</a>
-					<ul><li>Liste des utilisateurs existants</li><li>Créer un utilisateur</li><li>Modifier un utilisateur</li><li>Permissions de l&#039;utilisateur</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/clean-install">Installation optimisée</a>
-					<ul><li>Installation de Dotclear</li><li>Isoler les plugins</li><li>Créer les bases du blog</li><li>Créer le blog</li><li>Les thèmes et les médias</li><li>Et l’administration dans tout ça ?</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/multiblog">Installation multiblogs</a></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/plugins">Gestion des extensions</a>
-					<ul><li>Installer une extension</li><li>Configuration des extensions</li><li>Suppression d&#039;une extension</li><li>Mettre à jour une extension</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/themes/blowup">Blowup, le thème par défaut</a>
-					<ul><li>Styles prédéfinis</li><li>Je style mon Blowup</li><li>Contraintes</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/themes">Autre apparence</a>
-					<ul><li>Choisir un thème</li><li>Installer un thème</li><li>Personnaliser un thème</li><li>Éditeur de thème</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/aboutconfig">Configuration avancée</a></li>
-			</ul>
-		</div>
-		<div class="three-boxes">
-			<h4 class="pretty-title">Gestion et maintenance</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/admin/backup">Sauvegarde et restauration</a>
-					<ul><li>Import/Export</li><li>Médias</li><li>Base de données</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/antispam">Filtre de commentaires indésirables</a>
-					<ul><li>Organisation des filtres</li><li>Configuration des filtres</li></ul></li>
-			</ul>
-			<div class="fieldset vertical-separator">
-				<h4 class="smart-title">Entraide</h4>
-				<ul><li><a href="http://forum.dotclear.net">Le forum de Dotclear</a></li><li><a href="http://dotclear.org/documentation/2.0/faq#utilisation">Questions fréquentes des administrateurs</a></li></ul>
-			</div>
-		</div>
-
-	</div>
-
-	<div class="multi-part" id="guide-dev" title="Documentation développeurs">
-	<h3>Documentation et ressources pour les développeurs</h3>
-
-		<div class="three-boxes first-child">
-			<h4 class="pretty-title">Design &amp; Thèmes</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/resources/themes">Thèmes</a>
-					<ul><li>Guide d&#039;utilisation des thèmes</li><li>Les balises template</li><li>Annexes</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/themes/inheritance">L&#039;héritage des thèmes</a>
-					<ul><li>L&#039;héritage des thèmes</li><li>Principe</li><li>Limitations</li><li>Mise en œuvre</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/themes/tags">Les balises de template</a>
-					<ul><li>Généralités / utilitaires</li><li>Blog</li><li>Billets</li><li>Pagination des billets</li><li>Commentaires</li><li>Prévisualisation d&#039;un commentaire</li><li>Rétroliens</li><li>Pièces jointes</li><li>Categories</li><li>Tags</li><li>Archives</li><li>Langues</li><li>Système</li><li>Widgets</li></ul></li>
-			</ul>
-		</div>
-
-		<div class="three-boxes first-child">
-			<h4 class="pretty-title">Code &amp; Plugins</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/resources/tpl">Création d’une balise tpl pour un plugin ou un thème</a>
-					<ul><li>Introduction</li><li>Les valeurs</li><li>Les blocs d’instruction</li><li>Démonstration de l&#039;influence du cache des templates</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/plugins">Plugins</a>
-					<ul><li>Réalisation de plugin</li><li>Documents annexes</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/plugins/help">Construire l'aide contextuelle d'un plugin</a></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/authentication">Authentification externe</a>
-					<ul><li>Préambule</li><li>Une nouvelle classe d&#039;authentification</li><li>Scénario</li><li>Application</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/xml-rpc">Interface XML/RPC</a></li>
-				<li><a href="http://dev.dotclear.org/code/2/">Documentation de l&#039;API</a></li>
-			</ul>
-		</div>
-
-		<div class="three-boxes">
-			<h4 class="pretty-title">Contribution &amp; Support</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/resources/contribute">Contribuer</a>
-					<ul><li>Améliorer la documentation</li><li>Où envoyer vos œuvres?</li><li>Rapporter les bugs ou proposer une amélioration</li><li>Suggestions</li><li>Traduction</li></ul></li>
-				<li><a href="http://hg.dotclear.org/">Le dépôt du code source de Dotclear</a></li>
-				<li><a href="http://forum.dotclear.net">Le forum de Dotclear</a></li>
-			</ul>
-
-			<div class="fieldset">
-				<h4 class="smart-title">Lectures complémentaires</h4>
-				<ul>
-					<li><a href="http://tips.dotaddict.org/meta/skills/php_skills">Tips</a>, des tutoriels pour vous aider à développer.</li>
-				</ul>
-
-				<h4 class="smart-title">Conventions</h4>
-				<ul>
-					<li><a href="http://dotclear.org/documentation/2.0/resources/coding-standards">Conventions de codage</a></li>
-					<li><a href="_charte.php">Charte des pages de l'administration</a></li>
-				</ul>
-			</div>
-		</div>
-	</div>
-	<div class="multi-part legible" id="a11y-ergo" title="Accessibilité et ergonomie">
-	<h3>Accessibilité et ergonomie</h3>
-	<p>L'interface de Dotclear répond à la quasi totalité des critères <a href="http://www.w3.org/Translations/WCAG20-fr/">WCAG 2.0</a> ; un reporting précis sera prochainement publié sur le <a href="http://dotclear.org/blog/">blog du projet</a>. À terme nous aimerions également répondre pleinement aux critères <a href="http://www.w3.org/TR/ATAG20/">ATAG 2.0</a>.</p>
-	<p>L'accessibilité et l'ergonomie sont au cœur des préoccupations de l'équipe Dotclear. Nous menons régulièrement des analyses avec l'aide d'experts et procédons continuellement à des correctifs et améliorations.</p>
-	<p>Vous pouvez nous aider dans cette tâche en ouvrant des <a href="http://dev.dotclear.org/2.0/report">tickets</a> ou en participant au <a href="http://forum.dotclear.org/">forum</a> pour nous faire part des difficultés que vous rencontrez pour utiliser l'interface. Vous pouvez également y proposer de participer à des tests utilisateurs ou de rejoindre notre équipe.</p>
-	</div>
-
-</body>
-</html>
Index: locales/en/help/main.html
===================================================================
--- locales/en/help/main.html	(revision 491)
+++ locales/en/help/main.html	(revision 491)
@@ -0,0 +1,29 @@
+<html>
+<head>
+	<title></title> <!-- Leave the title empty -->
+</head>
+
+<body>
+<h3>Welcome</h3>
+<ul>
+	<li><a href="help.php?page=core_user_pref">User preferences</a></li>
+</ul>
+<h3>Blog</h3>
+<ul>
+	<li><a href="help.php?page=core_post">Post edition</a></li>
+	<li><a href="help.php?page=core_posts">Posts management</a></li>
+	<li><a href="help.php?page=core_wiki">Wiki syntax</a></li>
+	<li><a href="help.php?page=core_comments">Comments and trackbacks management</a></li>
+	<li><a href="help.php?page=core_categories">Categories management</a></li>
+	<li><a href="help.php?page=core_media">Media manager</a></li>
+	<li><a href="help.php?page=core_blog_pref">Blog parameters</a></li>
+	<li><a href="help.php?page=themeEditor">Theme editor</a></li>
+	<li><a href="help.php?page=blowupConfig">Default theme configuration (Blowup)</a></li>
+</ul>
+<h3>System</h3>
+<ul>
+	<li><a href="help.php?page=core_user">User creation and management</a></li>
+</ul>
+
+</body>
+</html>
Index: locales/en/help/media.html
===================================================================
--- locales/en/help/media.html	(revision 1195)
+++ locales/en/help/media.html	(revision 1195)
@@ -0,0 +1,96 @@
+<html>
+<head>
+  <title>Media manager</title>
+</head>
+
+<body>
+
+<h3>Media list</h3>
+<p>The media manager's main page displays a list of available files (medias)
+for the currently selected blog.</p>
+
+<p>You can click the icons or names of the medias in the folder or any
+subfolder to display them.</p>
+
+<p>Selecting a MP3 sound file displays a player to immediately play
+the file. The Flash plugin must be installed on your browser for
+this player to operate.</p>
+
+<p>The images are displayed with a thumbnail when possible.</p>
+
+<h3>Add files</h3>
+<dl>
+  <dt>Choose a file</dt>
+  <dd>Here you can select one of your local files to send it on your 
+  blog. Should the file be bigger than the maximum size, it will not be sent.</dd>
+  
+  <dt>Title</dt>
+  <dd>Optional title for the file you want to send.</dd>
+  
+  <dt>Private</dt>
+  <dd>Check this if you want the file to be private, i.e. accessible only by
+  its owner and not accessible from the blog.</dd>
+</dl>
+
+<dl>
+  <dt>Enhanced uploader</dt>
+  <dd>Allows to select one or several of your local files to send them on your 
+  blog. Should any file be bigger than the maximum size, it will not be sent.</dd>
+</dl>
+
+<h3>New folder</h3>
+<p>This form allows you to create an new subfolder in the currently displayed
+folder. Just choose a name for it as you would do on your own computer.</p>
+
+<h3>Media details</h3>
+<p>This page displays a set of informations about the currently selected
+file and allows you to perform a few operations.</p>
+
+<dl>
+  <dt>File name</dt>
+  <dd>Change the file name of the current file.</dd>
+  
+  <dt>File title</dt>
+  <dd>Give a title to the file, or change the current one.</dd>
+  
+  <dt>File date</dt>
+  <dd>Change the file date.</dd>
+  
+  <dt>Private</dt>
+  <dd>Specify that the file will be hidden to anyone but its owner in the media manager.</dd>
+  
+  <dt>New directory</dt>
+  <dd>Allows you to move the file in another folder.</dd>
+  
+  <dt>Change file</dt>
+  <dd>With this form, you can replace the file while keeping all the attributes
+  (name, title...). As always, you have to respect the maximum file size.</dd>
+</dl>
+
+<h3>A specific treatment for images</h3>
+<p>When you add an image, depending of its size, up to four versions will be made available:</p>
+<ul>
+  <li><strong>square</strong>: a 48x48 pixels square thumbnail,</li>
+  <li><strong>thumbnail</strong>: the image reduced to 100 pixels on its longest side.</li>
+  <li><strong>small</strong>: the longuest side is reduced to 240 pixels.</li>
+  <li><strong>medium</strong>: the longuest side is reduced to 500 pixels.</li>
+  <li><strong>original</strong>: the original, unchanged image.</li>
+</ul>
+<p>Default size for the versions thumbnail, small and medium can be modified in your blog's parameters.</p>
+
+<h3>Add a file to an entry</h3>
+<p>You can easily attach a file to one of your posts. First, create a new post
+and save it. Then click on "Add files to this entry" to open the media manager.</p>
+
+<p>Just click on the [+] icon (Attach this file to entry). The file will then
+be attached to the post.</p>
+
+<p>The attached files will be shown on the post page, as a list beside the post content.
+The MP3 files will be made available through the Flash player, so that they can easily by read by visitors.</p>
+
+<h3>Podcast and broadcasting of music files</h3>
+<p>All attached files will be included in your RSS feeds, allowing for easy
+podcasting of any type of file.</p>
+
+</body>
+</html>
Index: locales/en/help/post.html
===================================================================
--- locales/en/help/post.html	(revision 1964)
+++ locales/en/help/post.html	(revision 1964)
@@ -0,0 +1,105 @@
+<html>
+<head>
+  <title>Editing an entry</title>
+</head>
+
+<body>
+
+<h3>Editing an entry</h3>
+
+<dl>
+  <dt>Entry title</dt>
+  <dd>Type in the entry title. This field is mandatory.</dd>
+  
+  <dt>Excerpt</dt>
+  <dd>The content of this field will be shown in pages showing entries as
+  a list, such as the homepage or categories pages, followed by a "continue reading"
+  link. It will also be visible at the begining of the page showing the
+  whole post. Should you leave it blank, the <em>content</em> field will be shown
+  on the homepage and other entry list pages.</dd>
+  
+  <dt>Content</dt>
+  <dd>The content of your entry. This field is mandatory.</dd>
+  
+  <dt>Notes</dt>
+  <dd>This text area is for personal use, for notes or memos. What you enter here
+  will never be displayed on the blog..</dd>
+  
+  <dt>Category</dt>
+  <dd>Your entry's category. To create a new category, please see the
+  "categories" section. You can choose to leave
+  you entry without a category by selecting the blank line.</dd>
+  
+  <dt>Entry status</dt>
+  <dd>Allows you to choose your post's status:
+    <ul>
+      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
+      <li><strong>scheduled:</strong> the post will be set online at the time and date
+      set in the <em>Published on</em> field.</li>
+      <li><strong>unpublished:</strong> the post is offline.</li>
+      <li><strong>published:</strong> the post is online.</li>
+    </ul>
+  </dd>
+  
+  <dt>Published on</dt>
+  <dd>Here you can change the post's publication date and time. If the post's
+  status is <em>scheduled</em>,  it will come online at the said date and time.</dd>
+  
+  <dt>Text formatting</dt>
+  <dd>To choose the post syntax. Wiki is a simplified syntax
+  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
+  understanding of xhtml, we advise you to choose the wiki syntax.
+  See the Wiki syntax reference for more information.</dd>
+  
+  <dt>Accept comments</dt>
+  <dd>Select this box to allow your visitors to comment the entry. The corresponding
+  global setting is to be found in the blog settings.</dd>
+  
+  <dt>Accept trackbacks</dt>
+  <dd>A trackback is a way to let a portion of your entry as a comment on
+  another blog. Select this box to allow others to trackback your entry. The
+  corresponding global setting is to be found in the blog settings.</dd>
+  
+  <dt>Selected entry</dt>
+  <dd>The selected entries will be listed on your blog menu, under the title "Best
+  of me".</dd>
+  
+  <dt>Entry password</dt>
+  <dd>You can enter a password for your entry. A password protected entry will
+  not be displayed on your blog, it will only be reachable to those you will
+  give the entry url (see the <em>view entry</em> link) and password.</dd>
+  
+  <dt>Basename</dt>
+  <dd>By clicking on its lock, you can unprotect this field and and choose another
+  URL for your entry. If the URL you're trying to use is already used by another
+  entry, a number will be added to it.</dd>
+  
+  <dt>Entry language</dt>
+  <dd>The two character language code of your entry. It defaults to your (as a
+  user) language but you can change it to whatever language code you want, ie.
+  "en" or "fr-qc". This code is used for the entry's display, no chack is made
+  on it.</dd>
+  
+  <dt>Attachments</dt>
+  <dd>The attachments are all the medias you joined to the entry. The link <em>add
+  file to this entry</em> allows you to attach other files to the entry. Remember
+  to save your changes before clicking on this link. For further information,
+  see the media manager help.</dd>
+</dl>
+
+<h3>Comments</h3>
+<dl>
+  <dt>Comment list</dt>
+  <dd>On the <em>Comments</em> tab, you can read and change the status of
+  your entry's comments. If you're allowed to by the blog administrator,
+  you will be able to set your comments online or offline, to delete them or
+  to mark them as junk.</dd>
+  
+  <dt>Add a comment</dt>
+  <dd>On the <em>Add a comment</em> tab, you can reply to one of your entry's
+  comments without leaving your blog's backend. The syntax to be used here is
+  plain, unlimited, xhtml. Use the fields as if you were modifying a comment.</dd>
+</dl>
+
+</body>
+</html>
Index: locales/en/help/posts.html
===================================================================
--- locales/en/help/posts.html	(revision 0)
+++ locales/en/help/posts.html	(revision 0)
@@ -0,0 +1,65 @@
+<html>
+<head>
+  <title>Managing entries</title>
+</head>
+
+<body>
+
+<h3>Filters for the entry list</h3>
+
+<dl>
+  <dt>Author</dt>
+  <dd>Allows you to filter by author.</dd>
+  
+  <dt>Category</dt>
+  <dd>Filter by category.</dd>
+  
+  <dt>Status</dt>
+  <dd><ul>
+    <li><strong>pending:</strong> posts whose publication status has not yet
+    been decided.</li>
+    <li><strong>scheduled:</strong> post to be set online automatically.</li>
+    <li><strong>unpublished:</strong> offline posts.</li>
+    <li><strong>published:</strong> online posts.</li>
+  </ul></dd>
+  
+  <dt>Selected</dt>
+  <dd>Only the selected posts, or the non selected ones.</dd>
+  
+  <dt>Month</dt>
+  <dd>Filter on a specific month and year.</dd>
+  
+  <dt>Language</dt>
+  <dd>Filter on the different languages used on the blog.</dd>
+  
+  <dt>Order by</dt>
+  <dd>Defines the list order, either on the date, the title, the author,
+  the status or the selected status.</dd>
+  
+  <dt>Sort</dt>
+  <dd>Choose whether the list will be sorted in ascending or descending order.</dd>
+  
+  <dt>Entries per page</dt>
+  <dd>Number of entries that will be displayed on each page of the resulting
+  set.</dd>
+</dl>
+
+<h3>Selected entry actions</h3>
+<p>If your user permission level allows it, you can perform batch operations on the
+entries you select in the list.</p>
+
+<ul>
+  <li><strong>Publish</strong>: set the entries online.</li>
+  <li><strong>Unpublish</strong>: set the entries offline.</li>
+  <li><strong>Schedule</strong>: schedule the entries to be set online at their
+  publication date.</li>
+  <li><strong>Mark as pending</strong>: erase other publication status.</li>
+  <li><strong>Change category</strong>: directs you to the category list to choose a
+  new one for the entries.</li>
+  <li><strong>Change author</strong>: allows you to change the posts' author by
+  entering the new author's ID.</li>
+  <li><strong>Delete</strong>: suppress the posts (this operation cannot be undone).</li>
+</ul>
+
+</body>
+</html>
Index: locales/en/help/trackbacks.html
===================================================================
--- locales/en/help/trackbacks.html	(revision 2142)
+++ locales/en/help/trackbacks.html	(revision 2142)
@@ -0,0 +1,29 @@
+<html>
+<head>
+  <title>Editing an entry</title>
+</head>
+
+<body>
+
+<h3>Trackback</h3>
+<p>To make a trackback, click on the <em>Ping blogs</em> link.
+You will not see this link if your entry's status is not <em>published</em>.</p>
+
+<dl>
+  <dt>URLs to ping</dt>
+  <dd>Paste here the trackback URLs you found in the posts you want to ping.</dd>
+  
+  
+  <dt>Excerpt to send</dt>
+  <dd>This field defaults to your entry's first few sentences. That's wht will be
+  sent to the blog you're pinging, along with a link to your post. You can modify
+  the excerpt by editing this field.</dd>
+  
+  
+  <dt>Auto discover ping URLs</dt>
+  <dd>If your entries links specific posts and if the blog carrying those posts
+  is set to allow it, this tool will find the URLs to ping for you.</dd>
+</dl>
+
+</body>
+</html>
Index: locales/en/help/user.html
===================================================================
--- locales/en/help/user.html	(revision 175)
+++ locales/en/help/user.html	(revision 175)
@@ -0,0 +1,71 @@
+<html>
+<head>
+  <title>User</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
+
+<body>
+
+<h3>User information</h3>
+<dl>
+  <dt>User name</dt>
+  <dd>At least 2 characters (non accentuated characters, numbers or symbols, no white space. This field is mandatory.</dd>
+
+  <dt>Password</dt>
+  <dd>Write down twice your password in the fields <em>Password</em> and <em>Confirm password</em>. The minimal password length is 6 characters.
+  These two fields are mandatory.</dd>
+  
+  <dt>Name, First name</dt>
+  <dd>If the display name is empty, the author's name will be displayed
+  as his Firstname and Name as set here.</dd>
+
+  <dt>Display name</dt>
+  <dd>You can choose here a nickname that will be displayed in your posts instead of your name and first name.</dd>
+
+  <dt>Email</dt>
+  <dd>Address that will be used to send a new password on dotclear's new password generation page.</dd>
+
+  <dt>URL</dt>
+  <dd>The user's web site. If set, the author name will be displayed as
+  a link to the said site.</dd>
+  
+  <dt>Preferred format</dt>
+  <dd>To choose the prefered post syntax. Wiki is a simplified syntax
+  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
+  understanding of html, we advise you to choose the wiki syntax.</dd>
+  
+  <dt>Default entry status</dt>
+  <dd>The default entry status can be set to:
+    <ul>
+      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
+      <li><strong>scheduled:</strong> the post will be set online at the time and date
+      set in the <em>Published on</em> field.</li>
+      <li><strong>unpublished:</strong> the post is offline.</li>
+      <li><strong>published:</strong> the post is online.</li>
+    </ul>
+  </dd>
+
+  <dt>Entry edit field height</dt>
+  <dd>The height of the Entry edit field. Defaults to 24.</dd>
+  
+  <dt>User language</dt>
+  <dd>The language in wich one publishes his posts. If the translation exists,
+  the interface will also be displayed in that language.</dd>
+
+  <dt>User timezone</dt>
+  <dd>That choice will define the time displayed on post publication.</dd>
+
+  <dt>Password change required to connect</dt>
+  <dd>Check this box to force the new user to change his password on login.</dd>
+
+  <dt>Super administrator</dt>
+  <dd>This choice will give all permissions to the user on all of your installation's blogs.</dd>
+</dl>
+
+<h3>Tags</h3>
+<dl>
+  <dt>Tags list format</dt>
+  <dd>This choice allows, in post editing page, to display all available tags 
+  or only most used ones.</dd>
+</dl>
+</body>
+</html>
Index: locales/en/help/user_pref.html
===================================================================
--- locales/en/help/user_pref.html	(revision 1487)
+++ locales/en/help/user_pref.html	(revision 1487)
@@ -0,0 +1,83 @@
+<html>
+<head>
+  <title>User preferences</title>
+</head>
+
+<body>
+
+<h3>My profile</h3>
+<dl>
+  <dt>Last name, First name</dt>
+  <dd>If the display name is empty, the author's name will be displayed
+  as his Firstname and Name as set here.</dd>
+  
+  <dt>Display name</dt>
+  <dd>You can choose here a nickname that will be displayed in your posts instead of your name and first name.</dd>
+  
+  <dt>Email</dt>
+  <dd>Address where will be sent the new comment notifications.</dd>
+  
+  <dt>URL</dt>
+  <dd>The user's web site. If set, the author name will be displayed as
+  a link to the said site.</dd>
+  
+  <dt>User language</dt>
+  <dd>The language in wich one publishes his posts. If the translation exists,
+  the interface will also be displayed in that language.</dd>
+  
+  <dt>User timezone</dt>
+  <dd>That choice will define the time displayed on post publication.</dd>
+  
+  <dt>Change your password</dt>
+  <dd>To change your password, write down twice your password in the fields 
+  <em>New password</em> and <em>Confirm password</em>. The minimal password length is 6 characters. 
+  If no new password is provided, the current one is kept.</dd>
+</dl>
+<h3>My options</h3>
+<dl>  
+  <dt>Preferred format</dt>
+  <dd>To choose the preferred post syntax. Wiki is a simplified syntax
+  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
+  understanding of html, we advise you to choose the wiki syntax.</dd>
+  
+  <dt>Default entry status</dt>
+  <dd>The default entry status can be set to:
+    <ul>
+      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
+      <li><strong>scheduled:</strong> the post will be set online at the time and date
+      set in the <em>Published on</em> field.</li>
+      <li><strong>unpublished:</strong> the post is offline.</li>
+      <li><strong>published:</strong> the post is online.</li>
+    </ul>
+  </dd>
+  
+  <dt>Entry edit field height</dt>
+  <dd>The height of the Entry edit field. Defaults to 24.</dd>
+  
+  <dt>Enable WYSIWYG mode</dt>
+  <dd>Allow the use of the WYSIWYG editor for the posts and description fields.</dd>
+  
+  <dt>Activate enhanced uploader in media manager</dt>
+  <dd>This option allows you to upload several files at the same time on your server.</dd>
+  
+  <dt>Dashboard modules</dt>
+  <dd>Choices made in this zone will be reflected on your blog's dashboard.</dd>
+  
+  <dt>Tags list format</dt>
+  <dd>This choice allows, in post editing page, to display all available tags 
+  or only most used ones.</dd>
+</dl>
+<h3>My favorites</h3>
+<dl>
+  <dt>My favorites</dt>
+  <dd>This zone displays the chosen favorites on the blog's dashboard. 
+  They can be reordered with your mouse if javascript is activated in your browser. 
+  Otherwise, a field allows to give them an ordering number. When you are finished, do not forget 
+  to save your changes. You may also select favorites to be deleted from the list.</dd>
+  
+  <dt>Available favorites</dt>
+  <dd>All plugins allowing to be put as favorites are diplayed here. Check the corresponding boxes 
+  and add them to the dashboard.</dd>
+</dl>
+</body>
+</html>
Index: locales/en/help/wiki.html
===================================================================
--- locales/en/help/wiki.html	(revision 0)
+++ locales/en/help/wiki.html	(revision 0)
@@ -0,0 +1,85 @@
+<html>
+<head>
+  <title>Wiki syntax reference</title>
+</head>
+
+<body>
+
+<h3>Wiki syntax reference</h3>
+
+<p>The wiki syntax is a way to enhance your text with a minimal set
+of tags, studied to cover the basic needs (titles, paragraphs, quotes,
+lists...)</p>
+
+<dl>
+<dt>Block elements</dt>
+<dd>
+<ul>
+  <li>Leave an empty line between two similar blocks.</li>
+  <li><strong>Paragraph</strong>: free text, ended by an empty line if
+  another paragraph is to follow.</li>
+  <li><strong>Title</strong>: <code>!!! title</code>, <code>!! title</code>
+  or <code>! title</code>, allowing you to use three  different levels of
+  heading.</li>
+  <li><strong>Horizontal line</strong>: <code>----</code></li>
+  <li><strong>Lists</strong>: Start each line with
+  <code>*</code> or <code>#</code> for unnumbered or numbered lists respectively.
+  List imbrication is done by mixing list markers this way:
+<pre>
+* item 1
+** item 1.1
+* item 2
+*# item 2.1
+...
+</pre>
+  </li>
+  <li><strong>Preformatted text</strong>: each line must start with a space.</li>
+  <li><strong>Block quote</strong>: each line must start with a semicolon (<code>&gt;</code>).</li>
+</ul>
+</dd>
+
+<dt>Formatting tags</dt>
+<dd>
+<ul>
+  <li><strong>Emphasis</strong>: two quotes <code>''text''</code></li>
+  <li><strong>Strong emphasis</strong>: two underscore <code>__text__</code></li>
+  <li><strong>New line</strong>: <code>%%%</code></li>
+  <li><strong>Insertion</strong>: two plusses <code>++text++</code></li>
+  <li><strong>Deletion</strong>: two minuses <code>--text--</code></li>
+  <li><strong>Link</strong>: <code>[url]</code>, <code>[name|url]</code>,
+    <code>[name|url|language]</code> or <code>[name|url|languagee|title]</code></li>
+  <li><strong>Image</strong>:
+    <code>((url|alternative text))</code>,
+    <code>((url|alternative text|position))</code> or
+    <code>((url|alternative text|position|long description))</code>.
+    <br />The position can be either L or G (left), R or D (right) or C (centered).</li>
+  <li><strong>Anchor</strong>: <code>~anchor~</code></li>
+  <li><strong>Acronym</strong>: <code>??acronym|title??</code></li>
+  <li><strong>Inline HTML</strong>: two backquotes <code>``html code``</code></li>
+  <li><strong>Inline quote</strong>: <code>{{quote}}</code>,
+    <code>{{quote|language}}</code> or <code>{{quote|language|url}}</code></li>
+  <li><strong>Code</strong>: <code>@@code@@</code></li>
+  <li><strong>Footnotes</strong>: <code>$$footnote$$</code></li>
+</ul>
+</dd>
+
+<dt>Unformatted text</dt>
+<dd>If you don't want one formatting character to be interpreted as such, add a
+<code>\</code> just before it. This way:
+<code>\[text in brackets without being a link\]</code>
+</dd>
+
+<dt>HTML Code</dt>
+<dd>Even if you chose the wiki syntax, you may sometimes need a more
+powerful formatting, i.e. HTML syntax. Do it the following way:
+<pre>
+///html
+&lt;p style="color:red"&gt;my text in red&lt;/p&gt;
+///
+</pre>
+</dd>
+</dl>
+
+
+</body>
+</html>
Index: locales/en/main.po
===================================================================
--- locales/en/main.po	(revision 2487)
+++ locales/en/main.po	(revision 2409)
@@ -8,5 +8,5 @@
 "Project-Id-Version: Dotclear 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-17 09:38+0200\n"
+"POT-Creation-Date: 2013-10-05 19:46+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
@@ -61,7 +61,4 @@
 msgstr ""
 
-msgid "Insufficient permissions"
-msgstr ""
-
 msgid "Wrong username or password"
 msgstr ""
@@ -224,4 +221,7 @@
 
 msgid "Title"
+msgstr ""
+
+msgid "Title (optional)"
 msgstr ""
 
@@ -533,4 +533,7 @@
 msgstr ""
 
+msgid "Search and install themes directly from repository."
+msgstr ""
+
 msgid "Install or upgrade manually"
 msgstr ""
@@ -566,4 +569,7 @@
 msgstr ""
 
+msgid "List of categories"
+msgstr ""
+
 msgid "Blog has been successfully deleted."
 msgstr ""
@@ -606,8 +612,6 @@
 
 #, php-format
-msgid "%d blog matches the filter."
-msgid_plural "%d blogs match the filter."
-msgstr[0] ""
-msgstr[1] ""
+msgid "List of %s blogs match the filter."
+msgstr ""
 
 msgid "Blogs list"
@@ -1654,4 +1658,7 @@
 msgstr ""
 
+msgid "Search and install plugins directly from repository."
+msgstr ""
+
 msgid "Add plugins from a package"
 msgstr ""
@@ -1709,8 +1716,4 @@
 
 msgid "Invalid publication date"
-msgstr ""
-
-#, php-format
-msgid "The post \"%s\" has been successfully updated"
 msgstr ""
 
@@ -1893,16 +1896,4 @@
 msgstr ""
 
-msgid "With attachments"
-msgstr ""
-
-msgid "Without attachments"
-msgstr ""
-
-msgid "Number of comments"
-msgstr ""
-
-msgid "Number of trackbacks"
-msgstr ""
-
 msgid "Selected entries have been successfully updated."
 msgstr ""
@@ -1912,7 +1903,4 @@
 
 msgid "Selected:"
-msgstr ""
-
-msgid "Attachments:"
 msgstr ""
 
@@ -2430,5 +2418,5 @@
 
 #, php-format
-msgid "%d comment"
+msgid "%d comments"
 msgid_plural "%d comments"
 msgstr[0] ""
@@ -2450,7 +2438,4 @@
 msgstr ""
 
-msgid "Go to help"
-msgstr ""
-
 msgid "Go to site"
 msgstr ""
@@ -2478,4 +2463,7 @@
 msgstr ""
 
+msgid "new window"
+msgstr ""
+
 #, php-format
 msgid "Thank you for using %s."
@@ -2504,7 +2492,4 @@
 msgstr ""
 
-msgid "new window"
-msgstr ""
-
 msgid "Hide"
 msgstr ""
@@ -2586,7 +2571,4 @@
 msgstr ""
 
-msgid "Are you sure you want to delete selected plugins?"
-msgstr ""
-
 msgid "Use this theme"
 msgstr ""
@@ -2599,7 +2581,4 @@
 msgstr ""
 
-msgid "Are you sure you want to delete selected themes?"
-msgstr ""
-
 msgid "Are you sure you want to delete this backup?"
 msgstr ""
@@ -2784,7 +2763,4 @@
 
 msgid "Reset search"
-msgstr ""
-
-msgid "Search is allowed on multiple terms longer than 2 chars, terms must be separated by space."
 msgstr ""
 
@@ -2799,10 +2775,10 @@
 
 #, php-format
-msgid "%d result"
-msgid_plural "%d results"
+msgid "%d module"
+msgid_plural "%d modules"
 msgstr[0] ""
 msgstr[1] ""
 
-msgid "no results"
+msgid "no module"
 msgstr ""
 
@@ -2810,5 +2786,5 @@
 msgstr ""
 
-msgid "Plugins list"
+msgid "Modules list"
 msgstr ""
 
@@ -2825,11 +2801,15 @@
 msgstr ""
 
-msgid "Plugin from official distribution"
-msgstr ""
-
-msgid "Configure plugin"
-msgstr ""
-
-msgid "No plugins matched your search."
+#, php-format
+msgid "Configure module \"%s\""
+msgstr ""
+
+msgid "Module from official distribution"
+msgstr ""
+
+msgid "module from official distribution"
+msgstr ""
+
+msgid "No module matches your search."
 msgstr ""
 
@@ -2846,69 +2826,26 @@
 msgstr ""
 
-msgid "No such plugin."
-msgstr ""
-
-msgid "Plugin has been successfully activated."
-msgid_plural "Plugins have been successfully activated."
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "You don't have permissions to deactivate this plugin."
-msgstr ""
-
-msgid "Plugin has been successfully deactivated."
-msgid_plural "Plugins have been successfully deactivated."
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "You don't have permissions to delete this plugin."
-msgstr ""
-
-msgid "Some plugins have not been deleted."
-msgstr ""
-
-msgid "Plugin has been successfully deleted."
-msgid_plural "Plugins have been successfully deleted."
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "Plugin has been successfully updated."
-msgid_plural "Plugins have been successfully updated."
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "Plugin has been successfully installed."
-msgid_plural "Plugins have been successfully installed."
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "Activate selected plugins"
-msgstr ""
-
-msgid "Activate all plugins from this list"
-msgstr ""
-
-msgid "Plugins have been successfully activated."
-msgstr ""
-
-msgid "Deactivate selected plugins"
-msgstr ""
-
-msgid "Deactivate all plugins from this list"
-msgstr ""
-
-msgid "Plugins have been successfully deactivated."
-msgstr ""
-
-msgid "Some plugins have not been deactivated."
-msgstr ""
-
-msgid "Update selected plugins"
-msgstr ""
-
-msgid "Update all plugins from this list"
-msgstr ""
-
-msgid "Plugins have been successfully updated."
+msgid "No such module."
+msgstr ""
+
+msgid "Module has been successfully activated."
+msgstr ""
+
+msgid "You don't have permissions to deactivate this module."
+msgstr ""
+
+msgid "Module has been successfully deactivated."
+msgstr ""
+
+msgid "You don't have permissions to delete this module."
+msgstr ""
+
+msgid "Module has been successfully deleted."
+msgstr ""
+
+msgid "Module has been successfully updated."
+msgstr ""
+
+msgid "Module has been successfully installed."
 msgstr ""
 
@@ -2925,12 +2862,12 @@
 msgstr ""
 
-msgid "Unknow plugin ID"
-msgstr ""
-
-msgid "This plugin has no configuration file."
-msgstr ""
-
-#, php-format
-msgid "Configure \"%s\""
+msgid "Unknow module ID"
+msgstr ""
+
+msgid "This module has no configuration file."
+msgstr ""
+
+#, php-format
+msgid "Configure plugin \"%s\""
 msgstr ""
 
@@ -2972,61 +2909,9 @@
 msgstr ""
 
-msgid "No themes matched your search."
-msgstr ""
-
 msgid "Use this one"
 msgstr ""
 
-msgid "Update selected themes"
-msgstr ""
-
-msgid "Update all themes from this list"
-msgstr ""
-
-msgid "No such theme."
-msgstr ""
-
-msgid "Theme has been successfully selected."
-msgstr ""
-
-msgid "Theme has been successfully activated."
-msgid_plural "Themes have been successfully activated."
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "You don't have permissions to deactivate this theme."
-msgstr ""
-
-msgid "Some themes have not been deactivated."
-msgstr ""
-
-msgid "Theme has been successfully deactivated."
-msgid_plural "Themes have been successfully deactivated."
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "You don't have permissions to delete this theme."
-msgstr ""
-
-msgid "Some themes have not been delete."
-msgstr ""
-
-msgid "Theme has been successfully deleted."
-msgid_plural "Themes have been successfully deleted."
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "Theme has been successfully updated."
-msgid_plural "Themes have been successfully updated."
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "Update all theme from this list"
-msgstr ""
-
-msgid "Theme has been successfully installed."
-msgid_plural "Themes have been successfully installed."
-msgstr[0] ""
-msgstr[1] ""
+msgid "Module has been successfully selected."
+msgstr ""
 
 msgid "First page"
@@ -3084,8 +2969,6 @@
 
 #, php-format
-msgid "Comment or trackback matching the filter."
-msgid_plural "List of %s comments or trackbacks matching the filter."
-msgstr[0] ""
-msgstr[1] ""
+msgid "List of %s Comments or trackbacks match the filter."
+msgstr ""
 
 msgid "Type"
@@ -3142,14 +3025,14 @@
 msgstr ""
 
-msgid "medium"
-msgstr ""
-
-msgid "small"
-msgstr ""
-
-msgid "thumbnail"
-msgstr ""
-
-msgid "square"
+msgid "moyenne"
+msgstr ""
+
+msgid "petite"
+msgstr ""
+
+msgid "vignettes"
+msgstr ""
+
+msgid "carrée"
 msgstr ""
 
@@ -3160,4 +3043,55 @@
 msgstr ""
 
+msgid "Nouveau billet"
+msgstr ""
+
+msgid "Billets"
+msgstr ""
+
+msgid "Commentaires"
+msgstr ""
+
+msgid "Gestionnaire de médias"
+msgstr ""
+
+msgid "Tags"
+msgstr ""
+
+msgid "Import/Export"
+msgstr ""
+
+msgid "Apparence du blog"
+msgstr ""
+
+msgid "Presentation widgets"
+msgstr ""
+
+msgid "Installateur DotAddict.org"
+msgstr ""
+
+msgid "Maintenance"
+msgstr ""
+
+msgid "System info"
+msgstr ""
+
+msgid "Tidy Administration"
+msgstr ""
+
+msgid "Series"
+msgstr ""
+
+msgid "pacKman"
+msgstr ""
+
+msgid "Categories orders"
+msgstr ""
+
+msgid "Discrete category"
+msgstr ""
+
+msgid "Typographic replacements"
+msgstr ""
+
 msgid "administrator"
 msgstr ""
@@ -3356,5 +3290,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/en/plugins.po
===================================================================
--- locales/en/plugins.po	(revision 2418)
+++ locales/en/plugins.po	(revision 2410)
@@ -8,5 +8,5 @@
 "Project-Id-Version: Dotclear 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-17 09:38+0200\n"
+"POT-Creation-Date: 2013-10-05 19:46+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
@@ -397,7 +397,4 @@
 msgstr ""
 
-msgid "Title (optional)"
-msgstr ""
-
 msgid "All categories"
 msgstr ""
@@ -837,7 +834,4 @@
 msgstr ""
 
-msgid "Import/Export"
-msgstr ""
-
 msgid "Flat file export"
 msgstr ""
@@ -1085,7 +1079,4 @@
 #, php-format
 msgid "Export functions are in the page %s."
-msgstr ""
-
-msgid "Maintenance"
 msgstr ""
 
@@ -1154,134 +1145,23 @@
 msgstr ""
 
-msgid "Display overdue tasks counter on maintenance dashboard icon"
-msgstr ""
-
-msgid "Display overdue tasks list on dashboard items"
-msgstr ""
-
-msgid "Failed to execute task."
-msgstr ""
-
-msgid "Task successfully executed."
-msgstr ""
-
-msgid "Empty templates cache directory"
-msgstr ""
-
-msgid "Templates cache directory emptied."
-msgstr ""
-
-msgid "Failed to empty templates cache directory."
-msgstr ""
-
-msgid "It may be useful to empty this cache when modifying a theme's .html or .css files (or when updating a theme or plugin). Notice : with some hosters, the templates cache cannot be emptied with this plugin. You may then have to delete the directory <strong>/cbtpl/</strong> directly on the server with your FTP software."
-msgstr ""
-
-msgid "Count again comments and trackbacks"
-msgstr ""
-
-msgid "Comments and trackback counted."
-msgstr ""
-
-msgid "Failed to count comments and trackbacks."
-msgstr ""
-
-msgid "Count again comments and trackbacks allows to check their exact numbers. This operation can be useful when importing from another blog platform (or when migrating from dotclear 1 to dotclear 2)."
-msgstr ""
-
-msgid "Search engine index"
-msgstr ""
-
-msgid "Index all comments for search engine"
-msgstr ""
-
-msgid "Next"
-msgstr ""
-
-#, php-format
-msgid "Indexing comment %d to %d."
-msgstr ""
-
-msgid "Comments index done."
-msgstr ""
-
-msgid "Failed to index comments."
-msgstr ""
-
-msgid "Index all comments and trackbacks in search engine index. This operation is necessary, after importing content in your blog, to use internal search engine, on public and private pages."
-msgstr ""
-
-msgid "Index all entries for search engine"
-msgstr ""
-
-#, php-format
-msgid "Indexing entry %d to %d."
-msgstr ""
-
-msgid "Entries index done."
-msgstr ""
-
-msgid "Failed to index entries."
-msgstr ""
-
-msgid "Index all entries in search engine index. This operation is necessary, after importing content in your blog, to use internal search engine, on public and private pages."
-msgstr ""
-
-msgid "Delete all logs"
-msgstr ""
-
-msgid "Logs deleted."
-msgstr ""
-
-msgid "Failed to delete logs."
-msgstr ""
-
-msgid "Logs record all activity and connection to your blog history. Unless you need to keep this history, consider deleting these logs from time to time."
-msgstr ""
-
-msgid "Entries metadata"
-msgstr ""
-
-msgid "Synchronize entries metadata"
-msgstr ""
-
-#, php-format
-msgid "Synchronize entry %d to %d."
-msgstr ""
-
-msgid "Entries metadata synchronize done."
-msgstr ""
-
-msgid "Failed to synchronize entries metadata."
-msgstr ""
-
-msgid "Synchronize all entries metadata could be useful after importing content in your blog or do bad operation on database tables."
-msgstr ""
-
-msgid "Optimise database"
-msgstr ""
-
-msgid "optimize tables"
-msgstr ""
-
-msgid "Optimization successful."
-msgstr ""
-
-msgid "Failed to optimize tables."
-msgstr ""
-
-msgid "After numerous delete or update operations on Dotclear's database, it gets fragmented. Optimizing will allow to defragment it. It has no incidence on your data's integrity. It is recommended to optimize before any blog export."
-msgstr ""
-
-msgid "Download media folder of current blog"
-msgstr ""
-
-msgid "It may be useful to backup your media folder. This compress all content of media folder into a single zip file. Notice : with some hosters, the media folder cannot be compressed with this plugin if it is too big."
-msgstr ""
-
-msgid "Download active theme of current blog"
-msgstr ""
-
-msgid "It may be useful to backup the active theme before any change or update. This compress theme folder into a single zip file."
+msgid "Display count of late tasks on maintenance dashboard icon"
+msgstr ""
+
+msgid "Display list of late tasks on dashboard items"
+msgstr ""
+
+msgid "Never"
+msgstr ""
+
+msgid "Every week"
+msgstr ""
+
+msgid "Every two weeks"
+msgstr ""
+
+msgid "Every month"
+msgstr ""
+
+msgid "Every two months"
 msgstr ""
 
@@ -1289,32 +1169,5 @@
 msgstr ""
 
-msgid "Never"
-msgstr ""
-
-msgid "Every week"
-msgstr ""
-
-msgid "Every two weeks"
-msgstr ""
-
-msgid "Every month"
-msgstr ""
-
-msgid "Every two months"
-msgstr ""
-
-msgid "You have not sufficient permissions to view this page."
-msgstr ""
-
-msgid "You should execute it now."
-msgstr ""
-
-msgid "Execute task"
-msgstr ""
-
-msgid "This may take a very long time."
-msgstr ""
-
-msgid "Alert settings"
+msgid "Set up reminders for maintenance tasks."
 msgstr ""
 
@@ -1341,4 +1194,145 @@
 msgstr ""
 
+msgid "Failed to execute task."
+msgstr ""
+
+msgid "Task successfully executed."
+msgstr ""
+
+msgid "Empty templates cache directory"
+msgstr ""
+
+msgid "Templates cache directory emptied."
+msgstr ""
+
+msgid "Failed to empty templates cache directory."
+msgstr ""
+
+msgid "It may be useful to empty this cache when modifying a theme's .html or .css files (or when updating a theme or plugin). Notice : with some hosters, the templates cache cannot be emptied with this plugin. You may then have to delete the directory <strong>/cbtpl/</strong> directly on the server with your FTP software."
+msgstr ""
+
+msgid "Count again comments and trackbacks"
+msgstr ""
+
+msgid "Comments and trackback counted."
+msgstr ""
+
+msgid "Failed to count comments and trackbacks."
+msgstr ""
+
+msgid "Count again comments and trackbacks allows to check their exact numbers. This operation can be useful when importing from another blog platform (or when migrating from dotclear 1 to dotclear 2)."
+msgstr ""
+
+msgid "Search engine index"
+msgstr ""
+
+msgid "Index all comments for search engine"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+#, php-format
+msgid "Indexing comment %d to %d."
+msgstr ""
+
+msgid "Comments index done."
+msgstr ""
+
+msgid "Failed to index comments."
+msgstr ""
+
+msgid "Index all comments and trackbacks in search engine index. This operation is necessary, after importing content in your blog, to use internal search engine, on public and private pages."
+msgstr ""
+
+msgid "Index all entries for search engine"
+msgstr ""
+
+#, php-format
+msgid "Indexing entry %d to %d."
+msgstr ""
+
+msgid "Entries index done."
+msgstr ""
+
+msgid "Failed to index entries."
+msgstr ""
+
+msgid "Index all entries in search engine index. This operation is necessary, after importing content in your blog, to use internal search engine, on public and private pages."
+msgstr ""
+
+msgid "Delete all logs"
+msgstr ""
+
+msgid "Logs deleted."
+msgstr ""
+
+msgid "Failed to delete logs."
+msgstr ""
+
+msgid "Logs record all activity and connection to your blog history. Unless you need to keep this history, consider deleting these logs from time to time."
+msgstr ""
+
+msgid "Entries metadata"
+msgstr ""
+
+msgid "Synchronize entries metadata"
+msgstr ""
+
+#, php-format
+msgid "Synchronize entry %d to %d."
+msgstr ""
+
+msgid "Entries metadata synchronize done."
+msgstr ""
+
+msgid "Failed to synchronize entries metadata."
+msgstr ""
+
+msgid "Synchronize all entries metadata could be useful after importing content in your blog or do bad operation on database tables."
+msgstr ""
+
+msgid "Optimise database"
+msgstr ""
+
+msgid "optimize tables"
+msgstr ""
+
+msgid "Optimization successful."
+msgstr ""
+
+msgid "Failed to optimize tables."
+msgstr ""
+
+msgid "After numerous delete or update operations on Dotclear's database, it gets fragmented. Optimizing will allow to defragment it. It has no incidence on your data's integrity. It is recommended to optimize before any blog export."
+msgstr ""
+
+msgid "Download media folder of current blog"
+msgstr ""
+
+msgid "It may be useful to backup your media folder. This compress all content of media folder into a single zip file. Notice : with some hosters, the media folder cannot be compressed with this plugin if it is too big."
+msgstr ""
+
+msgid "Download active theme of current blog"
+msgstr ""
+
+msgid "It may be useful to backup the active theme before any change or update. This compress theme folder into a single zip file."
+msgstr ""
+
+msgid "You have not sufficient permissions to view this page."
+msgstr ""
+
+msgid "Settings successfully updated"
+msgstr ""
+
+msgid "You should execute it now."
+msgstr ""
+
+msgid "Execute task"
+msgstr ""
+
+msgid "This may take a very long time."
+msgstr ""
+
 msgid "New page"
 msgstr ""
@@ -1358,4 +1352,7 @@
 msgstr ""
 
+msgid "<p>"
+msgstr ""
+
 msgid "This is your first page. When you're ready to blog, log in to edit or delete it."
 msgstr ""
@@ -1497,7 +1494,4 @@
 
 msgid "Page"
-msgstr ""
-
-msgid "Tags"
 msgstr ""
 
@@ -1732,5 +1726,5 @@
 msgstr ""
 
-msgid "Syntax highlighting in theme editor"
+msgid "Syntax color for theme editor"
 msgstr ""
 
@@ -1802,7 +1796,4 @@
 msgstr ""
 
-msgid "Presentation widgets"
-msgstr ""
-
 msgid "Search engine"
 msgstr ""
@@ -1930,4 +1921,37 @@
 msgstr ""
 
+msgid "Use of widgets"
+msgstr ""
+
+msgid "Widgets may be used to add various blocks of content to be displayed on your public pages. To add a widget, drag it from the Available widgets list on the left to one of the sidebars on the right of this page. You can order your widgets in a sidebar by dragging them up or down. You must update sidebars to apply your changes."
+msgstr ""
+
+msgid "Once included in a sidebar, widgets have configuration options that you can reach by clicking on the arrow next to their name."
+msgstr ""
+
+msgid "Reset sidebars to get back to default widgets installation."
+msgstr ""
+
+msgid "Widget templates tags"
+msgstr ""
+
+msgid "If you are allowed to edit your theme templates, you can directly add widgets as templates tags, with their own configuration."
+msgstr ""
+
+msgid "To add a widget in your template, you need to write code like this:"
+msgstr ""
+
+msgid "Widget ID"
+msgstr ""
+
+msgid "Setting name"
+msgstr ""
+
+msgid "Setting value"
+msgstr ""
+
+msgid "Here are the following available widgets for your blog:"
+msgstr ""
+
 msgid "Widget ID:"
 msgstr ""
@@ -1951,11 +1975,5 @@
 msgstr ""
 
-msgid "No widget as far."
-msgstr ""
-
-msgid "Up the widget"
-msgstr ""
-
-msgid "Down the widget"
+msgid "No widget for now."
 msgstr ""
 
Index: locales/en/resources.php
===================================================================
--- locales/en/resources.php	(revision 2367)
+++ locales/en/resources.php	(revision 1793)
@@ -22,3 +22,16 @@
 );
 
+$__resources['help'] = array(
+	'core_main' => dirname(__FILE__).'/help/main.html',
+	'core_blog_pref' => dirname(__FILE__).'/help/blog_pref.html',
+	'core_categories' => dirname(__FILE__).'/help/categories.html',
+	'core_comments' => dirname(__FILE__).'/help/comments.html',
+	'core_media' => dirname(__FILE__).'/help/media.html',
+	'core_post' => dirname(__FILE__).'/help/post.html',
+	'core_posts' => dirname(__FILE__).'/help/posts.html',
+	'core_trackbacks' => dirname(__FILE__).'/help/trackbacks.html',
+	'core_user_pref' => dirname(__FILE__).'/help/user_pref.html',
+	'core_user' => dirname(__FILE__).'/help/user.html',
+	'core_wiki' => dirname(__FILE__).'/help/wiki.html'
+);
 ?>
Index: locales/eo/main.po
===================================================================
--- locales/eo/main.po	(revision 2432)
+++ locales/eo/main.po	(revision 1836)
@@ -2545,5 +2545,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/es-ar/main.po
===================================================================
--- locales/es-ar/main.po	(revision 2432)
+++ locales/es-ar/main.po	(revision 1836)
@@ -2618,5 +2618,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "No se puede actualizar a \"%s\". (misma versión)"
 
Index: locales/es/main.po
===================================================================
--- locales/es/main.po	(revision 2432)
+++ locales/es/main.po	(revision 1836)
@@ -2624,5 +2624,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "No es posible actualizar «%s» (misma versión)."
 
Index: locales/eu/main.po
===================================================================
--- locales/eu/main.po	(revision 2432)
+++ locales/eu/main.po	(revision 1836)
@@ -2545,5 +2545,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/fr/help/blowupConfig.html
===================================================================
--- locales/fr/help/blowupConfig.html	(revision 1999)
+++ locales/fr/help/blowupConfig.html	(revision 1999)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html>
+<head>
+  <title>Configuration du thème Blowup</title>
+</head>
+
+<body>
+<p>En modifiant la configuration du thème Blowup, vous pouvez personnaliser votre
+thème très facilement. Pour cela, renseignez simplement les champs de configuration
+ou choisissez un style prédéfini.</p>
+
+<h4>Couleurs</h4>
+
+<p>Quand vous devez indiquer une valeur de couleur, celle-ci doit être au format
+hexadécimal. Par exemple&nbsp;: "#FF0000" donnera du rouge. Vous pouvez vous aider
+de la pipette à côté de chaque champ de couleur.</p>
+<p>Si vous manquez d'inspiration vous pouvez consulter&nbsp;:</p>
+<ul>
+ <li><a href="http://fr.wikipedia.org/wiki/Liste_De_Couleurs">La liste des codes</a> (Wikipedia),</li>
+ <li><a href="http://kuler.adobe.com/">Adobe Kuler</a>,</li>
+ <li><a href="http://colorblender.com/">ColorBlender</a>,</li>
+ <li><a href="http://www.colorcombos.com/">ColorCombos</a>.</li>
+</ul>
+
+<h4>Unités de mesure</h4>
+
+<p>Quand vous devez indiquer une taille, celle-ci doit être suivie d'une unité
+de mesure. Par exemple&nbsp;: "1em". Si vous n'indiquez aucune unité, la valeur
+donnée prendra des pixels comme unité par défaut.</p>
+<p>Les unités possibles sont&nbsp;:</p>
+<ul>
+  <li>px</li>
+  <li>em</li>
+  <li>ex</li>
+  <li>pt</li>
+  <li>%</li>
+</ul>
+
+<h4>Images d'en-tête</h4>
+
+<p>Vous pouvez choisir une image d'en-tête parmi une liste de nombreuses images
+afin de remplacer celle utilisée par défaut.</p>
+
+<p>En choisissant "Personnalisé..." parmi la liste d'images, vous pourrez
+déposer votre propre image. <strong>Celle-ci doit être au format JPG ou PNG et
+avoir une largeur exacte de 800 pixels.</strong></p>
+
+<p>Si vous déposez une image au format JPG, un cadre sera ajouté autours de
+l'image, ce qui n'est pas le cas avec une image au format PNG (dont la
+transparence sera également préservée).</p>
+
+<h4>Styles prédéfinis</h4>
+
+<p>Vous pouvez choisir un style prédéfini dans la liste d'option "Styles prédéfinis".
+Une fois le style choisi, vous devez valider le formulaire pour appliquer les
+changements.</p>
+
+<p>Vous pouvez ensuite modifier le style prédéfini comme bon vous semble.</p>
+
+<h3>Import / export de configuration</h3>
+
+<p>À la fin des options de Blowup, vous pouvez afficher une zone appelée "Import
+/ export de configuration". Dans cette zone de texte se trouve la configuration
+en cours d'utilisation. Vous pouvez la copier pour la partager avec d'autres.</p>
+
+<p>Pour appliquer (importer) une configuration, il suffit simplement de remplacer
+le contenu de la zone de texte par celui que vous voulez utiliser. N'oubliez pas
+de cliquer sur "appliquer le code".</p>
+
+</body>
+</html>
Index: locales/fr/help/core_blog_pref.html
===================================================================
--- locales/fr/help/core_blog_pref.html	(revision 2425)
+++ locales/fr/help/core_blog_pref.html	(revision 1999)
@@ -12,11 +12,15 @@
 
   <dt>Nom du blog</dt>
-  <dd>Nom du blog, obligatoire. Il peut être modifié à tout moment sans incidence sur le fonctionnement du blog.</dd>
+  <dd>Nom du blog, obligatoire. Il peut être modifié à tout moment sans incidence sur
+  le fonctionnement du blog.</dd>
 
   <dt>URL du blog</dt>
-  <dd>URL complète du blog. Obligatoire, ne peut être modifiée que par un super administrateur.</dd>
+  <dd>URL complète du blog. Obligatoire, ne peut être modifiée que par un super
+  administrateur.</dd>
 
   <dt>Méthode de lecture de l'URL</dt>
-  <dd>Définit le mode de lecture de l'URL. PATH_INFO est conseillé, QUERY_STRING doit être utilisé si le premier ne fonctionne pas. En mode PATH_INFO, l'URL du blog doit se terminer par un "/" et en mode QUERY_STRING, par un "?".</dd>
+  <dd>Définit le mode de lecture de l'URL. PATH_INFO est conseillé, QUERY_STRING
+  doit être utilisé si le premier ne fonctionne pas. En mode PATH_INFO, l'URL du
+  blog doit se terminer par un "/" et en mode QUERY_STRING, par un "?".</dd>
 
   <dt>État du blog</dt>
@@ -27,5 +31,5 @@
       mais les rédacteurs peuvent se connecter.</li>
       <li><strong>Retiré</strong>&nbsp;: blog inaccessible aux visiteurs
-      comme aux rédacteurs, seuls les super administrateurs peuvent y accéder.</li>
+      comme aux rédacteurs, seuls les super-administrateurs peuvent y accéder.</li>
     </ul>
   </dd>
@@ -33,5 +37,5 @@
   <dt>Description du blog</dt>
   <dd>Texte libre de description du blog. Il s'agit d'un texte simple, sans
-  formatage quelconque. Si le thème le prévoit, le contenu de ce champ peut s'afficher sur le blog.</dd>
+  formatage quelconque.</dd>
 </dl>
 
@@ -49,6 +53,6 @@
 
   <dt>Fuseau horaire du blog</dt>
-  <dd>Définit le fuseau horaire qui sera utilisé pour dater les entrées, commentaires et
-  trackbacks entrants sur le blog.</dd>
+  <dd>Définit le fuseau horaire qui sera utilisé pour dater les commentaires et
+  trackbacks entrant sur le blog.</dd>
 
   <dt>Note de copyright</dt>
@@ -56,8 +60,8 @@
 
   <dt>Format d'URL des nouveaux billets</dt>
-  <dd>Liste déroulante permettant de choisir la forme d'URL souhaitée.</dd>
+  <dd>A rédiger.</dd>
 
   <dt>Balise HTML pour le titre des notes</dt>
-  <dd>Liste déroulante permettant de choisir le niveau de titre ou une balise différente que la valeur par défaut (h4) pour l'intitulé des notes de bas de page d'un billet.</dd>
+  <dd>A rédiger.</dd>
 
   <dt>Interface XML/RPC</dt>
@@ -69,5 +73,6 @@
 <dl>
   <dt>Accepter les commentaires</dt>
-  <dd>Accepter globalement les commentaires sur le blog. Si cette option est décochée les commentaires ne seront autorisés sur aucun billet même si le réglage individuel d'un billet indique que les commentaires sont permis.</dd>
+  <dd>Accepter globalement les commentaires sur le blog. Ce paramètre est
+  supérieur à celui autorisant ou non les commentaires sur un billet.</dd>
 
   <dt>Modérer les commentaires</dt>
@@ -75,7 +80,8 @@
   l'approbation d'un rédacteur.</dd>
 
-  <dt>Laisser les commentaires ouverts durant <em>x</em> jours</dt>
+  <dt>Laisser les commentaires ouverts durant .. jours</dt>
   <dd>Permet d'indiquer le nombre de jours durant lesquels les commentaires
-  sont possibles sur un billet après sa publication. Laisser ce champ vide pour ne fixer aucune limite.</dd>
+  sont possibles sur un billet après sa publication. Aucune valeur laissera
+  les commentaires toujours ouverts.</dd>
 
   <dt>Syntaxe wiki pour les commentaires</dt>
@@ -83,5 +89,6 @@
 
   <dt>Accepter les rétroliens</dt>
-  <dd>Accepter globalement les rétroliens sur le blog. Si cette option est décochée les rétroliens ne seront acceptés sur aucun billet même si le réglage individuel d'un billet indique qu'ils sont permis.</dd>
+  <dd>Accepter globalement les rétroliens sur le blog. Ce paramètre est
+  supérieur à celui autorisant ou non les rétroliens sur un billet.</dd>
 
   <dt>Modérer les rétroliens</dt>
@@ -89,7 +96,8 @@
   l'approbation d'un rédacteur.</dd>
 
-  <dt>Laisser les rétroliens ouverts durant <em>x</em> jours</dt>
+  <dt>Laisser les rétroliens ouverts durant .. jours</dt>
   <dd>Permet d'indiquer le nombre de jours durant lesquels les rétroliens
-  sont possibles sur un billet après sa publication. Laisser ce champ vide pour ne fixer aucune limite.</dd>
+  sont possibles sur un billet après sa publication. Aucune valeur laissera
+  les rétroliens toujours ouverts.</dd>
 
   <dt>Ajouter la relation "nofollow" aux liens des commentaires et rétroliens</dt>
@@ -104,22 +112,22 @@
   <dt>Format des dates</dt>
   <dd>Indique le format de la date d'un billet sur le blog. Voir la section
-  "Formatage des dates et des heures" pour plus détails.</dd>
+  "formatage des dates" pour plus détails.</dd>
 
   <dt>Format des heures</dt>
   <dd>Indique le format de l'heure d'un billet sur le blog. Voir la section
-  "Formatage des dates et des heures" pour plus détails.</dd>
+  "formatage des dates" pour plus détails.</dd>
 
   <dt>Afficher des émoticônes dans les billets et commentaires</dt>
   <dd>Remplacer certaines suites de caractères comme :-) ou ;-) par des images.</dd>
 
-  <dt>Afficher <em>x</em> billets par page</dt>
+  <dt>Afficher .. billets par page</dt>
   <dd>Le nombre donné sera utilisé comme limite d'affichage des billets sur la
   page d'accueil et la première page de chaque catégorie.</dd>
 
-  <dt>Afficher <em>x</em> billets par flux de syndication</dt>
+  <dt>Afficher .. billets par flux de syndication</dt>
   <dd>Le nombre donné sera utilisé comme limite d'affichage des billets dans
   les flux de syndication.</dd>
 
-  <dt>Afficher <em>x</em> commentaires par flux de syndication</dt>
+  <dt>Afficher .. commentaires par flux de syndication</dt>
   <dd>Le nombre donné sera utilisé comme limite d'affichage des commentaires dans
   les flux de syndication.</dd>
@@ -128,33 +136,21 @@
   <dd>Cette option permet de ne fournir qu'un extrait des billets dans les flux
   de syndication.</dd>
-
-  <dt>Inclure les sous-catégories dans la page des catégories et dans les flux de billets pour une catégorie</dt>
-  <dd>Cette option permet d'inclure les sous-catégories de la catégorie courante dans l'affichage coté public
-  d'une catégorie, ou d'un flux de billets pour une catégorie</dd>
-
 </dl>
 
 <h4>Médias et images</h4>
 <dl>
-  <dt>Tailles des miniatures générées (en pixels)</dt>
-  <dd>Lorsque vous ajoutez une image dans la médiathèque, d'autres tailles
+  <dt>Tailles des images générées (en pixels)</dt>
+  <dd>Lorsque vous ajoutez une image au gestionnaire de médias, d'autres tailles
   sont automatiquement générées. Vous pouvez ajuster ici la dimension du plus
-  grand côté de chaque type d'image générée. Laisser le champ de saisie vide pour que la médiathèque ne crée pas le format de miniature  correspondante.</dd>
+  grand côté de chaque type d'image générée. Rien ou 0 (zéro) indique au
+  gestionnaire de médias de ne pas créer la vignette correspondante.</dd>
 
   <dt>Titres des images insérées</dt>
-  <dd>Ce champ vous permet de définir le modèle des titres ajoutés automatiquement à partir d'éléments des métadonnées des images.</dd>
+  <dd>Ce champ vous permet de définir le format des titres ajoutés automatiquement
+  aux balises des images. Le titre est composé à partir d'éléments des métadonnées
+  de l'image.</dd>
 
   <dt>Attributs par défaut pour l'insertion d'image</dt>
-  <dd>Les réglages choisis s'appliqueront à toutes les nouvelles images insérées.</dd>
-
-  <dt>Taille de l'image insérée</dt>
-  <dd>Cette option définit la taille sélectionnée par défaut lors de l'insertion d'une image</dd>
-
-  <dt>Alignement de l'image</dt>
-  <dd>Cette option permet de définir l'alignement par défaut de l'image lors de son insertion (gauche, droite, centré ou aucun)</dd>
-
-  <dt>Insérer le lien vers l'image originale</dt>
-  <dd>Cette option permet de rendre l'image affichée cliquable, un clic sur l'image en question pointant vers l'image originale</dd>
-
+  <dd>A rédiger et détailler.</dd>
 </dl>
 
@@ -165,9 +161,11 @@
 
 <h4>Antispam</h4>
-<p>Indiquez ici le nombre de jours après lequel vous souhaitez que les commentaires
-indésirables soient automatiquement supprimés. Laisser ce champ de saisie vide ou mettre la valeur à 0 pour ne fixer aucune limite dans le temps.</p>
-
-<h4>Formatage des dates et des heures</h4>
-<p>Certains champs permettent de formater les dates ou les heures avec des caractères particuliers dont voici la définition&nbsp;:</p>
+<p>Indiquez ici le délai après lequel vous souhaitez que les commentaires
+indésirables soient automatiquement supprimés. Un 0 (zéro) signifie "suppression
+immédiate", un nombre négatif désactive le mécanisme de suppression.</p>
+
+<h4>Formatage des dates</h4>
+<p>Certains champs permettent de formater les dates avec des caractères
+particuliers dont voici la définition&nbsp;:</p>
 
 <ul>
@@ -234,5 +232,5 @@
 
 <h4>Utilisateurs de ce blog</h4>
-<p>Liste les utilisateurs de ce blog, ainsi que leurs permissions. Si l'utilisateur n'est ni super administrateur ni administrateur, le bouton <strong>Changer les permissions</strong> permet de lui en ajouter ou supprimer.</p>
+<p>Liste les utilisateurs de ce blog, ainsi que leurs permissions.</p>
 
 </body>
Index: locales/fr/help/core_blog_theme.html
===================================================================
--- locales/fr/help/core_blog_theme.html	(revision 2450)
+++ locales/fr/help/core_blog_theme.html	(revision 2314)
@@ -6,20 +6,5 @@
 <body>
 
-<h4>Mise à jour de thèmes</h4>
-<p>Lorsque de nouvelles versions des thèmes installés sur votre blog ont été déposées dans le centre de ressources Dotaddict, la page comporte un onglet supplémentaire nommé <em>Mise à jour de thèmes</em>, qui liste les thèmes avec le numéro de version installée et le numéro de version de la mise à jour.</p>
-<p>Il suffit alors d'utiliser le bouton d'action <strong>Mise à jour</strong>.</p>
-<p>Si plusieurs mises à jour sont disponibles, un bouton d'action en bas de page permet de <strong>Mettre à jour tous les thèmes</strong> en une seule fois.</p>
-<p>À noter : les modifications que vous auriez pu apporter aux fichiers du thème seront perdues lors de sa mise à jour.</p>
-
-<h4>Thèmes installés</h4>
-<p>La liste des thèmes installés apparaît dans cet onglet. Vous pouvez choisir un thème pour le blog courant en cliquant sur <strong>Utiliser celui-ci</strong>.</p>
-<p>Le thème courant peut être modifié via le bouton <strong>Modifier les fichiers du thème</strong>. Si le thème sélectionné comporte un configurateur, on y accède par le bouton <strong>Personnaliser le thème</strong>.</p>
-<p>Vous pouvez également désactiver un thème (s'il pose un problème de compatibilité par exemple). Un onglet "Thèmes désactivés" apparaît alors avec la liste de ceux-ci.</p>
-
-<h4>Ajouter un thème</h4>
-<p>Cet onglet permet de parcourir le centre de ressources Dotaddict des thèmes soit par ordre alphabétique, soit en effecturant une recherche dans le champ dédié. Les thèmes déjà installés n'apparaissent pas.</p>
-
-<h4>Installer ou mettre à jour manuellement</h4>
-<p>Si le thème que vous voulez installer (ou mettre à jour) ne se trouve pas sur le centre de ressources Dotaddict, vous pouvez l'installer soit en allant le chercher sur votre disque dur, soit en entrant son adresse URL que vous aurez préalablement récupérée sur le site qui le propose. Le thème à télécharger se présente toujours sous la forme d'un fichier zip.</p>
+<h4>Apparence du blog</h4>
 
 </body>
Index: locales/fr/help/core_blogs.html
===================================================================
--- locales/fr/help/core_blogs.html	(revision 2450)
+++ locales/fr/help/core_blogs.html	(revision 1956)
@@ -9,5 +9,5 @@
 <dl>
   <dt>Chercher</dt>
-  <dd>La recherche se fait sur l'identifiant du blog. On peut chercher
+  <dd>La recherche se fait sur l'identifiant du blog.  On peut chercher
   sur une partie du nom en utilisant le caractère joker
   <strong>*</strong>.</dd>
@@ -17,8 +17,8 @@
 
   <dt>Ordre</dt>
-  <dd>Indique l'ordre dans lequel on souhaite afficher la liste (décroissant ou croissant).</dd>
+  <dd>Indique l'ordre dans lequel on souhaite effectuer le tri (décroissant ou croissant).</dd>
 
   <dt>Blogs par page</dt>
-  <dd>Détermine le nombre de blogs listés par page.</dd>
+  <dd>Détermine le nombre de blogs affichés par page de cette liste.</dd>
 </dl>
 
Index: locales/fr/help/core_categories.html
===================================================================
--- locales/fr/help/core_categories.html	(revision 2450)
+++ locales/fr/help/core_categories.html	(revision 2363)
@@ -1,38 +1,35 @@
 <html>
-  <head>
-    <title>Catégories</title>
-  </head>
-  <body>
-    <h4>Liste des catégories</h4>
-    <dl>
-      <dt>Modifier une catégorie</dt>
-      <dd>Cliquer sur l'intitulé d'une catégorie pour accéder à sa page de modification.</dd>
-      <dt>Supprimer une catégorie</dt>
-      <dd>Choisissez la catégorie que vous voulez supprimer en cliquant sur <strong>Supprimer 
-	  la catégorie</strong>. Une popup vous demandera de confirmer cette action.<br />
-	Une catégorie ne peut être supprimée que si elle ne contient aucun billet.<br />
-	Pour vider une catégorie, vous pouvez choisir (liste de sélection) la nouvelle catégorie
-	vers laquelle ils seront déplacés. Cliquez sur <strong>OK</strong> pour confirmer ce choix.
-      </dd>
+<head>
+  <title>Catégories</title>
+</head>
 
-      <dt>Modifier l'ordre des catégories</dt>
-      <dd>Vous pouvez modifier l'ordre des catégories ou 
-	déplacer une catégorie dans une catégorie parente par glisser-déposer.<br />
-	Quand l'ordre vous convient cliquez sur <strong>Enregistrer l'ordre des catégories</strong>.<br />
-  Cette action n'est disponible que si Javascript est activé dans votre navigateur et que vous n'avez 
-  pas désactivé les actions de glisser-déposer dans vos préférences. Sinon, vous pouvez déplacer une catégorie en vous rendant sur sa page puis en indiquant sa nouvelle position.</dd>
-      
-      <dt>Replacer toutes les catégories au premier niveau</dt>
-      <dd>Utilisez cette option pour placer toutes les catégories au premier niveau.<br />
-	Si vous voulez modifier l'ordre des catégories plus précisément, vous pouvez
-	<ul>
-	  <li>soit les déplacer par glisser-déposer</li>
-	  <li>soit cliquer sur le nom de chacune d'entre elles 
-	    pour choisir ensuite sa catégorie parente ou sa
-	    position par rapport à ses voisines.
-	  </li>
-	</ul>
-      </dd>
-    </dl>
+<body>
+<h4>Liste des catégories</h4>
+<dl>
+  <dt>Supprimer une catégorie</dt>
+  <dd>Choisissez la catégorie que vous voulez supprimer en cliquant sur Supprimer 
+    la catégorie. Une popup vous demandera de confirmer cette action.<br>
+    Une catégorie ne peut être supprimée que si elle ne contient aucun billet.<br>
+    Pour vider une catégorie, vous pouvez choisir (liste de sélection) la nouvelle catégorie
+    dans laquelle ils seront déplacés. Cliquez sur OK pour confirmer ce choix.
+  </dd>
+
+  <dt>Modifier l'ordre des catégories</dt>
+  <dd>Par glisser-déposer vous pouvez modifier l'ordre des catégories. Vous pouvez aussi 
+    déplacer une catégorie dans une catégorie parente.<br>
+    Quand l'ordre vous convient cliquez sur Enregistrer l'ordre des catégories</dd>
+  
+  <dt>Replacer toutes les catégories au premier niveau</dt>
+  <dd>Utilisez cette option pour placer toutes les catégories au premier niveau.<br />
+  Si vous voulez modifier l'ordre des catégories plus précisément, vous pouvez
+  <ul>
+    <li>soit les déplacer par glisser-déposer</li>
+    <li>soit cliquer sur le nom de chacune d'entre elles 
+      et ensuite choisissez sa catégorie parente ou sa
+      position par rapport à ses voisines.
+    </li>
+  </ul>
+  </dd>
+</dl>
 
 </body>
Index: locales/fr/help/core_category.html
===================================================================
--- locales/fr/help/core_category.html	(revision 2450)
+++ locales/fr/help/core_category.html	(revision 2118)
@@ -5,5 +5,5 @@
 
 <body>
-<h4>Créer ou modifier une nouvelle catégorie</h4>
+<h4>Créer une nouvelle catégorie</h4>
 <dl>
   <dt>Nom</dt>
@@ -13,5 +13,5 @@
   <dt>Parent</dt>
   <dd>Il est possible de créer des sous-catégories. Dans ce cas, il faut choisir
-  la catégorie parente dans le champ Parent.</dd>
+  la catégorie parente dans le champs Parent.</dd>
 
   <dt>URL</dt>
@@ -36,5 +36,6 @@
 
   <dt>Catégorie voisine</dt>
-  <dd>Vous pouvez aussi spécifier sa position par rapport à ses voisines
+  <dd>Vous pouvez déplacer la catégorie dans n'importe quelle autre, qui deviendra
+  sa parente. Vous pouvez aussi spécifier sa position par rapport à ses voisines
   en la plaçant avant ou après l'une d'elles.</dd>
 </dl>
Index: locales/fr/help/core_dashboard.html
===================================================================
--- locales/fr/help/core_dashboard.html	(revision 2424)
+++ locales/fr/help/core_dashboard.html	(revision 2314)
@@ -5,25 +5,7 @@
 
 <body>
-<h4>Entête</h4>
-	<p>Si l'installation concerne plusieurs blogs auxquels vous avez accès, un menu déroulant permet de choisir le blog sur lequel vous souhaitez travailler. (Sinon il rappelle simplement le nom du blog.)</p>
-	<p>Le lien suivant permet d'aller sur le blog courant (dans nouvel onglet).</p>
-	<p>Plus loin, les autres liens offrent un accès au retour à ce tableau de bord, aux pages de réglages personnels et à la déconnexion.</p>
-<h4>Personnalisation du tableau de bord</h4>
-	<dl>
-		<dt>Favoris</dt>
-		<dd>Les grandes icônes placées au milieu de la page permettent d'accéder rapidement à vos pages d'administration favorites.</dd>
-		<dt>Modules du tableau de bord</dt>
-		<dd>Les modules sous les favoris sont livrés de base ou ajoutés par des plugins.</dd>
-	</dl>
-	<p>Le choix des favoris et l'affichage des modules sont personnalisables dans l'onglet <a href="preferences.php#user-favorites">Mon tableau de bord</a> de la page <strong>Mes préférences</strong>.</p>
-<h4>Le menu principal</h4>
-	<p>On peut afficher ou masquer ce menu à tout moment en cliquant sur sa bande extérieure droite<span class="hidden"> (ou en activant le lien Masquer le menu principal)</span>.</p>
-	<p>Le premier bloc du menu liste toutes les pages favorites de l'utilisateur. On peut choisir de ne pas insérer ce bloc dans l'onglet <a href="preferences.php#user-favorites">Mon tableau de bord</a> de la page <strong>Mes préférences.</strong></p>
-	<p>Ce menu liste les pages d'administration. Il est séparé en trois sections : </p>
-	<ul>
-		<li>«Blog» pour tout ce qui relève de l'alimentation et du paramétrage du blog courant.</li>
-		<li>«Réglages système» pour l'administration de l'installation globale.</li>
-		<li>«Plugins» pour les extensions dont l'effet concerne toute l'installation.</li>
-	</ul>
+
+<h4>Tableau de bord</h4>
+
 </body>
 </html>
Index: locales/fr/help/core_langs.html
===================================================================
--- locales/fr/help/core_langs.html	(revision 2450)
+++ locales/fr/help/core_langs.html	(revision 2314)
@@ -6,16 +6,5 @@
 <body>
 
-<h4>Langues installées</h4>
-<p>Vous retrouvez ici la liste des langues installées et disponibles pour votre interface d'administration ou pour définir la langue du blog. Chacune de ces langues peut être supprimée.</p>
-<p>Dans le cas où plus aucune langue ne serait installée, l'anglais serait alors utilisé pour l'interface et pour le blog.</p>
-
-<h4>Installer ou mettre à jour une langue</h4>
-
-<h5>Langues disponibles</h5>
-<p>Vous retrouvez ici la liste des langues disponibles sur le serveur de Dotclear. Pour installer une de ces langues, sélectionnez-la dans la liste déroulante, indiquez votre mot de passe et cliquez sur le bouton <strong>Installer la langue</strong>.</p>
-<p>La langue sélectionnée sera alors téléchargée et installée sur votre système.</p>
-
-<h5>Déposer un fichier zip</h5>
-<p>Vous pouvez également utiliser une archive compressée (au format Zip) pour installer une langue. Sélectionnez le fichier correspondant sur votre ordinateur, indiquez votre mot de passe et cliquez sur le bouton <strong>Déposer la langue</strong>.</p>
+<h4>Langues</h4>
 
 </body>
Index: locales/fr/help/core_media.html
===================================================================
--- locales/fr/help/core_media.html	(revision 2450)
+++ locales/fr/help/core_media.html	(revision 1999)
@@ -1,109 +1,103 @@
 <html>
-  <head>
-    <title>Gestionnaire de media</title>
-  </head>
-  <body>
-    <h4>Liste des médias</h4>
-    <p>La page principale de la Médiathèque (anciennement gestionnaire de médias)
-      présente la liste des fichiers (médias) disponibles pour le blog en cours d'utilisation.</p>
+<head>
+  <title>Gestionnaire de media</title>
+</head>
 
-    <p>Le clic sur l'icône ou le nom d'un répertoire permet d'afficher les sous-répertoires et médias qu'il contient.</p>
+<body>
 
-    <p>Les fichiers son au format MP3 sont présentés avec un lecteur permettant
-      d'en prendre immédiatement connaissance (sous réserve que le lecteur (ou
-      plugin) Flash soit disponible sur votre navigateur.</p>
+<h4>Liste des médias</h4>
+<p>La page principale du gestionnaire de médias présente la liste des fichiers
+(médias) disponibles pour le blog en cours d'utilisation.</p>
 
-    <p>Les images sont affichées avec une miniature quand cela est possible.</p>
+<p>Il est possible d'afficher les médias dans des répertoires ou sous
+répertoires en cliquant sur leurs icônes ou leurs noms.</p>
 
-    <h4>Ajouter des fichiers</h4>
-    <dl>
-      <dt>Choisissez un fichier</dt>
-      <dd>Permet de choisir un fichier sur son disque dur pour l'envoyer sur le
-	blog. Si le fichier dépasse la taille maximale, il ne pourra être envoyé.</dd>
-      
-      <dt>Titre</dt>
-      <dd>Titre optionnel du fichier à envoyer.</dd>
-      
-      <dt>Privé</dt>
-      <dd>Indique que le fichier envoyé n'est visible que par son propriétaire tant
-	qu'il n'est pas publié sur le blog.</dd>
-    </dl>
+<p>Les fichiers son au format MP3 sont présentés avec un lecteur permettant
+d'en prendre immédiatement connaissance. Ce lecteur nécessite un lecteur (ou
+plugin) Flash sur votre navigateur.</p>
 
-    <dl>
-      <dt>Interface avancée</dt>
-      <dd>Permet de choisir plusieurs fichiers à la fois sur son disque dur pour les envoyer sur le
-	blog. Si un des fichiers dépasse la taille maximale, il ne pourra être envoyé.<br />
-	Quand vous choisissez plusieurs fichiers sur votre disque dur, ils sont mis en liste d'attente. Vous
-	pouvez en ajouter d'autres, en cliquant de nouveau sur <strong>Choisir des fichiers</strong>. Vous pouvez aussi retirer 
-	des fichiers de la liste d'attente en cliquant sur l'icône rouge correspondante.<br />
-	Lorsque vous êtes prêts, cliquez sur <strong>Envoyer</strong>.</dd>
-    </dl>
+<p>Les images sont affichées avec une miniature quand cela est possible.</p>
 
-    <h4>Supprimer des fichiers</h4>
-    <p>Pour supprimer un fichier, cochez la case correspondante associée 
-      et cliquez sur <strong>Supprimer les médias sélectionnés</strong>. Vous pouvez choisir de 
-      supprimer plusieurs fichiers à la fois.</p>
+<h4>Ajouter des fichiers</h4>
+<dl>
+  <dt>Choisissez un fichier</dt>
+  <dd>Permet de choisir un fichier sur son disque dur pour l'envoyer sur le
+  blog. Si le fichier dépasse la taille maximale, il ne pourra être envoyé.</dd>
+  
+  <dt>Titre</dt>
+  <dd>Titre optionnel du fichier à envoyer.</dd>
+  
+  <dt>Privé</dt>
+  <dd>Indique que le fichier envoyé n'est visible que par son propriétaire tant
+  qu'il n'est pas publié sur le blog.</dd>
+</dl>
 
-    <h4>Nouveau répertoire</h4>
-    <p>Ce formulaire permet de créer un nouveau répertoire dans le répertoire en
-      cours d'utilisation. Indiquez simplement un nom comme vous le feriez sur votre
-      ordinateur.</p>
+<dl>
+  <dt>Interface avancée</dt>
+  <dd>Permet de choisir plusieurs fichiers à la fois sur son disque dur pour les envoyer sur le
+  blog. Si un des fichiers dépasse la taille maximale, il ne pourra être envoyé.</dd>
+</dl>
 
-    <h4>Détails du média</h4>
-    <p>La page individuelle d'un média présente un ensemble d'informations sur
-      celui-ci et permet d'effectuer quelques opérations.</p>
+<h4>Nouveau répertoire</h4>
+<p>Ce formulaire permet de créer un nouveau répertoire dans le répertoire en
+cours d'utilisation. Indiquez simplement un nom comme vous le feriez sur votre
+ordinateur.</p>
 
-    <dl>
-      <dt>Nom du fichier</dt>
-      <dd>Changer le nom du fichier en cours.</dd>
-      
-      <dt>Titre du fichier</dt>
-      <dd>Changer ou donner un titre au fichier en cours.</dd>
-      
-      <dt>Date du fichier</dt>
-      <dd>Changer la date du fichier.</dd>
-      
-      <dt>Privé</dt>
-      <dd>Changer le caractère privé ou non du média.</dd>
-      
-      <dt>Nouveau répertoire</dt>
-      <dd>Permet de changer l'emplacement du fichier.</dd>
-      
-      <dt>Changer le fichier</dt>
-      <dd>Ce formulaire permet de changer le fichier tout en conservant ses
-	attributs (nom, titre...). Comme toujours, il ne peut dépasser la taille
-	maximale indiquée.</dd>
-    </dl>
+<h4>Détails du média</h4>
+<p>La page individuelle d'un média présente un ensemble d'informations sur
+celui-ci et permet d'effectuer quelques opérations.</p>
 
-    <h4>Cas particulier des images</h4>
-    <p>Lors de l'ajout d'une image, jusqu'à quatre versions de celle-ci peuvent
-      être disponibles (selon la taille de l'image d'origine)&nbsp;:</p>
-    <ul>
-      <li><strong>carrée</strong>&nbsp;: image carrée de 48 pixels de côté,</li>
-      <li><strong>miniature</strong>&nbsp;: image réduite à 100 pixels sur son plus grand côté,</li>
-      <li><strong>petite</strong>&nbsp;: image réduite à 240 pixels sur son plus grand côté,</li>
-      <li><strong>moyenne</strong>&nbsp;: image réduite à 500 pixes sur son plus grand côté,</li>
-      <li><strong>originale</strong>&nbsp;: image originale non transformée.</li>
-    </ul>
-    <p>Les tailles par défaut des versions miniature, petite et moyenne, peuvent être modifiées dans les paramètres du blog</p>
+<dl>
+  <dt>Nom du fichier</dt>
+  <dd>Changer le nom du fichier en cours.</dd>
+  
+  <dt>Titre du fichier</dt>
+  <dd>Changer ou donner un titre au fichier en cours.</dd>
+  
+  <dt>Date du fichier</dt>
+  <dd>Changer la date du fichier.</dd>
+  
+  <dt>Privé</dt>
+  <dd>Changer le caractère privé ou non du média.</dd>
+  
+  <dt>Nouveau répertoire</dt>
+  <dd>Permet de changer l'emplacement du fichier.</dd>
+  
+  <dt>Changer le fichier</dt>
+  <dd>Ce formulaire permet de changer le fichier tout en conservant ses
+  attributs (nom, titre...). Comme toujours, il ne peut dépasser la taille
+  maximalle indiquée.</dd>
+</dl>
 
-    <h4>Attacher un fichier à un billet</h4>
-    <p>Vous pouvez attacher un fichier à un billet très facilement. Commencez par
-      créer un nouveau billet et enregistrez-le. Cliquez alors sur "ajouter un fichier
-      au billet" pour ouvrir le gestionnaire de médias.</p>
+<h4>Cas particulier des images</h4>
+<p>Lors de l'ajout d'une image, jusqu'à quatre versions de celle-ci peuvent
+être disponibles (selon la taille de l'image d'origine)&nbsp;:</p>
+<ul>
+  <li><strong>carrée</strong>&nbsp;: image carrée de 48 pixels de côté,</li>
+  <li><strong>miniature</strong>&nbsp;: image réduite à 100 pixels sur son plus grand côté,</li>
+  <li><strong>petite</strong>&nbsp;: image réduite à 240 pixels sur son plus grand côté,</li>
+  <li><strong>moyenne</strong>&nbsp;: image réduite à 500 pixes sur son plus grand côté,</li>
+  <li><strong>originale</strong>&nbsp;: image originale non transformée.</li>
+</ul>
+<p>Les tailles par défaut des versions miniature, petite et moyenne, peuvent être modifiées dans les paramètres du blog</p>
 
-    <p>En cliquant sur l'icône [+] (Attacher un fichier au billet) vous pourrez
-      joindre le fichier à votre billet.</p>
+<h4>Attacher un fichier à un billet</h4>
+<p>Vous pouvez attacher un fichier à un billet très facilement. Commencez par
+créer un nouveau billet et enregistrez-le. Cliquez alors sur "ajouter un fichier
+au billet" pour ouvrir le gestionnaire de médias.</p>
 
-    <p>Les fichiers attachés à un billet seront visibles sur la page individuelle
-      du billet, sous la forme d'une liste après le contenu du billet. Les fichiers
-      MP3 seront automatiquement accompagnés d'un lecteur en Flash permettant la
-      lecture directe du fichier.</p>
+<p>En cliquant sur l'icône [+] (Attacher un fichier au billet) vous pourrez
+joindre le fichier à votre billet.</p>
 
-    <h4>Podcast et diffusion de fichiers musicaux</h4>
-    <p>Tous les fichiers attachés à un billet seront présents dans les fils RSS de
-      vos billets, vous permettant ainsi de réaliser des podcast de n'importe quel
-      type de fichier.</p>
+<p>Les fichiers attachés à un billet seront visibles sur la page individuelle
+du billet, sous la forme d'une liste après le contenu du billet. Les fichiers
+MP3 seront automatiquement accompagnés d'un lecteur en Flash permettant la
+lecture directe du fichier.</p>
 
-  </body>
+<h4>Podcast et diffusion de fichiers musicaux</h4>
+<p>Tous les fichiers attachés à un billet seront présents dans les fils RSS de
+vos billets, vous permettant ainsi de réaliser des podcast de n'importe quel
+type de fichier.</p>
+
+</body>
 </html>
Index: locales/fr/help/core_plugins.html
===================================================================
--- locales/fr/help/core_plugins.html	(revision 2452)
+++ locales/fr/help/core_plugins.html	(revision 2314)
@@ -1,42 +1,10 @@
 <html>
 <head>
-  <title>Gestions des plugins</title>
+  <title>Plugins</title>
 </head>
 
 <body>
 
-<h4>Mise à jour de plugins</h4>
-
-<p>Lorsque de nouvelles versions des plugins installés sont disponibles sur Dotaddict, 
-un onglet <em>Mise à jour de plugins</em> est disponible listant les plugins concernés avec leur numéro de version installée et celui de leur mise à jour.</p>
-<p>Il suffit alors d'utiliser le bouton d'action <strong>Mise à jour</strong>.</p>
-<p>Si plusieurs mises à jour sont disponibles, un bouton d'action en bas de page permet de <strong>Mettre à jour tous les plugins</strong> en une seule fois.</p>
-
-<h4>Plugins installés</h4>
-
-<p>La présence d'un logo Dotclear en début de ligne signifie que le plugin est uniquement disponible avec la distribution officielle et qu'il est un de ses composants.</p>
-
-<h3>Plugins activés</h3>
-<p>Cette liste permet de visualiser des informations (nom, version, courte description) des plugins activés. Deux actions sont possibles : <strong>Désactiver</strong> (opération réversible) ou <strong>Supprimer</strong> (opération irrévocable).</p>
-
-
-<h3>Plugins désactivés</h3>
-<p>Cette liste permet de visualiser les plugins ayant été désactivés. Deux actions sont possibles : <strong>Activer</strong> ou <strong>Supprimer</strong> (opération irrévocable).</p> 
-
-
-<h4>Ajouter des plugins</h4>
-<p>Cette page permet d'installer directement un plugin disponible sur Dotaddict.</p>
-
-<p>Deux moyens de recherche sont possibles : en saisissant son nom dans le champ <em>Rechercher dans le dépot</em> ou en parcourant l'index.</p>
-
-<p>Depuis la liste, un clic sur le triangle <span class="hidden">(lien Dévoiler)</span>, révèle un lien vers sa fiche sur Dotaddict et le lien de support indiqué par l'auteur.</p>
-
-<h4>Installer ou mettre à jour manuellement</h4>
-<p>Pour installer des plugins personnels ou disponibles ailleurs que sur Dotaddict, il existe deux procédures&nbsp;:</p>
-<ul>
-	<li><em>Déposer un fichier zip</em> depuis votre ordinateur en utilisant le bouton <strong>Parcourir</strong> puis en sélectionnant le fichier ;</li>
-	<li><em>Télécharger un fichier zip</em> en indiquant son adresse URL.</li>
-	</ul>
-<p>Vous devrez ensuite saisir votre mot de passe pour valider l'installation du plugin.</p>
+<h4>Plugins</h4>
 
 </body>
Index: locales/fr/help/core_search.html
===================================================================
--- locales/fr/help/core_search.html	(revision 2450)
+++ locales/fr/help/core_search.html	(revision 2314)
@@ -5,34 +5,7 @@
 
 <body>
-<h4>Options de recherche</h4>
-	<p>Indiquer les mots ou termes recherchés dans le champ
-	de saisie et choisir l'étendue de la recherche&nbsp;:</p>
-	<dl>
-	<dt>Rechercher dans les billets</dt>
-	<dd>La recherche s'effectue dans le titre des billets, les extraits, le
-	contenu.</dd>
-	<dt>Rechercher dans les commentaires</dt>
-	<dd>La recherche s'effectue dans le contenu des commentaires.</dd>
-	</dl>
 
-<h4>Résultats d'une recherche</h4>
-	<h5>Résultat</h5>
-		<p>Depuis la liste des résultats d'une recherche on peut cliquer sur le lien d'un des
-		billets pour accéder à sa page de modification.</p>
-	<h5>Actions par lots</h5>
-		<p>Il est possible d'effectuer un ensemble d'actions sur plusieurs billets en une seule fois.
-		Les actions possibles dépendent des permissions de l'utilisateur&nbsp;</p>
-		<ul>
-			<li><strong>Publier :</strong> mettre le billet en ligne.</li>
-			<li><strong>Hors ligne :</strong> mettre le billet hors ligne.</li>
-			<li><strong>Programmer :</strong> programmer le billet pour une mise en ligne à la date de
-			publication choisie.</li>
-			<li><strong>En attente : en attente de publication.</strong></li>
-			<li><strong>Changer de catégorie :</strong> dirige vers la liste des catégories pour changer
-			celle des billets sélectionnés.</li>
-			<li><strong>Changer l'auteur :</strong> permet de changer l'auteur du billet en indiquant
-			l'identifiant de l'utilisateur qui deviendra le nouvel auteur.</li>
-			<li><strong>Supprimer :</strong> supprime le billet (cette opération est irréversible).</li>
-		</ul>
+<h4>Recherche</h4>
+
 </body>
 </html>
Index: locales/fr/help/core_trackbacks.html
===================================================================
--- locales/fr/help/core_trackbacks.html	(revision 2450)
+++ locales/fr/help/core_trackbacks.html	(revision 1999)
@@ -8,10 +8,10 @@
 <h4>Rétroliens</h4>
 <p>Pour faire un rétrolien cliquez sur le lien <em>Faire des rétroliens</em>.
-Si vous ne voyez pas ce lien, vérifiez que votre billet est bien à l'état
-<em>Publié</em>.</p>
+Si vous ne voyez pas ce lien, vérifiez que votre billet est bien dans l'état
+<em>publié</em>.</p>
 
 <dl>
   <dt>URLs à rétrolier</dt>
-  <dd>Indiquez ici la ou les URL que vous aurez relevée(s) dans le(s) billet(s) vers le(s)quel(s)
+  <dd>Indiquez ici la ou les URL que vous aurez relevé dans le billet vers lequel
   vous souhaitez envoyer un rétrolien.</dd>
   
@@ -25,5 +25,5 @@
   <dd>Si votre billet comporte des liens vers des billets précis et si la
   plate-forme du blog destinataire est configurée pour le permettre, cette
-  fonction détectera automatiquement les URLs spécifiques d'envoi de
+  fonction découvrira automatiquement les URLs spécifiques d'envoi de
   rétrolien.</dd>
 </dl>
Index: locales/fr/help/core_update.html
===================================================================
--- locales/fr/help/core_update.html	(revision 2474)
+++ locales/fr/help/core_update.html	(revision 2314)
@@ -1,37 +1,11 @@
 <html>
-  <head>
-    <title>Mise à jour</title>
-  </head>
-  <body>
-    <h4>Mise à jour</h4>
-    <p>Cette page permet de mettre à jour Dotclear de manière automatique.
-      Si une version plus récente que la version actuellement installée
-      existe, elle vous sera proposée. Avant de faire la mise à jour
-      vous pouvez regarder ce que cette version va changer en cliquant
-      sur <em>informations sur cette version</em>.</p>
+<head>
+  <title>Mise à jour</title>
+</head>
 
-    <p>Si aucune nouvelle version ne vous est proposée, vous pouvez forcer
-      la vérification en cliquant sur
-      <em>Forcer la vérification de mise à jour de Dotclear</em>.</p>
+<body>
 
-    <p>Si tout est correct, c'est-à-dire si vous n'avez modifié manuellement
-      aucun fichier de l'installation, la procédure de mise à jour va&nbsp;:</p>
-    <ul>
-      <li>faire une sauvegarde de votre installation actuelle dans le répertoire courant
-	nommé backup-x.y.x.zip (où x.y.z sont les numéros correspondant à la version ; exemple 2.5.3)</li>
-      <li>télécharger la nouvelle version</li>
-    </ul>
-    <p>Une fois cela fait vous aurez un message tel que
-      "Félicitations, vous êtes à un clic de la fin de la mise à jour. Finir la mise à jour."<br />
-      Cliquez sur <em>Finir la mise à jour</em>. Vous allez être déconnecté. La base de données sera
-      mise à jour, si nécessaire, lorsque vous vous reconnecterez.</p>
+<h4>Mise à jour</h4>
 
-    <p>Si vous avez modifié manuellement des fichiers, ceux-ci seront
-      listés et il vous sera conseillé de faire une mise à jour manuelle.</p>
-
-    <h4>Gestion des fichiers de sauvegarde</h4>
-    <p>A partir de cet onglet, vous pouvez supprimer les anciens fichiers de sauvegarde.</p>
-    <p>Vous pouvez aussi revenir à une version précédente. Ne revenez à une
-      version précédente que si vous rencontrez d'importantes difficultés avec la nouvelle version.</p>
-  </body>
+</body>
 </html>
Index: locales/fr/help/core_user.html
===================================================================
--- locales/fr/help/core_user.html	(revision 2436)
+++ locales/fr/help/core_user.html	(revision 1999)
@@ -1,88 +1,79 @@
 <html>
-  <head>
-    <title>Utilisateur</title>
-  </head>
+<head>
+  <title>Utilisateur</title>
+</head>
+
+<body>
+
+<h4>Informations utilisateur</h4>
+<dl>
+  <dt>Nom d'utilisateur</dt>
+  <dd>Il doit être composé d'au moins 2 caractères (lettres non accentuées,
+  chiffres ou symboles, pas d'espace). Ce champ est obligatoire.</dd>
+
+  <dt>Mot de passe</dt>
+  <dd>Indiquez deux fois le mot de passe dans les champs <em>Mot de passe</em>
+  et <em>Confirmer le mot de passe</em>. Le mot de passe doit être long d'au
+  moins 6 caractères. Ces deux champs sont obligatoires.</dd>
   
-  <body>
-    <p>Cette page permet de créer de nouveaux utilisateurs mais aussi de modifier 
-      le profil d'utilisateurs existants.</p>
-    <p>Pour créer (ou modifier) un utilisateur votre mot de passe vous sera demandé dans
-      le champ <em>Votre mot de passe</em>.</p>
-    
-    <h4>Profil utilisateur</h4>
-    <dl>
-      <dt>Nom d'utilisateur (Identifiant)</dt>
-      <dd>Il doit être composé d'au moins 2 caractères (lettres non accentuées,
-	chiffres ou symboles, pas d'espace). Ce champ est obligatoire.</dd>
-      
-      <dt>Mot de passe</dt>
-      <dd>
-	<p>
-	  Indiquez deux fois le mot de passe dans les champs <em>Mot de passe</em>
-	  et <em>Confirmer le mot de passe</em>. Le mot de passe doit être long d'au
-	  moins 6 caractères. Ces deux champs sont obligatoires.</p>
-	<p>Une indication sur la robustesse de votre mot de passe devrait appaître en
-	  regard du champ <em>Mot de passe</em>.</p>
-      </dd>
-      
-      <dt>Changement de mot de passe requis pour la connexion</dt>
-      <dd>Cocher cette case permettra au nouvel utilisateur de choisir par lui-même
-	son mot de passe de connexion.</dd>
-      
-      <dt>Super administrateur</dt>
-      <dd>Ce choix attribuera toutes les permissions au profil utilisateur sur
-	l'ensemble des blogs de l'installation.</dd>
-      
-      <dt>Nom, Prénom</dt>
-      <dd>Si le pseudonyme n'est pas renseigné, le nom de l'auteur qui sera affiché
-	sera composé des noms et prénoms renseignés dans ces champs.</dd>
-      
-      <dt>Pseudonyme</dt>
-      <dd>Vous pouvez choisir ici le pseudonyme sous lequel vos billets seront signés.
-	S'il est renseigné, le pseudonyme se substitue au nom et au prénom.</dd>
-      
-      <dt>Email</dt>
-      <dd>Cette adresse sera utilisée lors de la régénération du mot de passe depuis
-	la fenêtre d'authentification de dotclear.</dd>
-      
-      <dt>URL</dt>
-      <dd>Indique le site web de l'utilisateur. S'il est indiqué, le nom du rédacteur
-	d'un billet sera présenté comme un lien vers le site donné.</dd>
-    </dl>
-    
-    <h4>Options utilisateur</h4>
-    <dl>
-      <dt>Langue de l'utilisateur</dt>
-      <dd>Indique la langue dans laquelle on souhaite publier ses billets. Si la
-	traduction existe, l'interface sera également traduite dans cette langue.</dd>
-      
-      <dt>Fuseau horaire de l'utilisateur</dt>
-      <dd>Ce choix déterminera l'affichage de l'heure de publication des billets.</dd>
-      
-      <dt>Format d'édition préféré</dt>
-      <dd>Choix de la syntaxe par défaut pour la saisie des billets. Le wiki est une
-	syntaxe simplifiée et sera converti en xhtml valide&nbsp;; à moins que vous ne
-	maîtrisiez parfaitement le xhtml, nous vous conseillons le choix du wiki.</dd>
-      
-      <dt>État des billets par défaut</dt>
-      <dd>Le statut par défaut des billets peut être déterminé à&nbsp;:
-	<ul>
-	  <li><strong>En attente&nbsp;:</strong> le statut de publication n'a pas encore
-	    été décidé.</li>
-	  <li><strong>Programmé&nbsp;:</strong> le billet sera mis en ligne aux date et
-	    heure indiquées dans le champ <em>Publié le</em>.</li>
-	  <li><strong>Non publié&nbsp;:</strong> billet hors ligne.</li>
-	  <li><strong>Publié&nbsp;:</strong> billet en ligne.</li>
-	</ul>
-      </dd>
-      
-      <dt>Taille de la zone d'édition</dt>
-      <dd>Fixe la hauteur de la zone d'édtion du billet. Par défaut ce paramètre est
-      réglé à la valeur 24.</dd>  
-      
-      <dt>Format de la liste des mots-clés</dt>
-      <dd>Ce choix permet, dans la page d'édition d'un billet, d'afficher tous les
-	mots-clés disponibles ou seulement les plus utilisés.</dd>
-    </dl>
-  </body>
+  <dt>Nom, Prénom</dt>
+  <dd>Si le pseudonyme n'est pas renseigné, le nom de l'auteur qui sera affiché
+  sera composé des noms et prénoms renseignés dans ces champs.</dd>
+
+  <dt>Pseudonyme</dt>
+  <dd>Vous pouvez choisir ici le pseudonyme sous lequel vos billets seront signés.
+  S'il est renseigné, le pseudonyme se substitue au nom et au prénom.</dd>
+
+  <dt>Email</dt>
+  <dd>Cette adresse sera utilisée lors de la régénération du mot de passe depuis
+  la fenêtre d'authentification de dotclear.</dd>
+
+  <dt>URL</dt>
+  <dd>Indique le site web de l'utilisateur. S'il est indiqué, le nom du rédacteur
+  d'un billet sera présenté comme un lien vers le site donné.</dd>
+  
+  <dt>Format d'édition préféré</dt>
+  <dd>Choix de la syntaxe par défaut pour la saisie des billets. Le wiki est une
+  syntaxe simplifiée et sera converti en xhtml valide&nbsp;; à moins que vous ne
+  maîtrisiez parfaitement le xhtml, nous vous conseillons le choix du wiki.</dd>
+  
+  <dt>État des billets par défaut</dt>
+  <dd>Le statut par défaut des billets peut être déterminé à&nbsp;:
+    <ul>
+      <li><strong>En attente&nbsp;:</strong> le statut de publication n'a pas encore
+      été décidé.</li>
+      <li><strong>Programmé&nbsp;:</strong> le billet sera mis en ligne aux date et
+      heure indiquées dans le champ <em>Publié le</em>.</li>
+      <li><strong>Non publié&nbsp;:</strong> billet hors ligne.</li>
+      <li><strong>Publié&nbsp;:</strong> billet en ligne.</li>
+    </ul>
+  </dd>
+
+  <dt>Taille de la zone d'édition</dt>
+  <dd>Fixe la hauteur de la zone d'édtion du billet. Par défaut ce paramètre est
+  réglé à la valeur 24.</dd>
+  
+  <dt>Langue de l'utilisateur</dt>
+  <dd>Indique la langue dans laquelle on souhaite publier ses billets. Si la
+  traduction existe, l'interface sera également traduite dans cette langue.</dd>
+
+  <dt>Fuseau horaire de l'utilisateur</dt>
+  <dd>Ce choix déterminera l'affichage de l'heure de publication des billets.</dd>
+
+  <dt>Changement de mot de passe requis pour la connexion</dt>
+  <dd>Cocher cette case permettra au nouvel utilisateur de choisir par lui-même
+  son mot de passe de connexion.</dd>
+
+  <dt>Super administrateur</dt>
+  <dd>Ce choix attribuera toutes les permissions au profil utilisateur sur
+  l'ensemble des blogs de l'installation.</dd>
+</dl>
+
+<h4>Mots-clés</h4>
+<dl>
+  <dt>Format de la liste des mots-clés</dt>
+  <dd>Ce choix permet, dans la page d'édition d'un billet, d'afficher tous les
+  mots-clés disponibles ou seulement les plus utilisés.</dd>
+</dl>
+</body>
 </html>
Index: locales/fr/help/core_user_pref.html
===================================================================
--- locales/fr/help/core_user_pref.html	(revision 2425)
+++ locales/fr/help/core_user_pref.html	(revision 1999)
@@ -13,21 +13,21 @@
   
   <dt>Pseudonyme</dt>
-  <dd>Vous pouvez choisir ici le pseudonyme avec lequel vos billets seront signés.
+  <dd>Vous pouvez choisir ici le pseudonyme sous lequel vos billets seront signés.
   S'il est renseigné, le pseudonyme se substitue au nom et au prénom.</dd>
   
   <dt>Email</dt>
-  <dd>Adresse à laquelle sera envoyé un nouveau mot de passe si vous oubliez le vôtre. Cette à cette adresse également que seront envoyées les notifications de nouveaux commentaires si cette option existe sur votre installation. <em>(Si vous modifiez ce champ, vous devrez indiquer votre 
-  mot de passe actuel dans le champ idoine en bas du formulaire pour pouvoir valider ce changement.)</em></dd>
+  <dd>Adresse à laquelle devront être envoyées les notifications de nouveaux
+  commentaires par email.</dd>
   
   <dt>URL</dt>
   <dd>Indique le site web de l'utilisateur. S'il est indiqué, le nom du rédacteur
-  d'un billet sera présenté comme un lien vers le site donné. <em>(Cette information sera également utilisée pour la reconnaissance du commentaire de l'auteur d'un billet si le thème le prévoit.)</em></dd>
+  d'un billet sera présenté comme un lien vers le site donné.</dd>
   
   <dt>Langue de l'utilisateur</dt>
-  <dd>Indique la langue dans laquelle on souhaite publier ses entrées (billets ou pages). Si la
+  <dd>Indique la langue dans laquelle on souhaite publier ses billets. Si la
   traduction existe, l'interface sera également traduite dans cette langue.</dd>
   
   <dt>Fuseau horaire de l'utilisateur</dt>
-  <dd>Ce choix déterminera l'affichage de l'heure de publication des entrées.</dd>
+  <dd>Ce choix déterminera l'affichage de l'heure de publication des billets.</dd>
   
   <dt>Changer le mot de passe</dt>
@@ -35,24 +35,9 @@
   dans les champs <em>Nouveau mot de passe</em> et <em>Confirmer le mot de 
   passe</em>. Le mot de passe doit être long d'au moins 6 caractères. 
-  Si aucun mot de passe n'est spécifié, il ne sera pas changé. <em>(Si vous modifiez ce champ, 
-  vous devez indiquer votre mot de passe actuel dans le champ idoine en bas du formulaire.)</em></dd>
+  Si aucun mot de passe n'est spécifié, il ne sera pas changé.</dd>
 </dl>
   
 <h4>Mes options</h4>
 <dl> 
-  <dt>Activer l'interface avancée de la médiathèque</dt>
-  <dd>Permet d'activer ou non l'interface avancée d'envoi de fichiers multiples dans la médiathèque
-  (NB : votre navigateur doit supporter et accepter le Javascript pour bénéficier de cette fonctionnalité).</dd>
-
-  <dt>Désactiver le glisser-déposer pour ordonnancer les éléments</dt>
-  <dd>Permet de désactiver les fonctionnalités "glisser/déposer" pour le réordonnancement des éléments. Des
-  champs numériques permettront alors d'indiquer la position des éléments.</dd>
-
-  <dt>Nombre d'éléments affichés par page dans la médiathèque</dt>
-  <dd>Définit le nombre de médias affichés par page dans la médiathèque (les dossiers sont exclus du décompte).</dd>
-  
-  <dt>Ne pas utiliser le favicon standard de Dotclear </dt>
-  <dd>Permet de désactiver l'affichage du favicon standard de Dotclear dans la barre d'adresse du navigateur.</dd>
-    
   <dt>Format d'édition préféré</dt>
   <dd>Choix de la syntaxe par défaut pour la saisie des billets. Le wiki est une
@@ -77,8 +62,16 @@
   
   <dt>Activer l'éditeur visuel</dt>
-  <dd>Permet d'activer ou non l'éditeur visuel pour les billets, pages et description des catégories.</dd>
+  <dd>Permet d'activer ou non l'éditeur visuel des billets et des catégories.</dd>
   
-  <dt>Coloration syntaxique de l'éditeur de thème</dt>
-  <dd>Applique une coloration syntaxique lors de l'édition des thèmes (fichiers html, css).</dd>
+  <dt>Activer l'interface avancée du gestionnaire de médias</dt>
+  <dd>Cette option permet d'envoyer plusieurs fichiers à la fois sur le serveur.</dd>
+  
+  <dt>Modules du tableau de bord</dt>
+  <dd>Les choix opérés dans cette zone détermineront l'affichage de 
+  ces blocs sur le tableau de bord.</dd>
+  
+  <dt>Format de la liste de mots-clés</dt>
+  <dd>Ce choix permet, dans la page d'édition d'un billet, d'afficher tous les mots-clés
+  disponibles ou seulement les plus utilisés.</dd>
 </dl>
 
@@ -86,47 +79,14 @@
 <dl>
   <dt>Mes favoris</dt>
-  <dd><p>Cette zone affiche les favoris actuellement utilisés. Ils peuvent être
-  réordonnés au moyen de la souris si javascript est activé dans votre navigateur et que vous n'avez pas désactivé le "glisser/déposer" (voir plus haut).
-  Sinon, une case permet d'attribuer à chaque favori un numéro d'ordre.</p> 
-  <p>Lorsque
+  <dd>Cette zone affiche les favoris actuellement utilisés. Ils peuvent être
+  réordonnés au moyen de la souris si javascript est activé dans votre navigateur.
+  Sinon, une case permet d'attribuer à chaque favori un numéro d'ordre. Lorsque
   vous avez terminé, n'oubliez pas d'enregistrer vos modifications. Vous pouvez
-  aussi sélectionner les favoris à supprimer du tableau de bord.</p></dd>
-
-  <dt>Définir comme favoris par défaut (super administrateur)</dt> 
-  <dd>Permet de tranformer la liste actuelle des favoris en une liste par défaut pour
-  tous les utilisateurs. Cette liste par défaut sera proposée aux utilisateurs s'ils n'ont
-  pas déjà défini leur favoris.</dd>
-      
+  aussi sélectionner les favoris à supprimer du tableau de bord.</dd>
+  
   <dt>Favoris disponibles</dt>
-  <dd>Toutes les pages d'administration pouvant être mises en favoris sont listées ici. 
+  <dd>Tous les plugins permettant d'être mis en favoris sont listés ici. 
   Cochez les cases correspondantes aux favoris que vous souhaitez utiliser, puis
   ajoutez-les.</dd>
-
-  <dt>Afficher les favoris en haut du menu</dt>
-  <dd>Permet d'afficher la liste des favoris dans le menu latéral de gauche.</dd>
-
-  <dt>Jeu d'icônes</dt>
-  <dd>Si plusieurs jeux d'icônnes sont installés, permet de définir le jeu d'icônes de l'utilisateur.</dd>
-  
-  <dt>Modules du tableau de bord</dt>
-  <dd>Les choix opérés dans cette zone détermineront l'affichage de 
-  ces blocs sur le tableau de bord.</dd>
-  
-  <dt>Afficher les liens vers la documentation</dt>
-  <dd>Permet d'afficher ou non des liens rapides vers la documentation de Dotclear sur la page d'accueil du tableau de bord.</dd>
-  
-  <dt>Afficher les nouvelles de Dotclear</dt>
-  <dd>Permet d'afficher ou non les dernières actualités de Dotclear sur la page d'accueil du tableau de bord.</dd>
-
-  <dt>Afficher le formulaire de billet rapide</dt>
-  <dd>Permet d'afficher ou non le formulaire "Billet rapide" sur la page d'accueil du tableau de bord.</dd>
-
-  <dt>Afficher le nombre de tâches en retard sur l'icône Maintenance du tableau de bord</dt>
-  <dd>Permet d'afficher ou non le nombre de tâches "en retard" (ie. qu'il est conseillé d'effectuer) sous l'icône 
-  "Maintenance" du tableau de bord. L'icône Maintenance doit faire partie des favoris pour que l'affichage soit opérationnel.</dd>
-
-  <dt>Afficher la liste des tâches en retard dans un module du tableau de bord</dt>
-  <dd>Permet d'afficher ou non la liste des tâches "en retard" (ie. qu'il est conseillé d'effectuer) dans une section
-  dédiée de l'accueil du tableau de bord.</dd>
 </dl>
 </body>
Index: locales/fr/help/core_users.html
===================================================================
--- locales/fr/help/core_users.html	(revision 2478)
+++ locales/fr/help/core_users.html	(revision 2314)
@@ -1,60 +1,11 @@
 <html>
-  <head>
-    <title>Utilisateurs</title>
-  </head>
-  <body>
-    <p>Cette page liste les utilisateurs sur la plateforme.</p>
-    <p>Pour ajouter (ou modifier) les permissions d'un (ou plusieurs) utilisateur(s)
-      votre mot de passe vous sera demandé dans le champ <em>Votre mot de passe</em>.</p>
+<head>
+  <title>Utilisateurs</title>
+</head>
 
-    <h4>Filtre de la liste des utilisateurs</h4>
-    <dl>
-      <dt>Chercher</dt>
-      <dd>La recherche se fait sur l'identifiant de l'utilisateur.
-	On peut chercher sur une partie de l'identifiant en utilisant le caractère joker *.</dd>
+<body>
 
-      <dt>Trier par</dt>
-      <dd>On peut trier la liste des utilisateurs par leur <em>identifiant</em>, leur <em>Nom</em>,
-	leur <em>Prénom</em>, leur <em>Pseudonyme</em> ou leur <em>Nombre d'entrées</em>.</dd>
+<h4>Utilisateurs</h4>
 
-      <dt>Ordre</dt>
-      <dd>Indique l'ordre dans lequel on souhaite effectuer le tri (décroissant ou croissant).</dd>
-
-      <dt>Utilisateurs par page</dt>
-      <dd>Détermine le nombre d'utisateurs affichés par page de cette liste</dd>
-    </dl>
-
-    <h4>Actions par lots sur les utilisateurs</h4>
-    <p>Il est possible d'effectuer un ensemble d'actions sur plusieurs utilisateurs, d'un
-      seul coup.</p>
-    <ul>
-      <li><strong>Définir les permissions</strong>&nbsp;: définir les permissions pour un ou plusieurs blogs.</li>
-      <li><strong>Supprimer</strong>&nbsp;: supprimer un utilisateur de la plateforme.
-	On ne peut pas supprimer un utilisateur ayant écrit des billets.</li>
-    </ul>
-    <p>Si vous choisissez de définir les permissions d'un utilisateur, vous allez être redirigé vers une nouvelle page, présentant
-      la liste des blogs présents sur votre plateforme. Cochez les cases correspondants aux blogs pour lesquels vous voulez définir
-      des permissions. Cliquez sur <em>Définir les permissions</em>.</p>
-
-    <h4>Permissions utilisateurs</h4>
-    <p>Pour chaque blog, vous avez un ensemble de permissions.</p>
-    <ul>
-      <li><strong>administrateur</strong>&nbsp;: Gestion complète du blog.</li>
-      <li><strong>gérer ses propres billets et commentaires</strong>&nbsp;:
-	L'utilisateur a le droit de créer des billets et d'accéder aux commentaires des billets lui appartenant.</li>
-      <li><strong>publier des billets et des commentaires</strong>&nbsp;:
-	L'utilisateur peut changer le statut de publication de ses propres billets et des commentaires de ceux-ci.</li>
-      <li><strong>supprimer des billets et des commentaires</strong>&nbsp;:
-	L'utilisateur peut supprimer ses propres billets et les commentaires de ceux-ci.</li>
-      <li><strong>gérer tous les billets et commentaires</strong>&nbsp;:
-	L'utilisateur peut gérer complètement les billets du blog, quel qu'en soit l'auteur.</li>
-      <li><strong>gérer les catégories</strong>&nbsp;:
-	L'utilisateur peut créer, modifier, supprimer des catégories.</li>
-      <li><strong>gérer ses propres médias</strong>&nbsp;:
-	L'utilisateur peut ajouter des médias et modifier ou supprimer les siens.</li>
-      <li><strong>gérer tous les médias</strong>&nbsp;:
-	L'utilisateur peut gérer les médias de n'importe quel utilisateur.</li>
-    </ul>
-    <p>Le statut <em>Super administrateur</em> se définit sur le profil de l'utilisateur.</p>
-  </body>
+</body>
 </html>
Index: locales/fr/help/core_wiki.html
===================================================================
--- locales/fr/help/core_wiki.html	(revision 2391)
+++ locales/fr/help/core_wiki.html	(revision 1999)
@@ -56,4 +56,5 @@
   <li><strong>Ancre</strong>&nbsp;: <code>~ancre~</code></li>
   <li><strong>Acronyme</strong>&nbsp;: <code>??acronyme|titre??</code></li>
+  <li><strong>Code HTML en ligne</strong>: deux apostrophes inversées <code>``code html``</code></li>
   <li><strong>Citation en ligne</strong>&nbsp;: <code>{{citation}}</code>,
     <code>{{citation|langue}}</code> ou <code>{{citation|langue|url}}</code></li>
@@ -71,5 +72,5 @@
 <dt>Insérer du code HTML</dt>
 <dd>Vous pouvez ponctuellement avoir besoin d'insérer du code HTML dans votre
-texte au format Wiki. Pour cela, pour insérer du code sous forme de bloc (<code>div</code>, <code>p</code>, …) utilisez le code suivant&nbsp;:
+texte au format Wiki. Pour cela, utilisez le code suivant&nbsp;:
 <pre>
 ///html
@@ -77,11 +78,8 @@
 ///
 </pre>
-Et pour insérer du code HTML en ligne (<code>span</code>, …) utilisez deux apostrophes inversées comme dans le code suivant&nbsp;:
-<pre>
-``&lt;span style="color:blue"&gt;mon texte en bleu&lt;/span&gt;``
-</pre>
 </dd>
 </dl>
 
+
 </body>
 </html>
Index: locales/fr/help/index.html
===================================================================
--- locales/fr/help/index.html	(revision 2415)
+++ locales/fr/help/index.html	(revision 2406)
@@ -56,5 +56,5 @@
 <div class="multi-part" id="users-doc" title="Documentation utilisateurs">
 	<h3>Documentation pour les utilisateurs</h3>
-	<div class="three-boxes">
+	<div class="three-boxes first-child">
 		<h4 class="pretty-title">Alimentation du blog</h4>
 			<ul class="from-left">
@@ -81,10 +81,10 @@
 					<ul><li>Informations du blog</li><li>Configuration du blog</li><li>Commentaires et rétroliens</li><li>Présentation du blog</li><li>Médias et images</li><li>Paramètres d&#039;indexation</li><li>Antispam</li><li>LightBox</li><li>Enregistrer</li><li>Configuration avancée</li></ul></li>
 				<li><a href="http://fr.dotclear.org/documentation/2.0/usage/user-preferences">Mes préférences</a>
-					<ul><li>Mon profil</li><li>Mes options</li><li>Mon tableau de bord</li></ul></li>
+					<ul><li></li><li>Mes options</li><li>Mes favoris</li></ul></li>
 				<li><a href="http://fr.dotclear.org/documentation/2.0/admin/themes">Apparence du blog</a>
 					<ul><li>Choisir un thème</li><li>Installer un thème</li><li>Personnaliser un thème</li><li>Éditeur de thème</li></ul></li>
 			</ul>
 	</div>
-	<div class="three-boxes fieldset">
+	<div class="three-boxes last-child fieldset">
 			<h4 class="smart-title">Lectures complémentaires</h4>
 				<h5>Glossaire</h5>
@@ -104,5 +104,5 @@
 	<div class="multi-part" id="admin-doc" title="Documentation administrateurs">
 	<h3>Documentation pour les administrateurs</h3>
-		<div class="three-boxes">
+		<div class="three-boxes first-child">
 		<h4 class="pretty-title">Installation et mise à jour</h4>
 			<ul class="from-left">
@@ -143,5 +143,5 @@
 			</ul>
 		</div>
-		<div class="three-boxes">
+		<div class="three-boxes last-child">
 			<h4 class="pretty-title">Gestion et maintenance</h4>
 			<ul class="from-left">
Index: locales/fr/help/themeEditor.html
===================================================================
--- locales/fr/help/themeEditor.html	(revision 1999)
+++ locales/fr/help/themeEditor.html	(revision 1999)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html>
+<head>
+  <title>Éditeur de thème</title>
+</head>
+
+<body>
+<h4>Éditeur de thème</h4>
+<p>L'éditeur de thème vous permet de modifier les fichiers template, les feuilles
+de style et les fichiers JavaScript de votre thème en cours d'utilisation.</p>
+
+<p>La liste des fichiers est divisée en trois parties&nbsp;:</p>
+<ul>
+  <li>fichiers template&nbsp;: les templates,</li>
+  <li>fichiers CSS&nbsp;: les feuilles de style,</li>
+  <li>fichiers JavaScript.</li>
+</ul>
+
+<p>Une puce jaune contre le nom de chaque fichier indique que celui-ci fait partie
+du thème. Une puce rouge indique qu'il se trouve dans le thème parent. 
+Une puce noire indique qu'il se trouve dans le thème "default".</p>
+
+<p>Si vous modifiez un fichier se trouvant dans le thème "default", celui-ci
+sera copié dans votre thème en cours d'utilisation.</p>
+
+<p>Pour modifier un fichier, cliquez sur son nom, le contenu s'affichera alors
+dans une zone d'édition. Si le fichier peut-être écrit vous pourrez sauvegarder
+celui-ci en cliquant sur "enregistrer".</p>
+
+<p>Les modifications sont immédiatement appliquées lors de la sauvegarde, soyez
+vigilants.</p>
+
+<p>Pour éditer vos templates, n'hésitez pas à consultez la
+<a href="http://doc.dotclear.net/2.0/resources/templates">liste des marqueurs
+de template</a>.</p>
+
+<p>Notez que vous pouvez activer la coloration syntaxique dans vos préférences
+(onglet « Mes options »).</p>
+
+</body>
+</html>
Index: locales/fr/main.po
===================================================================
--- locales/fr/main.po	(revision 2487)
+++ locales/fr/main.po	(revision 2411)
@@ -11,5 +11,5 @@
 "Project-Id-Version: Dotclear\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-17 09:38+0200\n"
+"POT-Creation-Date: 2013-10-08 07:23+0000\n"
 "PO-Revision-Date: 2012-08-13 07:13+0000\n"
 "Last-Translator: xave <xave@dotclear.net>\n"
@@ -38,5 +38,5 @@
 #, php-format
 msgid "The e-mail was sent successfully to %s."
-msgstr "Le message a été envoyé à %s."
+msgstr "Message envoyé avec succès à %s."
 
 msgid "Your new password"
@@ -126,5 +126,5 @@
 #, php-format
 msgid "Blog \"%s\" successfully created"
-msgstr "Le blog \"%s\" a été créé."
+msgstr "Blog \"%s\" créé avec succès."
 
 msgid "New blog"
@@ -169,5 +169,5 @@
 #, php-format
 msgid "Blog \"%s\" successfully deleted"
-msgstr "Le blog \"%s\" a été supprimé."
+msgstr "Blog \"%s\" supprimé avec succès."
 
 msgid "Delete a blog"
@@ -215,11 +215,11 @@
 
 msgid "H4"
-msgstr "H4"
+msgstr ""
 
 msgid "H3"
-msgstr "H3"
+msgstr ""
 
 msgid "P"
-msgstr "P"
+msgstr ""
 
 msgid "(none)"
@@ -229,4 +229,7 @@
 msgstr "Titre"
 
+msgid "Title (optional)"
+msgstr "Titre (optionnel)"
+
 msgid "Title, Date"
 msgstr "Titre, date"
@@ -269,5 +272,5 @@
 
 msgid "Blog has been successfully updated."
-msgstr "Le blog a été mis à jour."
+msgstr "Blog mis à jour avec succès."
 
 msgid "Blog settings"
@@ -281,5 +284,5 @@
 
 msgid "Blog has been successfully created."
-msgstr "Le blog a été créé."
+msgstr "Blog créé avec succès."
 
 msgid "Parameters"
@@ -423,5 +426,5 @@
 
 msgid "Be carefull if you share it with other blogs in your installation."
-msgstr "Soyez prudent si plusieurs blogs de l'installation partagent la même médiathèque."
+msgstr "Soyez prudent si vous plusieurs blogs de l'installation partagent la même médiathèque."
 
 msgid "Generated image sizes (in pixels)"
@@ -512,5 +515,5 @@
 msgid_plural "There are %s themes to update available from repository."
 msgstr[0] "Il y a un thème à mettre à jour depuis le dépôt."
-msgstr[1] "Il y a %s thèmes à mettre à jour depuis le dépôt."
+msgstr[1] "Il y a %s thème à mettre à jour depuis le dépôt."
 
 #, php-format
@@ -569,6 +572,9 @@
 msgstr "Liste des blogs"
 
+msgid "List of categories"
+msgstr "Liste des catégories"
+
 msgid "Blog has been successfully deleted."
-msgstr "Le blog a été supprimé."
+msgstr "Blog supprimé avec succès."
 
 msgid "Create a new blog"
@@ -613,5 +619,5 @@
 msgid_plural "%d blogs match the filter."
 msgstr[0] "%d blog correspondant au filtre"
-msgstr[1] "%d blogs correspondants au filtre"
+msgstr[1] "%d blogs correspondant au filtre"
 
 msgid "Blogs list"
@@ -643,5 +649,5 @@
 #, php-format
 msgid "The category \"%s\" has been successfully deleted."
-msgstr "La catégorie \"%s\" a été supprimée."
+msgstr "Catégorie \"%s\" créée avec succès."
 
 msgid "Category where to move posts does not exist"
@@ -650,11 +656,11 @@
 #, php-format
 msgid "The entries have been successfully moved to category \"%s\""
-msgstr "Les billets ont été déplacés dans la catégorie \"%s\"."
+msgstr "Les billets ont été déplacés dans la catégorie \"%s\" avec succès."
 
 msgid "Categories have been successfully reordered."
-msgstr "Les catégories ont été réordonnées."
+msgstr "Catégories réordonnées avec succès."
 
 msgid "Categories order has been successfully reset."
-msgstr "Les catégories ont été réordonnées par défaut."
+msgstr "Catégories réordonnées par défaut avec succès."
 
 msgid "Categories"
@@ -663,9 +669,9 @@
 msgid "The category has been successfully removed."
 msgid_plural "The categories have been successfully removed."
-msgstr[0] "La catégorie a été déplacée."
-msgstr[1] "Les catégories ont été déplacées."
+msgstr[0] "Catégorie déplacée avec succès."
+msgstr[1] "Catégories déplacées avec succès."
 
 msgid "Entries have been successfully moved to the category you choose."
-msgstr "Les billets ont été déplacés dans la catégorie choisie."
+msgstr "Les billets ont été déplacés dans la catégorie choisie avec succès."
 
 msgid "New category"
@@ -713,15 +719,15 @@
 
 msgid "The category has been successfully moved"
-msgstr "La catégorie a été déplacée."
+msgstr "Catégorie déplacée avec succès."
 
 msgid "The category has been successfully updated."
-msgstr "La catégorie a été mise à jour."
+msgstr "Catégorie mise à jour avec succès."
 
 #, php-format
 msgid "The category \"%s\" has been successfully created."
-msgstr "La catégorie \"%s\" a été créée."
+msgstr "Catégorie \"%s\" créée avec succès."
 
 msgid "Category has been successfully updated."
-msgstr "La catégorie a été mise à jour."
+msgstr "Catégorie mise à jour avec succès."
 
 msgid "Category information"
@@ -765,5 +771,5 @@
 
 msgid "Comment has been successfully created."
-msgstr "Le commentaire a été créé."
+msgstr "Commentaire créé avec succès."
 
 msgid "No comment"
@@ -771,8 +777,8 @@
 
 msgid "Comment has been successfully updated."
-msgstr "Le commentaire a été mis à jour."
+msgstr "Commentaire mis à jour avec succès."
 
 msgid "Comment has been successfully deleted."
-msgstr "Le commentaire a été effacé."
+msgstr "Commentaire effacé avec succès."
 
 msgid "You can't edit this comment."
@@ -848,11 +854,11 @@
 
 msgid "Selected comments have been successfully updated."
-msgstr "Les entrées sélectionnées ont été modifiées."
+msgstr "Les entrées sélectionnées ont été modifiées avec succès."
 
 msgid "Selected comments have been successfully deleted."
-msgstr "Les commentaires sélectionnés ont été supprimés."
+msgstr "Les commentaires sélectionnés ont été supprimés avec succès."
 
 msgid "Spam comments have been successfully deleted."
-msgstr "Les commentaires indésirables ont été supprimés."
+msgstr "Les commentaires indésirables ont été supprimés avec succès."
 
 msgid "You have one spam comment."
@@ -1103,5 +1109,5 @@
 
 msgid "Configuration file has been successfully created."
-msgstr "Le fichier de configuration a été créé."
+msgstr "Le fichier de configuration a été créé avec succès."
 
 msgid "User information"
@@ -1124,5 +1130,5 @@
 
 msgid "Dotclear has been successfully installed. Here is some useful information you should keep."
-msgstr "Dotclear est installé. Conservez les informations suivantes précieusement."
+msgstr "Dotclear a été installé avec succès. Conservez les informations suivantes précieusement."
 
 msgid "Your account"
@@ -1223,5 +1229,5 @@
 
 msgid "Language has been successfully deleted."
-msgstr "La langue a été supprimée."
+msgstr "Langue supprimée avec succès."
 
 msgid "Invalid language file URL."
@@ -1229,8 +1235,8 @@
 
 msgid "Language has been successfully upgraded"
-msgstr "La langue a été mise à jour."
+msgstr "Langue mise à jour avec succès."
 
 msgid "Language has been successfully installed."
-msgstr "La langue a été installée."
+msgstr "Langue installée avec succès."
 
 msgid "Unable to move uploaded file."
@@ -1314,21 +1320,21 @@
 #, php-format
 msgid "Directory \"%s\" has been successfully created."
-msgstr "Le répertoire \"%s\" a été créé."
+msgstr "Répertoire \"%s\" créé avec succès."
 
 msgid "Files have been successfully uploaded."
-msgstr "Le fichier a été chargé."
+msgstr "Fichier chargé avec succès."
 
 #, php-format
 msgid "Successfully delete one media."
 msgid_plural "Successfully delete %d medias."
-msgstr[0] "Suppression d'un média effectuée."
-msgstr[1] "Suppression de %d médias effectuée."
+msgstr[0] "Suppression d'un média avec succès."
+msgstr[1] "Suppression de %d médias avec succès."
 
 msgid "File has been successfully removed."
-msgstr "Le fichier a été supprimé."
+msgstr "Fichier supprimé avec succès."
 
 #, php-format
 msgid "Directory \"%s\" has been successfully rebuilt."
-msgstr "Le répertoire \"%s\" a été reconstruit."
+msgstr "Répertoire \"%s\" reconstruit avec succès."
 
 msgid "Media manager"
@@ -1352,14 +1358,14 @@
 
 msgid "Directory has been successfully created."
-msgstr "Le répertoire a été créé."
+msgstr "Répertoire créé avec succès."
 
 msgid "Directory has been successfully removed."
-msgstr "Le répertoire a été supprimé."
+msgstr "Répertoire supprimé avec succès."
 
 msgid "Directory has been successfully rebuilt."
-msgstr "Le répertoire a été reconstruit."
+msgstr "Répertoire reconstruit avec succès."
 
 msgid "Zip file has been successfully extracted."
-msgstr "Le fichier zip a été extrait."
+msgstr "Le fichier zip a été extrait avec succès."
 
 #, php-format
@@ -1457,11 +1463,11 @@
 
 msgid "File has been successfully updated."
-msgstr "Le fichier a été mis à jour."
+msgstr "Fichier mis à jour avec succès."
 
 msgid "Thumbnails have been successfully updated."
-msgstr "Les miniatures ont été mises à jour."
+msgstr "Les miniatures mises à jour avec succès."
 
 msgid "Default media insertion settings have been successfully updated."
-msgstr "Les paramètres par défaut d'insertion des médias ont été mis à jour."
+msgstr "Les paramètres par défaut d'insertion des médias ont été mis à jour avec succès."
 
 msgid "Are you sure to delete this media?"
@@ -1643,6 +1649,6 @@
 msgid "There is one plugin to update available from repository."
 msgid_plural "There are %s plugins to update available from repository."
-msgstr[0] "Il y a un plugin à mettre à jour depuis le dépôt."
-msgstr[1] "Il y a %s plugins à mettre à jour depuis le dépôt."
+msgstr[0] "Il y a un plugin à mettre à jour depuis le dépôt"
+msgstr[1] "Il y a %s plugins à mettre à jour depuis le dépôt"
 
 msgid "Installed plugins"
@@ -1724,10 +1730,6 @@
 msgstr "Date de publication invalide"
 
-#, php-format
-msgid "The post \"%s\" has been successfully updated"
-msgstr "Le billet \"%s\" a été mis à jour."
-
 msgid "Entry has been successfully created."
-msgstr "Le billet a été créé."
+msgstr "Billet créé avec succès."
 
 msgid "Published"
@@ -1751,11 +1753,11 @@
 
 msgid "Entry has been successfully updated."
-msgstr "Le billet a été mis à jour."
+msgstr "Billet mis à jour avec succès."
 
 msgid "File has been successfully attached."
-msgstr "Le fichier a été attaché."
+msgstr "Fichier attaché avec succès."
 
 msgid "Attachment has been successfully removed."
-msgstr "L'annexe a été retirée."
+msgstr "Annexe retirée avec succès."
 
 msgid "Don't forget to validate your XHTML conversion by saving your post."
@@ -1906,10 +1908,4 @@
 msgstr "Non sélectionné"
 
-msgid "With attachments"
-msgstr "Avec annexe(s)"
-
-msgid "Without attachments"
-msgstr "Sans annexes"
-
 msgid "Number of comments"
 msgstr "Nombre de commentaires"
@@ -1919,15 +1915,12 @@
 
 msgid "Selected entries have been successfully updated."
-msgstr "Les entrées sélectionnées ont été modifiées."
+msgstr "Les entrées sélectionnées ont été modifiées avec succès."
 
 msgid "Selected entries have been successfully deleted."
-msgstr "Les entrées sélectionnées ont été supprimées."
+msgstr "Les entrées sélectionnées ont été supprimées avec succès."
 
 msgid "Selected:"
 msgstr "Sélectionné :"
 
-msgid "Attachments:"
-msgstr "Annexes :"
-
 msgid "Month:"
 msgstr "Mois :"
@@ -1949,11 +1942,11 @@
 
 msgid "Personal information has been successfully updated."
-msgstr "Vos informations personnelles ont été enregistrées."
+msgstr "Informations personnelles mises à jour avec succès."
 
 msgid "Personal options has been successfully updated."
-msgstr "Vos options personnelles ont été enregistrées."
+msgstr "Vos options personnelles ont été enregistrées avec succès."
 
 msgid "Dashboard options has been successfully updated."
-msgstr "Vos options du tableau de bord ont été enregistrées."
+msgstr "Les options du tableau de bord ont été enregistrées avec succès."
 
 msgid "No favorite selected"
@@ -1961,14 +1954,14 @@
 
 msgid "Favorites have been successfully added."
-msgstr "Les favoris ont été ajoutés."
+msgstr "Les favoris ont été ajoutés avec succès."
 
 msgid "Favorites have been successfully removed."
-msgstr "Les favoris ont été retirés."
+msgstr "Les favoris ont été retirés avec succès."
 
 msgid "Favorites have been successfully updated."
-msgstr "Les favoris ont été mis à jour."
+msgstr "Les favoris ont été mis à jour avec succès."
 
 msgid "Default favorites have been successfully updated."
-msgstr "Les favoris par défaut ont été enregistrés."
+msgstr "Les favoris par défaut ont été enregistrés avec succès."
 
 msgid "My profile"
@@ -2161,5 +2154,5 @@
 
 msgid "Manual checking of update done successfully."
-msgstr "La vérification manuelle de mise à jour a été effectuée."
+msgstr "Vérification manuelle de mise à jour effectuée avec succès."
 
 msgid "No newer Dotclear version available."
@@ -2211,5 +2204,5 @@
 
 msgid "User has been successfully updated."
-msgstr "L'utilisateur a été mis à jour."
+msgstr "Utilisateur mis à jour avec succès."
 
 #, php-format
@@ -2218,5 +2211,5 @@
 
 msgid "User has been successfully created."
-msgstr "L'utilisateur a été créé."
+msgstr "Utilisateur créé avec succès."
 
 msgid "User profile"
@@ -2279,8 +2272,8 @@
 
 msgid "User has been successfully removed."
-msgstr "L'utilisateur a été supprimé."
+msgstr "Utilisateur supprimé avec succès."
 
 msgid "The permissions have been successfully updated."
-msgstr "Les permissions ont été mises à jour."
+msgstr "Permissions mises à jour avec succès."
 
 msgid "users per page"
@@ -2297,5 +2290,5 @@
 
 msgid "User has been successfully deleted."
-msgstr "L'utilisateur a été supprimé."
+msgstr "Utilisateur supprimé avec succès."
 
 msgid "Back to user profile"
@@ -2373,30 +2366,30 @@
 msgid "%d entry has been successfully updated to status : \"%s\""
 msgid_plural "%d entries have been successfully updated to status : \"%s\""
-msgstr[0] "%s billet a été positionné au statut \"%s\"."
-msgstr[1] "%s billets ont été positionnés au statut \"%s\"."
+msgstr[0] "%s billet positionné au statut \"%s\" avec succès."
+msgstr[1] "%s billets positionnés au statut \"%s\" avec succès."
 
 #, php-format
 msgid "%d entry has been successfully marked as selected"
 msgid_plural "%d entries have been successfully marked as selected"
-msgstr[0] "%s billet a été marqué sélectionné."
-msgstr[1] "%s billets ont été marqués sélectionnés."
+msgstr[0] "%s billet marqué sélectionné avec succès."
+msgstr[1] "%s billets marqués sélectionnés avec succès."
 
 #, php-format
 msgid "%d entry has been successfully marked as unselected"
 msgid_plural "%d entries have been successfully marked as unselected"
-msgstr[0] "%s billet a été marqué désélectionné."
-msgstr[1] "%s billets ont été marqués désélectionnés."
+msgstr[0] "%s billet marqué désélectionné avec succès."
+msgstr[1] "%s billets marqués désélectionnés avec succès."
 
 #, php-format
 msgid "%d entry has been successfully deleted"
 msgid_plural "%d entries have been successfully deleted"
-msgstr[0] "%s entrée a été supprimée."
-msgstr[1] "%s entrées ont été supprimées."
+msgstr[0] "%s entrée supprimée avec succès."
+msgstr[1] "%s entrées supprimées avec succès."
 
 #, php-format
 msgid "%d entry has been successfully moved to category \"%s\""
 msgid_plural "%d entries have been successfully moved to category \"%s\""
-msgstr[0] "%s billet a été déplacé dans la catégorie \"%s\"."
-msgstr[1] "%s billets ont été déplacés dans la catégorie \"%s\"."
+msgstr[0] "%s billet a été déplacé dans la catégorie \"%s\" avec succès."
+msgstr[1] "%s billets ont été déplacés dans la catégorie \"%s\" avec succès."
 
 msgid "Change category for this selection"
@@ -2412,6 +2405,6 @@
 msgid "%d entry has been successfully set to user \"%s\""
 msgid_plural "%d entries have been successfully set to user \"%s\""
-msgstr[0] "%s billet a été affecté à l'utilisateur \"%s\"."
-msgstr[1] "%s billets ont été affectés à l'utilisateur \"%s\"."
+msgstr[0] "%s billet affecté à l'utilisateur \"%s\" avec succès."
+msgstr[1] "%s billets affectés à l'utilisateur \"%s\" avec succès."
 
 msgid "Change author for this selection"
@@ -2443,5 +2436,5 @@
 
 #, php-format
-msgid "%d comment"
+msgid "%d comments"
 msgid_plural "%d comments"
 msgstr[0] "%d commentaire"
@@ -2599,7 +2592,4 @@
 msgstr "Êtes-vous certain de vouloir supprimer le plugin \"%s\" ?"
 
-msgid "Are you sure you want to delete selected plugins?"
-msgstr "Êtes-vous certain de vouloir supprimer les plugins sélectionnés ?"
-
 msgid "Use this theme"
 msgstr "Utiliser ce thème"
@@ -2612,7 +2602,4 @@
 msgstr "Êtes-vous certain de vouloir supprimer le thème \"%s\" ?"
 
-msgid "Are you sure you want to delete selected themes?"
-msgstr "Êtes-vous certain de vouloir supprimer les thèmes sélectionnés ?"
-
 msgid "Are you sure you want to delete this backup?"
 msgstr "Êtes-vous certain de vouloir supprimer cette sauvegarde ?"
@@ -2775,5 +2762,5 @@
 
 msgid "File successfully uploaded."
-msgstr "Le fichier a été envoyé."
+msgstr "Fichier envoyé avec succès."
 
 msgid "No file in queue."
@@ -2812,16 +2799,16 @@
 
 #, php-format
-msgid "%d result"
-msgid_plural "%d results"
-msgstr[0] "%d résultat"
-msgstr[1] "%d résultats"
-
-msgid "no results"
-msgstr "pas de résultats"
+msgid "%d module"
+msgid_plural "%d modules"
+msgstr[0] "%d plugin"
+msgstr[1] "%d plugins"
+
+msgid "no module"
+msgstr "pas de plugins"
 
 msgid "Browse index:"
 msgstr "Parcourir l'index :"
 
-msgid "Plugins list"
+msgid "Modules list"
 msgstr "Liste des plugins"
 
@@ -2838,11 +2825,15 @@
 msgstr "Version courante"
 
-msgid "Plugin from official distribution"
+#, php-format
+msgid "Configure module \"%s\""
+msgstr "Configurer le plugin \"%s\""
+
+msgid "Module from official distribution"
 msgstr "Plugin de la distribution officielle"
 
-msgid "Configure plugin"
-msgstr "Configurer le plugin"
-
-msgid "No plugins matched your search."
+msgid "module from official distribution"
+msgstr "plugin de la distribution officielle"
+
+msgid "No module matches your search."
 msgstr "Aucun plugin ne correspond à votre recherche."
 
@@ -2859,70 +2850,27 @@
 msgstr "Mise à jour"
 
-msgid "No such plugin."
-msgstr "Plugin inexistant."
-
-msgid "Plugin has been successfully activated."
-msgid_plural "Plugins have been successfully activated."
-msgstr[0] "Ce plugin a été désactivé."
-msgstr[1] "Ces plugins ont été activé."
-
-msgid "You don't have permissions to deactivate this plugin."
-msgstr "Vous n'avez pas les permissions pour désactiver ce plugin."
-
-msgid "Plugin has been successfully deactivated."
-msgid_plural "Plugins have been successfully deactivated."
-msgstr[0] "Ce plugin a été désactivé."
-msgstr[1] "Ces plugins ont été désactivé."
-
-msgid "You don't have permissions to delete this plugin."
-msgstr "Vous n'avez pas les permissions pour supprimer ce plugin."
-
-msgid "Some plugins have not been deleted."
-msgstr "Certains plugins n'ont pas pu être supprimés."
-
-msgid "Plugin has been successfully deleted."
-msgid_plural "Plugins have been successfully deleted."
-msgstr[0] "Ce plugin a été supprimé."
-msgstr[1] "Ces plugins ont été supprimé."
-
-msgid "Plugin has been successfully updated."
-msgid_plural "Plugins have been successfully updated."
-msgstr[0] "Ce plugin a été mis à jour."
-msgstr[1] "Ces plugins ont été mis à jour."
-
-msgid "Plugin has been successfully installed."
-msgid_plural "Plugins have been successfully installed."
-msgstr[0] "Ce plugin a été installé."
-msgstr[1] "Ces plugins ont été installé."
-
-msgid "Activate selected plugins"
-msgstr "Activer les plugins sélectionnés"
-
-msgid "Activate all plugins from this list"
-msgstr "Activer tous les plugins de cette liste"
-
-msgid "Plugins have been successfully activated."
-msgstr "Ces plugins ont été activés."
-
-msgid "Deactivate selected plugins"
-msgstr "Désactiver les plugins sélectionnés"
-
-msgid "Deactivate all plugins from this list"
-msgstr "Désactiver tous les plugins de cette liste"
-
-msgid "Plugins have been successfully deactivated."
-msgstr "Ces plugins ont été désactivés."
-
-msgid "Some plugins have not been deactivated."
-msgstr "Certains plugins n'ont pas pu être désactivés."
-
-msgid "Update selected plugins"
-msgstr "Mettre à jour les plugins sélectionnés"
-
-msgid "Update all plugins from this list"
-msgstr "Mettre à jour tous les plugins de cette liste"
-
-msgid "Plugins have been successfully updated."
-msgstr "Ces plugins ont été mis à jour."
+msgid "No such module."
+msgstr "Module inexistant."
+
+msgid "Module has been successfully activated."
+msgstr "Ce module a été activé avec succès."
+
+msgid "You don't have permissions to deactivate this module."
+msgstr "Vous n'avez pas les permissions pour désactiver ce module."
+
+msgid "Module has been successfully deactivated."
+msgstr "Ce module a été désactivé avec succès."
+
+msgid "You don't have permissions to delete this module."
+msgstr "Vous n'avez pas les permissions pour supprimer ce module."
+
+msgid "Module has been successfully deleted."
+msgstr "Ce module a été supprimé avec succès."
+
+msgid "Module has been successfully updated."
+msgstr "Ce module a été mis à jour avec succès."
+
+msgid "Module has been successfully installed."
+msgstr "Ce module a été installé avec succès."
 
 msgid "Zip file path:"
@@ -2938,13 +2886,13 @@
 msgstr "Télécharger"
 
-msgid "Unknow plugin ID"
+msgid "Unknow module ID"
 msgstr "ID de plugin inconnu"
 
-msgid "This plugin has no configuration file."
+msgid "This module has no configuration file."
 msgstr "Ce plugin n'a pas de fichier de configuration."
 
 #, php-format
-msgid "Configure \"%s\""
-msgstr "Configurer \"%s\""
+msgid "Configure plugin \"%s\""
+msgstr "Configurer le plugin \"%s\""
 
 msgid "Back"
@@ -2985,64 +2933,9 @@
 msgstr "Personnaliser le thème"
 
-msgid "No themes matched your search."
-msgstr "Aucun thème ne correspond à votre recherche."
-
 msgid "Use this one"
 msgstr "Utiliser celui-ci"
 
-msgid "Update selected themes"
-msgstr "Mettre à jour les thèmes selectionnés"
-
-msgid "Update all themes from this list"
-msgstr "Mettre à jour tous les thèmes de cette liste"
-
-msgid "No such theme."
-msgstr "Thème inexistant."
-
-msgid "Theme has been successfully selected."
-msgstr "Ce thème a été sélectionné."
-
-msgid "Theme has been successfully deactivated."
-msgid_plural "Themes have been successfully deactivated."
-msgstr[0] "Ce thème a été activé."
-msgstr[1] "Ces thèmes ont été activé."
-
-msgid "You don't have permissions to deactivate this theme."
-msgstr "Vous n'avez pas les permissions pour désactiver ce thème."
-
-msgid "Some themes have not been deactivated."
-msgstr "Certains thèmes n'ont pas pu être desactivé."
-
-msgid "Theme has been successfully deactivated."
-msgid_plural "Themes have been successfully deactivated."
-msgstr[0] "Ce thème a été désactivé."
-msgstr[1] "Ces thèmes ont été désactivé."
-
-msgid "You don't have permissions to delete this theme."
-msgstr "Vous n'avez pas les permissions pour supprimer ce thème."
-
-msgid "Some themes have not been delete."
-msgstr "Certains thèmes n'ont pas pu être effacé."
-
-msgid "Theme has been successfully deleted."
-msgid_plural "Themes have been successfully deleted."
-msgstr[0] "Ce thème a été supprimé."
-msgstr[1] "Ces thèmes ont été supprimé."
-
-msgid "Theme has been successfully updated."
-msgstr "Ce thème a été mis à jour."
-
-msgid "Update all theme from this list"
-msgstr "Mettre à jour tous les thèmes de cette liste"
-
-msgid "Theme has been successfully updated."
-msgid_plural "Themes have been successfully updated."
-msgstr[0] "Ce thème a été mis à jour."
-msgstr[1] "Ces thèmes ont été mis à jour."
-
-msgid "Theme has been successfully installed."
-msgid_plural "Themes have been successfully installed."
-msgstr[0] "Ce thème a été installé."
-msgstr[1] "Ces thèmes ont été installé."
+msgid "Module has been successfully selected."
+msgstr "Ce plugin a été supprimé avec succès."
 
 msgid "First page"
@@ -3097,11 +2990,9 @@
 
 msgid "No comments or trackbacks matches the filter"
-msgstr "aucun commentaire ou rétrolien ne correspond au filtre"
-
-#, php-format
-msgid "Comment or trackback matching the filter."
-msgid_plural "List of %s comments or trackbacks matching the filter."
-msgstr[0] "Commentaire ou rétrolien correspondant au filtre."
-msgstr[1] "Liste des %s commentaires ou rétroliens correspondants au filtre."
+msgstr "aucun commentaire ou rétrolien correspondant au filtre"
+
+#, php-format
+msgid "List of %s Comments or trackbacks match the filter."
+msgstr "Liste des %s commentaires ou rétroliens correspondant au filtre"
 
 msgid "Type"
@@ -3176,4 +3067,22 @@
 msgstr "Pages"
 
+msgid "Antispam"
+msgstr "Antispam"
+
+msgid "Import/Export"
+msgstr "Import/Export"
+
+msgid "Blogroll"
+msgstr "Liste de liens"
+
+msgid "Maintenance"
+msgstr "Maintenance"
+
+msgid "Simple menu"
+msgstr "Menu simple"
+
+msgid "Tags"
+msgstr "Mots-clés"
+
 msgid "administrator"
 msgstr "administrateur"
@@ -3372,6 +3281,6 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
-msgstr "Impossible de mettre à jour \"%s\" (plus ancienne ou même version)."
+msgid "Unable to upgrade \"%s\". (same version)"
+msgstr "Impossible de mettre à jour \"%s\" (même version)."
 
 msgid "Unable to read new _define.php file"
@@ -3436,8 +3345,8 @@
 
 msgid "Any chance you ping one of my contents? No? Really?"
-msgstr "Aucune chance que vous pinguiez un de mes contenus ? Non ? Vraiment ?"
+msgstr ""
 
 msgid "Sorry but you can not ping this type of content."
-msgstr "Désolé, vous ne pouvez pas pinguer ce type de contenu."
+msgstr "Désolé, vous ne pouvez pas pinger ce type de contenu."
 
 msgid "Oops. Kinda \"not found\" stuff. Please check the target URL twice."
@@ -3445,20 +3354,20 @@
 
 msgid "Sorry, dude. This entry does not accept pingback at the moment."
-msgstr "Désolé, cette entrée n'accepte pas les pingback pour le moment."
+msgstr ""
 
 msgid "Don't repeat yourself, please."
-msgstr "Ne vous répêtez pas, s'il vous plait."
+msgstr ""
 
 msgid "Your source URL does not look like a supported content type. Sorry. Bye, bye!"
-msgstr "Votre URL source ne semble pas être un contenu supporté. Désolé."
+msgstr ""
 
 msgid "Where's your title?"
-msgstr "Où est votre titre ?"
+msgstr ""
 
 msgid "Sorry, an internal problem has occured."
-msgstr "Désolé, une erreur interne est survenue."
+msgstr ""
 
 msgid "Thanks, mate. It was a pleasure."
-msgstr "Merci, c'était un plaisir."
+msgstr ""
 
 msgid "Digests file not found."
@@ -3507,11 +3416,11 @@
 
 msgid "No valid source URL provided? Try again!"
-msgstr "Aucune URL source valide fournie ? Essayez encore !"
+msgstr ""
 
 msgid "No valid target URL provided? Try again!"
-msgstr "Aucune URL destinataire valide fournie ? Essayez encore !"
+msgstr ""
 
 msgid "LOL!"
-msgstr "MDR !"
+msgstr ""
 
 msgid "SQLite Database Schema cannot be upgraded."
@@ -3615,9 +3524,4 @@
 msgstr "Mémoire insuffisante pour ouvrir l'image."
 
-msgid "singular"
-msgid_plural "plural"
-msgstr[0] ""
-msgstr[1] ""
-
 #, php-format
 msgid "File %s is not compressed in the zip."
@@ -3665,38 +3569,12 @@
 msgstr "L'erreur suivante a été rencontrée lors de la tentative d'accès à la base de données :"
 
-#~ msgid "Title (optional)"
-#~ msgstr "Titre (optionnel)"
-
-#~ msgid "List of categories"
-#~ msgstr "Liste des catégories"
-
-#~ msgid "List of %s Comments or trackbacks match the filter."
-#~ msgstr "Liste des %s commentaires ou rétroliens correspondant au filtre"
-
-#~ msgid "%d comments"
-#~ msgid_plural "%d comments"
-#~ msgstr[0] "%d commentaire"
-#~ msgstr[1] "%d commentaires"
-
-#~ msgid "Configure module \"%s\""
-#~ msgstr "Configurer le plugin \"%s\""
-
-#~ msgid "Antispam"
-#~ msgstr "Antispam"
-
-#~ msgid "Import/Export"
-#~ msgstr "Import/Export"
-
-#~ msgid "Blogroll"
-#~ msgstr "Liste de liens"
-
-#~ msgid "Maintenance"
-#~ msgstr "Maintenance"
-
-#~ msgid "Simple menu"
-#~ msgstr "Menu simple"
-
-#~ msgid "Tags"
-#~ msgstr "Mots-clés"
+msgid "Attachments:"
+msgstr "Annexes :"
+
+msgid "With attachments"
+msgstr "Avec annexe(s)"
+
+msgid "Without attachments"
+msgstr "Sans annexes"
 
 #~ msgid "New page"
@@ -3718,6 +3596,22 @@
 #~ msgstr "Commentaires"
 
+#, fuzzy
+#~ msgid "System info"
+#~ msgstr "Informations système"
+
+#, fuzzy
+#~ msgid "Tidy Administration"
+#~ msgstr "administrateur"
+
+#, fuzzy
+#~ msgid "Categories orders"
+#~ msgstr "Enregistrer l'ordre des catégories"
+
+#, fuzzy
+#~ msgid "Discrete category"
+#~ msgstr "Supprimer la catégorie"
+
 #~ msgid "Current theme has been successfully changed to \"%s\"."
-#~ msgstr "Le thème courant a été changé en \"%s\"."
+#~ msgstr "Thème changé avec succès en \"%s\"."
 
 #~ msgid "You can't remove default theme."
@@ -3728,11 +3622,17 @@
 
 #~ msgid "Theme has been successfully upgraded."
-#~ msgstr "Le thème a été mis à jour."
+#~ msgstr "Thème mis à jour avec succès."
 
 #~ msgid "Theme has been successfully changed."
-#~ msgstr "Le thème a été changé."
+#~ msgstr "Thème changé avec succès."
 
 #~ msgid "Theme has been successfully upgraded"
-#~ msgstr "Le thème a été mis à jour."
+#~ msgstr "Thème mis à jour avec succès."
+
+#~ msgid "Theme has been successfully deleted."
+#~ msgstr "Thème supprimé avec succès."
+
+#~ msgid "Themes"
+#~ msgstr "Thèmes"
 
 #~ msgid "Available themes in your installation"
@@ -3772,4 +3672,31 @@
 #~ msgstr "Retour à Apparence du blog"
 
+#~ msgid "No such plugin."
+#~ msgstr "Plugin inexistant."
+
+#~ msgid "Plugin has been successfully deleted."
+#~ msgstr "Plugin supprimé avec succès."
+
+#~ msgid "Plugin has been successfully upgraded"
+#~ msgstr "Plugin mis à jour avec succès."
+
+#~ msgid "Plugin has been successfully installed."
+#~ msgstr "Plugin installé avec succès."
+
+#~ msgid "Plugins add new functionalities to Dotclear. Here you can activate or deactivate installed plugins."
+#~ msgstr "Les plugins ajoutent de nouvelles fonctionnalités à Dotclear. Ici, vous pouvez activer ou désactiver les plugins installés."
+
+#~ msgid "You can find additional plugins for your blog on %s."
+#~ msgstr "Vous pouvez trouver d'autres plugins pour votre blog sur %s."
+
+#~ msgid "You can find additional plugins for your blog on %s or using the %s."
+#~ msgstr "Vous pouvez trouver d'autres plugins pour votre blog sur %s ou en utilisant l'%s."
+
+#~ msgid "DotAddict.org Installer"
+#~ msgstr "Installeur DotAddict.org"
+
+#~ msgid "To install or upgrade a plugin you generally just need to upload it in \"Install or upgrade a plugin\" section."
+#~ msgstr "Pour installer ou mettre à jour un plugin il suffit de le déposer grâce au formulaire de la section \"Installer ou mettre à jour un plugin\"."
+
 #~ msgid "To install or upgrade a plugin you just need to extract it in your plugins directory."
 #~ msgstr "Pour installer un plugin il suffit de l'extraire dans votre répertoire de plugins."
@@ -3817,4 +3744,7 @@
 #~ msgstr "Langues disponibles"
 
+#~ msgid "List of categories"
+#~ msgstr "Liste des catégories du blog"
+
 #~ msgid "Last entries from feed"
 #~ msgstr "Derniers billets du flux"
@@ -3832,4 +3762,7 @@
 #~ msgstr "Liste des liens"
 
+#~ msgid "%d comment"
+#~ msgstr "%d commentaire"
+
 #~ msgid "Some plugins are installed twice:"
 #~ msgstr "Ces plugins sont installés en double :"
@@ -3893,5 +3826,5 @@
 
 #~ msgid "The categories have been successfully removed."
-#~ msgstr "Les catégories ont été supprimées."
+#~ msgstr "Les catégories ont été supprimées avec succès."
 
 #~ msgid "more information"
Index: locales/fr/plugins.po
===================================================================
--- locales/fr/plugins.po	(revision 2485)
+++ locales/fr/plugins.po	(revision 2411)
@@ -11,5 +11,5 @@
 "Project-Id-Version: Dotclear\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-23 13:44+0000\n"
+"POT-Creation-Date: 2013-10-08 07:23+0000\n"
 "PO-Revision-Date: 2012-11-06 10:04+0100\n"
 "Last-Translator: Franck Paul <carnet.franck.paul@gmail.com>\n"
@@ -116,5 +116,5 @@
 
 msgid "Configuration successfully updated"
-msgstr "La configuration a été mise à jour"
+msgstr "La configuration a été mise à jour avec succès"
 
 msgid "no"
@@ -151,5 +151,5 @@
 
 msgid "Filter configuration have been successfully saved."
-msgstr "La configuration du filtre a été enregistrée."
+msgstr "La configuration du filtre a été enregistrée avec succès."
 
 msgid "Akismet API key:"
@@ -165,7 +165,4 @@
 msgstr "Obtenez votre propre clé API"
 
-msgid "Antispam"
-msgstr "Antispam"
-
 #, php-format
 msgid "All spam comments older than %s day(s) will be automatically deleted."
@@ -193,8 +190,8 @@
 
 msgid "IP address has been successfully added."
-msgstr "L'adresse IP a été ajoutée."
+msgstr "L'adresse IP a été ajoutée avec succès."
 
 msgid "IP addresses have been successfully removed."
-msgstr "L'adresse IP a été retirée."
+msgstr "L'adresse IP a été retirée avec succès."
 
 msgid "Blacklist"
@@ -233,5 +230,5 @@
 
 msgid "The list of DNSBL servers has been succesfully updated."
-msgstr "La liste des serveurs DNSBL a été mise à jour."
+msgstr "La liste des serveurs DNSBL a été mise à jour avec succès"
 
 msgid "IP Lookup servers"
@@ -252,11 +249,11 @@
 
 msgid "Words have been successfully added."
-msgstr "Les mots ont été ajoutés."
+msgstr "Les mots ont été ajoutés avec succès."
 
 msgid "Word has been successfully added."
-msgstr "Le mot a été ajouté."
+msgstr "Le mot a été ajouté avec succès."
 
 msgid "Words have been successfully removed."
-msgstr "Les mots ont été retirés."
+msgstr "Les mots ont été retirés avec succès."
 
 msgid "Add a word "
@@ -324,5 +321,5 @@
 
 msgid "Filters configuration has been successfully saved."
-msgstr "La configuration des filtres a été enregistrée."
+msgstr "La configuration des filtres a été enregistrée avec succès."
 
 #, php-format
@@ -392,7 +389,4 @@
 msgstr "Ajouter des fichiers à la page"
 
-msgid "Blogroll"
-msgstr "Liste des liens"
-
 msgid "manage blogroll"
 msgstr "Gestion de la liste des liens"
@@ -401,7 +395,4 @@
 msgstr "Liens"
 
-msgid "Title (optional)"
-msgstr "Titre (optionnel)"
-
 msgid "All categories"
 msgstr "Toutes les catégories"
@@ -420,8 +411,8 @@
 
 msgid "Content only"
-msgstr "Contenu seul (sans boîte englobante)"
+msgstr "Contenu seul"
 
 msgid "CSS class:"
-msgstr "Classe CSS supplémentaire pour la boîte englobante :"
+msgstr "Classe CSS :"
 
 msgid "You must provide a link title"
@@ -441,8 +432,8 @@
 
 msgid "Link has been successfully updated"
-msgstr "Le lien a été mis à jour."
+msgstr "Le lien a été mis à jour avec succès"
 
 msgid "Category has been successfully updated"
-msgstr "La catégorie a été mise à jour."
+msgstr "La catégorie a été mise à jour avec succès"
 
 msgid "Return to blogroll"
@@ -537,5 +528,5 @@
 
 msgid "links have been successfully imported."
-msgstr "Les liens ont été importés."
+msgstr "Les liens ont été importés avec succès."
 
 msgid "Import operation cancelled."
@@ -543,14 +534,14 @@
 
 msgid "Link has been successfully created."
-msgstr "Le lien a été créé."
+msgstr "Le lien a été créé avec succès."
 
 msgid "category has been successfully created."
-msgstr "La catégorie a été créée."
+msgstr "La catégorie a été créée avec succès."
 
 msgid "Items have been successfully removed."
-msgstr "Les éléments ont été retirés."
+msgstr "Les éléments ont été retirés avec succès."
 
 msgid "Items order has been successfully updated"
-msgstr "L'ordre des éléments a été mis à jour."
+msgstr "L'ordre des éléments a été mis à jour avec succès"
 
 msgid "URL"
@@ -603,5 +594,5 @@
 
 msgid "Theme configuration has been successfully updated."
-msgstr "La configuration du thème a été enregistrée."
+msgstr "La configuration du thème a été enregistrée avec succès."
 
 msgid "Blowup configuration"
@@ -841,7 +832,4 @@
 msgstr "Contrôle si la source du rétrolien comporte un lien vers le billet"
 
-msgid "Import/Export"
-msgstr "Import/Export"
-
 msgid "Flat file export"
 msgstr "Fichier d'exportation « à plat »"
@@ -882,5 +870,5 @@
 
 msgid "Your blog has been successfully imported. Welcome on Dotclear 2!"
-msgstr "Votre blog a été importé. Bienvenue sur Dotclear 2 !"
+msgstr "Votre blog a été importé avec succès. Bienvenue sur Dotclear 2 !"
 
 msgid "Why don't you blog this now?"
@@ -966,5 +954,5 @@
 
 msgid "Content successfully imported."
-msgstr "Le contenu a été importé."
+msgstr "Le contenu a été importé avec succès."
 
 #, php-format
@@ -982,5 +970,5 @@
 
 msgid "Single blog successfully imported."
-msgstr "Le blog a été importé."
+msgstr "Blog importé avec succès."
 
 msgid "Are you sure you want to import a full backup file?"
@@ -1068,8 +1056,4 @@
 msgstr "Ce fichier n'est pas une exportation d'un blog."
 
-#, php-format
-msgid "Error raised at line %s"
-msgstr "Erreur détectée ligne %s"
-
 msgid "File is not a full export."
 msgstr "Ce fichier n'est pas un fichier de sauvegarde complet."
@@ -1094,7 +1078,4 @@
 msgid "Export functions are in the page %s."
 msgstr "Les fonctions d'export sont dans la page de %s."
-
-msgid "Maintenance"
-msgstr "Maintenance"
 
 msgid "Servicing"
@@ -1162,9 +1143,52 @@
 msgstr "Gérer les tâches"
 
-msgid "Display overdue tasks counter on maintenance dashboard icon"
+msgid "Display count of late tasks on maintenance dashboard icon"
 msgstr "Afficher le nombre de tâches en retard sur l'icône Maintenance du tableau de bord"
 
-msgid "Display overdue tasks list on dashboard items"
+msgid "Display list of late tasks on dashboard items"
 msgstr "Afficher la liste des tâches en retard dans un module du tableau de bord"
+
+msgid "Never"
+msgstr "Jamais"
+
+msgid "Every week"
+msgstr "Chaque semaine"
+
+msgid "Every two weeks"
+msgstr "Toutes les deux semaines"
+
+msgid "Every month"
+msgstr "Chaque mois"
+
+msgid "Every two months"
+msgstr "Tous les deux mois"
+
+msgid "Maintenance plugin has been successfully configured."
+msgstr "Le plugin de maintenance a été configuré avec succès"
+
+msgid "Set up reminders for maintenance tasks."
+msgstr "Définir les rappels pour les tâches de maintenance."
+
+msgid "Activation"
+msgstr "Activation"
+
+msgid "Display alert messages on late tasks"
+msgstr "Afficher des messages d'alerte pour les tâches en retard"
+
+#, php-format
+msgid "You can place list of late tasks on your %s."
+msgstr "Vous pouvez placer la liste des tâches en retard sur votre %s."
+
+msgid "Frequency"
+msgstr "Périodicité"
+
+msgid "Use one recall time for all tasks"
+msgstr "Utiliser le même délai de rappel pour toutes les tâches"
+
+msgid "Recall time for all tasks:"
+msgstr "Délai de rappel pour toutes les tâches :"
+
+msgid "Use one recall time per task"
+msgstr "Utiliser un délai de rappel différent pour chaque tâche"
 
 msgid "Failed to execute task."
@@ -1172,5 +1196,5 @@
 
 msgid "Task successfully executed."
-msgstr "La tâche a été exécutée."
+msgstr "La tâche a été exécutée avec succès."
 
 msgid "Empty templates cache directory"
@@ -1274,5 +1298,5 @@
 
 msgid "Optimization successful."
-msgstr "L'optimisation a été effectuée."
+msgstr "Optimisation terminée avec succès."
 
 msgid "Failed to optimize tables."
@@ -1294,25 +1318,10 @@
 msgstr "Il peut être utile de sauvegarder le thème courant avant tout changement ou mise à jour. Ceci comprime tout le contenu du répertoire du thème dans un seul fichier Zip."
 
-msgid "Maintenance plugin has been successfully configured."
-msgstr "La configuration du plugin de maintenance a été enregistrée."
-
-msgid "Never"
-msgstr "Jamais"
-
-msgid "Every week"
-msgstr "Chaque semaine"
-
-msgid "Every two weeks"
-msgstr "Toutes les deux semaines"
-
-msgid "Every month"
-msgstr "Chaque mois"
-
-msgid "Every two months"
-msgstr "Tous les deux mois"
-
 msgid "You have not sufficient permissions to view this page."
 msgstr "Vous n'avez pas les autorisations suffisantes pour accéder à cette page."
 
+msgid "Settings successfully updated"
+msgstr "Les réglages ont été mis à jour avec succès"
+
 msgid "You should execute it now."
 msgstr "Vous devriez l'exécuter dès maintenant."
@@ -1324,29 +1333,4 @@
 msgstr "Cela peut prendre un certain temps."
 
-msgid "Alert settings"
-msgstr "Réglage des alertes"
-
-msgid "Activation"
-msgstr "Activation"
-
-msgid "Display alert messages on late tasks"
-msgstr "Afficher des messages d'alerte pour les tâches en retard"
-
-#, php-format
-msgid "You can place list of late tasks on your %s."
-msgstr "Vous pouvez placer la liste des tâches en retard sur votre %s."
-
-msgid "Frequency"
-msgstr "Périodicité"
-
-msgid "Use one recall time for all tasks"
-msgstr "Utiliser le même délai de rappel pour toutes les tâches"
-
-msgid "Recall time for all tasks:"
-msgstr "Délai de rappel pour toutes les tâches :"
-
-msgid "Use one recall time per task"
-msgstr "Utiliser un délai de rappel différent pour chaque tâche"
-
 msgid "New page"
 msgstr "Nouvelle page"
@@ -1394,5 +1378,5 @@
 
 msgid "Selected pages have been successfully reordered."
-msgstr "Les pages sélectionnées ont été réordonnées."
+msgstr "Les pages sélectionnées ont été réordonnées avec succès."
 
 msgid "No page"
@@ -1409,8 +1393,8 @@
 
 msgid "Selected pages have been successfully updated."
-msgstr "Les pages sélectionnées ont été modifiées."
+msgstr "Les pages sélectionnées ont été modifiées avec succès."
 
 msgid "Selected pages have been successfully deleted."
-msgstr "Les pages sélectionnées ont été supprimées."
+msgstr "Les pages sélectionnées ont été supprimées avec succès."
 
 msgid "Selected pages action:"
@@ -1436,8 +1420,8 @@
 
 msgid "Page has been successfully updated."
-msgstr "La page a été modifiée."
+msgstr "La page a été modifiée avec succès."
 
 msgid "Page has been successfully created."
-msgstr "La page a été créée."
+msgstr "La page a été créée avec succès."
 
 msgid "Go to this page on the site"
@@ -1466,5 +1450,5 @@
 
 msgid "Settings have been successfully updated."
-msgstr "Les réglages ont été enregistrés."
+msgstr "Les réglages ont été modifiés avec succès."
 
 msgid "Pings configuration"
@@ -1489,7 +1473,4 @@
 msgstr "Tout sélectionner"
 
-msgid "Simple menu"
-msgstr "Menu simple"
-
 msgid "All months"
 msgstr "Tous les mois"
@@ -1507,7 +1488,4 @@
 msgstr "Page"
 
-msgid "Tags"
-msgstr "Mots-clés"
-
 msgid "User defined"
 msgstr "Saisie libre"
@@ -1538,5 +1516,5 @@
 
 msgid "Menu item has been successfully added."
-msgstr "L'item de menu a été ajouté."
+msgstr "L'item de menu a été ajouté avec succès."
 
 msgid "Label and URL of menu item are mandatory."
@@ -1544,5 +1522,5 @@
 
 msgid "Menu items have been successfully removed."
-msgstr "Le ou les items de menu ont été supprimés."
+msgstr "Le ou les items de menu ont été supprimés avec succès."
 
 msgid "No menu items selected."
@@ -1556,5 +1534,5 @@
 
 msgid "Menu items have been successfully updated."
-msgstr "Le ou les items de menu ont été mis à jour."
+msgstr "Le ou les items de menu ont été mis à jour avec succès."
 
 msgid "Step #1"
@@ -1632,6 +1610,6 @@
 msgid "Tag has been successfully added to selected entries"
 msgid_plural "Tags have been successfully added to selected entries"
-msgstr[0] "Le mot-clé a été ajouté aux entrées sélectionnées"
-msgstr[1] "Les mot-clés ont été ajoutés aux entrées sélectionnées"
+msgstr[0] "Le mot-clé a été ajouté avec succès des entrées sélectionnées"
+msgstr[1] "Les mot-clés ont été ajoutés avec succès des entrées sélectionnées"
 
 msgid "Add tags to this selection"
@@ -1669,6 +1647,6 @@
 msgid "Tag has been successfully removed from selected entries"
 msgid_plural "Tags have been successfully removed from selected entries"
-msgstr[0] "Le mot-clé a été retiré des entrées sélectionnées"
-msgstr[1] "Les mot-clés ont été retirés des entrées sélectionnées"
+msgstr[0] "Le mot-clé a été retiré avec succès des entrées sélectionnées"
+msgstr[1] "Les mot-clés ont été retirés avec succès des entrées sélectionnées"
 
 msgid "No tags for selected entries"
@@ -1712,8 +1690,8 @@
 
 msgid "Tag has been successfully renamed"
-msgstr "Le mot-clé a été renommé."
+msgstr "Le mot-clé a été renommé avec succès"
 
 msgid "Tag has been successfully removed"
-msgstr "Le mot-clé a été retiré."
+msgstr "Le mot-clé a été retiré avec succès"
 
 #, php-format
@@ -1740,5 +1718,5 @@
 msgstr "Modifier les fichiers du thème"
 
-msgid "Syntax highlighting in theme editor"
+msgid "Syntax color for theme editor"
 msgstr "Coloration syntaxique de l'éditeur de thème"
 
@@ -1799,5 +1777,5 @@
 
 msgid "Preferences successfully updated"
-msgstr "Les préférences ont été mises à jour."
+msgstr "Préférences mises à jour avec succès"
 
 msgid "user:preferences"
@@ -1912,5 +1890,5 @@
 
 msgid "Drag widgets from this list to one of the sidebars, for add."
-msgstr "Déplacez des widgets de cette liste vers l'un des volets."
+msgstr "Déplacez des widgets de cette liste vers l'un des volets, pour les ajouter."
 
 msgid "order"
@@ -1938,4 +1916,37 @@
 msgstr "Réinitialiser les volets"
 
+msgid "Use of widgets"
+msgstr "Utilisation des widgets"
+
+msgid "Widgets may be used to add various blocks of content to be displayed on your public pages. To add a widget, drag it from the Available widgets list on the left to one of the sidebars on the right of this page. You can order your widgets in a sidebar by dragging them up or down. You must update sidebars to apply your changes."
+msgstr "Les widgets sont utilisés pour ajouter des blocs de contenus divers dans vos pages publiques. Pour ajouter un widget, faites-le glisser depuis la liste des Widgets disponibles à gauche jusqu'à l'un des volets sur la droite de la page. Vous pouvez ré-ordonner vos widgets dans un volet en le faisant glisser vers le haut ou vers le bas. Vous devez mettre à jour les volets pour enregistrer vos modifications."
+
+msgid "Once included in a sidebar, widgets have configuration options that you can reach by clicking on the arrow next to their name."
+msgstr "Une fois inclus dans un volet, les widgets ont généralement des options que vous pouvez configurer. Cliquez sur la flèche à côté de leur nom pour y accéder."
+
+msgid "Reset sidebars to get back to default widgets installation."
+msgstr "Réinitialisez les volets pour retrouver les widgets par défaut de votre installation."
+
+msgid "Widget templates tags"
+msgstr "Balises de widget"
+
+msgid "If you are allowed to edit your theme templates, you can directly add widgets as templates tags, with their own configuration."
+msgstr "Si vous êtes autorisé à modifier vos fichiers de thème, vous pouvez ajouter des widgets sous forme de balise, avec leur propre configuration."
+
+msgid "To add a widget in your template, you need to write code like this:"
+msgstr "Pour ajouter un widget à votre thème, vous devez insérer un code similaire à :"
+
+msgid "Widget ID"
+msgstr "ID du widget"
+
+msgid "Setting name"
+msgstr "Nom de l'élément de réglage"
+
+msgid "Setting value"
+msgstr "Valeur de l'élément de réglage"
+
+msgid "Here are the following available widgets for your blog:"
+msgstr "Voici les widgets disponibles pour votre blog :"
+
 msgid "Widget ID:"
 msgstr "Identifiant du widget :"
@@ -1959,12 +1970,6 @@
 msgstr "Nom de l'élément de réglage :"
 
-msgid "No widget as far."
+msgid "No widget for now."
 msgstr "Aucun widget pour le moment."
-
-msgid "Up the widget"
-msgstr "Monter le widget"
-
-msgid "Down the widget"
-msgstr "Descendre le widget"
 
 msgid "Remove widget"
@@ -1972,47 +1977,23 @@
 
 msgid "Drag widgets here to remove."
-msgstr "Glisser les widgets ici pour les retirer du volet."
-
-#~ msgid "RSS or Atom feed subscription links"
-#~ msgstr "Liens d'abonnement aux flux RSS ou Atom"
-
-#~ msgid "Last entries from feed"
-#~ msgstr "Flux des derniers billets"
-
-#~ msgid "List of last comments posted"
-#~ msgstr "Liste des derniers commentaires publiés"
-
-#~ msgid "Settings successfully updated"
-#~ msgstr "Les réglages ont été mis à jour."
-
-#~ msgid "Widgets may be used to add various blocks of content to be displayed on your public pages. To add a widget, drag it from the Available widgets list on the left to one of the sidebars on the right of this page. You can order your widgets in a sidebar by dragging them up or down. You must update sidebars to apply your changes."
-#~ msgstr "Les widgets sont utilisés pour ajouter des blocs de contenus divers dans vos pages publiques. Pour ajouter un widget, faites-le glisser depuis la liste des Widgets disponibles à gauche jusqu'à l'un des volets sur la droite de la page. Vous pouvez ré-ordonner vos widgets dans un volet en le faisant glisser vers le haut ou vers le bas. Vous devez mettre à jour les volets pour enregistrer vos modifications."
-
-#~ msgid "Once included in a sidebar, widgets have configuration options that you can reach by clicking on the arrow next to their name."
-#~ msgstr "Une fois inclus dans un volet, les widgets ont généralement des options que vous pouvez configurer. Cliquez sur la flèche à côté de leur nom pour y accéder."
-
-#~ msgid "Reset sidebars to get back to default widgets installation."
-#~ msgstr "Réinitialisez les volets pour retrouver les widgets par défaut de votre installation."
-
-#~ msgid "Widget templates tags"
-#~ msgstr "Balises de widget"
-
-#~ msgid "If you are allowed to edit your theme templates, you can directly add widgets as templates tags, with their own configuration."
-#~ msgstr "Si vous êtes autorisé à modifier vos fichiers de thème, vous pouvez ajouter des widgets sous forme de balise, avec leur propre configuration."
-
-#~ msgid "To add a widget in your template, you need to write code like this:"
-#~ msgstr "Pour ajouter un widget à votre thème, vous devez insérer un code similaire à :"
-
-#~ msgid "Widget ID"
-#~ msgstr "ID du widget"
-
-#~ msgid "Setting name"
-#~ msgstr "Nom de l'élément de réglage"
-
-#~ msgid "Setting value"
-#~ msgstr "Valeur de l'élément de réglage"
-
-#~ msgid "Here are the following available widgets for your blog:"
-#~ msgstr "Voici les widgets disponibles pour votre blog :"
+msgstr "Glisser les widgets ici pour les retirer."
+
+#~ msgid "Antispam"
+#~ msgstr "Antispam"
+
+#~ msgid "Blogroll"
+#~ msgstr "Liste des liens"
+
+#~ msgid "Import/Export"
+#~ msgstr "Import/Export"
+
+#~ msgid "Maintenance"
+#~ msgstr "Maintenance"
+
+#~ msgid "Tags"
+#~ msgstr "Mots-clés"
+
+#~ msgid "Simple menu"
+#~ msgstr "Menu simple"
 
 #~ msgid "Updates are available"
@@ -2038,5 +2019,5 @@
 
 #~ msgid "The theme has been successfully installed."
-#~ msgstr "Le thème a été installé."
+#~ msgstr "Le thème a été installé avec succès."
 
 #~ msgid "Following plugins have not been updated:"
@@ -2064,4 +2045,7 @@
 #~ msgstr "Retour"
 
+#~ msgid "Alert settings"
+#~ msgstr "Réglage des alertes"
+
 #~ msgid "Save this settings"
 #~ msgstr "Enregistrer ces réglages"
@@ -2071,5 +2055,5 @@
 
 #~ msgid "Settings definition successfully updated"
-#~ msgstr "Les réglages ont été enregistrés."
+#~ msgstr "Les réglages ont été enregistrés avec succès"
 
 #~ msgid "By"
@@ -2080,5 +2064,5 @@
 
 #~ msgid "Preferences definition successfully updated"
-#~ msgstr "La définition des préférences a été enregistrée."
+#~ msgstr "Définition des préférences mise à jour avec succès"
 
 #~ msgid "Use different periods for each task"
Index: locales/fr/public.po
===================================================================
--- locales/fr/public.po	(revision 2386)
+++ locales/fr/public.po	(revision 2285)
@@ -241,8 +241,2 @@
 msgid "Read"
 msgstr "Lire"
-
-#~ msgid "in"
-#~ msgstr "dans"
-
-#~ msgid "In"
-#~ msgstr "Dans"
Index: locales/hu/main.po
===================================================================
--- locales/hu/main.po	(revision 2432)
+++ locales/hu/main.po	(revision 1836)
@@ -2660,5 +2660,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Nem lehet \"%s\"-re frissíteni (ugyanaz a verzió)"
 
Index: locales/it/main.po
===================================================================
--- locales/it/main.po	(revision 2432)
+++ locales/it/main.po	(revision 1836)
@@ -2598,5 +2598,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Impossibile aggiornare \"%s\". (stessa versione)"
 
Index: locales/ja/main.po
===================================================================
--- locales/ja/main.po	(revision 2432)
+++ locales/ja/main.po	(revision 1836)
@@ -2632,5 +2632,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "\"%s\" の更新はできません。（同一バージョン）"
 
Index: locales/ko/main.po
===================================================================
--- locales/ko/main.po	(revision 2432)
+++ locales/ko/main.po	(revision 1836)
@@ -2633,5 +2633,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "\"%s\"를 갱신할 수 없습니다. (동일 버전)."
 
Index: locales/lt/main.po
===================================================================
--- locales/lt/main.po	(revision 2432)
+++ locales/lt/main.po	(revision 1836)
@@ -2515,5 +2515,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Nepavyko atnaujinti \"%s\". (ta pati versija)"
 
Index: locales/nl/main.po
===================================================================
--- locales/nl/main.po	(revision 2432)
+++ locales/nl/main.po	(revision 1836)
@@ -2560,5 +2560,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/oc/main.po
===================================================================
--- locales/oc/main.po	(revision 2432)
+++ locales/oc/main.po	(revision 1836)
@@ -2580,5 +2580,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/pl/main.po
===================================================================
--- locales/pl/main.po	(revision 2432)
+++ locales/pl/main.po	(revision 1836)
@@ -2571,5 +2571,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Nie można uaktualnić \"%s\". (ta sama wersja)"
 
Index: locales/pt-br/main.po
===================================================================
--- locales/pt-br/main.po	(revision 2432)
+++ locales/pt-br/main.po	(revision 1836)
@@ -2703,5 +2703,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Impossível atualizar \"%s\". (mesma versão)"
 
Index: locales/pt/main.po
===================================================================
--- locales/pt/main.po	(revision 2432)
+++ locales/pt/main.po	(revision 1836)
@@ -2610,5 +2610,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Não é possível actualizar \"%s\". (mesma versão)"
 
Index: locales/ro/main.po
===================================================================
--- locales/ro/main.po	(revision 2432)
+++ locales/ro/main.po	(revision 1836)
@@ -2559,5 +2559,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/ru/main.po
===================================================================
--- locales/ru/main.po	(revision 2432)
+++ locales/ru/main.po	(revision 1836)
@@ -2599,5 +2599,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Невозможно обновить \"%s\" (та же версия)."
 
Index: locales/sr/main.po
===================================================================
--- locales/sr/main.po	(revision 2432)
+++ locales/sr/main.po	(revision 2265)
@@ -2578,5 +2578,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "Impossible de mettre à jour \"%s\" (même version)."
 
Index: locales/sv/main.po
===================================================================
--- locales/sv/main.po	(revision 2432)
+++ locales/sv/main.po	(revision 1836)
@@ -2545,5 +2545,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/te/main.po
===================================================================
--- locales/te/main.po	(revision 2432)
+++ locales/te/main.po	(revision 1836)
@@ -2629,5 +2629,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/tr/main.po
===================================================================
--- locales/tr/main.po	(revision 2432)
+++ locales/tr/main.po	(revision 1836)
@@ -2606,5 +2606,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr ""
 
Index: locales/zh-cn/main.po
===================================================================
--- locales/zh-cn/main.po	(revision 2432)
+++ locales/zh-cn/main.po	(revision 1836)
@@ -2610,5 +2610,5 @@
 
 #, php-format
-msgid "Unable to upgrade \"%s\". (older or same version)"
+msgid "Unable to upgrade \"%s\". (same version)"
 msgstr "无法升级到“%s”。（版本相同）"
 
Index: plugins/aboutConfig/locales/fr/help/help.html
===================================================================
--- plugins/aboutConfig/locales/fr/help/help.html	(revision 2438)
+++ plugins/aboutConfig/locales/fr/help/help.html	(revision 2322)
@@ -1,21 +1,11 @@
 <html>
-  <head>
-    <title>About:Config</title>
-  </head>
-  
-  <body>    
-    <h4>About:Config</h4>
-    <p>Cette page présente des informations <em>techniques</em> 
-      brutes, relatives à la configuration du blog courant (et communes à tous les blogs).
-      Généralement ces paramètres sont gérés par d'autres pages de l'administration.<br />
-      Ne modifiez quelque chose que si vous savez ce que vous faîtes.</p>
-    
-    <p>Certains paramètres ne sont modifiables que sur cette page.</p>
+<head>
+  <title>About:Config</title>
+</head>
 
-    <p>La page présente deux onglets "Réglages pour le blog courant (nom du blog)" et "Réglages généraux"
-      qui permettent de gérer (et présenter) respectivement les réglages du blog courant et 
-      ceux communs à tous les blogs.</p>
+<body>
 
-    <p>Vous pouvez accéder directement aux différentes sections de la page avec le menu de sélection.</p>
-  </body>
+<h4>About:Config</h4>
+
+</body>
 </html>
Index: plugins/akismet/locales/fr/help/help.html
===================================================================
--- plugins/akismet/locales/fr/help/help.html	(revision 2458)
+++ plugins/akismet/locales/fr/help/help.html	(revision 2322)
@@ -7,9 +7,4 @@
 
 <h4>Akismet filter</h4>
-<p>Akismet est un service de filtrage du spam particulièrement efficace qui nécessite une clé API pour fonctionner.</p>
-
-<p>Pour obtenir la clé API, rendez vous sur la page d'obtention de clé d'Askimet (en anglais) puis faites le choix de blogs personnels (Personal Blogs), un formulaire s'offre à vous, renseigner bien votre e-mail car il servira à recevoir votre clé. Vous pouvez également utiliser les identifiants de votre compte Wordpress si vous en disposez pour obtenir la clé d'API Askimet. En choisissant blogs personnels, cette clé sera gratuite et utilisable sur un multiblog.</p>
-
-<p>Entrez la clé API obtenue et enregistrez. Si la clé est reconnue, vous devriez voir apparaître le message "Clé API vérifiée. Retournez ensuite à la liste des filtres pour activer Akismet le cas échéant."</p>
 
 </body>
Index: plugins/antispam/index.php
===================================================================
--- plugins/antispam/index.php	(revision 2322)
+++ plugins/antispam/index.php	(revision 2495)
@@ -117,4 +117,5 @@
 	echo
 		dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
+		dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 		dcPage::jsLoad('index.php?pf=antispam/antispam.js');
   }
Index: plugins/antispam/locales/fr/help/comments.html
===================================================================
--- plugins/antispam/locales/fr/help/comments.html	(revision 2470)
+++ plugins/antispam/locales/fr/help/comments.html	(revision 2329)
@@ -1,27 +1,11 @@
 <html>
 <head>
-  <title>Modération des indésirables</title>
+  <title>Modération antispam</title>
 </head>
 
 <body>
 
-<h4>Modération des indésirables</h4>
-<p>Les indésirables ou plus communément appelés spam sont des commentaires
-postés principalement par des robots.</p>
+<h4>Modération antispam</h4>
 
-<dl>
-<dt>Afficher les indésirables</dt>
-<dd>Permet de contrôler l'ensemble des commentaires ou
-rétroliens que Dotclear a identifiés comme tels avant toute suppression
-définitive. Il se peut qu'un vrai commentaire soit passé en faux positif.</dd>
-
-<dt>Supprimer tous les indésirables</dt>
-<dd>Grâce à ce bouton, l'ensemble des commentaires ou rétroliens marqués comme tel seront supprimés. Cette action est irrévocable.</dd>
-
-<dt>Modération programmée</dt>
-<dd>Si vous avez indiqué un nombre de jours dans les Paramètres du blog,
-tous les commentaires ou retroliens marqués indésirables seront
-supprimés à l'intervalle renseigné.</dd>
-</dl>
 </body>
 </html>
Index: plugins/antispam/locales/fr/help/filters.html
===================================================================
--- plugins/antispam/locales/fr/help/filters.html	(revision 2458)
+++ plugins/antispam/locales/fr/help/filters.html	(revision 2322)
@@ -7,10 +7,4 @@
 
 <h4>Filtres antispam</h4>
-<dl>
-<dt>Fair Trackbacks</dt>
-<dd>Ce filtre vérifie que les rétroliens entrants comprennent un lien vers votre billet. Si ce n'est pas le cas, l'entrée leur est automatiquement refusée, ce qui implique qu'ils ne figureront pas dans la liste des commentaires indésirables.</dd>
-<dt>Links Lookup</dt>
-<dd>Ce filtre fonctionne un peu comme IP Lookup à la différence qu'au lieu de vérifier l'adresse IP de l'auteur, il va vérifier si les liens contenus dans le commentaire (y compris le site de l'auteur) sont présents sur la liste "multi" surbl.org. Ce filtre n'est pas configurable.</dd>
-</dl>
 
 </body>
Index: plugins/antispam/locales/fr/help/help.html
===================================================================
--- plugins/antispam/locales/fr/help/help.html	(revision 2472)
+++ plugins/antispam/locales/fr/help/help.html	(revision 2322)
@@ -4,26 +4,8 @@
 </head>
 
-	<body>
+<body>
 
 <h4>Antispam</h4>
-	<p>Le spam de commentaires et rétroliens est passé d'anecdotique à un phénomène massif. Il est devenu indispensable de disposer d'un ensemble de filtres permettant de reconnaître si un commentaire est un indésirable ou non, c'est ce que propose le plugin Antispam.
-	</p>
 
-<dl>
-	<dt>Informations</dt>
-	<dd>Cliquer sur &#171; Commentaires indésirables &#187; renvoie vers la liste des commentaires indésirables.</dd>
-	<dd>Cliquer sur &#171; Commentaires publiés &#187; renvoie vers la liste de tous les commentaires publiés.</dd>
-	<dd>Le bouton &#171; Supprimer tous les indésirables &#187; permet de supprimer tous les commentaires indésirables d'un seul coup.</dd>
-	
-	<dt>Filtres d'indésirables disponibles</dt>
-	<dd>Par défaut, Dotclear est livré avec six filtres dont deux désactivés. Vous pouvez en rajouter d'autres par la suite.</dd> 
-	<dd>Ordre : Les filtres sont appliqués à partir du premier en partant du haut. Vous pouvez changer l'ordre des filtres. 
-	Certains des filtres par défaut (IP Lookup, Links Lookup et Akismet) ont besoin du réseau ce qui peut-être un peu long. Il est conseillé de les laisser en fin de liste.
-	De même, le filtre IP Filter pouvant décider qu'un message n'est pas un spam, laissez le toujours en deuxième position.</dd>
-	<dd>Actif : Cocher ou décocher la case pour activer ou désactiver le filtre.</dd>
-	<dd>Auto suppr. : Si la case est cochée, les commentaires considérés comme indésirables par le filtre seront automatiquement et définitivement supprimés sans possibilité de repêcher les faux positifs.</dd>
-	<dd>Configuration du filtre : Certains filtres peuvent et même doivent, dans certains cas, être configuré pour être efficace. Cliquer sur l'icône pour accéder à la page de configuration du filtre.</dd> 
-</dl>	
-	</body>
-
+</body>
 </html>
Index: plugins/antispam/locales/fr/help/ip.html
===================================================================
--- plugins/antispam/locales/fr/help/ip.html	(revision 2458)
+++ plugins/antispam/locales/fr/help/ip.html	(revision 2322)
@@ -8,16 +8,4 @@
 <h4>IP Filter</h4>
 
-<p>Ce filtre permet d'ajouter manuellement des adresses IP en liste noire ou en liste blanche. Un commentaire venant d'un adresse IP en liste noire sera immédiatement classé comme indésirable, inversement, s'il vient d'une adresse IP en liste blanche, il sera considéré comme sûr et stoppera l'action des autres filtres.</p>
-
-<p>Pour ajouter une adresse IP, choisissez d'abord un onglet "Liste noire" ou "Liste blanche" et ajoutez l'adresse. La case à cocher "IP globale" est disponible si vous êtes super administrateur et permet d'ajouter une adresse pour tous les blogs de votre installation.</p>
-
-<p>Vous pouvez ajouter des adresses IP avec masque de réseau pour bloquer ou autoriser toute une série d'adresses. Par exemple :<p>
-<ul>
-    <li>127.0.0.0/255.0.0.0 ou la forme abrégée 127/8 reconnaitra toutes les adresses IP de type 127.xxx.xxx.xxx</li>
-    <li>127.0.0.0/255.255.0.0 ou la forme abrégée 127.0/16 reconnaitra toutes les adresses IP de type 127.0.xxx.xxx</li>
-    <li>127.0.0.0/255.255.255.0 ou la forme abrégée 127.0.0/24 reconnaitra toutes les adresses IP de type 127.0.0.xxx</li>
-</ul>
-
-
 </body>
 </html>
Index: plugins/antispam/locales/fr/help/iplookup.html
===================================================================
--- plugins/antispam/locales/fr/help/iplookup.html	(revision 2472)
+++ plugins/antispam/locales/fr/help/iplookup.html	(revision 2322)
@@ -7,7 +7,4 @@
 
 <h4>IP Lookup Filter</h4>
-<p>IP Lookup est un filtre qui vérifie l'adresse IP de l'auteur du scommentaire sur des listes partagées appelées DNSBL (ou RBL). Par défaut le filtre utilise les serveurs sbl-xbl.spamhaus.org et bsb.spamlookup.net. Retrouvez <a href="http://www.moensted.dk/spam/">une liste de serveurs sur cette page.</a></p>
-
-<p>Vous pouvez ajouter autant de serveurs que vous le souhaitez en les séparant par des virgules. N'oubliez pas de cliquer sur Enregistrer pour sauvegarder vos modifications.</p>
 
 </body>
Index: plugins/antispam/locales/fr/help/words.html
===================================================================
--- plugins/antispam/locales/fr/help/words.html	(revision 2472)
+++ plugins/antispam/locales/fr/help/words.html	(revision 2322)
@@ -1,22 +1,11 @@
 <html>
 <head>
-  <title>Bad Words</title>
+  <title>Words Filter</title>
 </head>
 
 <body>
 
-<h4>Bad Words</h4>
+<h4>Words Filter</h4>
 
-<p>Ce filtre permet de filtrer les commentaires sur la présence de mots dans le nom, l'adresse email, l'adresse du site de l'auteur et le contenu du commentaire.</p>
-
-<dl>
-<dt>Ajouter un mot</dt>
-	<dd>Comme pour le filtrage d'adresses IP, ajoutez simplement le mot que vous souhaitez bloquer dans la liste. De la même manière, vous pouvez, si vous avez les permissions suffisantes, définir des mots globaux qui activeront le filtrage pour tous les blogs de votre installation.</dd> 
-	<dd>Astuce : Vous pouvez ajouter une expression rationnelle à votre liste de mots en faisant commencer et finir votre mot par "/". Par exemple "/foo/" filtrera tous les mots contenant "foo".</dd>
-<dt>Liste de mots interdits</dt>
-	<dd>Liste des mots qui font que le commentaire est considéré comme un indésirable.</dd>
-	<dd>Sélectionner le(s) mot(s) pour le supprimer de la liste.</dd>
-<dt>Créer une liste de mots par défaut</dt>  
-</dl>
 </body>
 </html>
Index: plugins/attachments/_admin.php
===================================================================
--- plugins/attachments/_admin.php	(revision 2360)
+++ plugins/attachments/_admin.php	(revision 1620)
@@ -12,28 +12,13 @@
 if (!defined('DC_CONTEXT_ADMIN')) { return; }
 
-$core->addBehavior('adminPostFormItems',array('attachmentAdmin','adminPostFormItems'));
-$core->addBehavior('adminPostAfterForm',array('attachmentAdmin','adminPostAfterForm'));
+$core->addBehavior ('adminPostFormItems',array('attachmentAdmin','adminPostFormItems'));
+$core->addBehavior ('adminPostAfterForm',array('attachmentAdmin','adminPostAfterForm'));
 $core->addBehavior('adminPostHeaders',array('attachmentAdmin','postHeaders'));
-$core->addBehavior('adminPageFormItems',array('attachmentAdmin','adminPostFormItems'));
-$core->addBehavior('adminPageAfterForm',array('attachmentAdmin','adminPostAfterForm'));
+$core->addBehavior ('adminPageFormItems',array('attachmentAdmin','adminPostFormItems'));
+$core->addBehavior ('adminPageAfterForm',array('attachmentAdmin','adminPostAfterForm'));
 $core->addBehavior('adminPageHeaders',array('attachmentAdmin','postHeaders'));
-$core->addBehavior('adminPageHelpBlock',array('attachmentAdmin','adminPageHelpBlock'));
 
 class attachmentAdmin
 {
-	public static function adminPageHelpBlock($blocks)
-	{
-		$found = false;
-		foreach($blocks as $block) {
-			if ($block == 'core_post') {
-				$found = true;
-				break;
-			}
-		}
-		if (!$found) {
-			return null;
-		}
-		$blocks[] = 'attachments';
-	}
 	public static function postHeaders()
 	{
@@ -69,5 +54,5 @@
 				'<li class="media-action"><a class="attachment-remove" id="attachment-'.$f->media_id.'" '.
 				'href="post_media.php?post_id='.$post->post_id.'&amp;media_id='.$f->media_id.'&amp;remove=1">'.
-				'<img src="images/trash.png" alt="'.__('remove').'" /></a>'.
+				'<img src="images/check-off.png" alt="'.__('remove').'" /></a>'.
 				'</li>'.
 				
Index: lugins/attachments/locales/en/help/help.html
===================================================================
--- plugins/attachments/locales/en/help/help.html	(revision 2359)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<html>
-<head>
-  <title>Attachements</title>
-</head>
-
-<body>
-
-<h4>Attachements</h4>
-
-</body>
-</html>
Index: lugins/attachments/locales/en/resources.php
===================================================================
--- plugins/attachments/locales/en/resources.php	(revision 2359)
+++ 	(revision )
@@ -1,18 +1,0 @@
-<?php
-# -- BEGIN LICENSE BLOCK ---------------------------------------
-#
-# This file is part of Dotclear 2.
-#
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
-# Licensed under the GPL version 2.0 license.
-# See LICENSE file or
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#
-# -- END LICENSE BLOCK -----------------------------------------
-
-if (!isset($__resources['help']['attachments']))
-{
-	$__resources['help']['attachments'] = dirname(__FILE__).'/help/help.html';
-}
-
-?>
Index: lugins/attachments/locales/fr/help/help.html
===================================================================
--- plugins/attachments/locales/fr/help/help.html	(revision 2442)
+++ 	(revision )
@@ -1,13 +1,0 @@
-<html>
-<head>
-  <title>Annexes</title>
-</head>
-
-<body>
-
-<h4>Annexes</h4>
-<p>Cliquer sur <strong>Ajouter une annexe</strong> pour joindre au billet un fichier présent dans la médiathèque&nbsp;: le bouton conduit sur la page de la médiathèque dont on peut parcourir l'arborescence ; une fois parvenu au fichier désiré, cliquer sur le signe « + » <span class="hidden">(lien Attacher ce fichier au billet)</span>. On peut aussi le télécharger à cette occasion.</p>
-<p>Pour supprimer une annexe, cliquer sur l'icône de poubelle <span class="hidden">(lien Supprimer la pièce jointe)</span> placée en haut de la boîte de chaque annexe.</p>
-<p>Les fichiers ajoutés en annexe apparaîtront sur le blog à la suite du billet.</p>
-</body>
-</html>
Index: lugins/attachments/locales/fr/resources.php
===================================================================
--- plugins/attachments/locales/fr/resources.php	(revision 2359)
+++ 	(revision )
@@ -1,18 +1,0 @@
-<?php
-# -- BEGIN LICENSE BLOCK ---------------------------------------
-#
-# This file is part of Dotclear 2.
-#
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
-# Licensed under the GPL version 2.0 license.
-# See LICENSE file or
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#
-# -- END LICENSE BLOCK -----------------------------------------
-
-if (!isset($__resources['help']['attachments']))
-{
-	$__resources['help']['attachments'] = dirname(__FILE__).'/help/help.html';
-}
-
-?>
Index: plugins/blogroll/index.php
===================================================================
--- plugins/blogroll/index.php	(revision 2256)
+++ plugins/blogroll/index.php	(revision 2495)
@@ -27,5 +27,5 @@
 {
 	$default_tab = 'import-links';
-	
+
 	try
 	{
@@ -35,5 +35,5 @@
 			throw new Exception(__('Unable to move uploaded file.'));
 		}
-		
+
 		require_once dirname(__FILE__).'/class.dc.importblogroll.php';
 		try {
@@ -44,6 +44,6 @@
 			throw $e;
 		}
-		
-		
+
+
 		if (empty($imported)) {
 			unset($imported);
@@ -69,12 +69,12 @@
 		}
 	}
-	
+
 	dcPage::addSuccessNotice(__('links have been successfully imported.'));
-	http::redirect($p_url);	
+	http::redirect($p_url);
 }
 
 if (!empty($_POST['cancel_import'])) {
 	$core->error->add(__('Import operation cancelled.'));
-	$default_tab = 'import-links';	
+	$default_tab = 'import-links';
 }
 
@@ -86,5 +86,5 @@
 	$link_desc = $_POST['link_desc'];
 	$link_lang = $_POST['link_lang'];
-	
+
 	try {
 		$blogroll->addLink($link_title,$link_href,$link_desc,$link_lang);
@@ -102,5 +102,5 @@
 {
 	$cat_title = $_POST['cat_title'];
-	
+
 	try {
 		$blogroll->addCategory($cat_title);
@@ -124,5 +124,5 @@
 		}
 	}
-	
+
 	if (!$core->error->flag()) {
 		dcPage::addSuccessNotice(__('Items have been successfully removed.'));
@@ -145,5 +145,5 @@
 	foreach ($order as $pos => $l) {
 		$pos = ((integer) $pos)+1;
-		
+
 		try {
 			$blogroll->updateOrder($l,$pos);
@@ -152,5 +152,5 @@
 		}
 	}
-	
+
 	if (!$core->error->flag()) {
 		dcPage::addSuccessNotice(__('Items order has been successfully updated'));
@@ -172,9 +172,10 @@
   <title><?php echo __('Blogroll'); ?></title>
   <?php echo dcPage::jsConfirmClose('links-form','add-link-form','add-category-form'); ?>
-  <?php 
+  <?php
 	$core->auth->user_prefs->addWorkspace('accessibility');
 	if (!$core->auth->user_prefs->accessibility->nodragdrop) {
 	echo
 		dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
+		dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 		dcPage::jsLoad('index.php?pf=blogroll/blogroll.js');
 	}
@@ -213,11 +214,11 @@
 {
 	$position = (string) $rs->index()+1;
-	
+
 	echo
 	'<tr class="line" id="l_'.$rs->link_id.'">'.
 	'<td class="handle minimal">'.form::field(array('order['.$rs->link_id.']'),2,5,$position,'position','',false,'title="'.__('position').'"').'</td>'.
 	'<td class="minimal">'.form::checkbox(array('remove[]'),$rs->link_id,'','','',false,'title="'.__('select this link').'"').'</td>';
-	
-	
+
+
 	if ($rs->is_cat)
 	{
@@ -235,5 +236,5 @@
 		'<td>'.html::escapeHTML($rs->link_lang).'</td>';
 	}
-	
+
 	echo '</tr>';
 }
@@ -245,5 +246,5 @@
 <p class="col">
 <?php
-	echo 
+	echo
 	form::hidden('links_order','').
 	form::hidden(array('p'),'blogroll').
@@ -252,5 +253,5 @@
 <input type="submit" name="saveorder" value="<?php echo __('Save order'); ?>" /></p>
 <p class="col right"><input type="submit" class="delete" name="removeaction"
-	 value="<?php echo __('Delete selected links'); ?>" 
+	 value="<?php echo __('Delete selected links'); ?>"
 	 onclick="return window.confirm('
 	 <?php echo html::escapeJS(__('Are you sure you want to delete selected links?')); ?>');" /></p>
@@ -330,5 +331,5 @@
 		'<th>'.__('Description').'</th>'.
 		'</tr>';
-		
+
 		$i = 0;
 		foreach ($imported as $entry) {
@@ -336,6 +337,6 @@
 			$title = html::escapeHTML($entry->title);
 			$desc  = html::escapeHTML($entry->desc);
-			
-			echo 
+
+			echo
 			'<tr><td>'.form::checkbox(array('entries[]'),$i,'','','').'</td>'.
 			'<td nowrap><a href="'.$url.'">'.$title.'</a>'.
@@ -345,5 +346,5 @@
 			'<td>'.$desc.
 			'<input type="hidden" name="desc['.$i.']" value="'.$desc.'" />'.
-			'</td></tr>'."\n";			
+			'</td></tr>'."\n";
 			$i++;
 		}
@@ -352,5 +353,5 @@
 		'<div class="two-cols">'.
 		'<p class="col checkboxes-helpers"></p>'.
-		
+
 		'<p class="col right">'.
 		form::hidden(array('p'),'blogroll').
Index: plugins/blowupConfig/_admin.php
===================================================================
--- plugins/blowupConfig/_admin.php	(revision 2351)
+++ plugins/blowupConfig/_admin.php	(revision 1179)
@@ -21,5 +21,5 @@
 {
 	if ($id == 'default' && $core->auth->check('admin',$core->blog->id)) {
-		return '<p><a href="plugin.php?p=blowupConfig" class="button submit">'.__('Configure theme').'</a></p>';
+		return '<p><a href="plugin.php?p=blowupConfig" class="button">'.__('Theme configuration').'</a></p>';
 	}
 }
Index: plugins/blowupConfig/config.js
===================================================================
--- plugins/blowupConfig/config.js	(revision 2358)
+++ plugins/blowupConfig/config.js	(revision 2333)
@@ -144,5 +144,4 @@
 
 dotclear.blowup_styles = {
-	'Plumetis 2.6'			:'body_bg_c:"#F5F5F5"; body_bg_g:"solid"; body_txt_f:"ss1"; body_txt_s:"14px"; body_txt_c:"#333333"; body_line_height:"24px"; top_image:"plumetis"; blog_title_hide:"0"; blog_title_f:"ss1"; blog_title_s:"36px"; blog_title_c:"#333333"; blog_title_a:"left"; blog_title_p:"20:94"; body_link_c:"#000000"; body_link_f_c:"#D33800"; body_link_v_c:"#333333"; sidebar_position:""; sidebar_text_f:"ss1"; sidebar_text_s:"12px"; sidebar_text_c:""; sidebar_title_f:""; sidebar_title_s:"14px"; sidebar_title_c:"#666666"; sidebar_title2_f:""; sidebar_title2_s:"12px"; sidebar_title2_c:"#000000"; sidebar_line_c:"#A6D9DC"; sidebar_link_c:""; sidebar_link_f_c:"#D33800"; sidebar_link_v_c:""; date_title_f:""; date_title_s:"12px"; date_title_c:"#666666"; post_title_f:"ss1"; post_title_s:"24px"; post_title_c:"#D33800"; post_comment_bg_c:"#E2EDED"; post_comment_c:"#333333"; post_commentmy_bg_c:"#A6D9DC"; post_commentmy_c:"#000000"; prelude_c:"#A6D9DC"; footer_f:""; footer_s:"12px"; footer_c:"#FFFFFF"; footer_l_c:"#FFFFFF"; footer_bg_c:"#999999"; extra_css:"h1, .post-title {font-weight: normal;text-shadow: 1px 1px 0 #fff;}#footer {background-image: none}body {border-top: 72px solid #A6D9DC}#top {margin-top: -36px}.post a {border-bottom: 1px solid #999}.post-title a, .post-info-co a {border-bottom: none}a:hover {background-color: #eee;text-decoration:none;}"',
 	'Forest'			:'body_bg_c:"#80661A"; body_bg_g:"light"; body_txt_f:""; body_txt_s:""; body_txt_c:"#0A0A00"; body_line_height:"1.4em"; top_image:"default"; blog_title_hide:"0"; blog_title_f:"s3"; blog_title_s:"4em"; blog_title_c:"#D9D9BF"; blog_title_a:""; blog_title_p:""; body_link_c:"#666600"; body_link_f_c:"#CC9933"; body_link_v_c:"#8D8D40"; sidebar_position:""; sidebar_text_f:""; sidebar_text_s:""; sidebar_text_c:"#0A0A00"; sidebar_title_f:"s2"; sidebar_title_s:"1.6em"; sidebar_title_c:"#4D4D00"; sidebar_title2_f:"s2"; sidebar_title2_s:""; sidebar_title2_c:"#575700"; sidebar_line_c:"#D9D9BF"; sidebar_link_c:"#40330D"; sidebar_link_f_c:"#666600"; sidebar_link_v_c:"#40330D"; date_title_f:""; date_title_s:""; date_title_c:"#B3B380"; post_title_f:"s2"; post_title_s:"2em"; post_title_c:"#4D4D00"; post_comment_bg_c:"#F0F0E6"; post_comment_c:"#0A0A00"; prelude_c:"#140F05"; footer_f:""; footer_s:""; footer_c:"#FFFFFF"; footer_l_c:"#D9AD2B"; footer_bg_c:"#33260D"',
 	'Flamingo'		:'body_bg_c:"#CC9999"; body_bg_g:"light"; body_txt_f:"ss3"; body_txt_s:"1.2em"; body_txt_c:"#1A1A00"; body_line_height:"1.5em"; top_image:"flamingo"; blog_title_hide:"0"; blog_title_f:"ss1"; blog_title_s:"3.5em"; blog_title_c:"#FFFFFF"; blog_title_a:""; blog_title_p:""; body_link_c:"#AD8282"; body_link_f_c:"#8282D9"; body_link_v_c:"#997373"; sidebar_position:""; sidebar_text_f:""; sidebar_text_s:""; sidebar_text_c:""; sidebar_title_f:"ss4"; sidebar_title_s:"1.4em"; sidebar_title_c:"#8282D9"; sidebar_title2_f:"ss3"; sidebar_title2_s:"1.2em"; sidebar_title2_c:"#AD8282"; sidebar_line_c:"#CDCDFF"; sidebar_link_c:"#262640"; sidebar_link_f_c:"#AD8282"; sidebar_link_v_c:"#262640"; date_title_f:"ss4"; date_title_s:""; date_title_c:"#D9B3B3"; post_title_f:"ss4"; post_title_s:"1.8em"; post_title_c:"#8282D9"; post_comment_bg_c:"#F2E5E5"; post_comment_c:""; prelude_c:"#140F0F"; footer_f:""; footer_s:""; footer_c:"#FFFFFF"; footer_l_c:""; footer_bg_c:"#140F0F"',
@@ -150,4 +149,5 @@
 	'Night'			:'body_bg_c:"#0D1A26"; body_bg_g:"dark"; body_txt_f:"ss3"; body_txt_s:"1.1em"; body_txt_c:"#050A0F"; body_line_height:"1.5em"; top_image:"default"; blog_title_hide:"0"; blog_title_f:"s2"; blog_title_s:"3.5em"; blog_title_c:"#F2F2E5"; blog_title_a:""; body_link_c:"#336699"; body_link_f_c:"#66664D"; body_link_v_c:"#2B5782"; sidebar_position:""; sidebar_text_f:""; sidebar_text_s:""; sidebar_text_c:""; sidebar_title_f:"ss3"; sidebar_title_s:"1.4em"; sidebar_title_c:"#336699"; sidebar_title2_f:"ss3"; sidebar_title2_s:"1.2em"; sidebar_title2_c:"#737300"; sidebar_line_c:"#E6E6CD"; sidebar_link_c:"#66664D"; sidebar_link_f_c:"#336699"; sidebar_link_v_c:"#66664D"; date_title_f:""; date_title_s:""; date_title_c:"#ADAD82"; post_title_f:"s2"; post_title_s:"1.8em"; post_title_c:"#737300"; post_comment_bg_c:"#E6E6CD"; post_comment_c:""; prelude_c:"#070E14"; footer_f:""; footer_s:""; footer_c:"#FFFFFF"; footer_l_c:""; footer_bg_c:"#14140F"; blog_title_p:""',
 	'Peas & Carrots'	:'body_bg_c:"#9DCA25"; body_bg_g:"light"; body_txt_f:"ss1"; body_txt_s:"1.2em"; body_txt_c:"#383839"; body_line_height:"1.5em"; top_image:"butterflies"; blog_title_hide:"0"; blog_title_f:"ss4"; blog_title_s:"3em"; blog_title_c:"#DBDB9D"; blog_title_a:"left"; blog_title_p:""; body_link_c:"#646B10"; body_link_f_c:"#DF6C01"; body_link_v_c:"#919924"; sidebar_position:"left"; sidebar_text_f:""; sidebar_text_s:""; sidebar_text_c:""; sidebar_title_f:"ss4"; sidebar_title_s:""; sidebar_title_c:"#FE9017"; sidebar_title2_f:"s2"; sidebar_title2_s:"1.2em"; sidebar_title2_c:"#826228"; sidebar_line_c:"#D3EB8B"; sidebar_link_c:"#858547"; sidebar_link_f_c:"#FE9017"; sidebar_link_v_c:"#8F9645"; date_title_f:""; date_title_s:""; date_title_c:"#826228"; post_title_f:"ss4"; post_title_s:"1.8em"; post_title_c:"#806432"; post_comment_bg_c:"#EFFDCC"; post_comment_c:"#826228"; prelude_c:"#C8E186"; footer_f:""; footer_s:"1em"; footer_c:"#FFFFFF"; footer_l_c:"#FFFFFF"; footer_bg_c:"#484432"',
+	'Plumetis'			:'body_bg_c:"#F5F5F5"; body_bg_g:"solid"; body_txt_f:"ss1"; body_txt_s:"14px"; body_txt_c:"#333333"; body_line_height:"24px"; top_image:"plumetis"; blog_title_hide:"0"; blog_title_f:"ss1"; blog_title_s:"36px"; blog_title_c:"#333333"; blog_title_a:"left"; blog_title_p:"20:94"; body_link_c:"#000000"; body_link_f_c:"#D33800"; body_link_v_c:"#333333"; sidebar_position:""; sidebar_text_f:"ss1"; sidebar_text_s:"12px"; sidebar_text_c:""; sidebar_title_f:""; sidebar_title_s:"14px"; sidebar_title_c:"#666666"; sidebar_title2_f:""; sidebar_title2_s:"12px"; sidebar_title2_c:"#000000"; sidebar_line_c:"#A6D9DC"; sidebar_link_c:""; sidebar_link_f_c:"#D33800"; sidebar_link_v_c:""; date_title_f:""; date_title_s:"12px"; date_title_c:"#666666"; post_title_f:"ss1"; post_title_s:"24px"; post_title_c:"#D33800"; post_comment_bg_c:"#E2EDED"; post_comment_c:"#333333"; post_commentmy_bg_c:"#A6D9DC"; post_commentmy_c:"#000000"; prelude_c:"#A6D9DC"; footer_f:""; footer_s:"12px"; footer_c:"#FFFFFF"; footer_l_c:"#FFFFFF"; footer_bg_c:"#999999"; extra_css:"h1, .post-title {font-weight: normal;text-shadow: 1px 1px 0 #fff;}#footer {background-image: none}body {border-top: 72px solid #A6D9DC}#top {margin-top: -36px}.post a {border-bottom: 1px solid #999}.post-title a, .post-info-co a {border-bottom: none}a:hover {background-color: #eee;text-decoration:none;}"',
 	'Rabbit'			:'body_bg_c:"#8F9645"; body_bg_g:"solid"; body_txt_f:"ss1"; body_txt_s:"1.2em"; body_txt_c:"#625D47"; body_line_height:"1.4em"; top_image:"rabbit"; blog_title_hide:"0"; blog_title_f:"ss1"; blog_title_s:"3.5em"; blog_title_c:"#DBDB9D"; blog_title_a:""; blog_title_p:"130:70"; body_link_c:"#646B10"; body_link_f_c:"#484C12"; body_link_v_c:"#919924"; sidebar_position:""; sidebar_text_f:""; sidebar_text_s:""; sidebar_text_c:"#858547"; sidebar_title_f:""; sidebar_title_s:""; sidebar_title_c:"#8F9645"; sidebar_title2_f:"s2"; sidebar_title2_s:""; sidebar_title2_c:"#826228"; sidebar_line_c:"#95956B"; sidebar_link_c:"#858547"; sidebar_link_f_c:"#826228"; sidebar_link_v_c:"#8F9645"; date_title_f:"s2"; date_title_s:"1em"; date_title_c:"#826228"; post_title_f:"s2"; post_title_s:"1.6em"; post_title_c:"#806432"; post_comment_bg_c:"#D6DE91"; post_comment_c:"#826228"; prelude_c:"#484432"; footer_f:""; footer_s:"1em"; footer_c:"#A6AF50"; footer_l_c:"#DBDB9D"; footer_bg_c:"#484432"',
 	'Rec Room'		:'body_bg_c:"#9B5E1C"; body_bg_g:"dark"; body_txt_f:"ss3"; body_txt_s:"1.1em"; body_txt_c:"#757575"; body_line_height:"1.5em"; top_image:"default"; blog_title_hide:"0"; blog_title_f:"s2"; blog_title_s:"3em"; blog_title_c:"#F9FAD6"; blog_title_a:""; blog_title_p:""; body_link_c:"#D1BF1D"; body_link_f_c:"#EEE168"; body_link_v_c:"#D1BF1D"; sidebar_position:"left"; sidebar_text_f:""; sidebar_text_s:""; sidebar_text_c:""; sidebar_title_f:"ss3"; sidebar_title_s:"1.2em"; sidebar_title_c:"#689B9C"; sidebar_title2_f:"ss3"; sidebar_title2_s:"1.2em"; sidebar_title2_c:"#737300"; sidebar_line_c:"#E6E6CD"; sidebar_link_c:"#66664D"; sidebar_link_f_c:"#689B9C"; sidebar_link_v_c:"#66664D"; date_title_f:""; date_title_s:""; date_title_c:"#000000"; post_title_f:"s2"; post_title_s:"1.8em"; post_title_c:"#689B9C"; post_comment_bg_c:"#E4E4E2"; post_comment_c:""; prelude_c:"#3B2C16"; footer_f:""; footer_s:""; footer_c:"#FFFFFF"; footer_l_c:""; footer_bg_c:"#3B2C16"',
Index: plugins/blowupConfig/help.html
===================================================================
--- plugins/blowupConfig/help.html	(revision 1956)
+++ plugins/blowupConfig/help.html	(revision 1956)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html>
+<head>
+  <title>Blowup theme configuration</title>
+</head>
+
+<body>
+<p>Modifying Blowup theme configuration allows you to customize your theme very easily. To do so, simply fill in the configuration fields or choose a predefined style.</p>
+
+<h4>Colors</h4>
+
+<p>When you have to enter a color value, you should use the hexadecimal format. For example: "#FF0000" will give you red. You may also use the color picker located next to every color field.</p>
+<p>If you lack inspiration, try and visit the following pages:</p>
+<ul>
+ <li><a href="http://en.wikipedia.org/wiki/List_of_colors">Color code list</a> (Wikipedia)</li>
+ <li><a href="http://kuler.adobe.com/">Adobe Kuler</a></li>
+ <li><a href="http://colorblender.com/">ColorBlender</a></li>
+ <li><a href="http://www.colorcombos.com/">ColorCombos</a></li>
+</ul>
+
+<h4>Measurement units</h4>
+
+<p>When you have to indicate a size, it must be followed by a measurement unit. For example: "1em". If you do not include the unit, pixels will be used as default measurement unit.</p>
+<p>The following measurement units are available:</p>
+<ul>
+  <li>px</li>
+  <li>em</li>
+  <li>ex</li>
+  <li>pt</li>
+  <li>%</li>
+</ul>
+
+<h4>Header images</h4>
+
+<p>You can choose a header image among the list to use in place of the default one.</p>
+
+<p>When you choose "Custom..." in the image list, you will be able to upload your own image. <strong>The image file must be in JPG or PNG format and must be precisely 800px wide.</strong>
+
+<p>If you upload a JPG image, a border will be added to the image, which is not the case with PNG images (the transparency of which will also be kept).</p>
+
+<h4>Predefined styles</h4>
+
+<p>You can choose a predefined style in the "Predefinite styles" drop-down list.
+Once you have chosen the style, you have to submit the form to apply the modifications.</p>
+
+<p>You may then modify the predefined style according to your taste and needs.</p>
+
+<h4>Configuration import / export</h4>
+
+<p>At the end of Blowup options, you can display an area names "Configuration import/export". This text area contains the configuration you are currently using. You can copy it to share it with others.</p>
+
+<p>To apply (import) a configuration, you simply need to replace the content of the text area with the configuration you want to use. Don't forget to click on "apply code".</p>
+
+</body>
+</html>
Index: plugins/blowupConfig/index.php
===================================================================
--- plugins/blowupConfig/index.php	(revision 2442)
+++ plugins/blowupConfig/index.php	(revision 2335)
@@ -316,5 +316,5 @@
 
 	echo
-	'<h5 class="pretty-title">'.__('Top image').'</h5>'.
+	'<h5 class="pretty-title">'.__('Top image').'</h4>'.
 	'<p class="field"><label for="top_image">'.__('Top image').'</label> '.
 	form::combo('top_image',$top_images,($blowup_user['top_image'] ? $blowup_user['top_image'] : 'default')).'</p>'.
Index: lugins/blowupConfig/locales/en/help/help.html
===================================================================
--- plugins/blowupConfig/locales/en/help/help.html	(revision 2368)
+++ 	(revision )
@@ -1,55 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-  <title>Blowup theme configuration</title>
-</head>
-
-<body>
-<p>Modifying Blowup theme configuration allows you to customize your theme very easily. To do so, simply fill in the configuration fields or choose a predefined style.</p>
-
-<h4>Colors</h4>
-
-<p>When you have to enter a color value, you should use the hexadecimal format. For example: "#FF0000" will give you red. You may also use the color picker located next to every color field.</p>
-<p>If you lack inspiration, try and visit the following pages:</p>
-<ul>
- <li><a href="http://en.wikipedia.org/wiki/List_of_colors">Color code list</a> (Wikipedia)</li>
- <li><a href="http://kuler.adobe.com/">Adobe Kuler</a></li>
- <li><a href="http://colorblender.com/">ColorBlender</a></li>
- <li><a href="http://www.colorcombos.com/">ColorCombos</a></li>
-</ul>
-
-<h4>Measurement units</h4>
-
-<p>When you have to indicate a size, it must be followed by a measurement unit. For example: "1em". If you do not include the unit, pixels will be used as default measurement unit.</p>
-<p>The following measurement units are available:</p>
-<ul>
-  <li>px</li>
-  <li>em</li>
-  <li>ex</li>
-  <li>pt</li>
-  <li>%</li>
-</ul>
-
-<h4>Header images</h4>
-
-<p>You can choose a header image among the list to use in place of the default one.</p>
-
-<p>When you choose "Custom..." in the image list, you will be able to upload your own image. <strong>The image file must be in JPG or PNG format and must be precisely 800px wide.</strong>
-
-<p>If you upload a JPG image, a border will be added to the image, which is not the case with PNG images (the transparency of which will also be kept).</p>
-
-<h4>Predefined styles</h4>
-
-<p>You can choose a predefined style in the "Predefinite styles" drop-down list.
-Once you have chosen the style, you have to submit the form to apply the modifications.</p>
-
-<p>You may then modify the predefined style according to your taste and needs.</p>
-
-<h4>Configuration import / export</h4>
-
-<p>At the end of Blowup options, you can display an area names "Configuration import/export". This text area contains the configuration you are currently using. You can copy it to share it with others.</p>
-
-<p>To apply (import) a configuration, you simply need to replace the content of the text area with the configuration you want to use. Don't forget to click on "apply code".</p>
-
-</body>
-</html>
Index: lugins/blowupConfig/locales/en/resources.php
===================================================================
--- plugins/blowupConfig/locales/en/resources.php	(revision 2368)
+++ 	(revision )
@@ -1,16 +1,0 @@
-<?php
-# -- BEGIN LICENSE BLOCK ---------------------------------------
-#
-# This file is part of Dotclear 2.
-#
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
-# Licensed under the GPL version 2.0 license.
-# See LICENSE file or
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#
-# -- END LICENSE BLOCK -----------------------------------------
-
-if (!isset($__resources['help']['blowupConfig']))
-{
-	$__resources['help']['blowupConfig'] = dirname(__FILE__).'/help/help.html';
-}
Index: lugins/blowupConfig/locales/fr/help/help.html
===================================================================
--- plugins/blowupConfig/locales/fr/help/help.html	(revision 2441)
+++ 	(revision )
@@ -1,55 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-  <title>Configuration du thème Blowup</title>
-</head>
-
-<body>
-<p>En modifiant la configuration du thème Blowup, vous pouvez personnaliser votre thème très facilement : il suffit pour cela de renseigner les champs de configuration ou de choisir un style prédéfini.</p>
-
-<h4>Couleurs</h4>
-
-<p>Quand vous devez indiquer une valeur de couleur, celle-ci doit être au format hexadécimal (exemple:"#FF0000" donnera du rouge). Vous pouvez vous aider de la pipette à côté de chaque champ de couleur.</p>
-<p>Afin de vous aider, vous pouvez consulter les liens suivants&nbsp;:</p>
-<ul>
- <li><a href="http://fr.wikipedia.org/wiki/Liste_De_Couleurs">La liste des codes</a> (Wikipedia),</li>
- <li><a href="http://kuler.adobe.com/">Adobe Kuler</a>,</li>
- <li><a href="http://colorblender.com/">ColorBlender</a>,</li>
- <li><a href="http://www.colorcombos.com/">ColorCombos</a>.</li>
-</ul>
-
-<h4>Unités de mesure</h4>
-
-<p>Quand vous devez indiquer une taille, celle-ci doit être suivie d'une unité
-de mesure. Si elle n'est pas suivie d'une unité, celle-ci sera indiquée en pixel. Les autres unités possibles sont : em, ex, pt, %.</p>
-
-<h4>Images d'en-tête</h4>
-
-<p>Vous pouvez choisir une image d'en-tête parmi la liste proposée
-afin de remplacer celle utilisée par défaut.</p>
-
-<p>En choisissant "Personnalisé..." parmi la liste d'images, vous pourrez
-déposer votre propre image. Celle-ci doit être au format JPG ou PNG et
-avoir une largeur exacte de 800 pixels.</p>
-
-<p>Si vous déposez une image au format JPG, un cadre sera ajouté autours de
-l'image, ce qui n'est pas le cas avec une image au format PNG (dont la
-transparence sera également préservée).</p>
-
-<h4>Styles prédéfinis</h4>
-
-<p>Vous pouvez choisir un style prédéfini dans la liste d'option "Styles prédéfinis".
-Une fois le style choisi, vous devez valider le formulaire pour appliquer les
-changements mais vous en servir de base pour personnaliser.</p>
-
-<h3>Import / export de configuration</h3>
-
-<p>En fin de page, vous pouvez afficher une zone appelée "Import
-/ export de configuration". Dans cette zone de texte se trouve la configuration
-en cours d'utilisation. Vous pouvez la copier pour l'utiliser dans un autre blog sans avoir à faire de nouveau les réglages.</p>
-
-<p>Pour appliquer (importer) une configuration, il suffit simplement de remplacer
-le contenu de la zone de texte par celui que vous voulez utiliser et de veiller à bien cliquer sur le lien "Appliquer le code".</p>
-
-</body>
-</html>
Index: lugins/blowupConfig/locales/fr/resources.php
===================================================================
--- plugins/blowupConfig/locales/fr/resources.php	(revision 2368)
+++ 	(revision )
@@ -1,16 +1,0 @@
-<?php
-# -- BEGIN LICENSE BLOCK ---------------------------------------
-#
-# This file is part of Dotclear 2.
-#
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
-# Licensed under the GPL version 2.0 license.
-# See LICENSE file or
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#
-# -- END LICENSE BLOCK -----------------------------------------
-
-if (!isset($__resources['help']['blowupConfig']))
-{
-	$__resources['help']['blowupConfig'] = dirname(__FILE__).'/help/help.html';
-}
Index: plugins/buildtools/class.dc.maintenance.buildtools.php
===================================================================
--- plugins/buildtools/class.dc.maintenance.buildtools.php	(revision 2355)
+++ plugins/buildtools/class.dc.maintenance.buildtools.php	(revision 2286)
@@ -55,11 +55,9 @@
 			$main .= $this->fake_l10n($v['label']);
 		}
-		$ws = $this->core->auth->user_prefs->favorites;	// Favs old school !
-		if ($ws) {
-			$main .= "\n# Favorites \n\n";
-			foreach ($ws->dumpPrefs() as $k => $v) {
-				$fav = unserialize($v['value']);
-				$main .= $this->fake_l10n($fav['title']);
-			}
+		$ws = $this->core->auth->user_prefs->favorites;
+		$main .= "\n# Favorites \n\n";
+		foreach ($ws->dumpPrefs() as $k => $v) {
+			$fav = unserialize($v['value']);
+			$main .= $this->fake_l10n($fav['title']);
 		}
 		file_put_contents(dirname($__autoload['dcCore']).'/_fake_l10n.php', $main);
Index: plugins/importExport/inc/class.dc.import.flat.php
===================================================================
--- plugins/importExport/inc/class.dc.import.flat.php	(revision 2485)
+++ plugins/importExport/inc/class.dc.import.flat.php	(revision 1559)
@@ -15,5 +15,5 @@
 {
 	protected $status = false;
-
+	
 	public function setInfo()
 	{
@@ -22,5 +22,5 @@
 		$this->description = __('Imports a blog or a full Dotclear installation from flat file.');
 	}
-
+	
 	public function process($do)
 	{
@@ -29,7 +29,7 @@
 			return;
 		}
-
+		
 		$to_unlink = false;
-
+		
 		# Single blog import
 		$files = $this->getPublicFiles();
@@ -40,5 +40,5 @@
 			$single_upl = true;
 		}
-
+		
 		if ($single_upl !== null)
 		{
@@ -53,5 +53,5 @@
 				$file = $_POST['public_single_file'];
 			}
-
+			
 			try {
 				# Try to unzip file
@@ -64,5 +64,5 @@
 					$bk = new flatImport($this->core,$file);
 				}
-
+				
 				$bk->importSingle();
 			} catch (Exception $e) {
@@ -79,5 +79,5 @@
 			http::redirect($this->getURL().'&do=single');
 		}
-
+		
 		# Full import
 		$full_upl = null;
@@ -87,5 +87,5 @@
 			$full_upl = true;
 		}
-
+		
 		if ($full_upl !== null && $this->core->auth->isSuperAdmin())
 		{
@@ -93,5 +93,5 @@
 				throw new Exception(__('Password verification failed'));
 			}
-
+			
 			if ($full_upl) {
 				files::uploadStatus($_FILES['up_full_file']);
@@ -104,5 +104,5 @@
 				$file = $_POST['public_full_file'];
 			}
-
+			
 			try {
 				# Try to unzip file
@@ -115,5 +115,5 @@
 					$bk = new flatImport($this->core,$file);
 				}
-
+				
 				$bk->importFull();
 			} catch (Exception $e) {
@@ -130,12 +130,12 @@
 			http::redirect($this->getURL().'&do=full');
 		}
-
+		
 		header('content-type:text/plain');
 		var_dump($_POST);
 		exit;
-
+		
 		$this->status = true;
 	}
-
+	
 	public function gui()
 	{
@@ -150,8 +150,8 @@
 			return;
 		}
-
+		
 		$public_files = array_merge(array('-' => ''),$this->getPublicFiles());
 		$has_files = (boolean) (count($public_files) - 1);
-
+		
 		echo
 		'<script type="text/javascript">'."\n".
@@ -178,23 +178,23 @@
 		"//]]>\n".
 		"</script>\n";
-
+		
 		echo
 		'<form action="'.$this->getURL(true).'" method="post" enctype="multipart/form-data" class="fieldset">'.
 		'<h3>'.__('Single blog').'</h3>'.
 		'<p>'.sprintf(__('This will import a single blog backup as new content in the current blog: <strong>%s</strong>.'),html::escapeHTML($this->core->blog->name)).'</p>'.
-
+		
 		'<p><label for="up_single_file">'.__('Upload a backup file').
 		' ('.sprintf(__('maximum size %s'),files::size(DC_MAX_UPLOAD_SIZE)).')'.' </label>'.
 		' <input type="file" id="up_single_file" name="up_single_file" size="20" />'.
 		'</p>';
-
+		
 		if ($has_files) {
-			echo
+			echo 
 			'<p><label for="public_single_file" class="">'.__('or pick up a local file in your public directory').' </label> '.
 			form::combo('public_single_file',$public_files).
 			'</p>';
 		}
-
-		echo
+		
+		echo 
 		'<p>'.
 		$this->core->formNonce().
@@ -202,7 +202,7 @@
 		form::hidden(array('MAX_FILE_SIZE'),DC_MAX_UPLOAD_SIZE).
 		'<input type="submit" value="'.__('Import').'" /></p>'.
-
+		
 		'</form>';
-
+		
 		if ($this->core->auth->isSuperAdmin())
 		{
@@ -211,21 +211,21 @@
 			'<h3>'.__('Multiple blogs').'</h3>'.
 			'<p class="warning">'.__('This will reset all the content of your database, except users.').'</p>'.
-
+			
 			'<p><label for="up_full_file">'.__('Upload a backup file').' '.
 			' ('.sprintf(__('maximum size %s'),files::size(DC_MAX_UPLOAD_SIZE)).')'.' </label>'.
 			'<input type="file" id="up_full_file" name="up_full_file" size="20" />'.
 			'</p>';
-
+			
 			if ($has_files) {
-				echo
+				echo 
 				'<p><label for="public_full_file">'.__('or pick up a local file in your public directory').' </label>'.
 				form::combo('public_full_file',$public_files).
 				'</p>';
 			}
-
+			
 			echo
 			'<p><label for="your_pwd" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label>'.
 			form::password('your_pwd',20,255).'</p>'.
-
+			
 			'<p>'.
 			$this->core->formNonce().
@@ -233,9 +233,9 @@
 			form::hidden(array('MAX_FILE_SIZE'),DC_MAX_UPLOAD_SIZE).
 			'<input type="submit" value="'.__('Import').'" /></p>'.
-
+			
 			'</form>';
 		}
 	}
-
+	
 	protected function getPublicFiles()
 	{
@@ -246,5 +246,5 @@
 			while (($entry = $dir->read()) !== false) {
 				$entry_path = $dir->path.'/'.$entry;
-
+				
 				if (is_file($entry_path) && is_readable($entry_path))
 				{
@@ -261,25 +261,25 @@
 		return $public_files;
 	}
-
+	
 	protected static function checkFileContent($entry_path)
 	{
 		$ret = false;
-
+		
 		$fp = fopen($entry_path,'rb');
 		$ret = strpos(fgets($fp),'///DOTCLEAR|') === 0;
 		fclose($fp);
-
+		
 		return $ret;
 	}
-
+	
 	private function unzip($file)
 	{
 		$zip = new fileUnzip($file);
-
+		
 		if ($zip->isEmpty()) {
 			$zip->close();
 			return false;//throw new Exception(__('File is empty or not a compressed file.'));
 		}
-
+		
 		foreach($zip->getFilesList() as $zip_file)
 		{
@@ -288,5 +288,5 @@
 				continue;
 			}
-
+			
 			# Check zipped file contents
 			$content = $zip->unzip($zip_file);
@@ -295,7 +295,7 @@
 				continue;
 			}
-
+			
 			$target = path::fullFromRoot($zip_file,dirname($file));
-
+			
 			# Check existing files with same name
 			if (file_exists($target)) {
@@ -304,5 +304,5 @@
 				throw new Exception(__('Another file with same name exists.'));
 			}
-
+			
 			# Extract backup content
 			if (file_put_contents($target,$content) === false) {
@@ -311,14 +311,15 @@
 				throw new Exception(__('Failed to extract backup file.'));
 			}
-
+			
 			$zip->close();
 			unset($content);
-
+			
 			# Return extracted file name
 			return $target;
 		}
-
+		
 		$zip->close();
 		throw new Exception(__('No backup in compressed file.'));
 	}
 }
+?>
Index: plugins/importExport/inc/flat/class.flat.import.php
===================================================================
--- plugins/importExport/inc/flat/class.flat.import.php	(revision 2485)
+++ plugins/importExport/inc/flat/class.flat.import.php	(revision 1743)
@@ -17,15 +17,15 @@
 	private $con;
 	private $prefix;
-
+	
 	private $dc_version;
 	private $dc_major;
 	private $mode;
-
+	
 	private $blog_url;
 	private $blog_name;
 	private $blog_desc;
-
+	
 	private $users = array();
-
+	
 	public $old_ids = array(
 		'category' => array(),
@@ -33,5 +33,5 @@
 		'media' => array()
 	);
-
+	
 	public $stack = array(
 		'categories'=>null,
@@ -41,32 +41,31 @@
 		'media_id'=>1,
 		'comment_id'=>1,
-		'link_id'=>1,
-		'log_id' => 1
+		'link_id'=>1
 	);
-
+	
 	public $has_categories = false;
-
+	
 	public function __construct($core,$file)
 	{
 		parent::__construct($file);
-
+		
 		$first_line = fgets($this->fp);
 		if (strpos($first_line,'///DOTCLEAR|') !== 0) {
 			throw new Exception(__('File is not a DotClear backup.'));
 		}
-
+		
 		@set_time_limit(300);
-
+		
 		$l = explode('|',$first_line);
-
+		
 		if (isset($l[1])) {
 			$this->dc_version = $l[1];
 		}
-
+		
 		$this->mode = isset($l[2]) ? strtolower(trim($l[2])) : 'single';
 		if ($this->mode != 'full' && $this->mode != 'single') {
 			$this->mode = 'single';
 		}
-
+		
 		if (version_compare('1.2',$this->dc_version,'<=') &&
 		version_compare('1.3',$this->dc_version,'>')) {
@@ -75,9 +74,9 @@
 			$this->dc_major_version = '2.0';
 		}
-
+		
 		$this->core =& $core;
 		$this->con =& $core->con;
 		$this->prefix = $core->prefix;
-
+		
 		$this->cur_blog        = $this->con->openCursor($this->prefix.'blog');
 		$this->cur_category    = $this->con->openCursor($this->prefix.'category');
@@ -96,9 +95,9 @@
 		$this->cur_spamrule    = $this->con->openCursor($this->prefix.'spamrule');
 		$this->cur_version     = $this->con->openCursor($this->prefix.'version');
-
+		
 		# --BEHAVIOR-- importInit
 		$this->core->callBehavior('importInit',$this,$this->core);
 	}
-
+	
 	public function importSingle()
 	{
@@ -106,11 +105,11 @@
 			throw new Exception(__('File is not a single blog export.'));
 		}
-
+		
 		if (!$this->core->auth->check('admin',$this->core->blog->id)) {
 			throw new Exception(__('Permission denied.'));
 		}
-
+		
 		$this->blog_id = $this->core->blog->id;
-
+		
 		$this->stack['categories'] = $this->con->select(
 			'SELECT cat_id, cat_title, cat_url '.
@@ -118,40 +117,37 @@
 			"WHERE blog_id = '".$this->con->escape($this->blog_id)."' "
 		);
-
+		
 		$rs = $this->con->select('SELECT MAX(cat_id) FROM '.$this->prefix.'category');
 		$this->stack['cat_id'] = ((integer) $rs->f(0))+1;
-
+		
 		$rs = $this->con->select('SELECT MAX(link_id) FROM '.$this->prefix.'link');
 		$this->stack['link_id'] = ((integer) $rs->f(0))+1;
-
+		
 		$rs = $this->con->select('SELECT MAX(post_id) FROM '.$this->prefix.'post');
 		$this->stack['post_id'] = ((integer) $rs->f(0))+1;
-
+		
 		$rs = $this->con->select('SELECT MAX(media_id) FROM '.$this->prefix.'media');
 		$this->stack['media_id'] = ((integer) $rs->f(0))+1;
-
+		
 		$rs = $this->con->select('SELECT MAX(comment_id) FROM '.$this->prefix.'comment');
 		$this->stack['comment_id'] = ((integer) $rs->f(0))+1;
-
-		$rs = $this->con->select('SELECT MAX(log_id) FROM '.$this->prefix.'log');
-		$this->stack['log_id'] = ((integer) $rs->f(0))+1;
-
+		
 		$rs = $this->con->select(
 			'SELECT MAX(cat_rgt) AS cat_rgt FROM '.$this->prefix.'category '.
 			"WHERE blog_id = '".$this->con->escape($this->core->blog->id)."'"
 		);
-
+		
 		if ((integer) $rs->cat_rgt > 0) {
 			$this->has_categories = true;
 			$this->stack['cat_lft'][$this->core->blog->id] = (integer) $rs->cat_rgt + 1;
 		}
-
+		
 		$this->con->begin();
-
+		
 		try
 		{
 			$last_line_name = '';
 			$constrained = array('post', 'meta', 'post_media', 'ping', 'comment');
-
+			
 			while (($line = $this->getLine()) !== false)
 			{
@@ -160,5 +156,5 @@
 					$this->prepareDC12line($line);
 				}
-
+				
 				if ($last_line_name != $line->__name) {
 					if (in_array($last_line_name,$constrained)) {
@@ -167,5 +163,5 @@
 						if ($this->con->driver() == 'pgsql') $this->con->execute('SET CONSTRAINTS ALL DEFERRED');
 					}
-
+					
 					if (in_array($line->__name,$constrained)) {
 						# DEFER
@@ -173,8 +169,8 @@
 						if ($this->con->driver() == 'pgsql') $this->con->execute('SET CONSTRAINTS ALL IMMEDIATE');
 					}
-
+					
 					$last_line_name = $line->__name;
 				}
-
+				
 				switch ($line->__name)
 				{
@@ -204,9 +200,9 @@
 						break;
 				}
-
+				
 				# --BEHAVIOR-- importSingle
 				$this->core->callBehavior('importSingle',$line,$this,$this->core);
 			}
-
+			
 			if ($this->con->driver() == 'mysql' || $this->con->driver() == 'mysqli') $this->con->execute('SET foreign_key_checks = 1');
 			if ($this->con->driver() == 'pgsql') $this->con->execute('SET CONSTRAINTS ALL DEFERRED');
@@ -214,12 +210,11 @@
 		catch (Exception $e)
 		{
-			@fclose($this->fp);
 			$this->con->rollback();
-			throw new Exception($e->getMessage().' - '.sprintf(__('Error raised at line %s'),$line->__line));
-		}
-		@fclose($this->fp);
+			throw $e;
+		}
+		
 		$this->con->commit();
 	}
-
+	
 	public function importFull()
 	{
@@ -227,9 +222,9 @@
 			throw new Exception(__('File is not a full export.'));
 		}
-
+		
 		if (!$this->core->auth->isSuperAdmin()) {
 			throw new Exception(__('Permission denied.'));
 		}
-
+		
 		$this->con->begin();
 		$this->con->execute('DELETE FROM '.$this->prefix.'blog');
@@ -237,6 +232,5 @@
 		$this->con->execute('DELETE FROM '.$this->prefix.'spamrule');
 		$this->con->execute('DELETE FROM '.$this->prefix.'setting');
-		$this->con->execute('DELETE FROM '.$this->prefix.'log');
-
+		
 		try
 		{
@@ -297,16 +291,15 @@
 		catch (Exception $e)
 		{
-			@fclose($this->fp);
 			$this->con->rollback();
-			throw new Exception($e->getMessage().' - '.sprintf(__('Error raised at line %s'),$line->__line));
-		}
-		@fclose($this->fp);
+			throw $e;
+		}
+		
 		$this->con->commit();
 	}
-
+	
 	private function insertBlog($blog)
 	{
 		$this->cur_blog->clean();
-
+		
 		$this->cur_blog->blog_id     = (string) $blog->blog_id;
 		$this->cur_blog->blog_uid    = (string) $blog->blog_uid;
@@ -316,14 +309,14 @@
 		$this->cur_blog->blog_name   = (string) $blog->blog_name;
 		$this->cur_blog->blog_desc   = (string) $blog->blog_desc;
-
+		
 		$this->cur_blog->blog_status = $blog->exists('blog_status') ? (integer) $blog->blog_status : 1;
-
+		
 		$this->cur_blog->insert();
 	}
-
+	
 	private function insertCategory($category)
 	{
 		$this->cur_category->clean();
-
+		
 		$this->cur_category->cat_id       = (string) $category->cat_id;
 		$this->cur_category->blog_id      = (string) $category->blog_id;
@@ -331,5 +324,5 @@
 		$this->cur_category->cat_url      = (string) $category->cat_url;
 		$this->cur_category->cat_desc     = (string) $category->cat_desc;
-
+		
 		if (!$this->has_categories && $category->exists('cat_lft') && $category->exists('cat_rgt')) {
 			$this->cur_category->cat_lft = (integer) $category->cat_lft;
@@ -342,12 +335,12 @@
 			$this->cur_category->cat_rgt = $this->stack['cat_lft'][$category->blog_id]++;
 		}
-
+		
 		$this->cur_category->insert();
 	}
-
+	
 	private function insertLink($link)
 	{
 		$this->cur_link->clean();
-
+		
 		$this->cur_link->link_id       = (integer) $link->link_id;
 		$this->cur_link->blog_id       = (string) $link->blog_id;
@@ -358,12 +351,12 @@
 		$this->cur_link->link_xfn      = (string) $link->link_xfn;
 		$this->cur_link->link_position = (integer) $link->link_position;
-
+		
 		$this->cur_link->insert();
 	}
-
+	
 	private function insertSetting($setting)
 	{
 		$this->cur_setting->clean();
-
+		
 		$this->cur_setting->setting_id    = (string) $setting->setting_id;
 		$this->cur_setting->blog_id       = !$setting->blog_id ? null : (string) $setting->blog_id;
@@ -372,8 +365,8 @@
 		$this->cur_setting->setting_type  = (string) $setting->setting_type;
 		$this->cur_setting->setting_label = (string) $setting->setting_label;
-
+		
 		$this->cur_setting->insert();
 	}
-
+	
 	private function insertPref($pref)
 	{
@@ -381,7 +374,7 @@
 			return;
 		}
-
+		
 		$this->cur_pref->clean();
-
+		
 		$this->cur_pref->pref_id    = (string) $pref->pref_id;
 		$this->cur_pref->user_id    = !$pref->user_id ? null : (string) $pref->user_id;
@@ -390,8 +383,8 @@
 		$this->cur_pref->pref_type  = (string) $pref->pref_type;
 		$this->cur_pref->pref_label = (string) $pref->pref_label;
-
+		
 		$this->cur_pref->insert();
 	}
-
+	
 	private function insertUser($user)
 	{
@@ -399,7 +392,7 @@
 			return;
 		}
-
+		
 		$this->cur_user->clean();
-
+		
 		$this->cur_user->user_id           = (string) $user->user_id;
 		$this->cur_user->user_super        = (integer) $user->user_super;
@@ -417,36 +410,36 @@
 		$this->cur_user->user_creadt       = (string) $user->user_creadt;
 		$this->cur_user->user_upddt        = (string) $user->user_upddt;
-
+		
 		$this->cur_user->user_desc = $user->exists('user_desc') ? (string) $user->user_desc : null;
 		$this->cur_user->user_options = $user->exists('user_options') ? (string) $user->user_options : null;
 		$this->cur_user->user_status = $user->exists('user_status') ? (integer) $user->user_status : 1;
-
+		
 		$this->cur_user->insert();
-
+		
 		$this->stack['users'][$user->user_id] = true;
 	}
-
+	
 	private function insertPermissions($permissions)
 	{
 		$this->cur_permissions->clean();
-
+		
 		$this->cur_permissions->user_id     = (string) $permissions->user_id;
 		$this->cur_permissions->blog_id     = (string) $permissions->blog_id;
 		$this->cur_permissions->permissions = (string) $permissions->permissions;
-
+		
 		$this->cur_permissions->insert();
 	}
-
+	
 	private function insertPost($post)
 	{
 		$this->cur_post->clean();
-
+		
 		$cat_id = (integer) $post->cat_id;
 		if (!$cat_id) {
 			$cat_id = null;
 		}
-
+		
 		$post_password = $post->post_password ? (string) $post->post_password : null;
-
+		
 		$this->cur_post->post_id            = (integer) $post->post_id;
 		$this->cur_post->blog_id            = (string) $post->blog_id;
@@ -475,25 +468,25 @@
 		$this->cur_post->nb_comment         = (integer) $post->nb_comment;
 		$this->cur_post->nb_trackback       = (integer) $post->nb_trackback;
-
+		
 		$this->cur_post->post_tz = $post->exists('post_tz') ? (string) $post->post_tz : 'UTC';
-
+		
 		$this->cur_post->insert();
 	}
-
+	
 	private function insertMeta($meta)
 	{
 		$this->cur_meta->clean();
-
+		
 		$this->cur_meta->meta_id   = (string) $meta->meta_id;
 		$this->cur_meta->meta_type = (string) $meta->meta_type;
 		$this->cur_meta->post_id   = (integer) $meta->post_id;
-
+		
 		$this->cur_meta->insert();
 	}
-
+	
 	private function insertMedia($media)
 	{
 		$this->cur_media->clean();
-
+		
 		$this->cur_media->media_id      = (integer) $media->media_id;
 		$this->cur_media->user_id       = (string) $media->user_id;
@@ -506,26 +499,26 @@
 		$this->cur_media->media_upddt   = (string) $media->media_upddt;
 		$this->cur_media->media_private = (integer) $media->media_private;
-
+		
 		$this->cur_media->media_dir = $media->exists('media_dir') ? (string) $media->media_dir : dirname($media->media_file);
-
+		
 		if (!$this->mediaExists()) {
 			$this->cur_media->insert();
 		}
 	}
-
+	
 	private function insertPostMedia($post_media)
 	{
 		$this->cur_post_media->clean();
-
+		
 		$this->cur_post_media->media_id = (integer) $post_media->media_id;
 		$this->cur_post_media->post_id  = (integer) $post_media->post_id;
-
+		
 		$this->cur_post_media->insert();
 	}
-
+	
 	private function insertLog($log)
 	{
 		$this->cur_log->clean();
-
+		
 		$this->cur_log->log_id    = (integer) $log->log_id;
 		$this->cur_log->user_id   = (string) $log->user_id;
@@ -534,23 +527,23 @@
 		$this->cur_log->log_ip    = (string) $log->log_ip;
 		$this->cur_log->log_msg   = (string) $log->log_msg;
-
+		
 		$this->cur_log->insert();
 	}
-
+	
 	private function insertPing($ping)
 	{
 		$this->cur_ping->clean();
-
+		
 		$this->cur_ping->post_id  = (integer) $ping->post_id;
 		$this->cur_ping->ping_url = (string) $ping->ping_url;
 		$this->cur_ping->ping_dt  = (string) $ping->ping_dt;
-
+		
 		$this->cur_ping->insert();
 	}
-
+	
 	private function insertComment($comment)
 	{
 		$this->cur_comment->clean();
-
+		
 		$this->cur_comment->comment_id          = (integer) $comment->comment_id;
 		$this->cur_comment->post_id             = (integer) $comment->post_id;
@@ -566,29 +559,29 @@
 		$this->cur_comment->comment_spam_status = (integer) $comment->comment_spam_status;
 		$this->cur_comment->comment_trackback   = (integer) $comment->comment_trackback;
-
+		
 		$this->cur_comment->comment_tz = $comment->exists('comment_tz') ? (string) $comment->comment_tz : 'UTC';
 		$this->cur_comment->comment_spam_filter = $comment->exists('comment_spam_filter') ? (integer) $comment->comment_spam_filter : null;
-
+		
 		$this->cur_comment->insert();
 	}
-
+	
 	private function insertSpamRule($spamrule)
 	{
 		$this->cur_spamrule->clean();
-
+		
 		$this->cur_spamrule->rule_id      = (integer) $spamrule->rule_id;
 		$this->cur_spamrule->blog_id      = !$spamrule->blog_id ? null : (string) $spamrule->blog_id;
 		$this->cur_spamrule->rule_type    = (string) $spamrule->rule_type;
 		$this->cur_spamrule->rule_content = (string) $spamrule->rule_content;
-
+		
 		$this->cur_spamrule->insert();
 	}
-
+	
 	private function insertCategorySingle($category)
 	{
 		$this->cur_category->clean();
-
+		
 		$m = $this->searchCategory($this->stack['categories'],$category->cat_url);
-
+		
 		$old_id = $category->cat_id;
 		if ($m !== false)
@@ -601,21 +594,21 @@
 			$category->cat_id = $cat_id;
 			$category->blog_id = $this->blog_id;
-
+			
 			$this->insertCategory($category);
 			$this->stack['cat_id']++;
 		}
-
+		
 		$this->old_ids['category'][(integer) $old_id] = $cat_id;
 	}
-
+	
 	private function insertLinkSingle($link)
 	{
 		$link->blog_id = $this->blog_id;
 		$link->link_id = $this->stack['link_id'];
-
+		
 		$this->insertLink($link);
 		$this->stack['link_id']++;
 	}
-
+	
 	private function insertPostSingle($post)
 	{
@@ -623,15 +616,15 @@
 			$post_id = $this->stack['post_id'];
 			$this->old_ids['post'][(integer) $post->post_id] = $post_id;
-
+			
 			$cat_id = $post->cat_id ? $this->old_ids['category'][(integer) $post->cat_id] : null;
-
+			
 			$post->post_id = $post_id;
 			$post->cat_id = $cat_id;
 			$post->blog_id = $this->blog_id;
-
+			
 			$post->post_url = $this->core->blog->getPostURL(
 				$post->post_url,$post->post_dt,$post->post_title,$post->post_id
 			);
-
+			
 			$this->insertPost($post);
 			$this->stack['post_id']++;
@@ -640,5 +633,5 @@
 		}
 	}
-
+	
 	private function insertMetaSingle($meta)
 	{
@@ -650,19 +643,19 @@
 		}
 	}
-
+	
 	private function insertMediaSingle($media)
 	{
 		$media_id = $this->stack['media_id'];
 		$old_id = $media->media_id;
-
+		
 		$media->media_id = $media_id;
 		$media->media_path = $this->core->blog->settings->system->public_path;
 		$media->user_id = $this->getUserId($media->user_id);
-
+		
 		$this->insertMedia($media);
 		$this->stack['media_id']++;
 		$this->old_ids['media'][(integer) $old_id] = $media_id;
 	}
-
+	
 	private function insertPostMediaSingle($post_media)
 	{
@@ -671,5 +664,5 @@
 			$post_media->media_id = $this->old_ids['media'][(integer) $post_media->media_id];
 			$post_media->post_id = $this->old_ids['post'][(integer) $post_media->post_id];
-
+			
 			$this->insertPostMedia($post_media);
 		} elseif (!isset($this->old_ids['media'][(integer) $post_media->media_id])) {
@@ -679,10 +672,10 @@
 		}
 	}
-
+	
 	private function insertPingSingle($ping)
 	{
 		if (isset($this->old_ids['post'][(integer) $ping->post_id])) {
 			$ping->post_id = $this->old_ids['post'][(integer) $ping->post_id];
-
+			
 			$this->insertPing($ping);
 		} else {
@@ -690,13 +683,13 @@
 		}
 	}
-
+	
 	private function insertCommentSingle($comment)
 	{
 		if (isset($this->old_ids['post'][(integer) $comment->post_id])) {
 			$comment_id = $this->stack['comment_id'];
-
+			
 			$comment->comment_id = $comment_id;
 			$comment->post_id = $this->old_ids['post'][(integer) $comment->post_id];
-
+			
 			$this->insertComment($comment);
 			$this->stack['comment_id']++;
@@ -705,5 +698,5 @@
 		}
 	}
-
+	
 	private static function throwIdError($name,$line,$related)
 	{
@@ -715,5 +708,5 @@
 		));
 	}
-
+	
 	public function searchCategory($rs,$url)
 	{
@@ -724,8 +717,8 @@
 			}
 		}
-
+		
 		return false;
 	}
-
+	
 	public function getUserId($user_id)
 	{
@@ -737,5 +730,5 @@
 				$user_id = preg_replace('/[^A-Za-z0-9]$/','',$user_id);
 				$user_id .= strlen($user_id) < 2 ? '-a' : '';
-
+				
 				# We change user_id, we need to check again
 				if (!$this->userExists($user_id))
@@ -744,7 +737,7 @@
 					$this->cur_user->user_id = (string) $user_id;
 					$this->cur_user->user_pwd = md5(uniqid());
-
+					
 					$this->core->addUser($this->cur_user);
-
+					
 					$this->stack['users'][$user_id] = true;
 				}
@@ -756,8 +749,8 @@
 			}
 		}
-
+		
 		return $user_id;
 	}
-
+	
 	private function userExists($user_id)
 	{
@@ -765,15 +758,15 @@
 			return $this->stack['users'][$user_id];
 		}
-
+		
 		$strReq = 'SELECT user_id '.
 				'FROM '.$this->prefix.'user '.
 				"WHERE user_id = '".$this->con->escape($user_id)."' ";
-
+		
 		$rs = $this->con->select($strReq);
-
+		
 		$this->stack['users'][$user_id] = !$rs->isEmpty();
 		return $this->stack['users'][$user_id];
 	}
-
+	
 	private function prefExists($pref_ws,$pref_id,$user_id)
 	{
@@ -787,10 +780,10 @@
 			$strReq .= "AND user_id = '".$this->con->escape($user_id)."' ";
 		}
-
+		
 		$rs = $this->con->select($strReq);
-
+		
 		return !$rs->isEmpty();
 	}
-
+	
 	private function mediaExists()
 	{
@@ -799,10 +792,10 @@
 				"WHERE media_path = '".$this->con->escape($this->cur_media->media_path)."' ".
 				"AND media_file = '".$this->con->escape($this->cur_media->media_file)."' ";
-
+		
 		$rs = $this->con->select($strReq);
-
+		
 		return !$rs->isEmpty();
 	}
-
+	
 	private function prepareDC12line(&$line)
 	{
@@ -811,5 +804,5 @@
 		'dc_wiki_comments','dc_use_smilies','dc_date_format','dc_time_format',
 		'dc_url_scan');
-
+		
 		switch ($line->__name)
 		{
@@ -837,5 +830,5 @@
 				$line->post_content_xhtml = $line->post_content;
 				$line->post_excerpt_xhtml = $line->post_chapo;
-
+				
 				if ($line->post_format == 'wiki') {
 					$line->post_content = $line->post_content_wiki;
@@ -845,11 +838,11 @@
 					$line->post_excerpt = $line->post_chapo;
 				}
-
+				
 				$line->post_status = (integer) $line->post_pub;
 				$line->post_type = 'post';
 				$line->blog_id = 'default';
-
+				
 				$line->drop('post_titre_url','post_content_wiki','post_chapo','post_chapo_wiki','post_pub');
-
+				
 				break;
 			case 'post_meta':
@@ -869,7 +862,8 @@
 				break;
 		}
-
+		
 		# --BEHAVIOR-- importPrepareDC12
 		$this->core->callBehavior('importPrepareDC12',$line,$this,$this->core);
 	}
 }
+?>
Index: plugins/importExport/index.php
===================================================================
--- plugins/importExport/index.php	(revision 2477)
+++ plugins/importExport/index.php	(revision 2322)
@@ -98,12 +98,12 @@
 
 	echo '<h3>'.__('Import').'</h3>'.listImportExportModules($core,$modules['import']);
+	//echo '<h3>'.__('Export').'</h3>'.listImportExportModules($core,$modules['export']);
+}
 
-	echo
-	'<h3>'.__('Export').'</h3>'.
-	'<p class="info">'.sprintf(
-		__('Export functions are in the page %s.'),
-		'<a href="plugin.php?p=maintenance&amp;tab=backup#backup">'.__('Maintenance').'</a>'
-	).'</p>';
-}
+echo
+'<p class="info">'.sprintf(
+	__('Export functions are in the page %s.'),
+	'<a href="plugin.php?p=maintenance&amp;tab=backup#backup">'.__('Maintenance').'</a>'
+).'</p>';
 
 dcPage::helpBlock('import');
Index: plugins/importExport/locales/fr/help/import.html
===================================================================
--- plugins/importExport/locales/fr/help/import.html	(revision 2438)
+++ plugins/importExport/locales/fr/help/import.html	(revision 2322)
@@ -6,49 +6,5 @@
 <body>
 
-<h4>Importation d'un fichier « à plat »</h4>
-
-<p>Importe un blog ou une installation Dotclear complète depuis un fichier « à plat ».</p>
-
-<h5>Importation d'un blog simple</h5>
-
-<p>Sélectionnez le fichier de sauvegarde (habituellement exporté depuis une installation Dotclear) ou sélectionnez-en un présent dans votre répertoire racine de votre médiathèque puis cliquez ensuite sur le bouton <strong>Importer</strong> pour lancer l'importation.</p>
-
-<p>Notez que cette importation s'ajoutera au contenu existant de votre blog, il n'est donc pas destructeur.</p>
-
-<h5>Tous les blogs</h5>
-
-<p>Sélectionnez le fichier de sauvegarde complet ou sélectionnez-en un présent dans votre répertoire racine de votre médiathèque, indiquez votre mot de passe puis cliquez ensuite sur le bouton <strong>Importer</strong> pour lancer l'importation.</p>
-
-<p><strong>Attention</strong> : Tout le contenu actuel de votre installation sera au préalable supprimé et remplacé par le contenu de la sauvegarde importée, à l'exception des utilisateurs existants qui seront préservés. Les utilisateurs additionnels de la sauvegarde importée seront ajoutés à la liste existante.</p>
-
-<h4>Importation d'un flux RSS ou Atom</h4>
-
-<p>Ajouter les contenus d'un flux au blog.</p>
-
-<p>Indiquez l'URL du flux RSS ou Atom que vous voulez importer puis cliquez sur le bouton <strong>Importer</strong>. Les contenus trouvés dans le flux seront alors ajoutés au contenu existant de votre blog.</p>
-
-<h4>Importation depuis Dotclear 1.2</h4>
-
-<p>Cette fonction permet d'importer une installation Dotclear 1.2 dans votre blog courant. Cette importation remplacera les catégories, la liste des liens, les billets et les commentaires présents dans votre blog.</p>
-
-<p>Indiquez l'URL du serveur où est accessible la base de données de l'installation Dotclear 1.2, indiquez ensuite le nom de la base de données, le nom et le mot de passe de l'utilisateur permettant de s'y connecter et enfin le préfixe de table utilisé pour Dotclear 1.2. Vous pouvez trouver ces informations dans le fichier <code>conf/config.php</code> de votre installation Dotclear 1.2.</p>
-
-<p>Cliquez ensuite sur le bouton <strong>Importer mon blog maintenant</strong> pour lancer le processus.</p>
-
-<p>Vous pouvez réduire (ou augmenter) le nombre de billets importés à chaque passe, positionné à 20 par défaut, en fonction de la vitesse d'accès constatée à votre installation Dotclear 1.2</p>
-
-<h4>Importation Wordpress</h4>
-
-<p>Cette fonction vous permet d'importer une installation WordPress dans le blog courant.</p>
-
-<p>Indiquez l'URL du serveur où est accessible la base de données de l'installation Wordpress, indiquez ensuite le nom de la base de données, le nom et le mot de passe de l'utilisateur permettant de s'y connecter et enfin le préfixe de table utilisé pour Wordpress.</p>
-
-<p>Vous pouvez si nécessaire définir quelques options d'importation à propos de la récupération des catégories et du nombre de billets traités à chaque passe. Vous pouvez également définir la syntaxe utilisée pour le contenu des billets et des commentaires (XHTML, wiki, ou d'autres en fonction des syntaxes installées et actives).</p>
-
-<p>Cliquez ensuite sur le bouton <strong>Importer mon blog maintenant</strong> pour lancer le processus.</p>
-
-<hr />
-
-<p>Note : les fonctions d'export sont désormais dans la page de <a href="plugin.php?p=maintenance&amp;tab=backup#backup">Maintenance</a>.</p>
+<h4>Importation</h4>
 
 </body>
Index: plugins/maintenance/_admin.php
===================================================================
--- plugins/maintenance/_admin.php	(revision 2394)
+++ plugins/maintenance/_admin.php	(revision 2196)
@@ -23,5 +23,6 @@
 // Admin behaviors
 $core->addBehavior('dcMaintenanceInit', array('dcMaintenanceAdmin', 'dcMaintenanceInit'));
-$core->addBehavior('adminDashboardFavorites', array('dcMaintenanceAdmin', 'adminDashboardFavorites'));
+$core->addBehavior('adminDashboardFavs', array('dcMaintenanceAdmin', 'adminDashboardFavs'));
+$core->addBehavior('adminDashboardFavsIcon', array('dcMaintenanceAdmin', 'adminDashboardFavsIcon'));
 $core->addBehavior('adminDashboardContents', array('dcMaintenanceAdmin', 'adminDashboardItems'));
 $core->addBehavior('adminDashboardOptionsForm',	array('dcMaintenanceAdmin',	'adminDashboardOptionsForm'));
@@ -73,35 +74,23 @@
 
 	/**
-	 * Favorites.
+	 * Dashboard favs.
 	 *
 	 * @param	$core	<b>dcCore</b>	dcCore instance
 	 * @param	$favs	<b>arrayObject</b>	Array of favs
 	 */
-	public static function adminDashboardFavorites($core, $favs)
-	{
-		$favs->register('maintenance', array(
-			'title' => __('Maintenance'),
-			'url' => 'plugin.php?p=maintenance',
-			'small-icon' => 'index.php?pf=maintenance/icon.png',
-			'large-icon' => 'index.php?pf=maintenance/icon-big.png',
-			'permissions' => 'admin',
-			'active_cb' => array('dcMaintenanceAdmin', 'adminDashboardFavoritesActive'),
-			'dashboard_cb' => array('dcMaintenanceAdmin', 'adminDashboardFavoritesCallback')
+	public static function adminDashboardFavs($core, $favs)
+	{
+		$favs['maintenance'] = new ArrayObject(array(
+			'maintenance',
+			'Maintenance',
+			'plugin.php?p=maintenance',
+			'index.php?pf=maintenance/icon.png',
+			'index.php?pf=maintenance/icon-big.png',
+			null,null,null
 		));
 	}
 
 	/**
-	 * Favorites selection.
-	 *
-	 * @param	$request	<b>string</b>	Requested page
-	 * @param	$params		<b>array</b>	Requested parameters
-	 */
-	public static function adminDashboardFavoritesActive($request, $params)
-	{
-		return $request == 'plugin.php' && isset($params['p']) && $params['p'] == 'maintenance';
-	}
-
-	/**
-	 * Favorites hack.
+	 * Dashboard favs icon.
 	 *
 	 * This updates maintenance fav icon text 
@@ -109,8 +98,14 @@
 	 *
 	 * @param	$core	<b>dcCore</b>	dcCore instance
-	 * @param	$fav	<b>arrayObject</b>	fav attributes
-	 */
-	public static function adminDashboardFavoritesCallback($core, $fav)
-	{
+	 * @param	$name	<b>string</b>	Current fav name
+	 * @param	$icon	<b>arrayObject</b>	Current fav attributes
+	 */
+	public static function adminDashboardFavsIcon($core, $name, $icon)
+	{
+		// Check icon
+		if ($name !== 'maintenance') {
+			return null;
+		}
+
 		// Check user option
 		$core->auth->user_prefs->addWorkspace('maintenance');
@@ -133,6 +128,6 @@
 		}
 
-		$fav['title'] .= '<br />'.sprintf(__('One task to execute', '%s tasks to execute', $count), $count);
-		$fav['large-icon'] = 'index.php?pf=maintenance/icon-big-update.png';
+		$icon[0] .= '<br />'.sprintf(__('One task to execute', '%s tasks to execute', $count), $count);
+		$icon[2] = 'index.php?pf=maintenance/icon-big-update.png';
 	}
 
@@ -203,9 +198,9 @@
 		'<p><label for="maintenance_dashboard_icon" class="classic">'.
 		form::checkbox('maintenance_dashboard_icon', 1, $core->auth->user_prefs->maintenance->dashboard_icon).
-		__('Display overdue tasks counter on maintenance dashboard icon').'</label></p>'.
+		__('Display count of late tasks on maintenance dashboard icon').'</label></p>'.
 
 		'<p><label for="maintenance_dashboard_item" class="classic">'.
 		form::checkbox('maintenance_dashboard_item', 1, $core->auth->user_prefs->maintenance->dashboard_item).
-		__('Display overdue tasks list on dashboard items').'</label></p>'.
+		__('Display list of late tasks on dashboard items').'</label></p>'.
 
 		'</div>';
Index: plugins/maintenance/_config.php
===================================================================
--- plugins/maintenance/_config.php	(revision 2227)
+++ plugins/maintenance/_config.php	(revision 2227)
@@ -0,0 +1,100 @@
+<?php
+# -- BEGIN LICENSE BLOCK ---------------------------------------
+#
+# This file is part of Dotclear 2.
+#
+# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
+# Licensed under the GPL version 2.0 license.
+# See LICENSE file or
+# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+#
+# -- END LICENSE BLOCK -----------------------------------------
+if (!defined('DC_CONTEXT_MODULE')) { return; }
+
+$core->blog->settings->addNamespace('maintenance');
+$maintenance = new dcMaintenance($core);
+$tasks = $maintenance->getTasks();
+
+$combo_ts = array(
+	__('Never') 			=> 0,
+	__('Every week') 		=> 604800,
+	__('Every two weeks') 	=> 1209600,
+	__('Every month') 		=> 2592000,
+	__('Every two months') 	=> 5184000
+);
+
+if (!empty($_POST['save'])) {
+
+	try {
+		$core->blog->settings->maintenance->put(
+			'plugin_message', 
+			!empty($_POST['settings_plugin_message']), 
+			'boolean', 
+			'Display alert message of late tasks on plugin page', 
+			true, 
+			true
+		);
+
+		foreach($tasks as $t) {
+			if (!empty($_POST['settings_recall_type']) && $_POST['settings_recall_type'] == 'all') {
+				$ts = $_POST['settings_recall_time'];
+			}
+			else {
+				$ts = empty($_POST['settings_ts_'.$t->id()]) ? 0 : $_POST['settings_ts_'.$t->id()];
+			}
+			$core->blog->settings->maintenance->put(
+				'ts_'.$t->id(), 
+				abs((integer) $ts), 
+				'integer', 
+				sprintf('Recall time for task %s', $t->id()), 
+				true, 
+				$t->blog()
+			);
+		}
+
+		dcPage::addSuccessNotice(__('Maintenance plugin has been successfully configured.'));
+		http::redirect($list->getURL('module=maintenance&conf=1'));
+	}
+	catch(Exception $e) {
+		$core->error->add($e->getMessage());
+	}
+}
+
+echo 
+'<p>'.__('Set up reminders for maintenance tasks.').'</p>'.
+
+'<h4 class="pretty-title">'.__('Activation').'</h4>'.
+'<p><label for="settings_plugin_message" class="classic">'.
+form::checkbox('settings_plugin_message', 1, $core->blog->settings->maintenance->plugin_message).
+__('Display alert messages on late tasks').'</label></p>'.
+
+'<p class="info">'.sprintf(
+	__('You can place list of late tasks on your %s.'),
+	'<a href="preferences.php#user-favorites">'.__('Dashboard').'</a>'
+).'</p>'.
+
+'<h4 class="pretty-title vertical-separator">'.__('Frequency').'</h4>'.
+
+'<p class="vertical-separator">'.form::radio(array('settings_recall_type', 'settings_recall_all'), 'all').' '.
+'<label class="classic" for="settings_recall_all">'.
+'<strong>'.__('Use one recall time for all tasks').'</strong></label>'.
+
+'<p class="field wide vertical-separator"><label for="settings_recall_time">'.__('Recall time for all tasks:').'</label>'.
+form::combo('settings_recall_time', $combo_ts, 'seperate', 'recall-for-all').
+'</p>'.
+
+'<p class="vertical-separator">'.form::radio(array('settings_recall_type', 'settings_recall_separate'), 'separate', 1).' '.
+'<label class="classic" for="settings_recall_separate">'.
+'<strong>'.__('Use one recall time per task').'</strong></label>';
+
+foreach($tasks as $t)
+{
+	echo
+	'<div class="two-boxes">'.
+
+	'<p class="field wide"><label for="settings_ts_'.$t->id().'">'.$t->task().'</label>'.
+	form::combo('settings_ts_'.$t->id(), $combo_ts, $t->ts(), 'recall-per-task').
+	'</p>'.
+
+	'</div>';
+}
Index: plugins/maintenance/inc/class.dc.maintenance.task.php
===================================================================
--- plugins/maintenance/inc/class.dc.maintenance.task.php	(revision 2491)
+++ plugins/maintenance/inc/class.dc.maintenance.task.php	(revision 2044)
@@ -56,5 +56,4 @@
 		$this->core = $maintenance->core;
 		$this->init();
-		$this->id = null;
 
 		if ($this->perm() === null && !$this->core->auth->isSuperAdmin()
Index: plugins/maintenance/inc/tasks/class.dc.maintenance.logs.php
===================================================================
--- plugins/maintenance/inc/tasks/class.dc.maintenance.logs.php	(revision 2482)
+++ plugins/maintenance/inc/tasks/class.dc.maintenance.logs.php	(revision 2044)
@@ -14,6 +14,4 @@
 class dcMaintenanceLogs extends dcMaintenanceTask
 {
-	public static $keep_maintenance_logs = true;
-
 	protected $group = 'purge';
 
@@ -21,5 +19,5 @@
 	{
 		$this->task 		= __('Delete all logs');
-		$this->success 	= __('Logs deleted.');
+		$this->success 		= __('Logs deleted.');
 		$this->error 		= __('Failed to delete logs.');
 
@@ -29,13 +27,5 @@
 	public function execute()
 	{
-		if (dcMaintenanceLogs::$keep_maintenance_logs) {
-			$this->core->con->execute(
-				'DELETE FROM '.$this->core->prefix.'log '.
-				"WHERE log_table <> 'maintenance' "
-			);
-		}
-		else {
-			$this->core->log->delLogs(null, true);
-		}
+		$this->core->log->delLogs(null, true);
 
 		return true;
Index: plugins/maintenance/index.php
===================================================================
--- plugins/maintenance/index.php	(revision 2491)
+++ plugins/maintenance/index.php	(revision 2175)
@@ -19,4 +19,5 @@
 $tasks = $maintenance->getTasks();
 
+$msg = '';
 $headers = '';
 $p_url = 'plugin.php?p=maintenance';
@@ -49,53 +50,8 @@
 		if (true === $code) {
 			$maintenance->setLog($task->id());
-
-			dcPage::addSuccessNotice($task->success());
-			http::redirect($p_url.'&task='.$task->id().'&tab='.$tab.'#'.$tab);
+			http::redirect($p_url.'&task='.$task->id().'&done=1&tab='.$tab.'#'.$tab);
 		}
 	}
 	catch (Exception $e) {
-		$core->error->add($e->getMessage());
-	}
-}
-
-// Save settings
-
-if (!empty($_POST['save_settings'])) {
-
-	try {
-		$core->blog->settings->maintenance->put(
-			'plugin_message', 
-			!empty($_POST['settings_plugin_message']), 
-			'boolean', 
-			'Display alert message of late tasks on plugin page', 
-			true, 
-			true
-		);
-
-		foreach($tasks as $t) {
-			if (!$t->id()) {
-				continue;
-			}
-
-			if (!empty($_POST['settings_recall_type']) && $_POST['settings_recall_type'] == 'all') {
-				$ts = $_POST['settings_recall_time'];
-			}
-			else {
-				$ts = empty($_POST['settings_ts_'.$t->id()]) ? 0 : $_POST['settings_ts_'.$t->id()];
-			}
-			$core->blog->settings->maintenance->put(
-				'ts_'.$t->id(), 
-				abs((integer) $ts), 
-				'integer', 
-				sprintf('Recall time for task %s', $t->id()), 
-				true, 
-				$t->blog()
-			);
-		}
-
-		dcPage::addSuccessNotice(__('Maintenance plugin has been successfully configured.'));
-		http::redirect($p_url.'&tab='.$tab.'#'.$tab);
-	}
-	catch(Exception $e) {
 		$core->error->add($e->getMessage());
 	}
@@ -148,4 +104,13 @@
 }
 
+// Success message
+
+if (!empty($_GET['done']) && $tab == 'settings') {
+	$msg = dcPage::success(__('Settings successfully updated'), true, true, false);
+}
+elseif (!empty($_GET['done']) && $task) {
+	$msg = dcPage::success($task->success(), true, true, false);
+}
+
 if ($task && ($res = $task->step()) !== null) {
 
@@ -160,8 +125,5 @@
 	);
 
-	// content
-	if (substr($res, 0, 1) != '<') {
-		$res = sprintf('<p class="step-msg">%s</p>', $res);
-	}
+	echo $msg;
 
 	// Intermediate task (task required several steps)
@@ -170,9 +132,11 @@
 	'<div class="step-box" id="'.$task->id().'">'.
 	'<p class="step-back">'.
-		'<a class="back" href="'.$p_url.'&amp;tab='.$task->tab().'#'.$task->tab().'">'.__('Back').'</a>'.
+		'<a class="back" href="'.$p_url.'&tab='.$task->tab().'#'.$task->tab().'">'.__('Back').'</a>'.
 	'</p>'.
 	'<h3>'.html::escapeHTML($task->name()).'</h3>'.
 	'<form action="'.$p_url.'" method="post">'.
-	$res.
+	'<p class="step-msg">'.
+		$res.
+	'</p>'.
 	'<p class="step-submit">'.
 		'<input type="submit" value="'.$task->task().'" /> '.
@@ -195,4 +159,6 @@
 	);
 
+	echo $msg;
+
 	// Simple task (with only a button to start it)
 
@@ -205,6 +171,5 @@
 			foreach($tasks as $t)
 			{
-				if (!$t->id() 
-				 || $t->group() != $group_obj->id() 
+				if ($t->group() != $group_obj->id() 
 				 || $t->tab() != $tab_obj->id()) {
 					continue;
@@ -268,5 +233,5 @@
 	foreach($tasks as $t)
 	{
-		if (!$t->id() || $t->group() !== null) {
+		if ($t->group() !== null) {
 			continue;
 		}
@@ -284,62 +249,7 @@
 		'</div>';
 	}
-
-	// Settings
-
-	echo 
-	'<div id="settings" class="multi-part" title="'.__('Alert settings').'">'.
-	'<h3>'.__('Alert settings').'</h3>'.
-	'<form action="'.$p_url.'" method="post">'.
-
-	'<h4 class="pretty-title">'.__('Activation').'</h4>'.
-	'<p><label for="settings_plugin_message" class="classic">'.
-	form::checkbox('settings_plugin_message', 1, $core->blog->settings->maintenance->plugin_message).
-	__('Display alert messages on late tasks').'</label></p>'.
-
-	'<p class="info">'.sprintf(
-		__('You can place list of late tasks on your %s.'),
-		'<a href="preferences.php#user-favorites">'.__('Dashboard').'</a>'
-	).'</p>'.
-
-	'<h4 class="pretty-title vertical-separator">'.__('Frequency').'</h4>'.
-
-	'<p class="vertical-separator">'.form::radio(array('settings_recall_type', 'settings_recall_all'), 'all').' '.
-	'<label class="classic" for="settings_recall_all">'.
-	'<strong>'.__('Use one recall time for all tasks').'</strong></label></p>'.
-
-	'<p class="field wide vertical-separator"><label for="settings_recall_time">'.__('Recall time for all tasks:').'</label>'.
-	form::combo('settings_recall_time', $combo_ts, 'seperate', 'recall-for-all').
-	'</p>'.
-
-	'<p class="vertical-separator">'.form::radio(array('settings_recall_type', 'settings_recall_separate'), 'separate', 1).' '.
-	'<label class="classic" for="settings_recall_separate">'.
-	'<strong>'.__('Use one recall time per task').'</strong></label></p>';
-
-	foreach($tasks as $t)
-	{
-		if (!$t->id()) {
-			continue;
-		} 
-		echo
-		'<div class="two-boxes">'.
-
-		'<p class="field wide"><label for="settings_ts_'.$t->id().'">'.$t->task().'</label>'.
-		form::combo('settings_ts_'.$t->id(), $combo_ts, $t->ts(), 'recall-per-task').
-		'</p>'.
-
-		'</div>';
-	}
-
-	echo 
-	'<p class="field wide"><input type="submit" value="'.__('Save').'" /> '.
-	form::hidden(array('tab'), 'settings').
-	form::hidden(array('save_settings'), 1).
-	$core->formNonce().'</p>'.
-	'</form>'.
-	'</div>';
 }
 
 dcPage::helpBlock('maintenance', 'maintenancetasks');
 
-echo 
-'</body></html>';
+echo '</body></html>';
Index: plugins/pages/list.php
===================================================================
--- plugins/pages/list.php	(revision 2442)
+++ plugins/pages/list.php	(revision 2495)
@@ -55,5 +55,7 @@
   <title><?php echo __('Pages'); ?></title>
   <?php
-  	echo dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
+  	echo
+  		dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
+		dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 		dcPage::jsLoad('index.php?pf=pages/list.js').
 		'<script type="text/javascript">'.
@@ -89,23 +91,23 @@
 	$post_list->display($page,$nb_per_page,
 	'<form action="plugin.php" method="post" id="form-entries">'.
-	
+
 	'%s'.
-	
+
 	'<div class="two-cols">'.
 	'<p class="col checkboxes-helpers"></p>'.
-	
+
 	'<p class="col right"><label for="action" class="classic">'.__('Selected pages action:').'</label> '.
 	form::combo('action',$pages_actions_page->getCombo()).
-	'<input type="submit" value="'.__('ok').'" />'.
+	'<input type="submit" value="'.__('ok').'" /></p>'.
 	form::hidden(array('post_type'),'page').
 	form::hidden(array('p'),'pages').
 	form::hidden(array('act'),'list').
+	'</div>'.
 	$core->formNonce().
-	'</p></div>'.
 	'<p class="clear form-note hidden-if-js">'.
 	__('To rearrange pages order, change number at the begining of the line, then click on “Save pages order” button.').'</p>'.
 	'<p class="clear form-note hidden-if-no-js">'.
 	__('To rearrange pages order, move items by drag and drop, then click on “Save pages order” button.').'</p>'.
-	'<p><input type="submit" value="'.__('Save pages order').'" name="reorder" class="clear" /></p>'.
+	'<input type="submit" value="'.__('Save pages order').'" name="reorder" class="clear"/>'.
 	'</form>');
 }
Index: plugins/pages/locales/fr/help/page.html
===================================================================
--- plugins/pages/locales/fr/help/page.html	(revision 2391)
+++ plugins/pages/locales/fr/help/page.html	(revision 2314)
@@ -27,5 +27,5 @@
     <li><strong>En attente</strong>&nbsp;: en attente de publication.</li>
     <li><strong>Programmé</strong>&nbsp;: la page sera mise en ligne à la date et à l'heure
-    indiquée dans le champ <em>Publiée le</em>.</li>
+    indiquées dans le champ <em>Publiée le</em>.</li>
     <li><strong>Non publié</strong>&nbsp;: page hors ligne.</li>
     <li><strong>Publié</strong>&nbsp;: page en ligne.</li>
@@ -35,21 +35,12 @@
   <dt>Publié le</dt>
   <dd>Permet de modifier la date et l'heure de publication de la page. Si vous avez
-  choisi le statut <em>Programmée</em> elle sera mise en ligne aux dates et heures
+  choisi le statut <em>Programmée</em> elle sera mise en ligne aux date et heure
   définis dans ce champ.</dd>
   
-  <dt>Langue de la page</dt>
-  <dd>Code langue de votre page. Par défaut, il s'agit du code de votre
-  langue. Vous pouvez le changer, par le code d'une autre langue, par
-  exemple "en", "fr-qc".</dd>
-  
-  <dt>Formatage du texte</dt>
+  <dt>Syntaxe de saisie</dt>
   <dd>Permet de choisir la syntaxe de saisie de la page. Le wiki est une syntaxe
   simplifiée et sera converti en xhtml valide ; à moins que vous maîtrisiez
   parfaitement le xhtml nous vous conseillons de la choisir de préférence.<br />
   Consultez la référence de la syntaxe Wiki pour plus d'informations.</dd>
-  
-  <dt>Position de la page</dt>
-  <dd>Permet de classer les différentes pages en fonction de leur numéro d'ordre.
-  Ce champ est utilisé par le widget Pages (<em>Trier par position de la page</em>).</dd>
   
   <dt>Accepter les commentaires</dt>
@@ -66,6 +57,16 @@
   recevoir des rétroliens mais ne peut pas en faire.</dd>
 
-  <dt>Ne pas lister dans le widget Pages</dt>
+  <dt>Masquer</dt>
   <dd>Si coché cette page sera active mais non listée dans le widget Pages.</dd>
+
+  <dt>Position de la page</dt>
+  <dd>Permet de classer les différentes pages en fonction de leur numéro d'ordre.
+  Ce champ est utilisé par le widget Pages (<em>Trier par position de la page</em>).</dd>
+
+  <dt>Langue de la page</dt>
+  <dd>Code langue de votre page. Par défaut, il s'agit du code de votre
+  langue. Vous pouvez le changer, par le code d'une autre langue, par
+  exemple "en", "fr-qc". Ce code est libre, il sera utilisé lors de l'affichage
+  des pages.</dd>
   
   <dt>Mot de passe de la page</dt>
@@ -80,10 +81,9 @@
   d'utiliser une URL déjà existante, celle-ci se verra incrémentée d'un chiffre.</dd>
 
-  <dt>Fichiers attachés</dt>
-  <dd>Les fichiers attachés sont tous les médias ajoutés à la page. Le lien
-  d'ajout d'un fichier attaché permet de choisir un fichier à ajouter à la page.
-  L'option apparaîtra après le première enregistrement de votre 
-  billet 
-  Consultez l'aide du gestionnaire de médias pour plus de détails.</dd>
+  <dt>Annexes</dt>
+  <dd>Les annexes sont tous les médias attachés à la page. Le lien
+  d'ajout d'une annexe permet de choisir un fichier à ajouter à la page.
+  Pensez à sauvegarder votre page avant de choisir une annexe. Consultez
+  l'aide du gestionnaire de médias pour plus de détails.</dd>
 </dl>
 
@@ -97,5 +97,5 @@
   
   <dt>Ajouter un commentaire</dt>
-  <dd>Depuis l'onglet <em>Ajouter un commentaire</em> vous pouvez ajouter ou répondre
+  <dd>Depuis l'onglet <em>Ajouter un commentaire</em> vous pouvez répondre
   directement à un commentaire sans passer par votre blog. Cette interface vous
   permet également de saisir votre commentaire en XHTML, sans limitation. Vous
Index: plugins/pages/page.php
===================================================================
--- plugins/pages/page.php	(revision 2390)
+++ plugins/pages/page.php	(revision 2314)
@@ -390,18 +390,18 @@
 			'items' => array(
 				'post_status' => 
-					'<p><label for="post_status">'.__('Page status').'</label> '.
+					'<p><label for="post_status" class="ib">'.__('Page status').'</label> '.
 					form::combo('post_status',$status_combo,$post_status,'','',!$can_publish).
 					'</p>',
 				'post_dt' => 
-					'<p><label for="post_dt">'.__('Publication date and hour').'</label>'.
+					'<p><label for="post_dt" class="ib">'.__('Publication date and hour').'</label>'.
 					form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')).
 					'</p>',
 				'post_lang' =>
-					'<p><label for="post_lang">'.__('Page language').'</label>'.
+					'<p><label for="post_lang" class="ib">'.__('Page language').'</label>'.
 					form::combo('post_lang',$lang_combo,$post_lang).
 					'</p>',
 				'post_format' =>
 					'<div>'.
-					'<h5 id="label_format"><label for="post_format" class="classic">'.__('Text formatting').'</label></h5>'.
+					'<h5 id="label_format"><label for="post_format" class="ib">'.__('Text formatting').'</label></h5>'.
 					'<p>'.form::combo('post_format',$formaters_combo,$post_format,'maximal').
 					'</p>'.
@@ -447,10 +447,10 @@
 					'</p>',
 				'post_password' =>
-					'<p><label for="post_password">'.__('Password').'</label>'.
+					'<p><label for="post_password" class="ib">'.__('Password').'</label>'.
 					form::field('post_password',10,32,html::escapeHTML($post_password),'maximal').
 					'</p>',
 				'post_url' =>
 					'<div class="lockable">'.
-					'<p><label for="post_url">'.__('Edit basename').'</label>'.
+					'<p><label for="post_url" class="ib">'.__('Edit basename').'</label>'.
 					form::field('post_url',10,255,html::escapeHTML($post_url),'maximal').
 					'</p>'.
@@ -462,10 +462,10 @@
 		"post_title" =>
 			'<p class="col">'.
-			'<label class="required no-margin bold"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'.
+			'<label class="required no-margin"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'.
 			form::field('post_title',20,255,html::escapeHTML($post_title),'maximal').
 			'</p>',
 		
 		"post_excerpt" =>
-			'<p class="area" id="excerpt-area"><label for="post_excerpt" class="bold">'.__('Excerpt:').' <span class="form-note">'.
+			'<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').' <span class="form-note">'.
 			__('Introduction to the page.').'</span></label> '.
 			form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)).
@@ -473,5 +473,5 @@
 		
 		"post_content" =>
-			'<p class="area" id="content-area"><label class="required bold" '.
+			'<p class="area" id="content-area"><label class="required" '.
 			'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '.
 			form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)).
@@ -479,5 +479,5 @@
 		
 		"post_notes" =>
-			'<p class="area" id="notes-area"><label for="post_notes" class="bold">'.__('Personal notes:').' <span class="form-note">'.
+			'<p class="area" id="notes-area"><label for="post_notes">'.__('Personal notes:').' <span class="form-note">'.
 			__('Unpublished notes.').'</span></label>'.
 			form::textarea('post_notes',50,5,html::escapeHTML($post_notes)).
Index: plugins/pings/locales/fr/help/pings.html
===================================================================
--- plugins/pings/locales/fr/help/pings.html	(revision 2438)
+++ plugins/pings/locales/fr/help/pings.html	(revision 2322)
@@ -7,7 +7,5 @@
 
 <h4>Signalements (pings)</h4>
-<p><a href="http://fr.wikipedia.org/wiki/Ping_%28blogue%29">Qu'est-ce qu'un service de signalement&nbsp;?</a> (“ping”).</p>
-<p>Pour ajouter un service de signalement, remplissez les champs de nom et d'URI puis cliquez sur le bouton <strong>Enregistrer</strong>.</p>
-<p>Pour supprimer un service, videz les champs nom et URI puis enregistrez.</p>
+
 </body>
 </html>
Index: plugins/pings/locales/fr/help/pings_post.html
===================================================================
--- plugins/pings/locales/fr/help/pings_post.html	(revision 2423)
+++ plugins/pings/locales/fr/help/pings_post.html	(revision 2322)
@@ -7,6 +7,5 @@
 
 <h4>Signalements (pings)</h4>
-<p>Cochez les services que vous souhaitez «&nbsp;pinguer&nbsp;» à la publication du billet.</p>
-<p>Pour ajouter ou supprimer des services de signalement, rendez-vous sur la <a href="plugin.php?p=pings">page d'administration des signalements</a>.</p>
+
 </body>
 </html>
Index: plugins/simpleMenu/index.php
===================================================================
--- plugins/simpleMenu/index.php	(revision 2455)
+++ plugins/simpleMenu/index.php	(revision 2495)
@@ -347,7 +347,7 @@
 			echo
 				dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
+				dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 				dcPage::jsLoad('index.php?pf=simpleMenu/simplemenu.js');
 		}
-		echo dcPage::jsConfirmClose('additem','menuitems');
 	?>
 </head>
Index: plugins/simpleMenu/locales/en/help/help.html
===================================================================
--- plugins/simpleMenu/locales/en/help/help.html	(revision 2425)
+++ plugins/simpleMenu/locales/en/help/help.html	(revision 1573)
@@ -6,11 +6,9 @@
 <body>
 
-<p>Simple Menu allows you to display on your blog a single level menu, if 
-your theme supports it.</p>
+<p>Simple Menu allows you to display on your blog a single level menu, if your theme supports it.</p>
 <dl>
   <dt>Menu items list</dt>
   <dd>Here are displayed your menu items. 
-  You can reorder this list by dragging its items upwards or downwards. 
-  You can also modify label, description and URL of each item.
+  You can reorder this list by dragging its items upwards or downwards. You can also modify label, description and URL of each item.
   Once done, clic on "Update menu".</dd>
     
@@ -19,18 +17,10 @@
   
   <dt>Add a new menu item</dt>
-  <dd>First select the type of item. Then clic on "Continue…". Then, if 
-  necessary, you may have to define a sub-type (category, page, etc). If so, 
-  do it and clic on "Continue…". Then finally you can modify proposals done for 
-  label, description (not mandatory) and URL of the menu item. 
-  Once done, clic on "Add this item".</dd>
+  <dd>First select the type of item. Then clic on "Continue…". Then, if necessary, you may have to define a sub-type (category, page, etc). If so, do it and clic on "Continue…". Then finally you can modify proposals done for label, description (not mandatory) and URL of the menu item. Once done, clic on "Add this item".</dd>
   <dd>
     <ul>
-      <li><strong>Label : </strong>type here the anchor text. For example 
-      "Archives". This field is mandatory.</li>
-      <li><strong>Description : </strong>type here a short description for the menu 
-      item (will be displayed under Label depending on theme selected). For example 
-      "Archives from 2004 to 2011".</li>
-      <li><strong>URL : </strong>type here the item's destination. This field is 
-      mandatory.</li>
+      <li><strong>Label : </strong>Type here the anchor text. For example "Archives". This field is mandatory.</li>
+      <li><strong>Description : </strong>Type here a short description for the menu item (will be displayed under Label depending on theme selected). For example "Archives from 2004 to 2011".</li>
+      <li><strong>URL : </strong>Type here the item's destination. This field is mandatory.</li>
 	</ul>
   </dd>
Index: plugins/simpleMenu/locales/fr/help/help.html
===================================================================
--- plugins/simpleMenu/locales/fr/help/help.html	(revision 2425)
+++ plugins/simpleMenu/locales/fr/help/help.html	(revision 1956)
@@ -35,5 +35,5 @@
       pour cet item (sera affiché sous le libellé en fonction du thème sélectionné).
       Par exemple "Archives de 2004 à 2011".</li>
-      <li><strong>URL&nbsp;:</strong> indiquez ici la destination. Ce champ est
+      <li><strong>URL&nbsp;:</strong> indiquez ici la destination. Ce champs est
       obligatoire.</li>
     </ul>
Index: plugins/tags/locales/fr/help/tag_post.html
===================================================================
--- plugins/tags/locales/fr/help/tag_post.html	(revision 2379)
+++ plugins/tags/locales/fr/help/tag_post.html	(revision 2322)
@@ -7,10 +7,5 @@
 
 <h4>Tags</h4>
-<p>On peut affecter des mots-clés à un billet&nbsp;:</p>
-<ul>
-	<li>en remplissant le champ <strong>Mots-clés</strong>. Ce champ est doté d'une fonction <em>d'auto-complétion</em>&nbsp;: saisissez les premiers caractères, le système proposera les mots-clés existant déjà sur ce blog et comportant ces lettres ;</li>
-	<li>en cliquant sur le lien <strong>Liste des mots-clés</strong> pour choisir parmi ceux existant déjà sur le blog.</li>
-</ul>
-<p>Les mots-clés doivent être séparés par une virgule.</p>
+
 </body>
 </html>
Index: plugins/tags/locales/fr/help/tag_posts.html
===================================================================
--- plugins/tags/locales/fr/help/tag_posts.html	(revision 2379)
+++ plugins/tags/locales/fr/help/tag_posts.html	(revision 2322)
@@ -1,32 +1,10 @@
 <html>
 <head>
-  <title>Détails d'un mot-clé</title>
+  <title>Mot-clé : billets</title>
 </head>
 
 <body>
 
-<h4>Actions sur un mot-clé</h4>
-<p>La première partie de la page permet de modifier ou supprimer un mot-clé.</p>
-<dl>
-	<dt>Renommer</dt>
-	<dd>Indiquer un nouveau terme pour le mot-clé puis cliquer sur le bouton <strong>OK</strong>. La modification de ce terme se répercutera sur tous les billets concernés par ce mot-clé.</dd>
-	<dt>Supprimer ce mot-clé</dt>
-	<dd>Ce bouton enlèvera ce mot-clé de tous les billets concernés et le supprimera de la liste des mots-clés.</dd>
-</dl>
-<h4>Liste des billets avec ce mot-clé</h4>
-<p>Depuis la liste des billets on peut procéder à toutes les actions par lot autorisées en fonction des permissions de l'utilisateur&nbsp;:</p>
-<ul>
-  <li><strong>Publier</strong>&nbsp;: mettre le billet en ligne.</li>
-  <li><strong>Hors ligne</strong>&nbsp;: mettre le billet hors ligne.</li>
-  <li><strong>Programmer</strong>&nbsp;: programmer le billet pour mise en ligne à la date de
-  publication.</li>
-  <li><strong>En attente</strong>&nbsp;: en attente de publication.</li>
-  <li><strong>Changer de catégorie</strong>&nbsp;: envoie sur la liste des catégories pour
-  changer celle des billets sélectionnés.</li>
-  <li><strong>Changer l'auteur</strong>&nbsp;: permet de changer l'auteur du billet en indiquant
-  l'identifiant de l'utilisateur qui deviendra le nouvel auteur.</li>
-  <li><strong>Supprimer</strong>&nbsp;: supprime le billet (cette opération est irréversible).</li>
-</ul>
-<p><em>Il se peut que la liste ci-dessus soit plus longue si d'autres actions possibles ont été ajoutées par des plugins activés sur votre installation.</em></p>
+<h4>Mot-clé : billets</h4>
 
 </body>
Index: plugins/tags/locales/fr/help/tags.html
===================================================================
--- plugins/tags/locales/fr/help/tags.html	(revision 2379)
+++ plugins/tags/locales/fr/help/tags.html	(revision 2322)
@@ -6,8 +6,6 @@
 <body>
 
-<h4>Liste des mots-clés</h4>
-<p>Cette page affiche la liste des mots-clés utilisés sur le blog, triés dans l'ordre alphabétique.</p>
-<h5>Détails d'un mot-clé</h5>
-<p>En cliquant sur l'intitulé d'un mot-clé dans la liste on accède à la liste des billets auxquels ce mot-clé a été affecté et à la possibilité de le modifier ou supprimer.</p>
+<h4>Mots-clés</h4>
+
 </body>
 </html>
Index: plugins/tags/tag_posts.php
===================================================================
--- plugins/tags/tag_posts.php	(revision 2439)
+++ plugins/tags/tag_posts.php	(revision 2322)
@@ -12,5 +12,5 @@
 if (!defined('DC_CONTEXT_ADMIN')) { return; }
 
-$tag = isset($_REQUEST['tag']) ? $_REQUEST['tag'] : '';
+$tag = (!empty($_REQUEST['tag']) || $_REQUEST['tag'] == '0') ? $_REQUEST['tag'] : '';
 
 $this_url = $p_url.'&amp;m=tag_posts&amp;tag='.rawurlencode($tag);
@@ -21,5 +21,5 @@
 
 # Rename a tag
-if (isset($_POST['new_tag_id']))
+if (!empty($_POST['new_tag_id']) || $_POST['new_tag_id'] == '0')
 {
 	$new_id = dcMeta::sanitizeMetaID($_POST['new_tag_id']);
@@ -124,15 +124,15 @@
 		echo '</div>';
 	}
-
+	
 	# Show posts
 	echo '<h4 class="vertical-separator pretty-title">'.sprintf(__('List of entries with the tag “%s”'),html::escapeHTML($tag)).'</h4>';
 	$post_list->display($page,$nb_per_page,
 	'<form action="plugin.php" method="post" id="form-entries">'.
-
+	
 	'%s'.
-
+	
 	'<div class="two-cols">'.
 	'<p class="col checkboxes-helpers"></p>'.
-
+	
 	'<p class="col right"><label for="action" class="classic">'.__('Selected entries action:').'</label> '.
 	form::combo('action',$posts_actions_page->getCombo()).
Index: plugins/themeEditor/_admin.php
===================================================================
--- plugins/themeEditor/_admin.php	(revision 2370)
+++ plugins/themeEditor/_admin.php	(revision 1609)
@@ -53,5 +53,5 @@
 		'<p><label for="colorsyntax" class="classic">'.
 		form::checkbox('colorsyntax',1,$core->auth->user_prefs->interface->colorsyntax).'</label>'.
-		__('Syntax highlighting in theme editor').
+		__('Syntax color for theme editor').
 		'</p>';
 	}
Index: plugins/themeEditor/help.html
===================================================================
--- plugins/themeEditor/help.html	(revision 989)
+++ plugins/themeEditor/help.html	(revision 989)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html>
+<head>
+  <title>Theme Editor</title>
+</head>
+
+<body>
+<p>The Theme Editor lets you modify the template files, the stylesheets and the JavaScript files of the theme you are currently using.</p>
+
+<p>The file list is divided in three sections&nbsp;:</p>
+<ul>
+  <li>Template files : the templates</li>
+  <li>CSS files : the stylesheets</li>
+  <li>JavaScript files</li>
+</ul>
+
+<p>The yellow bullet in front of the name of a file indicates that this file is part of the theme. The red bullet means it is a part of the parent theme. The black bullet means it is a part of the "default" theme.</p>
+
+<p>If you modify a file belonging to the "default" theme, it will be copied into the theme you are currently using.</p>
+
+<p>To edit a file, click on its name to display its content in the edition area. If the file can be written, you will be able to save your modifications by ckicking on "save".</p>
+
+<p>The modifications are applied immediately after saving, so be careful.</p>
+
+<p>To help modify your templates, you may consult the <a href="http://doc.dotclear.net/2.0/resources/templates">template tag list</a>.</p>
+
+<p>Note: You can activate syntax coloration in your preferences (“My options” tab).</p>
+
+</body>
+</html>
Index: lugins/themeEditor/locales/en/help/help.html
===================================================================
--- plugins/themeEditor/locales/en/help/help.html	(revision 2368)
+++ 	(revision )
@@ -1,30 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-  <title>Theme Editor</title>
-</head>
-
-<body>
-<p>The Theme Editor lets you modify the template files, the stylesheets and the JavaScript files of the theme you are currently using.</p>
-
-<p>The file list is divided in three sections&nbsp;:</p>
-<ul>
-  <li>Template files : the templates</li>
-  <li>CSS files : the stylesheets</li>
-  <li>JavaScript files</li>
-</ul>
-
-<p>The yellow bullet in front of the name of a file indicates that this file is part of the theme. The red bullet means it is a part of the parent theme. The black bullet means it is a part of the "default" theme.</p>
-
-<p>If you modify a file belonging to the "default" theme, it will be copied into the theme you are currently using.</p>
-
-<p>To edit a file, click on its name to display its content in the edition area. If the file can be written, you will be able to save your modifications by ckicking on "save".</p>
-
-<p>The modifications are applied immediately after saving, so be careful.</p>
-
-<p>To help modify your templates, you may consult the <a href="http://doc.dotclear.net/2.0/resources/templates">template tag list</a>.</p>
-
-<p>Note: You can activate syntax coloration in your preferences (“My options” tab).</p>
-
-</body>
-</html>
Index: lugins/themeEditor/locales/en/resources.php
===================================================================
--- plugins/themeEditor/locales/en/resources.php	(revision 2368)
+++ 	(revision )
@@ -1,16 +1,0 @@
-<?php
-# -- BEGIN LICENSE BLOCK ---------------------------------------
-#
-# This file is part of Dotclear 2.
-#
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
-# Licensed under the GPL version 2.0 license.
-# See LICENSE file or
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#
-# -- END LICENSE BLOCK -----------------------------------------
-
-if (!isset($__resources['help']['themeEditor']))
-{
-	$__resources['help']['themeEditor'] = dirname(__FILE__).'/help/help.html';
-}
Index: lugins/themeEditor/locales/fr/help/help.html
===================================================================
--- plugins/themeEditor/locales/fr/help/help.html	(revision 2433)
+++ 	(revision )
@@ -1,45 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-  <title>Éditeur de thème</title>
-</head>
-
-<body>
-<h4>Éditeur de thème</h4>
-<p>L'éditeur de thème vous permet de modifier les différents fichiers du  thème actif.</p>
-
-<p>La colonne de droite listent les fichiers, ils sont groupés en quatre types&nbsp;:</p>
-<ul>
-  <li>fichiers du thème&nbsp;: les templates,</li>
-  <li>fichiers CSS&nbsp;: les feuilles de style,</li>
-  <li>fichiers JavaScript.</li>
-  <li>fichiers de traduction.</li>
-</ul>
-
-<p>A la gauche de chaque fichier, chaque puce se voit attribuée une couleur :</p>
-<ul>
-<li><b>noire</b> indique qu'il se trouve dans le thème "default".</li>
-<li><b>jaune</b> indique qu'il fait partie du thème actif.</li> 
-<li><b>rouge</b> indique qu'il fait partie d'un thème parent.</li>
-</ul>
-
-<h4>Modification des fichiers</h4>
-<p>Pour modifier un fichier, cliquez sur son nom, le contenu s'affichera alors
-dans la zone d'édition. Si le fichier peut-être écrit vous pourrez sauvegarder
-celui-ci en cliquant sur le bouton "Enregistrer".</p>
-
-<p>Les modifications sont immédiatement appliquées lors de la sauvegarde, soyez vigilants.</p>
-
-<p>A noter que si vous modifiez un fichier se trouvant dans le thème "default", celui-ci sera copié dans votre thème en cours d'utilisation.</p>
-
-<h4>Coloration syntaxique</h4>
-<p>Notez que vous pouvez activer la coloration syntaxique dans <a href="preferences.php#user-options">vos préférences</a>
-(onglet « Mes options »).</p>
-
-<h4>Allez plus loin…</h4>
-<p>Pour éditer vos templates, n'hésitez pas à consultez la
-<a href="http://doc.dotclear.net/2.0/resources/templates">liste des marqueurs
-de template</a>.</p>
-
-</body>
-</html>
Index: lugins/themeEditor/locales/fr/resources.php
===================================================================
--- plugins/themeEditor/locales/fr/resources.php	(revision 2368)
+++ 	(revision )
@@ -1,16 +1,0 @@
-<?php
-# -- BEGIN LICENSE BLOCK ---------------------------------------
-#
-# This file is part of Dotclear 2.
-#
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
-# Licensed under the GPL version 2.0 license.
-# See LICENSE file or
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#
-# -- END LICENSE BLOCK -----------------------------------------
-
-if (!isset($__resources['help']['themeEditor']))
-{
-	$__resources['help']['themeEditor'] = dirname(__FILE__).'/help/help.html';
-}
Index: plugins/userPref/locales/fr/help/help.html
===================================================================
--- plugins/userPref/locales/fr/help/help.html	(revision 2438)
+++ plugins/userPref/locales/fr/help/help.html	(revision 2322)
@@ -1,18 +1,11 @@
 <html>
-  <head>
-    <title>User:preferences</title>
-  </head>
-  
-  <body>    
-    <h4>User:preferences</h4>
-    <p>Cette page présente des informations <em>techniques</em> 
-      brutes généralement gérées par d'autres pages.<br />
-      Ne modifiez quelque chose que si vous savez ce que vous faîtes.</p>
-    <p>Par exemple le paramètre <em>nodragdrop</em> se configure sur la page 
-      "Mes préférences" dans <a href="preferences.php#user-options">l'onglet "Mes options"</a>.</p>
-    <p>La page présente deux onglets "Préférences utilisateurs" et "Préférences globales"
-      qui permettent de gérer (et présenter) respectivement vos préférences et 
-      celles communes à tous les utilisateurs.</p>
-    <p>Vous pouvez accéder directement aux différentes sections de la page avec le menu de sélection.</p>
-  </body>
+<head>
+  <title>User:preferences</title>
+</head>
+
+<body>
+
+<h4>User:preferences</h4>
+
+</body>
 </html>
Index: plugins/widgets/class.widgets.php
===================================================================
--- plugins/widgets/class.widgets.php	(revision 2442)
+++ plugins/widgets/class.widgets.php	(revision 2412)
@@ -232,5 +232,5 @@
 		foreach ($this->settings as $id => $s)
 		{
-			$res .= $this->formSetting($id,$s,$pr,$i);
+			$res .= $this->formSetting($id,$s,$pr,$i=0);
 			$i++;
 		}
@@ -285,4 +285,5 @@
 				break;
 		}
+		
 		return $res;
 	}
Index: plugins/widgets/index.php
===================================================================
--- plugins/widgets/index.php	(revision 2448)
+++ plugins/widgets/index.php	(revision 2495)
@@ -53,5 +53,5 @@
 		}
 	}
-		
+
 	# Append 1 widget
 	$wid = false;
@@ -60,5 +60,5 @@
 		$wid = $wid[0];
 	}
-	
+
 	# Append widgets
 	if (!empty($addw))
@@ -73,5 +73,5 @@
 			$widgets_custom = new dcWidgets();
 		}
-		
+
 		foreach ($addw as $k => $v)
 		{
@@ -91,5 +91,5 @@
 			}
 		}
-		
+
 		try {
 			$core->blog->settings->addNamespace('widgets');
@@ -151,5 +151,5 @@
 		$_POST['w'] = array();
 	}
-	
+
 	try
 	{
@@ -163,5 +163,5 @@
 			}
 		}
-		
+
 		if (!isset($_POST['w']['nav'])) {
 			$_POST['w']['nav'] = array();
@@ -173,9 +173,9 @@
 			$_POST['w']['custom'] = array();
 		}
-		
+
 		$widgets_nav = dcWidgets::loadArray($_POST['w']['nav'],$__widgets);
 		$widgets_extra = dcWidgets::loadArray($_POST['w']['extra'],$__widgets);
 		$widgets_custom = dcWidgets::loadArray($_POST['w']['custom'],$__widgets);
-		
+
 		$core->blog->settings->addNamespace('widgets');
 		$core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store());
@@ -183,5 +183,5 @@
 		$core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store());
 		$core->blog->triggerBlog();
-		
+
 		http::redirect($p_url);
 	}
@@ -200,5 +200,5 @@
 		$core->blog->settings->widgets->put('widgets_custom','');
 		$core->blog->triggerBlog();
-		
+
 		http::redirect($p_url);
 	}
@@ -212,12 +212,15 @@
 <head>
   <title><?php echo __('Widgets'); ?></title>
-  <link type="text/css" rel="stylesheet" href="index.php?pf=widgets/style.css"/>
+  <style type="text/css">
+  <?php echo file_get_contents(dirname(__FILE__).'/style.css'); ?>
+  </style>
   <?php
 		echo
 			dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
+			dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 			dcPage::jsLoad('index.php?pf=widgets/widgets.js');
   ?>
-  <?php 
-	$core->auth->user_prefs->addWorkspace('accessibility'); 
+  <?php
+	$core->auth->user_prefs->addWorkspace('accessibility');
 	$user_dm_nodragdrop = $core->auth->user_prefs->accessibility->nodragdrop;
   ?>
@@ -265,5 +268,5 @@
 echo
 '</ul>'.
-'<p>'.$core->formNonce().'</p>'.
+$core->formNonce().
 '<p class="remove-if-drag"><input type="submit" name="append" value="'.__('Add widgets to sidebars').'" /></p>'.
 '</form>';
@@ -296,5 +299,24 @@
 
 $widget_elements = new stdClass;
-$widget_elements->content = '<dl>';
+$widget_elements->content =
+'<h4>'.__('Use of widgets').'</h4>'.
+'<p>'.__('Widgets may be used to add various blocks of content to be displayed on your public pages. To add a widget, '.
+'drag it from the Available widgets list on the left to one of the sidebars on the right of this page. You can order '.
+'your widgets in a sidebar by dragging them up or down. You must update sidebars to apply your changes.').'</p>'.
+'<p>'.__('Once included in a sidebar, widgets have configuration options that you can reach by clicking on the arrow next '.
+'to their name.').'</p>'.
+'<p>'.__('Reset sidebars to get back to default widgets installation.').'</p>'.
+'<h4>'.__('Widget templates tags').'</h4>'.
+'<div id="widgets-tpl">'.
+'<p>'.__('If you are allowed to edit your theme templates, you can directly add widgets as '.
+'templates tags, with their own configuration.').'</p>'.
+'<p>'.__('To add a widget in your template, you need to write code like this:').'</p>'.
+'<pre>&lt;tpl:Widget id="<strong>'.__('Widget ID').'</strong>"&gt;
+  &lt;setting name="<strong>'.__('Setting name').'</strong>"&gt;<strong>'.__('Setting value').'</strong>&lt;/setting&gt;
+  ...
+&lt;/tpl:Widget&gt;</pre>'.
+'<p>'.__('Here are the following available widgets for your blog:').'</p>';
+
+$widget_elements->content .= '<dl>';
 foreach ($__widgets->elements() as $w)
 {
@@ -304,5 +326,5 @@
 	($w->desc() != '' ? ' <span class="form-note">'.__($w->desc()).'</span>' : '').'</dt>'.
 	'<dd>';
-	
+
 	$w_settings = $w->settings();
 	if (empty($w_settings))
@@ -329,5 +351,5 @@
 					break;
 			}
-			
+
 			$widget_elements->content .=
 			'<li>'.
@@ -342,29 +364,27 @@
 $widget_elements->content .= '</dl></div>';
 
-dcPage::helpBlock('widgets',$widget_elements);
+dcPage::helpBlock($widget_elements);
 
 function sidebarWidgets($id,$title,$widgets,$pr,$default_widgets,&$j)
 {
 	$res = '<h3>'.$title.'</h3>';
-	
+
 	if (!($widgets instanceof dcWidgets))
 	{
 		$widgets = $default_widgets;
 	}
-	
+
 	$res .= '<ul id="'.$id.'" class="connected">';
-	
-	$res .= '<li class="empty-widgets" '.(!$widgets->isEmpty() ? 'style="display: none;"' : '').'>'.__('No widget as far.').'</li>';
-	
+
+	$res .= '<li class="empty-widgets" '.(!$widgets->isEmpty() ? 'style="display: none;"' : '').'>'.__('No widget for now.').'</li>';
+
 	$i = 0;
 	foreach ($widgets->elements() as $w)
 	{
-		$upDisabled = $i == 0 ? ' disabled" src="images/disabled_' : '" src="images/';
-		$downDisabled = $i == count($widgets->elements())-1 ? ' disabled" src="images/disabled_' : '" src="images/';
-		$altUp = $i == 0 ? ' alt=""' : ' alt="'.__('Up the widget').'"';
-		$altDown = $i == count($widgets->elements())-1 ? ' alt=""' : ' alt="'.__('Down the widget').'"';
-		
+		$upDisabled = $i == 0 ? '" disabled="" src="images/disabled_' : '" src="images/';
+		$downDisabled = $i == count($widgets->elements())-1 ? '" disabled="" src="images/disabled_' : '" src="images/';
+
 		$iname = 'w['.$pr.']['.$i.']';
-		
+
 		$res .=
 		'<li>'.form::hidden(array($iname.'[id]'),html::escapeHTML($w->id())).
@@ -373,21 +393,21 @@
 		($w->desc() != '' ? ' <span class="form-note">'.__($w->desc()).'</span>' : '').
 		'<span class="toolsWidget remove-if-drag">'.
-		'<input type="image" class="upWidget'.$upDisabled.'up.png" name="'.$iname.'[_up]" value="'.__('Up the widget').'"'.$altUp.' /> '.
-		'<input type="image" class="downWidget'.$downDisabled.'down.png" name="'.$iname.'[_down]" value="'.__('Down the widget').'"'.$altDown.' /> '.' '.
-		'<input type="image" class="removeWidget" src="images/trash.png" name="'.$iname.'[_rem]" value="'.__('Remove widget').'" alt="'.__('Remove the widget').'" />'.
+		'<input type="image" class="upWidget'.$upDisabled.'up.png" name="'.$iname.'[_up]" value="'.__('Up the widget').'" />'.
+		'<input type="image" class="downWidget'.$downDisabled.'down.png" name="'.$iname.'[_down]" value="'.__('Down the widget').'" />'.' '.
+		'<input type="image" class="removeWidget" src="images/trash.png" name="'.$iname.'[_rem]" value="'.__('Remove widget').'" />'.
 		'</span>'.
 		'<br class="clear"/></p>'.
 		'<div class="widgetSettings hidden-if-drag">'.$w->formSettings($iname,$j).'</div>'.
 		'</li>';
-		
+
 		$i++;
 		$j++;
 	}
-	
+
 	$res .= '</ul>';
-	
+
 	$res .= '<ul class="sortable-delete"'.($i > 0 ? '':' style="display: none;"').'><li class="sortable-delete-placeholder">'.
 			__('Drag widgets here to remove.').'</li></ul>';
-	
+
 	return $res;
 }
Index: lugins/widgets/locales/en/help/help.html
===================================================================
--- plugins/widgets/locales/en/help/help.html	(revision 2375)
+++ 	(revision )
@@ -1,34 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-  <title>Widgets</title>
-</head>
-
-<body>
-<h4>Use of widgets</h4>
-
-<p>Widgets may be used to add various blocks of content to be displayed on your public pages. To add a widget, drag it from the Available widgets list on the left to one of the sidebars on the right of this page. You can order your widgets in a sidebar by dragging them up or down. You must update sidebars to apply your changes.</p>
-
-<p>Once included in a sidebar, widgets have configuration options that you can reach by clicking on the arrow next to their name.</p>
-
-<p>Reset sidebars to get back to default widgets installation</p>
-
-<h4>Widget templates tags</h4>
-
-<div id="widgets-tpl">
-
-<p>If you are allowed to edit your theme templates, you can directly add widgets as templates tags, with their own configuration.</p>
-
-<p>To add a widget in your template, you need to write code like this:</p>
-
-<pre>
-&lt;tpl:Widget id="<strong>Widget ID</strong>"&gt;
-  &lt;setting name="<strong>Setting name</strong>"&gt;<strong>Setting value</strong>&lt;/setting&gt;
-  ...
-&lt;/tpl:Widget&gt;
-</pre>
-
-<p>Here are the following available widgets for your blog:</p><!-- the widgets and their descriptions are automatically inserted here -->
-
-</body>
-</html>
Index: lugins/widgets/locales/en/resources.php
===================================================================
--- plugins/widgets/locales/en/resources.php	(revision 2375)
+++ 	(revision )
@@ -1,16 +1,0 @@
-<?php
-# -- BEGIN LICENSE BLOCK ---------------------------------------
-#
-# This file is part of Dotclear 2.
-#
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
-# Licensed under the GPL version 2.0 license.
-# See LICENSE file or
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#
-# -- END LICENSE BLOCK -----------------------------------------
-
-if (!isset($__resources['help']['widgets']))
-{
-	$__resources['help']['widgets'] = dirname(__FILE__).'/help/help.html';
-}
Index: lugins/widgets/locales/fr/help/help.html
===================================================================
--- plugins/widgets/locales/fr/help/help.html	(revision 2426)
+++ 	(revision )
@@ -1,38 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-  <title>Widgets</title>
-</head>
-
-<body>
-<h4>Utilisation des widgets</h4>
-
-<p>Les widgets sont utilisés pour ajouter des blocs de contenus divers dans vos pages publiques. Pour ajouter un widget, faites-le glisser depuis la liste des widgets disponibles à gauche jusqu'à l'un des volets sur la droite de la page. Vous pouvez ré-ordonner vos widgets dans un volet ou entre les volets en le faisant glisser vers le haut ou vers le bas.</p>
-
-<p>Une fois inclus dans un volet, les widgets ont généralement des options que vous pouvez configurer. Cliquez sur la flèche à côté de leur nom pour y accéder.</p>
-
-<p>Pour supprimer un widget, il suffit de le faire glisser dans une des zones prévues à cet effet.</p>
-
-<p>À chaque changement (ajout, paramétrage, déplacement, suppression), vous devez mettre à jour les volets pour enregistrer les modifications.</p>
-
-<p>Réinitialisez les volets pour retrouver les widgets par défaut de votre installation.</p>
-
-<h4>Balises de widget</h4>
-
-<div id="widgets-tpl">
-
-<p>Si vous êtes autorisé à modifier vos fichiers de thème, vous pouvez ajouter des widgets sous forme de balise, avec leur propre configuration.</p>
-
-<p>Pour ajouter un widget à votre thème, vous devez insérer un code similaire à :</p>
-
-<pre>
-&lt;tpl:Widget id="<strong>ID du widget</strong>"&gt;
-  &lt;setting name="<strong>Nom de l'élément de réglage</strong>"&gt;<strong>Valeur de l'élément de réglage</strong>&lt;/setting&gt;
-  ...
-&lt;/tpl:Widget&gt;
-</pre>
-
-<p>Voici les widgets disponibles pour votre blog :</p><!-- les widgets et leur descriptions sont automatiquement insérés ici -->
-
-</body>
-</html>
Index: lugins/widgets/locales/fr/resources.php
===================================================================
--- plugins/widgets/locales/fr/resources.php	(revision 2375)
+++ 	(revision )
@@ -1,16 +1,0 @@
-<?php
-# -- BEGIN LICENSE BLOCK ---------------------------------------
-#
-# This file is part of Dotclear 2.
-#
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
-# Licensed under the GPL version 2.0 license.
-# See LICENSE file or
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#
-# -- END LICENSE BLOCK -----------------------------------------
-
-if (!isset($__resources['help']['widgets']))
-{
-	$__resources['help']['widgets'] = dirname(__FILE__).'/help/help.html';
-}
Index: plugins/widgets/style.css
===================================================================
--- plugins/widgets/style.css	(revision 2442)
+++ plugins/widgets/style.css	(revision 2401)
@@ -4,5 +4,5 @@
 # This file is part of Dotclear 2.
 #
-# Copyright (c) 2003-2013 Olivier Meunier and Association Dotclear
+# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
 # Licensed under the GPL version 2.0 license.
 # See LICENSE file or
@@ -16,5 +16,5 @@
 #sidebarsWidgets {
 	float: left;
-	width: 49%;
+	width: 47%;
 	margin: 0 0 0 1%;
 	padding: 0 1%;
@@ -118,5 +118,5 @@
 #listWidgets {
 	float: left;
-	width: 49%;
+	width: 46%;
 	background: #eee;
 	padding: 1.5em 1% 0; 
@@ -156,7 +156,5 @@
 	display: none;
 }
-.removeWidget {
-	margin-left: 1em;
-}
+
 /* ------------------------------------------------------------- help */
 #widgets-tpl dt {
Index: tests/functional/spec/page_tabs.js
===================================================================
--- tests/functional/spec/page_tabs.js	(revision 2479)
+++ tests/functional/spec/page_tabs.js	(revision 2348)
@@ -153,28 +153,6 @@
 		expect($('#part-user-favorites')).not.toBeVisible();
 	});
-	
-	/* ticket 1723 and 1794
-	 *
-	 * The problem occurs when cliking an anchor in the page 
-	 */
-	it("Must try to find tab to open in page when hash refer ton an anchor and not to an existing div content", function() {
-		loadFixtures('tabs.html');
-		loadStyleFixtures('default.css');
-		
-		var anchor_name = 'anchor-in-favorites';
-		$('<div id="anchor-in-favorites"></div>').appendTo($('#user-favorites'));
-		
-		$.pageTabs('user-profile');
-		expect($('#part-user-options')).not.toBeVisible();
-		expect($('#part-user-profile')).toBeVisible();
-		expect($('#part-user-favorites')).not.toBeVisible();
 
-		spyOn(jQuery.pageTabs, 'getLocationHash').andReturn(anchor_name);
-		jQuery.event.trigger('hashchange');
-		expect($('#part-user-options')).not.toBeVisible();
-		expect($('#part-user-profile')).not.toBeVisible();
-		expect($('#part-user-favorites')).toBeVisible();
-	});
-
+	/* ticket 1723 */
 	it("Must open first tab when hash does not refer to an existing div content", function() {
 		loadFixtures('tabs.html');
@@ -186,5 +164,5 @@
 		expect($('#part-user-profile')).not.toBeVisible();
 		expect($('#part-user-favorites')).not.toBeVisible();
-	});	
+	});
 });
 
Index: themes/ductile/_config.php
===================================================================
--- themes/ductile/_config.php	(revision 2393)
+++ themes/ductile/_config.php	(revision 2335)
@@ -23,9 +23,4 @@
 
 $standalone_config = (boolean) $core->themes->moduleInfo($core->blog->settings->system->theme,'standalone_config');
-
-// Load contextual help
-if (file_exists(dirname(__FILE__).'/locales/'.$_lang.'/resources.php')) {
-	require dirname(__FILE__).'/locales/'.$_lang.'/resources.php';
-}
 
 $list_types = array(
@@ -115,5 +110,5 @@
 {
 	global $font_families;
-
+	
 	return isset($font_families[$c]) ? '<span style="position:absolute;top:0;left:32em;">'.$font_families[$c].'</span>' : '';
 }
@@ -145,10 +140,10 @@
 {
 	// Compute contrast ratio between two colors
-
+	
 	$color = adjustColor($color);
 	if (($color == '') || (strlen($color) != 7)) return 0;
 	$background = adjustColor($background);
 	if (($background == '') || (strlen($background) != 7)) return 0;
-
+	
 	$l1 = (0.2126 * pow(hexdec(substr($color,1,2))/255,2.2)) +
 		(0.7152 * pow(hexdec(substr($color,3,2))/255,2.2)) +
@@ -202,5 +197,5 @@
 
 	$large = ((($s > 1.5) && ($bold == false)) || (($s > 1.2) && ($bold == true)));
-
+	
 	// Check ratio
 	if ($ratio > 7) {
@@ -221,5 +216,5 @@
 		$ratio = computeContrastRatio($color,$background);
 		$level = contrastRatioLevel($ratio,$size,$bold);
-		return
+		return 
 			'<span style="position:absolute;top:0;left:23em;">'.
 			sprintf(__('ratio %.1f'),$ratio).
@@ -371,15 +366,15 @@
 				$ductile_stickers = $new_ductile_stickers;
 			}
-
+			
 			for ($i = 0; $i < count($_POST['list_type']); $i++) {
 				$ductile_lists[$_POST['list_ctx'][$i]] = $_POST['list_type'][$i];
 			}
-
+	 		
 			for ($i = 0; $i < count($_POST['count_nb']); $i++) {
 				$ductile_counts[$_POST['count_ctx'][$i]] = $_POST['count_nb'][$i];
 			}
-
+	 		
 		}
-
+		
 		# CSS
 		if ($conf_tab == 'css') {
@@ -397,24 +392,24 @@
 			$ductile_user['blog_title_s'] = adjustFontSize($_POST['blog_title_s']);
 			$ductile_user['blog_title_c'] = adjustColor($_POST['blog_title_c']);
-
+		
 			$ductile_user['post_title_w'] = (integer) !empty($_POST['post_title_w']);
 			$ductile_user['post_title_s'] = adjustFontSize($_POST['post_title_s']);
 			$ductile_user['post_title_c'] = adjustColor($_POST['post_title_c']);
-
+		
 			$ductile_user['post_link_w'] = (integer) !empty($_POST['post_link_w']);
 			$ductile_user['post_link_v_c'] = adjustColor($_POST['post_link_v_c']);
 			$ductile_user['post_link_f_c'] = adjustColor($_POST['post_link_f_c']);
-
+		
 			$ductile_user['post_simple_title_c'] = adjustColor($_POST['post_simple_title_c']);
-
+		
 			$ductile_user['blog_title_w_m'] = (integer) !empty($_POST['blog_title_w_m']);
 			$ductile_user['blog_title_s_m'] = adjustFontSize($_POST['blog_title_s_m']);
 			$ductile_user['blog_title_c_m'] = adjustColor($_POST['blog_title_c_m']);
-
+		
 			$ductile_user['post_title_w_m'] = (integer) !empty($_POST['post_title_w_m']);
 			$ductile_user['post_title_s_m'] = adjustFontSize($_POST['post_title_s_m']);
 			$ductile_user['post_title_c_m'] = adjustColor($_POST['post_title_c_m']);
 		}
-
+		
 		$core->blog->settings->addNamespace('themes');
 		$core->blog->settings->themes->put($core->blog->settings->system->theme.'_style',serialize($ductile_user));
@@ -428,5 +423,5 @@
 		// Template cache reset
 		$core->emptyTemplatesCache();
-
+		
 		dcPage::message(__('Theme configuration upgraded.'),true,true);
 	}
@@ -459,5 +454,5 @@
 echo '<h4 class="border-top pretty-title">'.__('Stickers').'</h4>';
 
-echo
+echo 
 '<div class="table-outer">'.
 '<table class="dragable">'.'<caption>'.__('Stickers (footer)').'</caption>'.
@@ -474,5 +469,5 @@
 foreach ($ductile_stickers as $i => $v) {
 	$count++;
-	echo
+	echo 
 	'<tr class="line" id="l_'.$i.'">'.
 	'<td class="handle minimal">'.form::field(array('order['.$i.']'),2,3,$count,'position','',false).
@@ -499,5 +494,5 @@
 '<tbody>';
 foreach ($ductile_lists as $k => $v) {
-	echo
+	echo 
 		'<tr>'.
 		'<td scope="row">'.$contexts[$k].'</td>'.
Index: themes/ductile/_prepend.php
===================================================================
--- themes/ductile/_prepend.php	(revision 1133)
+++ themes/ductile/_prepend.php	(revision 2495)
@@ -26,5 +26,6 @@
 		if (!$core->auth->user_prefs->accessibility->nodragdrop) {
 			echo
-				dcPage::jsLoad('js/jquery/jquery-ui.custom.js');
+				dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
+				dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js');
 				echo <<<EOT
 <script type="text/javascript">
