]> spindle.queued.net Git - midori/commitdiff
Imported Upstream version 0.1.7
authorRyan Niebur <ryanryan52@gmail.com>
Fri, 29 May 2009 06:14:53 +0000 (23:14 -0700)
committerRyan Niebur <ryanryan52@gmail.com>
Fri, 29 May 2009 06:14:53 +0000 (23:14 -0700)
78 files changed:
AUTHORS
ChangeLog
README
data/error.html [new file with mode: 0644]
data/mootools.js [new file with mode: 0644]
data/speeddial-head.html [new file with mode: 0644]
data/speeddial.json [new file with mode: 0644]
extensions/adblock.c [new file with mode: 0644]
extensions/colorful-tabs.c
extensions/cookie-manager.c [deleted file]
extensions/cookie-manager/cookie-manager-page.c [new file with mode: 0644]
extensions/cookie-manager/cookie-manager-page.h [new file with mode: 0644]
extensions/cookie-manager/cookie-manager.c [new file with mode: 0644]
extensions/cookie-manager/cookie-manager.h [new file with mode: 0644]
extensions/feed-panel/feed-atom.c [new file with mode: 0644]
extensions/feed-panel/feed-atom.h [new file with mode: 0644]
extensions/feed-panel/feed-panel.c [new file with mode: 0644]
extensions/feed-panel/feed-panel.h [new file with mode: 0644]
extensions/feed-panel/feed-parse.c [new file with mode: 0644]
extensions/feed-panel/feed-parse.h [new file with mode: 0644]
extensions/feed-panel/feed-rss.c [new file with mode: 0644]
extensions/feed-panel/feed-rss.h [new file with mode: 0644]
extensions/feed-panel/main.c [new file with mode: 0644]
extensions/mouse-gestures/main.c
extensions/page-holder.c
extensions/statusbar-features.c
extensions/wscript_build
katze/katze-array.c
katze/katze-arrayaction.c
katze/katze-utils.c
katze/katze-utils.h
katze/marshal.list
midori/gtkiconentry.c
midori/gtkiconentry.h
midori/main.c
midori/marshal.list
midori/midori-app.c
midori/midori-app.h
midori/midori-browser.c
midori/midori-browser.h
midori/midori-extension.c
midori/midori-extension.h
midori/midori-locationaction.c
midori/midori-panel.c
midori/midori-preferences.c
midori/midori-view.c
midori/midori-websettings.c
midori/sokoke.c
midori/sokoke.h
panels/midori-addons.c
panels/midori-bookmarks.c
panels/midori-console.c
panels/midori-extensions.c
panels/midori-history.c
panels/midori-plugins.c
panels/midori-transfers.c
po/LINGUAS
po/POTFILES.in
po/cs.po [new file with mode: 0644]
po/da.po
po/de.po
po/el.po
po/es.po
po/fr.po
po/ja.po
po/midori.pot
po/pt.po [new file with mode: 0644]
po/pt_PT.po [deleted file]
po/ro.po [new file with mode: 0644]
po/ru.po
po/sk.po [new file with mode: 0644]
po/zh_CN.po
tests/browser.c
tests/completion.c
tests/extensions.c
tests/history.c [new file with mode: 0644]
tests/magic-uri.c
wscript

diff --git a/AUTHORS b/AUTHORS
index daa0e4fed389cf1d544ab8c46d372ab6fa1645bb..59d2077bd82a9a4c789aa9e324a1c7e19d8f894a 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -15,6 +15,8 @@ Contributors:
     Nick Schermer <nick@xfce.org>
     Matthias Kruk <mkruk@matthiaskruk.de>
     Johannes Reinhardt <jreinhardt@ist-dein-freund.de>
+    Jean-François Guchens <zcx000@gmail.com>
+    Jérôme Geulfucci <jeromeg@xfce.org>
 
 Graphics:
     extension: Nancy Runge <nancy@twotoasts.de>
@@ -23,6 +25,7 @@ Graphics:
     logo-shade: Nancy Runge <nancy@twotoasts.de>
 
 Translations:
+    cs: David Stancl <dstancl@dstancl.cz>
     da: Per Kongstad <p_kongstad@op.pl>
     de: Enrico Tröger <enrico.troeger@uvena.de>
     de: Christian Dywan <christian@twotoasts.de>
@@ -39,6 +42,7 @@ Translations:
     fr: Adrien Nader <camaradetux@gmail.com>
     fr: Robert-André Mauchin <zebob.m@pengzone.org>
     fr: Pascal Gervais <pggervais@yahoo.ca>
+    fr: Jérôme Geulfucci <jeromeg@xfce.org>
     gl: Miguel Anxo Bouzada <mbouzada@gmail.com>
     he: Shlomi Israel <sijproject@gmail.com>
     hu: SZERVÁC Attila <sas@321.hu>
@@ -49,8 +53,11 @@ Translations:
     pl: Przemysław Sitek <el.pescado@gazeta.pl>
     pl: Lukasz Romanowicz <romanowicz88@gmail.com>
     pt_PT: Sérgio Marques <smarquespt@gmail.com>
+    ro: Igor Știrbu <igor.stirbu@gmail.com>
+    ro: Mișu Moldovan <dumol@gnome.ro>
     ru: Troitskiy Nikita <niktr@mail.ru>
     ru: Anton Shestakov <engored@ya.ru>
+    sk: Robert Hartl <hartl.robert@gmail.com>
     sv: Mikael Magnusson <mikachu@comhem.se>
     tr: Mirat Can Bayrak <MiratCanBayrak@gmail.com>
     uk: Dmitry Nikitin <luckas_fb@mail.ru>
index 8fe7c5d1cc2d33b0703a4a9e17a687a10afd7178..fa03998c259729d552e79536f51175753ed2dc45 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 This file is licensed under the terms of the expat license, see the file EXPAT.
 
+v0.1.7:
+ + Save the activation status of extensions
+ + Catch and ignore mouse buttons meant for horizontal scrolling
+ + Improve panel detaching and how panels handle it
+ + Add a Feed Panel extension
+ + Add a Fixed-width Font Family preference
+ + Support spell checking
+ + Implement (optional) Speed dial feature
+ + Support nicer error pages with WebKitGTK+ 1.1.6
+ + Implement middle click to open menu items in tabs
+ + Implement -s, --snapshot command line switch
+ + Use libnotify (runtime dependency) for finished transfers
+ + Add a Go button to the address entry
+ + Always append tabs opened via middle/ double click on the tab bar
+ + Implement Open new pages in: New window preference
+ + Implement inline find with direct '.' and '/' hotkeys
+ + Add basic support for @-moz-document in user styles
+
 v0.1.6:
  + Add Delete All to transferbar
  + Show search in context menu
diff --git a/README b/README
index fab2dc016ea5fb6db117a3b4d7b5e30b4446653e..305c921bb89ae4ec5bb4e880d3842d13bc459f53 100644 (file)
--- a/README
+++ b/README
@@ -13,7 +13,7 @@ Midori is a lightweight web browser.
 
 Requirements: GTK+ 2.10, WebkitGTK+ 1.1.1, libXML2, libsoup 2.25.2
 
-Optional: Unique 0.9, libidn, sqlite 3.0, docutils
+Optional: Unique 0.9, libidn, sqlite 3.0, docutils, libnotify
 
 For installation instructions read INSTALL.
 
diff --git a/data/error.html b/data/error.html
new file mode 100644 (file)
index 0000000..600a6c8
--- /dev/null
@@ -0,0 +1,81 @@
+<!--
+ Error page template for Midori.
+ This file is licensed under the terms of the expat license, see the file EXPAT.
+-->
+
+<html>
+<head>
+<title>{title}</title>
+<style type="text/css">
+body {
+   background-color: #eee;
+   margin: 0;
+   padding: 0;
+}
+
+#container {
+   background: #f6fff3;
+   min-width: 70%;
+   max-width: 70%;
+   margin: 2em auto 1em;
+   padding: 1em;
+   border: 0.2em solid #9acb7f;
+   -webkit-border-radius: 1em;
+}
+
+icon {
+   float: left;
+   padding-left: 1%;
+   padding-top: 1%;
+}
+
+#main {
+   float: right;
+   width: 90%;
+}
+
+h1 {
+   font-size: 1.4em;
+   font-weight: bold;
+}
+
+#logo {
+  position: absolute; right: 15px; bottom: 15px;
+  z-index: -1;
+}
+
+button span,
+button img {
+    vertical-align: middle;
+    padding: 2px 1px;
+}
+
+message {
+   font-size: 1.1em;
+}
+
+description {
+   font-size: 1em;
+}
+
+</style>
+</head>
+<body>
+    <div id="container">
+        <img id="logo" src="{res}/logo-shade.png" />
+        <img id="icon" src="{stock}/gtk-dialog-error" />
+        <div id="main">
+            <h1>{title}</h1>
+            <p id="message">{message}</p>
+            <p id="description">{description}</p>
+            <form onsubmit="location.reload()">
+                <button>
+                    <img src="{stock}/gtk-refresh"/>
+                    <span>{tryagain}</span>
+                </button>
+            </form>
+        </div>
+        <br style="clear: both;"/>
+    </div>
+  </body>
+</html>
diff --git a/data/mootools.js b/data/mootools.js
new file mode 100644 (file)
index 0000000..f60d156
--- /dev/null
@@ -0,0 +1,313 @@
+//MooTools, <http://mootools.net>, My Object Oriented (JavaScript) Tools. Copyright (c) 2006-2009 Valerio Proietti, <http://mad4milk.net>, MIT Style License.
+
+var MooTools={version:"1.2.2",build:"f0491d62fbb7e906789aa3733d6a67d43e5af7c9"};var Native=function(k){k=k||{};var a=k.name;var i=k.legacy;var b=k.protect;
+var c=k.implement;var h=k.generics;var f=k.initialize;var g=k.afterImplement||function(){};var d=f||i;h=h!==false;d.constructor=Native;d.$family={name:"native"};
+if(i&&f){d.prototype=i.prototype;}d.prototype.constructor=d;if(a){var e=a.toLowerCase();d.prototype.$family={name:e};Native.typize(d,e);}var j=function(n,l,o,m){if(!b||m||!n.prototype[l]){n.prototype[l]=o;
+}if(h){Native.genericize(n,l,b);}g.call(n,l,o);return n;};d.alias=function(n,l,o){if(typeof n=="string"){if((n=this.prototype[n])){return j(this,l,n,o);
+}}for(var m in n){this.alias(m,n[m],l);}return this;};d.implement=function(m,l,o){if(typeof m=="string"){return j(this,m,l,o);}for(var n in m){j(this,n,m[n],l);
+}return this;};if(c){d.implement(c);}return d;};Native.genericize=function(b,c,a){if((!a||!b[c])&&typeof b.prototype[c]=="function"){b[c]=function(){var d=Array.prototype.slice.call(arguments);
+return b.prototype[c].apply(d.shift(),d);};}};Native.implement=function(d,c){for(var b=0,a=d.length;b<a;b++){d[b].implement(c);}};Native.typize=function(a,b){if(!a.type){a.type=function(c){return($type(c)===b);
+};}};(function(){var a={Array:Array,Date:Date,Function:Function,Number:Number,RegExp:RegExp,String:String};for(var h in a){new Native({name:h,initialize:a[h],protect:true});
+}var d={"boolean":Boolean,"native":Native,object:Object};for(var c in d){Native.typize(d[c],c);}var f={Array:["concat","indexOf","join","lastIndexOf","pop","push","reverse","shift","slice","sort","splice","toString","unshift","valueOf"],String:["charAt","charCodeAt","concat","indexOf","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","valueOf"]};
+for(var e in f){for(var b=f[e].length;b--;){Native.genericize(window[e],f[e][b],true);}}})();var Hash=new Native({name:"Hash",initialize:function(a){if($type(a)=="hash"){a=$unlink(a.getClean());
+}for(var b in a){this[b]=a[b];}return this;}});Hash.implement({forEach:function(b,c){for(var a in this){if(this.hasOwnProperty(a)){b.call(c,this[a],a,this);
+}}},getClean:function(){var b={};for(var a in this){if(this.hasOwnProperty(a)){b[a]=this[a];}}return b;},getLength:function(){var b=0;for(var a in this){if(this.hasOwnProperty(a)){b++;
+}}return b;}});Hash.alias("forEach","each");Array.implement({forEach:function(c,d){for(var b=0,a=this.length;b<a;b++){c.call(d,this[b],b,this);}}});Array.alias("forEach","each");
+function $A(b){if(b.item){var a=b.length,c=new Array(a);while(a--){c[a]=b[a];}return c;}return Array.prototype.slice.call(b);}function $arguments(a){return function(){return arguments[a];
+};}function $chk(a){return !!(a||a===0);}function $clear(a){clearTimeout(a);clearInterval(a);return null;}function $defined(a){return(a!=undefined);}function $each(c,b,d){var a=$type(c);
+((a=="arguments"||a=="collection"||a=="array")?Array:Hash).each(c,b,d);}function $empty(){}function $extend(c,a){for(var b in (a||{})){c[b]=a[b];}return c;
+}function $H(a){return new Hash(a);}function $lambda(a){return(typeof a=="function")?a:function(){return a;};}function $merge(){var a=Array.slice(arguments);
+a.unshift({});return $mixin.apply(null,a);}function $mixin(e){for(var d=1,a=arguments.length;d<a;d++){var b=arguments[d];if($type(b)!="object"){continue;
+}for(var c in b){var g=b[c],f=e[c];e[c]=(f&&$type(g)=="object"&&$type(f)=="object")?$mixin(f,g):$unlink(g);}}return e;}function $pick(){for(var b=0,a=arguments.length;
+b<a;b++){if(arguments[b]!=undefined){return arguments[b];}}return null;}function $random(b,a){return Math.floor(Math.random()*(a-b+1)+b);}function $splat(b){var a=$type(b);
+return(a)?((a!="array"&&a!="arguments")?[b]:b):[];}var $time=Date.now||function(){return +new Date;};function $try(){for(var b=0,a=arguments.length;b<a;
+b++){try{return arguments[b]();}catch(c){}}return null;}function $type(a){if(a==undefined){return false;}if(a.$family){return(a.$family.name=="number"&&!isFinite(a))?false:a.$family.name;
+}if(a.nodeName){switch(a.nodeType){case 1:return"element";case 3:return(/\S/).test(a.nodeValue)?"textnode":"whitespace";}}else{if(typeof a.length=="number"){if(a.callee){return"arguments";
+}else{if(a.item){return"collection";}}}}return typeof a;}function $unlink(c){var b;switch($type(c)){case"object":b={};for(var e in c){b[e]=$unlink(c[e]);
+}break;case"hash":b=new Hash(c);break;case"array":b=[];for(var d=0,a=c.length;d<a;d++){b[d]=$unlink(c[d]);}break;default:return c;}return b;}var Browser=$merge({Engine:{name:"unknown",version:0},Platform:{name:(window.orientation!=undefined)?"ipod":(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase()},Features:{xpath:!!(document.evaluate),air:!!(window.runtime),query:!!(document.querySelector)},Plugins:{},Engines:{presto:function(){return(!window.opera)?false:((arguments.callee.caller)?960:((document.getElementsByClassName)?950:925));
+},trident:function(){return(!window.ActiveXObject)?false:((window.XMLHttpRequest)?5:4);},webkit:function(){return(navigator.taintEnabled)?false:((Browser.Features.xpath)?((Browser.Features.query)?525:420):419);
+},gecko:function(){return(document.getBoxObjectFor==undefined)?false:((document.getElementsByClassName)?19:18);}}},Browser||{});Browser.Platform[Browser.Platform.name]=true;
+Browser.detect=function(){for(var b in this.Engines){var a=this.Engines[b]();if(a){this.Engine={name:b,version:a};this.Engine[b]=this.Engine[b+a]=true;
+break;}}return{name:b,version:a};};Browser.detect();Browser.Request=function(){return $try(function(){return new XMLHttpRequest();},function(){return new ActiveXObject("MSXML2.XMLHTTP");
+});};Browser.Features.xhr=!!(Browser.Request());Browser.Plugins.Flash=(function(){var a=($try(function(){return navigator.plugins["Shockwave Flash"].description;
+},function(){return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version");})||"0 r0").match(/\d+/g);return{version:parseInt(a[0]||0+"."+a[1],10)||0,build:parseInt(a[2],10)||0};
+})();function $exec(b){if(!b){return b;}if(window.execScript){window.execScript(b);}else{var a=document.createElement("script");a.setAttribute("type","text/javascript");
+a[(Browser.Engine.webkit&&Browser.Engine.version<420)?"innerText":"text"]=b;document.head.appendChild(a);document.head.removeChild(a);}return b;}Native.UID=1;
+var $uid=(Browser.Engine.trident)?function(a){return(a.uid||(a.uid=[Native.UID++]))[0];}:function(a){return a.uid||(a.uid=Native.UID++);};var Window=new Native({name:"Window",legacy:(Browser.Engine.trident)?null:window.Window,initialize:function(a){$uid(a);
+if(!a.Element){a.Element=$empty;if(Browser.Engine.webkit){a.document.createElement("iframe");}a.Element.prototype=(Browser.Engine.webkit)?window["[[DOMElement.prototype]]"]:{};
+}a.document.window=a;return $extend(a,Window.Prototype);},afterImplement:function(b,a){window[b]=Window.Prototype[b]=a;}});Window.Prototype={$family:{name:"window"}};
+new Window(window);var Document=new Native({name:"Document",legacy:(Browser.Engine.trident)?null:window.Document,initialize:function(a){$uid(a);a.head=a.getElementsByTagName("head")[0];
+a.html=a.getElementsByTagName("html")[0];if(Browser.Engine.trident&&Browser.Engine.version<=4){$try(function(){a.execCommand("BackgroundImageCache",false,true);
+});}if(Browser.Engine.trident){a.window.attachEvent("onunload",function(){a.window.detachEvent("onunload",arguments.callee);a.head=a.html=a.window=null;
+});}return $extend(a,Document.Prototype);},afterImplement:function(b,a){document[b]=Document.Prototype[b]=a;}});Document.Prototype={$family:{name:"document"}};
+new Document(document);Array.implement({every:function(c,d){for(var b=0,a=this.length;b<a;b++){if(!c.call(d,this[b],b,this)){return false;}}return true;
+},filter:function(d,e){var c=[];for(var b=0,a=this.length;b<a;b++){if(d.call(e,this[b],b,this)){c.push(this[b]);}}return c;},clean:function(){return this.filter($defined);
+},indexOf:function(c,d){var a=this.length;for(var b=(d<0)?Math.max(0,a+d):d||0;b<a;b++){if(this[b]===c){return b;}}return -1;},map:function(d,e){var c=[];
+for(var b=0,a=this.length;b<a;b++){c[b]=d.call(e,this[b],b,this);}return c;},some:function(c,d){for(var b=0,a=this.length;b<a;b++){if(c.call(d,this[b],b,this)){return true;
+}}return false;},associate:function(c){var d={},b=Math.min(this.length,c.length);for(var a=0;a<b;a++){d[c[a]]=this[a];}return d;},link:function(c){var a={};
+for(var e=0,b=this.length;e<b;e++){for(var d in c){if(c[d](this[e])){a[d]=this[e];delete c[d];break;}}}return a;},contains:function(a,b){return this.indexOf(a,b)!=-1;
+},extend:function(c){for(var b=0,a=c.length;b<a;b++){this.push(c[b]);}return this;},getLast:function(){return(this.length)?this[this.length-1]:null;},getRandom:function(){return(this.length)?this[$random(0,this.length-1)]:null;
+},include:function(a){if(!this.contains(a)){this.push(a);}return this;},combine:function(c){for(var b=0,a=c.length;b<a;b++){this.include(c[b]);}return this;
+},erase:function(b){for(var a=this.length;a--;a){if(this[a]===b){this.splice(a,1);}}return this;},empty:function(){this.length=0;return this;},flatten:function(){var d=[];
+for(var b=0,a=this.length;b<a;b++){var c=$type(this[b]);if(!c){continue;}d=d.concat((c=="array"||c=="collection"||c=="arguments")?Array.flatten(this[b]):this[b]);
+}return d;},hexToRgb:function(b){if(this.length!=3){return null;}var a=this.map(function(c){if(c.length==1){c+=c;}return c.toInt(16);});return(b)?a:"rgb("+a+")";
+},rgbToHex:function(d){if(this.length<3){return null;}if(this.length==4&&this[3]==0&&!d){return"transparent";}var b=[];for(var a=0;a<3;a++){var c=(this[a]-0).toString(16);
+b.push((c.length==1)?"0"+c:c);}return(d)?b:"#"+b.join("");}});Function.implement({extend:function(a){for(var b in a){this[b]=a[b];}return this;},create:function(b){var a=this;
+b=b||{};return function(d){var c=b.arguments;c=(c!=undefined)?$splat(c):Array.slice(arguments,(b.event)?1:0);if(b.event){c=[d||window.event].extend(c);
+}var e=function(){return a.apply(b.bind||null,c);};if(b.delay){return setTimeout(e,b.delay);}if(b.periodical){return setInterval(e,b.periodical);}if(b.attempt){return $try(e);
+}return e();};},run:function(a,b){return this.apply(b,$splat(a));},pass:function(a,b){return this.create({bind:b,arguments:a});},bind:function(b,a){return this.create({bind:b,arguments:a});
+},bindWithEvent:function(b,a){return this.create({bind:b,arguments:a,event:true});},attempt:function(a,b){return this.create({bind:b,arguments:a,attempt:true})();
+},delay:function(b,c,a){return this.create({bind:c,arguments:a,delay:b})();},periodical:function(c,b,a){return this.create({bind:b,arguments:a,periodical:c})();
+}});Number.implement({limit:function(b,a){return Math.min(a,Math.max(b,this));},round:function(a){a=Math.pow(10,a||0);return Math.round(this*a)/a;},times:function(b,c){for(var a=0;
+a<this;a++){b.call(c,a,this);}},toFloat:function(){return parseFloat(this);},toInt:function(a){return parseInt(this,a||10);}});Number.alias("times","each");
+(function(b){var a={};b.each(function(c){if(!Number[c]){a[c]=function(){return Math[c].apply(null,[this].concat($A(arguments)));};}});Number.implement(a);
+})(["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","sin","sqrt","tan"]);String.implement({test:function(a,b){return((typeof a=="string")?new RegExp(a,b):a).test(this);
+},contains:function(a,b){return(b)?(b+this+b).indexOf(b+a+b)>-1:this.indexOf(a)>-1;},trim:function(){return this.replace(/^\s+|\s+$/g,"");},clean:function(){return this.replace(/\s+/g," ").trim();
+},camelCase:function(){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/[A-Z]/g,function(a){return("-"+a.charAt(0).toLowerCase());
+});},capitalize:function(){return this.replace(/\b[a-z]/g,function(a){return a.toUpperCase();});},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1");
+},toInt:function(a){return parseInt(this,a||10);},toFloat:function(){return parseFloat(this);},hexToRgb:function(b){var a=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
+return(a)?a.slice(1).hexToRgb(b):null;},rgbToHex:function(b){var a=this.match(/\d{1,3}/g);return(a)?a.rgbToHex(b):null;},stripScripts:function(b){var a="";
+var c=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){a+=arguments[1]+"\n";return"";});if(b===true){$exec(a);}else{if($type(b)=="function"){b(a,c);
+}}return c;},substitute:function(a,b){return this.replace(b||(/\\?\{([^{}]+)\}/g),function(d,c){if(d.charAt(0)=="\\"){return d.slice(1);}return(a[c]!=undefined)?a[c]:"";
+});}});Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(b){for(var a in this){if(this.hasOwnProperty(a)&&this[a]===b){return a;}}return null;
+},hasValue:function(a){return(Hash.keyOf(this,a)!==null);},extend:function(a){Hash.each(a,function(c,b){Hash.set(this,b,c);},this);return this;},combine:function(a){Hash.each(a,function(c,b){Hash.include(this,b,c);
+},this);return this;},erase:function(a){if(this.hasOwnProperty(a)){delete this[a];}return this;},get:function(a){return(this.hasOwnProperty(a))?this[a]:null;
+},set:function(a,b){if(!this[a]||this.hasOwnProperty(a)){this[a]=b;}return this;},empty:function(){Hash.each(this,function(b,a){delete this[a];},this);
+return this;},include:function(a,b){if(this[a]==undefined){this[a]=b;}return this;},map:function(b,c){var a=new Hash;Hash.each(this,function(e,d){a.set(d,b.call(c,e,d,this));
+},this);return a;},filter:function(b,c){var a=new Hash;Hash.each(this,function(e,d){if(b.call(c,e,d,this)){a.set(d,e);}},this);return a;},every:function(b,c){for(var a in this){if(this.hasOwnProperty(a)&&!b.call(c,this[a],a)){return false;
+}}return true;},some:function(b,c){for(var a in this){if(this.hasOwnProperty(a)&&b.call(c,this[a],a)){return true;}}return false;},getKeys:function(){var a=[];
+Hash.each(this,function(c,b){a.push(b);});return a;},getValues:function(){var a=[];Hash.each(this,function(b){a.push(b);});return a;},toQueryString:function(a){var b=[];
+Hash.each(this,function(f,e){if(a){e=a+"["+e+"]";}var d;switch($type(f)){case"object":d=Hash.toQueryString(f,e);break;case"array":var c={};f.each(function(h,g){c[g]=h;
+});d=Hash.toQueryString(c,e);break;default:d=e+"="+encodeURIComponent(f);}if(f!=undefined){b.push(d);}});return b.join("&");}});Hash.alias({keyOf:"indexOf",hasValue:"contains"});
+var Event=new Native({name:"Event",initialize:function(a,f){f=f||window;var k=f.document;a=a||f.event;if(a.$extended){return a;}this.$extended=true;var j=a.type;
+var g=a.target||a.srcElement;while(g&&g.nodeType==3){g=g.parentNode;}if(j.test(/key/)){var b=a.which||a.keyCode;var m=Event.Keys.keyOf(b);if(j=="keydown"){var d=b-111;
+if(d>0&&d<13){m="f"+d;}}m=m||String.fromCharCode(b).toLowerCase();}else{if(j.match(/(click|mouse|menu)/i)){k=(!k.compatMode||k.compatMode=="CSS1Compat")?k.html:k.body;
+var i={x:a.pageX||a.clientX+k.scrollLeft,y:a.pageY||a.clientY+k.scrollTop};var c={x:(a.pageX)?a.pageX-f.pageXOffset:a.clientX,y:(a.pageY)?a.pageY-f.pageYOffset:a.clientY};
+if(j.match(/DOMMouseScroll|mousewheel/)){var h=(a.wheelDelta)?a.wheelDelta/120:-(a.detail||0)/3;}var e=(a.which==3)||(a.button==2);var l=null;if(j.match(/over|out/)){switch(j){case"mouseover":l=a.relatedTarget||a.fromElement;
+break;case"mouseout":l=a.relatedTarget||a.toElement;}if(!(function(){while(l&&l.nodeType==3){l=l.parentNode;}return true;}).create({attempt:Browser.Engine.gecko})()){l=false;
+}}}}return $extend(this,{event:a,type:j,page:i,client:c,rightClick:e,wheel:h,relatedTarget:l,target:g,code:b,key:m,shift:a.shiftKey,control:a.ctrlKey,alt:a.altKey,meta:a.metaKey});
+}});Event.Keys=new Hash({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Event.implement({stop:function(){return this.stopPropagation().preventDefault();
+},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation();}else{this.event.cancelBubble=true;}return this;},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault();
+}else{this.event.returnValue=false;}return this;}});function Class(b){if(b instanceof Function){b={initialize:b};}var a=function(){Object.reset(this);if(a._prototyping){return this;
+}this._current=$empty;var c=(this.initialize)?this.initialize.apply(this,arguments):this;delete this._current;delete this.caller;return c;}.extend(this);
+a.implement(b);a.constructor=Class;a.prototype.constructor=a;return a;}Function.prototype.protect=function(){this._protected=true;return this;};Object.reset=function(a,c){if(c==null){for(var e in a){Object.reset(a,e);
+}return a;}delete a[c];switch($type(a[c])){case"object":var d=function(){};d.prototype=a[c];var b=new d;a[c]=Object.reset(b);break;case"array":a[c]=$unlink(a[c]);
+break;}return a;};new Native({name:"Class",initialize:Class}).extend({instantiate:function(b){b._prototyping=true;var a=new b;delete b._prototyping;return a;
+},wrap:function(a,b,c){if(c._origin){c=c._origin;}return function(){if(c._protected&&this._current==null){throw new Error('The method "'+b+'" cannot be called.');
+}var e=this.caller,f=this._current;this.caller=f;this._current=arguments.callee;var d=c.apply(this,arguments);this._current=f;this.caller=e;return d;}.extend({_owner:a,_origin:c,_name:b});
+}});Class.implement({implement:function(a,d){if($type(a)=="object"){for(var e in a){this.implement(e,a[e]);}return this;}var f=Class.Mutators[a];if(f){d=f.call(this,d);
+if(d==null){return this;}}var c=this.prototype;switch($type(d)){case"function":if(d._hidden){return this;}c[a]=Class.wrap(this,a,d);break;case"object":var b=c[a];
+if($type(b)=="object"){$mixin(b,d);}else{c[a]=$unlink(d);}break;case"array":c[a]=$unlink(d);break;default:c[a]=d;}return this;}});Class.Mutators={Extends:function(a){this.parent=a;
+this.prototype=Class.instantiate(a);this.implement("parent",function(){var b=this.caller._name,c=this.caller._owner.parent.prototype[b];if(!c){throw new Error('The method "'+b+'" has no parent.');
+}return c.apply(this,arguments);}.protect());},Implements:function(a){$splat(a).each(function(b){if(b instanceof Function){b=Class.instantiate(b);}this.implement(b);
+},this);}};var Chain=new Class({$chain:[],chain:function(){this.$chain.extend(Array.flatten(arguments));return this;},callChain:function(){return(this.$chain.length)?this.$chain.shift().apply(this,arguments):false;
+},clearChain:function(){this.$chain.empty();return this;}});var Events=new Class({$events:{},addEvent:function(c,b,a){c=Events.removeOn(c);if(b!=$empty){this.$events[c]=this.$events[c]||[];
+this.$events[c].include(b);if(a){b.internal=true;}}return this;},addEvents:function(a){for(var b in a){this.addEvent(b,a[b]);}return this;},fireEvent:function(c,b,a){c=Events.removeOn(c);
+if(!this.$events||!this.$events[c]){return this;}this.$events[c].each(function(d){d.create({bind:this,delay:a,"arguments":b})();},this);return this;},removeEvent:function(b,a){b=Events.removeOn(b);
+if(!this.$events[b]){return this;}if(!a.internal){this.$events[b].erase(a);}return this;},removeEvents:function(c){var d;if($type(c)=="object"){for(d in c){this.removeEvent(d,c[d]);
+}return this;}if(c){c=Events.removeOn(c);}for(d in this.$events){if(c&&c!=d){continue;}var b=this.$events[d];for(var a=b.length;a--;a){this.removeEvent(d,b[a]);
+}}return this;}});Events.removeOn=function(a){return a.replace(/^on([A-Z])/,function(b,c){return c.toLowerCase();});};var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));
+if(!this.addEvent){return this;}for(var a in this.options){if($type(this.options[a])!="function"||!(/^on[A-Z]/).test(a)){continue;}this.addEvent(a,this.options[a]);
+delete this.options[a];}return this;}});var Element=new Native({name:"Element",legacy:window.Element,initialize:function(a,b){var c=Element.Constructors.get(a);
+if(c){return c(b);}if(typeof a=="string"){return document.newElement(a,b);}return $(a).set(b);},afterImplement:function(a,b){Element.Prototype[a]=b;if(Array[a]){return;
+}Elements.implement(a,function(){var c=[],g=true;for(var e=0,d=this.length;e<d;e++){var f=this[e][a].apply(this[e],arguments);c.push(f);if(g){g=($type(f)=="element");
+}}return(g)?new Elements(c):c;});}});Element.Prototype={$family:{name:"element"}};Element.Constructors=new Hash;var IFrame=new Native({name:"IFrame",generics:false,initialize:function(){var e=Array.link(arguments,{properties:Object.type,iframe:$defined});
+var c=e.properties||{};var b=$(e.iframe)||false;var d=c.onload||$empty;delete c.onload;c.id=c.name=$pick(c.id,c.name,b.id,b.name,"IFrame_"+$time());b=new Element(b||"iframe",c);
+var a=function(){var f=$try(function(){return b.contentWindow.location.host;});if(f&&f==window.location.host){var g=new Window(b.contentWindow);new Document(b.contentWindow.document);
+$extend(g.Element.prototype,Element.Prototype);}d.call(b.contentWindow,b.contentWindow.document);};(window.frames[c.id])?a():b.addListener("load",a);return b;
+}});var Elements=new Native({initialize:function(f,b){b=$extend({ddup:true,cash:true},b);f=f||[];if(b.ddup||b.cash){var g={},e=[];for(var c=0,a=f.length;
+c<a;c++){var d=$.element(f[c],!b.cash);if(b.ddup){if(g[d.uid]){continue;}g[d.uid]=true;}e.push(d);}f=e;}return(b.cash)?$extend(f,this):f;}});Elements.implement({filter:function(a,b){if(!a){return this;
+}return new Elements(Array.filter(this,(typeof a=="string")?function(c){return c.match(a);}:a,b));}});Document.implement({newElement:function(a,b){if(Browser.Engine.trident&&b){["name","type","checked"].each(function(c){if(!b[c]){return;
+}a+=" "+c+'="'+b[c]+'"';if(c!="checked"){delete b[c];}});a="<"+a+">";}return $.element(this.createElement(a)).set(b);},newTextNode:function(a){return this.createTextNode(a);
+},getDocument:function(){return this;},getWindow:function(){return this.window;}});Window.implement({$:function(b,c){if(b&&b.$family&&b.uid){return b;}var a=$type(b);
+return($[a])?$[a](b,c,this.document):null;},$$:function(a){if(arguments.length==1&&typeof a=="string"){return this.document.getElements(a);}var f=[];var c=Array.flatten(arguments);
+for(var d=0,b=c.length;d<b;d++){var e=c[d];switch($type(e)){case"element":f.push(e);break;case"string":f.extend(this.document.getElements(e,true));}}return new Elements(f);
+},getDocument:function(){return this.document;},getWindow:function(){return this;}});$.string=function(c,b,a){c=a.getElementById(c);return(c)?$.element(c,b):null;
+};$.element=function(a,d){$uid(a);if(!d&&!a.$family&&!(/^object|embed$/i).test(a.tagName)){var b=Element.Prototype;for(var c in b){a[c]=b[c];}}return a;
+};$.object=function(b,c,a){if(b.toElement){return $.element(b.toElement(a),c);}return null;};$.textnode=$.whitespace=$.window=$.document=$arguments(0);
+Native.implement([Element,Document],{getElement:function(a,b){return $(this.getElements(a,true)[0]||null,b);},getElements:function(a,d){a=a.split(",");
+var c=[];var b=(a.length>1);a.each(function(e){var f=this.getElementsByTagName(e.trim());(b)?c.extend(f):c=f;},this);return new Elements(c,{ddup:b,cash:!d});
+}});(function(){var h={},f={};var i={input:"checked",option:"selected",textarea:(Browser.Engine.webkit&&Browser.Engine.version<420)?"innerHTML":"value"};
+var c=function(l){return(f[l]||(f[l]={}));};var g=function(n,l){if(!n){return;}var m=n.uid;if(Browser.Engine.trident){if(n.clearAttributes){var q=l&&n.cloneNode(false);
+n.clearAttributes();if(q){n.mergeAttributes(q);}}else{if(n.removeEvents){n.removeEvents();}}if((/object/i).test(n.tagName)){for(var o in n){if(typeof n[o]=="function"){n[o]=$empty;
+}}Element.dispose(n);}}if(!m){return;}h[m]=f[m]=null;};var d=function(){Hash.each(h,g);if(Browser.Engine.trident){$A(document.getElementsByTagName("object")).each(g);
+}if(window.CollectGarbage){CollectGarbage();}h=f=null;};var j=function(n,l,s,m,p,r){var o=n[s||l];var q=[];while(o){if(o.nodeType==1&&(!m||Element.match(o,m))){if(!p){return $(o,r);
+}q.push(o);}o=o[l];}return(p)?new Elements(q,{ddup:false,cash:!r}):null;};var e={html:"innerHTML","class":"className","for":"htmlFor",text:(Browser.Engine.trident||(Browser.Engine.webkit&&Browser.Engine.version<420))?"innerText":"textContent"};
+var b=["compact","nowrap","ismap","declare","noshade","checked","disabled","readonly","multiple","selected","noresize","defer"];var k=["value","accessKey","cellPadding","cellSpacing","colSpan","frameBorder","maxLength","readOnly","rowSpan","tabIndex","useMap"];
+b=b.associate(b);Hash.extend(e,b);Hash.extend(e,k.associate(k.map(String.toLowerCase)));var a={before:function(m,l){if(l.parentNode){l.parentNode.insertBefore(m,l);
+}},after:function(m,l){if(!l.parentNode){return;}var n=l.nextSibling;(n)?l.parentNode.insertBefore(m,n):l.parentNode.appendChild(m);},bottom:function(m,l){l.appendChild(m);
+},top:function(m,l){var n=l.firstChild;(n)?l.insertBefore(m,n):l.appendChild(m);}};a.inside=a.bottom;Hash.each(a,function(l,m){m=m.capitalize();Element.implement("inject"+m,function(n){l(this,$(n,true));
+return this;});Element.implement("grab"+m,function(n){l($(n,true),this);return this;});});Element.implement({set:function(o,m){switch($type(o)){case"object":for(var n in o){this.set(n,o[n]);
+}break;case"string":var l=Element.Properties.get(o);(l&&l.set)?l.set.apply(this,Array.slice(arguments,1)):this.setProperty(o,m);}return this;},get:function(m){var l=Element.Properties.get(m);
+return(l&&l.get)?l.get.apply(this,Array.slice(arguments,1)):this.getProperty(m);},erase:function(m){var l=Element.Properties.get(m);(l&&l.erase)?l.erase.apply(this):this.removeProperty(m);
+return this;},setProperty:function(m,n){var l=e[m];if(n==undefined){return this.removeProperty(m);}if(l&&b[m]){n=!!n;}(l)?this[l]=n:this.setAttribute(m,""+n);
+return this;},setProperties:function(l){for(var m in l){this.setProperty(m,l[m]);}return this;},getProperty:function(m){var l=e[m];var n=(l)?this[l]:this.getAttribute(m,2);
+return(b[m])?!!n:(l)?n:n||null;},getProperties:function(){var l=$A(arguments);return l.map(this.getProperty,this).associate(l);},removeProperty:function(m){var l=e[m];
+(l)?this[l]=(l&&b[m])?false:"":this.removeAttribute(m);return this;},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this;
+},hasClass:function(l){return this.className.contains(l," ");},addClass:function(l){if(!this.hasClass(l)){this.className=(this.className+" "+l).clean();
+}return this;},removeClass:function(l){this.className=this.className.replace(new RegExp("(^|\\s)"+l+"(?:\\s|$)"),"$1");return this;},toggleClass:function(l){return this.hasClass(l)?this.removeClass(l):this.addClass(l);
+},adopt:function(){Array.flatten(arguments).each(function(l){l=$(l,true);if(l){this.appendChild(l);}},this);return this;},appendText:function(m,l){return this.grab(this.getDocument().newTextNode(m),l);
+},grab:function(m,l){a[l||"bottom"]($(m,true),this);return this;},inject:function(m,l){a[l||"bottom"](this,$(m,true));return this;},replaces:function(l){l=$(l,true);
+l.parentNode.replaceChild(this,l);return this;},wraps:function(m,l){m=$(m,true);return this.replaces(m).grab(m,l);},getPrevious:function(l,m){return j(this,"previousSibling",null,l,false,m);
+},getAllPrevious:function(l,m){return j(this,"previousSibling",null,l,true,m);},getNext:function(l,m){return j(this,"nextSibling",null,l,false,m);},getAllNext:function(l,m){return j(this,"nextSibling",null,l,true,m);
+},getFirst:function(l,m){return j(this,"nextSibling","firstChild",l,false,m);},getLast:function(l,m){return j(this,"previousSibling","lastChild",l,false,m);
+},getParent:function(l,m){return j(this,"parentNode",null,l,false,m);},getParents:function(l,m){return j(this,"parentNode",null,l,true,m);},getSiblings:function(l,m){return this.getParent().getChildren(l,m).erase(this);
+},getChildren:function(l,m){return j(this,"nextSibling","firstChild",l,true,m);},getWindow:function(){return this.ownerDocument.window;},getDocument:function(){return this.ownerDocument;
+},getElementById:function(o,n){var m=this.ownerDocument.getElementById(o);if(!m){return null;}for(var l=m.parentNode;l!=this;l=l.parentNode){if(!l){return null;
+}}return $.element(m,n);},getSelected:function(){return new Elements($A(this.options).filter(function(l){return l.selected;}));},getComputedStyle:function(m){if(this.currentStyle){return this.currentStyle[m.camelCase()];
+}var l=this.getDocument().defaultView.getComputedStyle(this,null);return(l)?l.getPropertyValue([m.hyphenate()]):null;},toQueryString:function(){var l=[];
+this.getElements("input, select, textarea",true).each(function(m){if(!m.name||m.disabled){return;}var n=(m.tagName.toLowerCase()=="select")?Element.getSelected(m).map(function(o){return o.value;
+}):((m.type=="radio"||m.type=="checkbox")&&!m.checked)?null:m.value;$splat(n).each(function(o){if(typeof o!="undefined"){l.push(m.name+"="+encodeURIComponent(o));
+}});});return l.join("&");},clone:function(o,l){o=o!==false;var r=this.cloneNode(o);var n=function(v,u){if(!l){v.removeAttribute("id");}if(Browser.Engine.trident){v.clearAttributes();
+v.mergeAttributes(u);v.removeAttribute("uid");if(v.options){var w=v.options,s=u.options;for(var t=w.length;t--;){w[t].selected=s[t].selected;}}}var x=i[u.tagName.toLowerCase()];
+if(x&&u[x]){v[x]=u[x];}};if(o){var p=r.getElementsByTagName("*"),q=this.getElementsByTagName("*");for(var m=p.length;m--;){n(p[m],q[m]);}}n(r,this);return $(r);
+},destroy:function(){Element.empty(this);Element.dispose(this);g(this,true);return null;},empty:function(){$A(this.childNodes).each(function(l){Element.destroy(l);
+});return this;},dispose:function(){return(this.parentNode)?this.parentNode.removeChild(this):this;},hasChild:function(l){l=$(l,true);if(!l){return false;
+}if(Browser.Engine.webkit&&Browser.Engine.version<420){return $A(this.getElementsByTagName(l.tagName)).contains(l);}return(this.contains)?(this!=l&&this.contains(l)):!!(this.compareDocumentPosition(l)&16);
+},match:function(l){return(!l||(l==this)||(Element.get(this,"tag")==l));}});Native.implement([Element,Window,Document],{addListener:function(o,n){if(o=="unload"){var l=n,m=this;
+n=function(){m.removeListener("unload",n);l();};}else{h[this.uid]=this;}if(this.addEventListener){this.addEventListener(o,n,false);}else{this.attachEvent("on"+o,n);
+}return this;},removeListener:function(m,l){if(this.removeEventListener){this.removeEventListener(m,l,false);}else{this.detachEvent("on"+m,l);}return this;
+},retrieve:function(m,l){var o=c(this.uid),n=o[m];if(l!=undefined&&n==undefined){n=o[m]=l;}return $pick(n);},store:function(m,l){var n=c(this.uid);n[m]=l;
+return this;},eliminate:function(l){var m=c(this.uid);delete m[l];return this;}});window.addListener("unload",d);})();Element.Properties=new Hash;Element.Properties.style={set:function(a){this.style.cssText=a;
+},get:function(){return this.style.cssText;},erase:function(){this.style.cssText="";}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase();
+}};Element.Properties.html=(function(){var c=document.createElement("div");var a={table:[1,"<table>","</table>"],select:[1,"<select>","</select>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"]};
+a.thead=a.tfoot=a.tbody;var b={set:function(){var e=Array.flatten(arguments).join("");var f=Browser.Engine.trident&&a[this.get("tag")];if(f){var g=c;g.innerHTML=f[1]+e+f[2];
+for(var d=f[0];d--;){g=g.firstChild;}this.empty().adopt(g.childNodes);}else{this.innerHTML=e;}}};b.erase=b.set;return b;})();if(Browser.Engine.webkit&&Browser.Engine.version<420){Element.Properties.text={get:function(){if(this.innerText){return this.innerText;
+}var a=this.ownerDocument.newElement("div",{html:this.innerHTML}).inject(this.ownerDocument.body);var b=a.innerText;a.destroy();return b;}};}Element.Properties.events={set:function(a){this.addEvents(a);
+}};Native.implement([Element,Window,Document],{addEvent:function(e,g){var h=this.retrieve("events",{});h[e]=h[e]||{keys:[],values:[]};if(h[e].keys.contains(g)){return this;
+}h[e].keys.push(g);var f=e,a=Element.Events.get(e),c=g,i=this;if(a){if(a.onAdd){a.onAdd.call(this,g);}if(a.condition){c=function(j){if(a.condition.call(this,j)){return g.call(this,j);
+}return true;};}f=a.base||f;}var d=function(){return g.call(i);};var b=Element.NativeEvents[f];if(b){if(b==2){d=function(j){j=new Event(j,i.getWindow());
+if(c.call(i,j)===false){j.stop();}};}this.addListener(f,d);}h[e].values.push(d);return this;},removeEvent:function(c,b){var a=this.retrieve("events");if(!a||!a[c]){return this;
+}var f=a[c].keys.indexOf(b);if(f==-1){return this;}a[c].keys.splice(f,1);var e=a[c].values.splice(f,1)[0];var d=Element.Events.get(c);if(d){if(d.onRemove){d.onRemove.call(this,b);
+}c=d.base||c;}return(Element.NativeEvents[c])?this.removeListener(c,e):this;},addEvents:function(a){for(var b in a){this.addEvent(b,a[b]);}return this;
+},removeEvents:function(a){var c;if($type(a)=="object"){for(c in a){this.removeEvent(c,a[c]);}return this;}var b=this.retrieve("events");if(!b){return this;
+}if(!a){for(c in b){this.removeEvents(c);}this.eliminate("events");}else{if(b[a]){while(b[a].keys[0]){this.removeEvent(a,b[a].keys[0]);}b[a]=null;}}return this;
+},fireEvent:function(d,b,a){var c=this.retrieve("events");if(!c||!c[d]){return this;}c[d].keys.each(function(e){e.create({bind:this,delay:a,"arguments":b})();
+},this);return this;},cloneEvents:function(d,a){d=$(d);var c=d.retrieve("events");if(!c){return this;}if(!a){for(var b in c){this.cloneEvents(d,b);}}else{if(c[a]){c[a].keys.each(function(e){this.addEvent(a,e);
+},this);}}return this;}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};
+(function(){var a=function(b){var c=b.relatedTarget;if(c==undefined){return true;}if(c===false){return false;}return($type(this)!="document"&&c!=this&&c.prefix!="xul"&&!this.hasChild(c));
+};Element.Events=new Hash({mouseenter:{base:"mouseover",condition:a},mouseleave:{base:"mouseout",condition:a},mousewheel:{base:(Browser.Engine.gecko)?"DOMMouseScroll":"mousewheel"}});
+})();Element.Properties.styles={set:function(a){this.setStyles(a);}};Element.Properties.opacity={set:function(a,b){if(!b){if(a==0){if(this.style.visibility!="hidden"){this.style.visibility="hidden";
+}}else{if(this.style.visibility!="visible"){this.style.visibility="visible";}}}if(!this.currentStyle||!this.currentStyle.hasLayout){this.style.zoom=1;}if(Browser.Engine.trident){this.style.filter=(a==1)?"":"alpha(opacity="+a*100+")";
+}this.style.opacity=a;this.store("opacity",a);},get:function(){return this.retrieve("opacity",1);}};Element.implement({setOpacity:function(a){return this.set("opacity",a,true);
+},getOpacity:function(){return this.get("opacity");},setStyle:function(b,a){switch(b){case"opacity":return this.set("opacity",parseFloat(a));case"float":b=(Browser.Engine.trident)?"styleFloat":"cssFloat";
+}b=b.camelCase();if($type(a)!="string"){var c=(Element.Styles.get(b)||"@").split(" ");a=$splat(a).map(function(e,d){if(!c[d]){return"";}return($type(e)=="number")?c[d].replace("@",Math.round(e)):e;
+}).join(" ");}else{if(a==String(Number(a))){a=Math.round(a);}}this.style[b]=a;return this;},getStyle:function(g){switch(g){case"opacity":return this.get("opacity");
+case"float":g=(Browser.Engine.trident)?"styleFloat":"cssFloat";}g=g.camelCase();var a=this.style[g];if(!$chk(a)){a=[];for(var f in Element.ShortStyles){if(g!=f){continue;
+}for(var e in Element.ShortStyles[f]){a.push(this.getStyle(e));}return a.join(" ");}a=this.getComputedStyle(g);}if(a){a=String(a);var c=a.match(/rgba?\([\d\s,]+\)/);
+if(c){a=a.replace(c[0],c[0].rgbToHex());}}if(Browser.Engine.presto||(Browser.Engine.trident&&!$chk(parseInt(a,10)))){if(g.test(/^(height|width)$/)){var b=(g=="width")?["left","right"]:["top","bottom"],d=0;
+b.each(function(h){d+=this.getStyle("border-"+h+"-width").toInt()+this.getStyle("padding-"+h).toInt();},this);return this["offset"+g.capitalize()]-d+"px";
+}if((Browser.Engine.presto)&&String(a).test("px")){return a;}if(g.test(/(border(.+)Width|margin|padding)/)){return"0px";}}return a;},setStyles:function(b){for(var a in b){this.setStyle(a,b[a]);
+}return this;},getStyles:function(){var a={};Array.each(arguments,function(b){a[b]=this.getStyle(b);},this);return a;}});Element.Styles=new Hash({left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)",zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"});
+Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};["Top","Right","Bottom","Left"].each(function(g){var f=Element.ShortStyles;
+var b=Element.Styles;["margin","padding"].each(function(h){var i=h+g;f[h][i]=b[i]="@px";});var e="border"+g;f.border[e]=b[e]="@px @ rgb(@, @, @)";var d=e+"Width",a=e+"Style",c=e+"Color";
+f[e]={};f.borderWidth[d]=f[e][d]=b[d]="@px";f.borderStyle[a]=f[e][a]=b[a]="@";f.borderColor[c]=f[e][c]=b[c]="rgb(@, @, @)";});Native.implement([Document,Element],{getElements:function(h,g){h=h.split(",");
+var c,e={};for(var d=0,b=h.length;d<b;d++){var a=h[d],f=Selectors.Utils.search(this,a,e);if(d!=0&&f.item){f=$A(f);}c=(d==0)?f:(c.item)?$A(c).concat(f):c.concat(f);
+}return new Elements(c,{ddup:(h.length>1),cash:!g});}});Element.implement({match:function(b){if(!b||(b==this)){return true;}var d=Selectors.Utils.parseTagAndID(b);
+var a=d[0],e=d[1];if(!Selectors.Filters.byID(this,e)||!Selectors.Filters.byTag(this,a)){return false;}var c=Selectors.Utils.parseSelector(b);return(c)?Selectors.Utils.filter(this,c,{}):true;
+}});var Selectors={Cache:{nth:{},parsed:{}}};Selectors.RegExps={id:(/#([\w-]+)/),tag:(/^(\w+|\*)/),quick:(/^(\w+|\*)$/),splitter:(/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),combined:(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)(["']?)([^\4]*?)\4)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g)};
+Selectors.Utils={chk:function(b,c){if(!c){return true;}var a=$uid(b);if(!c[a]){return c[a]=true;}return false;},parseNthArgument:function(h){if(Selectors.Cache.nth[h]){return Selectors.Cache.nth[h];
+}var e=h.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!e){return false;}var g=parseInt(e[1],10);var d=(g||g===0)?g:1;var f=e[2]||false;var c=parseInt(e[3],10)||0;
+if(d!=0){c--;while(c<1){c+=d;}while(c>=d){c-=d;}}else{d=c;f="index";}switch(f){case"n":e={a:d,b:c,special:"n"};break;case"odd":e={a:2,b:0,special:"n"};
+break;case"even":e={a:2,b:1,special:"n"};break;case"first":e={a:0,special:"index"};break;case"last":e={special:"last-child"};break;case"only":e={special:"only-child"};
+break;default:e={a:(d-1),special:"index"};}return Selectors.Cache.nth[h]=e;},parseSelector:function(e){if(Selectors.Cache.parsed[e]){return Selectors.Cache.parsed[e];
+}var d,h={classes:[],pseudos:[],attributes:[]};while((d=Selectors.RegExps.combined.exec(e))){var i=d[1],g=d[2],f=d[3],b=d[5],c=d[6],j=d[7];if(i){h.classes.push(i);
+}else{if(c){var a=Selectors.Pseudo.get(c);if(a){h.pseudos.push({parser:a,argument:j});}else{h.attributes.push({name:c,operator:"=",value:j});}}else{if(g){h.attributes.push({name:g,operator:f,value:b});
+}}}}if(!h.classes.length){delete h.classes;}if(!h.attributes.length){delete h.attributes;}if(!h.pseudos.length){delete h.pseudos;}if(!h.classes&&!h.attributes&&!h.pseudos){h=null;
+}return Selectors.Cache.parsed[e]=h;},parseTagAndID:function(b){var a=b.match(Selectors.RegExps.tag);var c=b.match(Selectors.RegExps.id);return[(a)?a[1]:"*",(c)?c[1]:false];
+},filter:function(f,c,e){var d;if(c.classes){for(d=c.classes.length;d--;d){var g=c.classes[d];if(!Selectors.Filters.byClass(f,g)){return false;}}}if(c.attributes){for(d=c.attributes.length;
+d--;d){var b=c.attributes[d];if(!Selectors.Filters.byAttribute(f,b.name,b.operator,b.value)){return false;}}}if(c.pseudos){for(d=c.pseudos.length;d--;d){var a=c.pseudos[d];
+if(!Selectors.Filters.byPseudo(f,a.parser,a.argument,e)){return false;}}}return true;},getByTagAndID:function(b,a,d){if(d){var c=(b.getElementById)?b.getElementById(d,true):Element.getElementById(b,d,true);
+return(c&&Selectors.Filters.byTag(c,a))?[c]:[];}else{return b.getElementsByTagName(a);}},search:function(o,h,t){var b=[];var c=h.trim().replace(Selectors.RegExps.splitter,function(k,j,i){b.push(j);
+return":)"+i;}).split(":)");var p,e,A;for(var z=0,v=c.length;z<v;z++){var y=c[z];if(z==0&&Selectors.RegExps.quick.test(y)){p=o.getElementsByTagName(y);
+continue;}var a=b[z-1];var q=Selectors.Utils.parseTagAndID(y);var B=q[0],r=q[1];if(z==0){p=Selectors.Utils.getByTagAndID(o,B,r);}else{var d={},g=[];for(var x=0,w=p.length;
+x<w;x++){g=Selectors.Getters[a](g,p[x],B,r,d);}p=g;}var f=Selectors.Utils.parseSelector(y);if(f){e=[];for(var u=0,s=p.length;u<s;u++){A=p[u];if(Selectors.Utils.filter(A,f,t)){e.push(A);
+}}p=e;}}return p;}};Selectors.Getters={" ":function(h,g,j,a,e){var d=Selectors.Utils.getByTagAndID(g,j,a);for(var c=0,b=d.length;c<b;c++){var f=d[c];if(Selectors.Utils.chk(f,e)){h.push(f);
+}}return h;},">":function(h,g,j,a,f){var c=Selectors.Utils.getByTagAndID(g,j,a);for(var e=0,d=c.length;e<d;e++){var b=c[e];if(b.parentNode==g&&Selectors.Utils.chk(b,f)){h.push(b);
+}}return h;},"+":function(c,b,a,e,d){while((b=b.nextSibling)){if(b.nodeType==1){if(Selectors.Utils.chk(b,d)&&Selectors.Filters.byTag(b,a)&&Selectors.Filters.byID(b,e)){c.push(b);
+}break;}}return c;},"~":function(c,b,a,e,d){while((b=b.nextSibling)){if(b.nodeType==1){if(!Selectors.Utils.chk(b,d)){break;}if(Selectors.Filters.byTag(b,a)&&Selectors.Filters.byID(b,e)){c.push(b);
+}}}return c;}};Selectors.Filters={byTag:function(b,a){return(a=="*"||(b.tagName&&b.tagName.toLowerCase()==a));},byID:function(a,b){return(!b||(a.id&&a.id==b));
+},byClass:function(b,a){return(b.className&&b.className.contains(a," "));},byPseudo:function(a,d,c,b){return d.call(a,c,b);},byAttribute:function(c,d,b,e){var a=Element.prototype.getProperty.call(c,d);
+if(!a){return(b=="!=");}if(!b||e==undefined){return true;}switch(b){case"=":return(a==e);case"*=":return(a.contains(e));case"^=":return(a.substr(0,e.length)==e);
+case"$=":return(a.substr(a.length-e.length)==e);case"!=":return(a!=e);case"~=":return a.contains(e," ");case"|=":return a.contains(e,"-");}return false;
+}};Selectors.Pseudo=new Hash({checked:function(){return this.checked;},empty:function(){return !(this.innerText||this.textContent||"").length;},not:function(a){return !Element.match(this,a);
+},contains:function(a){return(this.innerText||this.textContent||"").contains(a);},"first-child":function(){return Selectors.Pseudo.index.call(this,0);},"last-child":function(){var a=this;
+while((a=a.nextSibling)){if(a.nodeType==1){return false;}}return true;},"only-child":function(){var b=this;while((b=b.previousSibling)){if(b.nodeType==1){return false;
+}}var a=this;while((a=a.nextSibling)){if(a.nodeType==1){return false;}}return true;},"nth-child":function(g,e){g=(g==undefined)?"n":g;var c=Selectors.Utils.parseNthArgument(g);
+if(c.special!="n"){return Selectors.Pseudo[c.special].call(this,c.a,e);}var f=0;e.positions=e.positions||{};var d=$uid(this);if(!e.positions[d]){var b=this;
+while((b=b.previousSibling)){if(b.nodeType!=1){continue;}f++;var a=e.positions[$uid(b)];if(a!=undefined){f=a+f;break;}}e.positions[d]=f;}return(e.positions[d]%c.a==c.b);
+},index:function(a){var b=this,c=0;while((b=b.previousSibling)){if(b.nodeType==1&&++c>a){return false;}}return(c==a);},even:function(b,a){return Selectors.Pseudo["nth-child"].call(this,"2n+1",a);
+},odd:function(b,a){return Selectors.Pseudo["nth-child"].call(this,"2n",a);},selected:function(){return this.selected;}});Element.Events.domready={onAdd:function(a){if(Browser.loaded){a.call(this);
+}}};(function(){var b=function(){if(Browser.loaded){return;}Browser.loaded=true;window.fireEvent("domready");document.fireEvent("domready");};if(Browser.Engine.trident){var a=document.createElement("div");
+(function(){($try(function(){a.doScroll("left");return $(a).inject(document.body).set("html","temp").dispose();}))?b():arguments.callee.delay(50);})();
+}else{if(Browser.Engine.webkit&&Browser.Engine.version<525){(function(){(["loaded","complete"].contains(document.readyState))?b():arguments.callee.delay(50);
+})();}else{window.addEvent("load",b);document.addEvent("DOMContentLoaded",b);}}})();var JSON=new Hash({$specialChars:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},$replaceChars:function(a){return JSON.$specialChars[a]||"\\u00"+Math.floor(a.charCodeAt()/16).toString(16)+(a.charCodeAt()%16).toString(16);
+},encode:function(b){switch($type(b)){case"string":return'"'+b.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case"array":return"["+String(b.map(JSON.encode).filter($defined))+"]";
+case"object":case"hash":var a=[];Hash.each(b,function(e,d){var c=JSON.encode(e);if(c){a.push(JSON.encode(d)+":"+c);}});return"{"+a+"}";case"number":case"boolean":return String(b);
+case false:return"null";}return null;},decode:function(string,secure){if($type(string)!="string"||!string.length){return null;}if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))){return null;
+}return eval("("+string+")");}});Native.implement([Hash,Array,String,Number],{toJSON:function(){return JSON.encode(this);}});var Cookie=new Class({Implements:Options,options:{path:false,domain:false,duration:false,secure:false,document:document},initialize:function(b,a){this.key=b;
+this.setOptions(a);},write:function(b){b=encodeURIComponent(b);if(this.options.domain){b+="; domain="+this.options.domain;}if(this.options.path){b+="; path="+this.options.path;
+}if(this.options.duration){var a=new Date();a.setTime(a.getTime()+this.options.duration*24*60*60*1000);b+="; expires="+a.toGMTString();}if(this.options.secure){b+="; secure";
+}this.options.document.cookie=this.key+"="+b;return this;},read:function(){var a=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"=([^;]*)");
+return(a)?decodeURIComponent(a[1]):null;},dispose:function(){new Cookie(this.key,$merge(this.options,{duration:-1})).write("");return this;}});Cookie.write=function(b,c,a){return new Cookie(b,a).write(c);
+};Cookie.read=function(a){return new Cookie(a).read();};Cookie.dispose=function(b,a){return new Cookie(b,a).dispose();};var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:false,duration:500,link:"ignore"},initialize:function(a){this.subject=this.subject||this;
+this.setOptions(a);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();var b=this.options.wait;if(b===false){this.options.link="cancel";
+}},getTransition:function(){return function(a){return -(Math.cos(Math.PI*a)-1)/2;};},step:function(){var a=$time();if(a<this.time+this.options.duration){var b=this.transition((a-this.time)/this.options.duration);
+this.set(this.compute(this.from,this.to,b));}else{this.set(this.compute(this.from,this.to,1));this.complete();}},set:function(a){return a;},compute:function(c,b,a){return Fx.compute(c,b,a);
+},check:function(){if(!this.timer){return true;}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.bind(this,arguments));
+return false;}return false;},start:function(b,a){if(!this.check(b,a)){return this;}this.from=b;this.to=a;this.time=0;this.transition=this.getTransition();
+this.startTimer();this.onStart();return this;},complete:function(){if(this.stopTimer()){this.onComplete();}return this;},cancel:function(){if(this.stopTimer()){this.onCancel();
+}return this;},onStart:function(){this.fireEvent("start",this.subject);},onComplete:function(){this.fireEvent("complete",this.subject);if(!this.callChain()){this.fireEvent("chainComplete",this.subject);
+}},onCancel:function(){this.fireEvent("cancel",this.subject).clearChain();},pause:function(){this.stopTimer();return this;},resume:function(){this.startTimer();
+return this;},stopTimer:function(){if(!this.timer){return false;}this.time=$time()-this.time;this.timer=$clear(this.timer);return true;},startTimer:function(){if(this.timer){return false;
+}this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);return true;}});Fx.compute=function(c,b,a){return(b-c)*a+c;
+};Fx.Durations={"short":250,normal:500,"long":1000};Fx.CSS=new Class({Extends:Fx,prepare:function(d,e,b){b=$splat(b);var c=b[1];if(!$chk(c)){b[1]=b[0];
+b[0]=d.getStyle(e);}var a=b.map(this.parse);return{from:a[0],to:a[1]};},parse:function(a){a=$lambda(a)();a=(typeof a=="string")?a.split(" "):$splat(a);
+return a.map(function(c){c=String(c);var b=false;Fx.CSS.Parsers.each(function(f,e){if(b){return;}var d=f.parse(c);if($chk(d)){b={value:d,parser:f};}});
+b=b||{value:c,parser:Fx.CSS.Parsers.String};return b;});},compute:function(d,c,b){var a=[];(Math.min(d.length,c.length)).times(function(e){a.push({value:d[e].parser.compute(d[e].value,c[e].value,b),parser:d[e].parser});
+});a.$family={name:"fx:css:value"};return a;},serve:function(c,b){if($type(c)!="fx:css:value"){c=this.parse(c);}var a=[];c.each(function(d){a=a.concat(d.parser.serve(d.value,b));
+});return a;},render:function(a,d,c,b){a.setStyle(d,this.serve(c,b));},search:function(a){if(Fx.CSS.Cache[a]){return Fx.CSS.Cache[a];}var b={};Array.each(document.styleSheets,function(e,d){var c=e.href;
+if(c&&c.contains("://")&&!c.contains(document.domain)){return;}var f=e.rules||e.cssRules;Array.each(f,function(j,g){if(!j.style){return;}var h=(j.selectorText)?j.selectorText.replace(/^\w+/,function(i){return i.toLowerCase();
+}):null;if(!h||!h.test("^"+a+"$")){return;}Element.Styles.each(function(k,i){if(!j.style[i]||Element.ShortStyles[i]){return;}k=String(j.style[i]);b[i]=(k.test(/^rgb/))?k.rgbToHex():k;
+});});});return Fx.CSS.Cache[a]=b;}});Fx.CSS.Cache={};Fx.CSS.Parsers=new Hash({Color:{parse:function(a){if(a.match(/^#[0-9a-f]{3,6}$/i)){return a.hexToRgb(true);
+}return((a=a.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[a[1],a[2],a[3]]:false;},compute:function(c,b,a){return c.map(function(e,d){return Math.round(Fx.compute(c[d],b[d],a));
+});},serve:function(a){return a.map(Number);}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(b,a){return(a)?b+a:b;}},String:{parse:$lambda(false),compute:$arguments(1),serve:$arguments(0)}});
+Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=$(b);this.parent(a);},set:function(b,a){if(arguments.length==1){a=b;
+b=this.property||this.options.property;}this.render(this.element,b,a,this.options.unit);return this;},start:function(c,e,d){if(!this.check(c,e,d)){return this;
+}var b=Array.flatten(arguments);this.property=this.options.property||b.shift();var a=this.prepare(this.element,this.property,b);return this.parent(a.from,a.to);
+}});Element.Properties.tween={set:function(a){var b=this.retrieve("tween");if(b){b.cancel();}return this.eliminate("tween").store("tween:options",$extend({link:"cancel"},a));
+},get:function(a){if(a||!this.retrieve("tween")){if(a||!this.retrieve("tween:options")){this.set("tween",a);}this.store("tween",new Fx.Tween(this,this.retrieve("tween:options")));
+}return this.retrieve("tween");}};Element.implement({tween:function(a,c,b){this.get("tween").start(arguments);return this;},fade:function(c){var e=this.get("tween"),d="opacity",a;
+c=$pick(c,"toggle");switch(c){case"in":e.start(d,1);break;case"out":e.start(d,0);break;case"show":e.set(d,1);break;case"hide":e.set(d,0);break;case"toggle":var b=this.retrieve("fade:flag",this.get("opacity")==1);
+e.start(d,(b)?0:1);this.store("fade:flag",!b);a=true;break;default:e.start(d,arguments);}if(!a){this.eliminate("fade:flag");}return this;},highlight:function(c,a){if(!a){a=this.retrieve("highlight:original",this.getStyle("background-color"));
+a=(a=="transparent")?"#fff":a;}var b=this.get("tween");b.start("background-color",c||"#ffff88",a).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));
+b.callChain();}.bind(this));return this;}});Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=$(b);this.parent(a);},set:function(a){if(typeof a=="string"){a=this.search(a);
+}for(var b in a){this.render(this.element,b,a[b],this.options.unit);}return this;},compute:function(e,d,c){var a={};for(var b in e){a[b]=this.parent(e[b],d[b],c);
+}return a;},start:function(b){if(!this.check(b)){return this;}if(typeof b=="string"){b=this.search(b);}var e={},d={};for(var c in b){var a=this.prepare(this.element,c,b[c]);
+e[c]=a.from;d[c]=a.to;}return this.parent(e,d);}});Element.Properties.morph={set:function(a){var b=this.retrieve("morph");if(b){b.cancel();}return this.eliminate("morph").store("morph:options",$extend({link:"cancel"},a));
+},get:function(a){if(a||!this.retrieve("morph")){if(a||!this.retrieve("morph:options")){this.set("morph",a);}this.store("morph",new Fx.Morph(this,this.retrieve("morph:options")));
+}return this.retrieve("morph");}};Element.implement({morph:function(a){this.get("morph").start(a);return this;}});Fx.implement({getTransition:function(){var a=this.options.transition||Fx.Transitions.Sine.easeInOut;
+if(typeof a=="string"){var b=a.split(":");a=Fx.Transitions;a=a[b[0]]||a[b[0].capitalize()];if(b[1]){a=a["ease"+b[1].capitalize()+(b[2]?b[2].capitalize():"")];
+}}return a;}});Fx.Transition=function(b,a){a=$splat(a);return $extend(b,{easeIn:function(c){return b(c,a);},easeOut:function(c){return 1-b(1-c,a);},easeInOut:function(c){return(c<=0.5)?b(2*c,a)/2:(2-b(2*(1-c),a))/2;
+}});};Fx.Transitions=new Hash({linear:$arguments(0)});Fx.Transitions.extend=function(a){for(var b in a){Fx.Transitions[b]=new Fx.Transition(a[b]);}};Fx.Transitions.extend({Pow:function(b,a){return Math.pow(b,a[0]||6);
+},Expo:function(a){return Math.pow(2,8*(a-1));},Circ:function(a){return 1-Math.sin(Math.acos(a));},Sine:function(a){return 1-Math.sin((1-a)*Math.PI/2);
+},Back:function(b,a){a=a[0]||1.618;return Math.pow(b,2)*((a+1)*b-a);},Bounce:function(f){var e;for(var d=0,c=1;1;d+=c,c/=2){if(f>=(7-4*d)/11){e=c*c-Math.pow((11-6*d-11*f)/4,2);
+break;}}return e;},Elastic:function(b,a){return Math.pow(2,10*--b)*Math.cos(20*b*Math.PI*(a[0]||1)/3);}});["Quad","Cubic","Quart","Quint"].each(function(b,a){Fx.Transitions[b]=new Fx.Transition(function(c){return Math.pow(c,[a+2]);
+});});var Request=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:true,format:false,method:"post",link:"ignore",isSuccess:null,emulation:true,urlEncoded:true,encoding:"utf-8",evalScripts:false,evalResponse:false,noCache:false},initialize:function(a){this.xhr=new Browser.Request();
+this.setOptions(a);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers=new Hash(this.options.headers);},onStateChange:function(){if(this.xhr.readyState!=4||!this.running){return;
+}this.running=false;this.status=0;$try(function(){this.status=this.xhr.status;}.bind(this));if(this.options.isSuccess.call(this,this.status)){this.response={text:this.xhr.responseText,xml:this.xhr.responseXML};
+this.success(this.response.text,this.response.xml);}else{this.response={text:null,xml:null};this.failure();}this.xhr.onreadystatechange=$empty;},isSuccess:function(){return((this.status>=200)&&(this.status<300));
+},processScripts:function(a){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){return $exec(a);}return a.stripScripts(this.options.evalScripts);
+},success:function(b,a){this.onSuccess(this.processScripts(b),a);},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain();
+},failure:function(){this.onFailure();},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr);},setHeader:function(a,b){this.headers.set(a,b);
+return this;},getHeader:function(a){return $try(function(){return this.xhr.getResponseHeader(a);}.bind(this));},check:function(){if(!this.running){return true;
+}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.bind(this,arguments));return false;}return false;},send:function(j){if(!this.check(j)){return this;
+}this.running=true;var h=$type(j);if(h=="string"||h=="element"){j={data:j};}var d=this.options;j=$extend({data:d.data,url:d.url,method:d.method},j);var f=j.data,b=j.url,a=j.method;
+switch($type(f)){case"element":f=$(f).toQueryString();break;case"object":case"hash":f=Hash.toQueryString(f);}if(this.options.format){var i="format="+this.options.format;
+f=(f)?i+"&"+f:i;}if(this.options.emulation&&["put","delete"].contains(a)){var g="_method="+a;f=(f)?g+"&"+f:g;a="post";}if(this.options.urlEncoded&&a=="post"){var c=(this.options.encoding)?"; charset="+this.options.encoding:"";
+this.headers.set("Content-type","application/x-www-form-urlencoded"+c);}if(this.options.noCache){var e="noCache="+new Date().getTime();f=(f)?e+"&"+f:e;
+}if(f&&a=="get"){b=b+(b.contains("?")?"&":"?")+f;f=null;}this.xhr.open(a.toUpperCase(),b,this.options.async);this.xhr.onreadystatechange=this.onStateChange.bind(this);
+this.headers.each(function(l,k){try{this.xhr.setRequestHeader(k,l);}catch(m){this.fireEvent("exception",[k,l]);}},this);this.fireEvent("request");this.xhr.send(f);
+if(!this.options.async){this.onStateChange();}return this;},cancel:function(){if(!this.running){return this;}this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;
+this.xhr=new Browser.Request();this.fireEvent("cancel");return this;}});(function(){var a={};["get","post","put","delete","GET","POST","PUT","DELETE"].each(function(b){a[b]=function(){var c=Array.link(arguments,{url:String.type,data:$defined});
+return this.send($extend(c,{method:b.toLowerCase()}));};});Request.implement(a);})();
\ No newline at end of file
diff --git a/data/speeddial-head.html b/data/speeddial-head.html
new file mode 100644 (file)
index 0000000..dbe5537
--- /dev/null
@@ -0,0 +1,317 @@
+<!--
+ Speed Dial head template for Midori.
+ Copyright (C) 2009 Jean-François Guchens <zcx000@gmail.com>
+ This file is licensed under the terms of the expat license, see the file EXPAT.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>{title}</title>
+    <script type="text/javascript" src="{res}/mootools.js"></script>
+
+    <style>
+    html, body, #content {
+        margin: 0px;
+        padding: 0px
+    }
+
+    body {
+        text-align: center;
+        background-color: #fefefe;
+        font-family: sans-serif;
+    }
+
+    #wrap {
+        width: 660px;
+        height: 500px;
+        margin: 0px auto;
+        text-align: center;
+    }
+
+    #content {
+        margin-top: 40px;
+    }
+
+    div.shortcut {
+        float: left;
+        border: 1px solid #ccc;
+        position: relative;
+        width: 200px;
+        height: 150px;
+        margin: 20px 20px 0px 0px;
+        background-color: #fff;
+        -webkit-border-radius: 10px;
+    }
+
+    div.right {
+        margin-right: 0px;
+        margin-left: 0px;
+    }
+
+    div.top {
+        margin-top: 0px;
+    }
+
+    h1 {
+        font-size: 50px;
+        font-weight: bold;
+        margin: 0px;
+        height: 30px;
+        padding: 10px 0px 0px 0px;
+        display: block;
+    }
+
+    h4 {
+        font-size: 11px;
+        font-weight: bold
+        margin: 10px 0px 0px 0px;
+        padding: 10px 5px 0px;
+        display: block;
+    }
+
+    h4 span:before {
+        content: "{click_to_add}";
+        font-size: 11px;
+    }
+
+    h4 span {
+        font-size: 11px;
+    }
+
+    div.shortcut a {
+        border: 1px solid #ccc;
+        display: block;
+        width: 160px;
+        height: 107px;
+        margin: 15px auto 0px;
+        background-color: #fafafa;
+        color: #aaa;
+        text-decoration: none;
+    }
+
+    .waiter img {
+        margin-top: 38px;
+    }
+
+    div.shortcut a:hover {
+        border: 1px solid #999;
+    }
+
+    div.shortcut p {
+        font-size: 12px;
+        margin: 0px;
+        padding: 5px 0px 0px;
+        color: #222;
+    }
+
+    div.clear {
+        clear: both;
+    }
+
+    div.activated {
+        background-color: #f5f5f5;
+    }
+
+    .cross {
+        height: 16px;
+        width: 16px;
+        margin-bottom: -17px;
+        margin-left: 180px;
+        margin-top: 2px;
+        background: url({stock}/16/gtk-close) 98% 70% no-repeat;
+        cursor: pointer;
+        z-index: -4;
+        opacity: 0.6;
+    }
+
+    .cross:hover {
+        opacity: 1;
+    }
+
+    .activated p {
+        cursor: text;
+        background: url({stock}/16/gtk-edit) 98% 70% no-repeat;
+        opacity: 0.6;
+        color: rgba(0,0,0,1);
+    }
+
+    .activated p:hover {
+        opacity: 1;
+        color: rgba(0,0,0,0.5);
+    }
+    </style>
+
+    <script type="text/javascript">
+
+    sc = JSON.decode ({json_data});
+
+    var encodeSafe = function (obj) {
+        var str = JSON.encode (obj);
+        str = str.replace (/\'/g, '\\\'');
+        return str;
+    }
+
+    var getAction = function (id)
+    {
+        var a = $(id).getFirst ();
+        if (a.getProperty ('href') != "#" )
+            return true;
+
+        var url = prompt ("{enter_shortcut_address}", "http://");
+        if (!url) return false;
+
+        var name = prompt ("{enter_shortcut_name}", "");
+        if (!name) name = "";
+
+        a.setProperty('href', url);
+        a.getNext().set('text', name);
+
+        var num = id.charAt (1) - 1;
+        sc.shortcuts[num].title = name;
+
+        a.empty();
+        var im = new Element('img', { src: '{stock}/image-loading' });
+
+        a.addClass ('waiter');
+        a.grab (im);
+
+        getThumbnail (id, url);
+        return false;
+    }
+
+    var getThumbnail = function (id, url)
+    {
+        console.log ("speed_dial-get-thumbnail " + id + " " + url);
+        return false;
+    }
+
+    var setThumbnail = function (id, data, href)
+    {
+        var a = $(id).getFirst ();
+        var im = new Element ('img', { src: 'data:image/png;base64,' + data });
+
+        a.empty ().removeClass ('waiter').grab (im);
+        a.setProperty ('href', href);
+
+        var cross = new Element ('div', { 'html': '' });
+        cross.setProperty ('onclick', 'clearShortcut("' + id + '");');
+        cross.addClass ('cross');
+        cross.inject ($(id), 'top');
+
+        $(id).addClass ('activated');
+
+        var p = a.getNext ();
+        p.setProperty('onclick', 'javascript:renameShortcut("' + id + '");');
+
+        var num = id.charAt (1) - 1;
+        sc.shortcuts[num].href = href;
+        sc.shortcuts[num].img = data;
+
+        console.log ("speed_dial-save '" + encodeSafe (sc) + "'");
+    }
+
+    var renameShortcut = function (id)
+    {
+        var name = prompt ("{enter_shortcut_name}", "");
+        if (!name) return;
+
+        var num = id.charAt (1) - 1;
+
+        $(id).getLast ().set ('html', name);
+        sc.shortcuts[num].title = name;
+
+        console.log ("speed_dial-save '" + encodeSafe (sc) + "'");
+    }
+
+    var clearShortcut = function (id)
+    {
+        if(!confirm("{are_you_sure}"))
+            return;
+
+        var num = id.charAt (1);
+        var div = $(id);
+        var cross = div.getFirst ();
+        var a = cross.getNext ();
+        var p = a.getNext ();
+
+        cross.dispose ();
+        div.removeClass ('activated');
+        a.empty ();
+
+        cross.dispose ();
+        div.removeClass ('activated');
+        a.empty ().set ('html', '<h1>' + num + '</h1><h4><span/></h4>');
+        a.setProperty ('href', '#');
+        p.empty ().removeProperty ('onclick');
+
+        num -= 1;
+        sc.shortcuts[num].href = "#";
+        sc.shortcuts[num].title = "";
+        sc.shortcuts[num].img = "";
+
+        console.log ("speed_dial-save '" + encodeSafe (sc) + "'");
+    }
+
+    var buildSpeeddial = function ()
+    {
+        sc.shortcuts.each (function (item, index, sc)
+        {
+            var cl = "shortcut";
+
+            if (index == 0 || index == 1 || index == 2)
+                cl += " top";
+            if (index == 2 || index == 5 || index == 8)
+                cl += " right";
+
+            var div = new Element ('div', {
+                'class': cl,
+                'id': item.id
+            });
+
+            var a = new Element ('a', {
+                'href': item.href,
+                'events': {
+                    'click': function () {
+                        return getAction (item.id);
+                    }
+                }
+            });
+
+            var p = new Element ('p', {
+                'text': item.title
+            });
+
+            if (item.href == "#")
+                a.set ('html', '<h1>' + item.id.charAt (1) + '</h1><h4><span/></h4>');
+            else
+            {
+                div.addClass ('activated');
+                var im = new Element ('img', { src: 'data:image/png;base64,' + item.img });
+                var cross = new Element ('div', { 'html': '' });
+                cross.setProperty ('onclick', 'clearShortcut("' + item.id + '");');
+                cross.addClass ('cross');
+                cross.inject (div, 'top');
+                a.grab (im);
+                p.setProperty('onclick', 'javascript:renameShortcut("' + item.id + '");');
+            }
+
+            div.grab (a);
+            div.grab (p);
+            $('content').grab (div);
+        });
+    }
+
+    window.addEvent ('domready', function () {
+        buildSpeeddial ();
+    });
+    </script>
+</head>
+<body>
+    <div id="wrap">
+        <div id="content">
+        </div>
+    </div>
+</body>
+</html>
+
diff --git a/data/speeddial.json b/data/speeddial.json
new file mode 100644 (file)
index 0000000..eeb62ab
--- /dev/null
@@ -0,0 +1 @@
+'{"shortcuts":[{"id":"s1","href":"#","title":"","img":""},{"id":"s2","href":"#","title":"","img":""},{"id":"s3","href":"#","title":"","img":""},{"id":"s4","href":"#","title":"","img":""},{"id":"s5","href":"#","title":"","img":""},{"id":"s6","href":"#","title":"","img":""},{"id":"s7","href":"#","title":"","img":""},{"id":"s8","href":"#","title":"","img":""},{"id":"s9","href":"#","title":"","img":""}]}'
diff --git a/extensions/adblock.c b/extensions/adblock.c
new file mode 100644 (file)
index 0000000..b294df7
--- /dev/null
@@ -0,0 +1,385 @@
+/*
+ Copyright (C) 2009 Christian Dywan <christian@twotoasts.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#include <midori/midori.h>
+
+#include <midori/sokoke.h>
+#include "config.h"
+
+#include <glib/gstdio.h>
+
+static void
+adblock_app_add_browser_cb (MidoriApp*       app,
+                            MidoriBrowser*   browser,
+                            MidoriExtension* extension);
+
+static void
+adblock_deactivate_cb (MidoriExtension* extension,
+                       GtkWidget*       menuitem)
+{
+    MidoriApp* app = midori_extension_get_app (extension);
+
+    gtk_widget_destroy (menuitem);
+    g_signal_handlers_disconnect_by_func (
+        extension, adblock_deactivate_cb, menuitem);
+    g_signal_handlers_disconnect_by_func (
+        app, adblock_app_add_browser_cb, extension);
+    /* FIXME: Disconnect session callbacks */
+}
+
+static void
+adblock_preferences_render_text (GtkTreeViewColumn* column,
+                                 GtkCellRenderer*   renderer,
+                                 GtkTreeModel*      model,
+                                 GtkTreeIter*       iter,
+                                 MidoriExtension*   extension)
+{
+    gchar* uri;
+
+    gtk_tree_model_get (model, iter, 0, &uri, -1);
+    g_object_set (renderer, "text", uri, NULL);
+    g_free (uri);
+}
+
+static GtkWidget*
+adblock_get_preferences_dialog (MidoriExtension* extension)
+{
+    MidoriApp* app;
+    GtkWidget* browser;
+    const gchar* dialog_title;
+    GtkWidget* dialog;
+    gint width, height;
+    GtkWidget* xfce_heading;
+    GtkWidget* hbox;
+    GtkListStore* liststore;
+    GtkWidget* treeview;
+    GtkTreeViewColumn* column;
+    GtkCellRenderer* renderer_text;
+    GtkCellRenderer* renderer_pixbuf;
+    GtkWidget* scrolled;
+    gchar** filters;
+    GtkWidget* vbox;
+    GtkWidget* button;
+    #if HAVE_OSX
+    GtkWidget* icon;
+    #endif
+
+    app = midori_extension_get_app (extension);
+    browser = katze_object_get_object (app, "browser");
+
+    dialog_title = _("Configure Advertisement filters");
+    dialog = gtk_dialog_new_with_buttons (dialog_title, GTK_WINDOW (browser),
+        GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+        #if !HAVE_OSX
+        GTK_STOCK_HELP, GTK_RESPONSE_HELP,
+        GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+        #endif
+        NULL);
+    g_signal_connect (dialog, "destroy",
+                      G_CALLBACK (gtk_widget_destroyed), &dialog);
+    gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_PROPERTIES);
+    /* TODO: Implement some kind of help function */
+    gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog),
+                                       GTK_RESPONSE_HELP, FALSE);
+    sokoke_widget_get_text_size (dialog, "M", &width, &height);
+    gtk_window_set_default_size (GTK_WINDOW (dialog), width * 52, -1);
+    g_signal_connect (dialog, "response",
+                      G_CALLBACK (gtk_widget_destroy), dialog);
+    /* TODO: We need mnemonics */
+    if ((xfce_heading = sokoke_xfce_header_new (
+        gtk_window_get_icon_name (GTK_WINDOW (dialog)), dialog_title)))
+        gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
+                            xfce_heading, FALSE, FALSE, 0);
+    hbox = gtk_hbox_new (FALSE, 0);
+    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox,
+                                 TRUE, TRUE, 12);
+    liststore = gtk_list_store_new (1, G_TYPE_STRING);
+    treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (liststore));
+    gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
+    column = gtk_tree_view_column_new ();
+    renderer_pixbuf = gtk_cell_renderer_pixbuf_new ();
+    gtk_tree_view_column_pack_start (column, renderer_pixbuf, FALSE);
+    /* gtk_tree_view_column_set_cell_data_func (column, renderer_pixbuf,
+        (GtkTreeCellDataFunc)adblock_preferences_render_icon_cb,
+        treeview, NULL); */
+    renderer_text = gtk_cell_renderer_text_new ();
+    gtk_tree_view_column_pack_start (column, renderer_text, TRUE);
+    gtk_tree_view_column_set_cell_data_func (column, renderer_text,
+        (GtkTreeCellDataFunc)adblock_preferences_render_text,
+        extension, NULL);
+    gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
+    scrolled = gtk_scrolled_window_new (NULL, NULL);
+    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
+                                    GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+    gtk_container_add (GTK_CONTAINER (scrolled), treeview);
+    gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled),
+                                         GTK_SHADOW_IN);
+    gtk_box_pack_start (GTK_BOX (hbox), scrolled, TRUE, TRUE, 5);
+
+    filters = midori_extension_get_string_list (extension, "filters", NULL);
+    if (filters != NULL)
+    {
+        gsize i = 0;
+        while (filters[i++] != NULL)
+            gtk_list_store_insert_with_values (GTK_LIST_STORE (liststore),
+                                               NULL, i - 1, 0, filters[i -1], -1);
+    }
+    g_strfreev (filters);
+
+    g_object_unref (liststore);
+    vbox = gtk_vbox_new (FALSE, 4);
+    gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 4);
+    button = gtk_button_new_from_stock (GTK_STOCK_ADD);
+    /* g_signal_connect (button, "clicked",
+        G_CALLBACK (adblock_preferences_add_cb), extension); */
+    gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+    gtk_widget_set_sensitive (button, FALSE);
+    button = gtk_button_new_from_stock (GTK_STOCK_EDIT);
+    gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+    gtk_widget_set_sensitive (button, FALSE);
+    button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
+    /* g_signal_connect (button, "clicked",
+        G_CALLBACK (adblock_preferences_remove_cb), extension); */
+    gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+    gtk_widget_set_sensitive (button, FALSE);
+    button = gtk_label_new (""); /* This is an invisible separator */
+    gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 8);
+    gtk_widget_set_sensitive (button, FALSE);
+    button = gtk_label_new (""); /* This is an invisible separator */
+    gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 12);
+    button = gtk_button_new_from_stock (GTK_STOCK_GO_DOWN);
+    gtk_widget_set_sensitive (button, FALSE);
+    gtk_box_pack_end (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+    button = gtk_button_new_from_stock (GTK_STOCK_GO_UP);
+    gtk_widget_set_sensitive (button, FALSE);
+    gtk_box_pack_end (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+
+    #if HAVE_OSX
+    hbox = gtk_hbox_new (FALSE, 0);
+    button = gtk_button_new ();
+    icon = gtk_image_new_from_stock (GTK_STOCK_HELP, GTK_ICON_SIZE_BUTTON);
+    gtk_button_set_image (GTK_BUTTON (button), icon);
+    /* TODO: Implement some kind of help function */
+    gtk_widget_set_sensitive (button, FALSE);
+    /* g_signal_connect (button, "clicked",
+        G_CALLBACK (adblock_preferences_help_clicked_cb), dialog); */
+    gtk_box_pack_end (GTK_BOX (hbox),
+        button, FALSE, FALSE, 4);
+    gtk_box_pack_end (GTK_BOX (GTK_DIALOG (dialog)->vbox),
+        hbox, FALSE, FALSE, 0);
+    #endif
+    gtk_widget_show_all (GTK_DIALOG (dialog)->vbox);
+
+    g_object_unref (browser);
+
+    return dialog;
+}
+
+static void
+adblock_menu_configure_filters_activate_cb (GtkWidget*       menuitem,
+                                            MidoriExtension* extension)
+{
+    static GtkWidget* dialog = NULL;
+
+    if (!dialog)
+    {
+        dialog = adblock_get_preferences_dialog (extension);
+        g_signal_connect (dialog, "destroy",
+            G_CALLBACK (gtk_widget_destroyed), &dialog);
+        gtk_widget_show (dialog);
+    }
+    else
+        gtk_window_present (GTK_WINDOW (dialog));
+}
+
+static void
+adblock_app_add_browser_cb (MidoriApp*       app,
+                            MidoriBrowser*   browser,
+                            MidoriExtension* extension)
+{
+    GtkWidget* panel;
+    GtkWidget* menu;
+    GtkWidget* menuitem;
+
+    panel = katze_object_get_object (browser, "panel");
+    menu = katze_object_get_object (panel, "menu");
+    menuitem = gtk_menu_item_new_with_mnemonic (_("Configure _Advertisement filters..."));
+    g_signal_connect (menuitem, "activate",
+        G_CALLBACK (adblock_menu_configure_filters_activate_cb), extension);
+    gtk_widget_show (menuitem);
+    gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menuitem, 3);
+    g_object_unref (menu);
+    g_object_unref (panel);
+
+    g_signal_connect (extension, "deactivate",
+        G_CALLBACK (adblock_deactivate_cb), menuitem);
+}
+
+static void
+adblock_session_request_queued_cb (SoupSession* session,
+                                   SoupMessage* msg,
+                                   GRegex*      regex)
+{
+    SoupURI* soup_uri = soup_message_get_uri (msg);
+    gchar* uri = soup_uri ? soup_uri_to_string (soup_uri, FALSE) : g_strdup ("");
+    if (g_regex_match_full (regex, uri, -1, 0, 0, NULL, NULL))
+    {
+        /* g_debug ("match! '%s'", uri); */
+        /* FIXME: This leads to funny error pages if frames are blocked */
+        soup_message_set_response (msg, "text/plain", SOUP_MEMORY_STATIC, "adblock", 7);
+    }
+    g_free (uri);
+}
+
+static void
+adblock_session_add_filter (SoupSession* session,
+                            gchar*       path)
+{
+    FILE* file;
+
+    if ((file = g_fopen (path, "r")))
+    {
+        /* We assume filter lists found on the web are commonly very long */
+        GString* pattern = g_string_sized_new (1000 * 200);
+        gchar line[255];
+        GRegex* regex;
+        GError* error;
+
+        while (fgets (line, 255, file))
+        {
+            /* Ignore comments and new lines */
+            if (line[0] == '!')
+                continue;
+            /* FIXME: No support for whitelisting */
+            if (line[0] == '@' && line[1] == '@')
+                continue;
+            /* FIXME: Differentiate # comments from element hiding */
+            /* FIXME: No support for element hiding */
+            if (line[0] == '#' && line[1] == '#')
+                continue;
+            /* FIXME: No support for [include] and [exclude] tags */
+            if (line[0] == '[')
+                continue;
+            g_strchomp (line);
+            g_string_append (pattern, line);
+            g_string_append_c (pattern, '|');
+        }
+
+        error = NULL;
+        if (pattern->len > 2 &&
+            (regex = g_regex_new (pattern->str, G_REGEX_OPTIMIZE,
+                G_REGEX_MATCH_NOTEMPTY, &error)))
+        {
+            /* g_debug ("%s: '%s'", G_STRFUNC, pattern->str); */
+            g_signal_connect_data (session, "request-queued",
+                                   G_CALLBACK (adblock_session_request_queued_cb),
+                                   regex, (GClosureNotify)g_regex_unref, 0);
+        }
+        else if (error)
+        {
+            /* g_warning ("%s: %s", G_STRFUNC, error->message); */
+            g_error_free (error);
+        }
+        g_string_free (pattern, TRUE);
+        fclose (file);
+    }
+    /* FIXME: This should presumably be freed, but there's a possible crash
+       g_free (path); */
+}
+
+#if WEBKIT_CHECK_VERSION (1, 1, 3)
+static void
+adblock_download_notify_status_cb (WebKitDownload* download,
+                                   GParamSpec*     pspec,
+                                   gchar*          path)
+{
+    SoupSession* session = webkit_get_default_session ();
+    adblock_session_add_filter (session, path);
+    /* g_object_unref (download); */
+}
+#endif
+
+static void
+adblock_activate_cb (MidoriExtension* extension,
+                     MidoriApp*       app)
+{
+    KatzeArray* browsers;
+    MidoriBrowser* browser;
+    guint i;
+    gchar* folder;
+    gchar** filters;
+    SoupSession* session;
+
+    browsers = katze_object_get_object (app, "browsers");
+    i = 0;
+    while ((browser = katze_array_get_nth_item (browsers, i++)))
+        adblock_app_add_browser_cb (app, browser, extension);
+    g_signal_connect (app, "add-browser",
+        G_CALLBACK (adblock_app_add_browser_cb), extension);
+    g_object_unref (browsers);
+
+    session = webkit_get_default_session ();
+    folder = g_build_filename (g_get_user_cache_dir (), PACKAGE_NAME,
+                               "adblock", NULL);
+    g_mkdir_with_parents (folder, 0700);
+    filters = midori_extension_get_string_list (extension, "filters", NULL);
+    if (filters != NULL)
+    {
+        i = 0;
+        while (filters[i++] != NULL)
+        {
+            gchar* filename = g_compute_checksum_for_string (G_CHECKSUM_MD5,
+                                                             filters[i - 1], -1);
+            gchar* path = g_build_filename (folder, filename, NULL);
+            if (!g_file_test (path, G_FILE_TEST_EXISTS))
+            {
+                #if WEBKIT_CHECK_VERSION (1, 1, 3)
+                WebKitNetworkRequest* request;
+                WebKitDownload* download;
+                gchar* destination = g_filename_to_uri (path, NULL, NULL);
+
+                request = webkit_network_request_new (filters[i -1]);
+                download = webkit_download_new (request);
+                g_object_unref (request);
+                webkit_download_set_destination_uri (download, destination);
+                g_free (destination);
+                g_signal_connect (download, "notify::status",
+                    G_CALLBACK (adblock_download_notify_status_cb), path);
+                webkit_download_start (download);
+                #else
+                /* FIXME: Is it worth to rewrite this without WebKitDownload? */
+                #endif
+            }
+            else
+                adblock_session_add_filter (session, path);
+            g_free (filename);
+        }
+    }
+    g_strfreev (filters);
+    g_free (folder);
+}
+
+MidoriExtension*
+extension_init (void)
+{
+    MidoriExtension* extension = g_object_new (MIDORI_TYPE_EXTENSION,
+        "name", _("Advertisement blocker"),
+        "description", _("Block advertisements according to a filter list"),
+        "version", "0.1",
+        "authors", "Christian Dywan <christian@twotoasts.de>",
+        NULL);
+    midori_extension_install_string_list (extension, "filters", NULL, G_MAXSIZE);
+
+    g_signal_connect (extension, "activate",
+        G_CALLBACK (adblock_activate_cb), NULL);
+
+    return extension;
+}
index 6d8a46e59b012a75ed093e96568916ff037d3dfe..0cd7636877d7a53770c1f6a598e70e0b5af988c8 100644 (file)
 
 #include <midori/midori.h>
 
-static void
-colorful_tabs_button_toggled_cb (GtkWidget*       button,
-                                 MidoriExtension* extension)
-{
-    midori_extension_set_boolean (extension, "tint",
-        !midori_extension_get_boolean (extension, "tint"));
-    /* FIXME: Update all tab colors */
-}
-
 static void
 colorful_tabs_view_notify_uri_cb (MidoriView*      view,
                                   GParamSpec*      pspec,
@@ -70,6 +61,25 @@ colorful_tabs_view_notify_uri_cb (MidoriView*      view,
     }
 }
 
+static void
+colorful_tabs_browser_foreach_cb (GtkWidget*       view,
+                                  MidoriExtension* extension)
+{
+    colorful_tabs_view_notify_uri_cb (MIDORI_VIEW (view), NULL, extension);
+}
+
+static void
+colorful_tabs_button_toggled_cb (GtkWidget*       button,
+                                 MidoriExtension* extension)
+{
+    MidoriBrowser* browser = MIDORI_BROWSER (gtk_widget_get_toplevel (button));
+
+    midori_extension_set_boolean (extension, "tint",
+        !midori_extension_get_boolean (extension, "tint"));
+    midori_browser_foreach (browser,
+        (GtkCallback)colorful_tabs_browser_foreach_cb, extension);
+}
+
 static void
 colorful_tabs_browser_add_tab_cb (MidoriBrowser*   browser,
                                   MidoriView*      view,
@@ -83,11 +93,12 @@ static void
 colorful_tabs_deactivate_cb (MidoriExtension* extension,
                              GtkWidget*       bbox)
 {
-    gtk_widget_destroy (bbox);
     g_signal_handlers_disconnect_by_func (
         extension, colorful_tabs_deactivate_cb, bbox);
     /* FIXME: Disconnect signals */
-    /* FIXME: Reset all tab colors */
+    midori_browser_foreach (MIDORI_BROWSER (gtk_widget_get_toplevel (bbox)),
+        (GtkCallback)colorful_tabs_browser_foreach_cb, extension);
+    gtk_widget_destroy (bbox);
 }
 
 static void
diff --git a/extensions/cookie-manager.c b/extensions/cookie-manager.c
deleted file mode 100644 (file)
index 0d04371..0000000
+++ /dev/null
@@ -1,970 +0,0 @@
-/*
- Copyright (C) 2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- See the file COPYING for the full license text.
-*/
-
-#include "config.h"
-#include <time.h>
-#include <midori/midori.h>
-#include <webkit/webkit.h>
-#include <midori/gtkiconentry.h>
-
-#define CM_DEBUG 0
-
-#define STOCK_COOKIE_MANAGER "cookie-manager"
-#define CM_EMPTY_LABEL_TEXT "\n\n\n\n\n\n"
-
-enum
-{
-       COL_NAME,
-       COL_COOKIE,
-       COL_VISIBLE,
-       N_COLUMNS
-};
-
-typedef struct _CMData
-{
-       MidoriApp *app;
-       MidoriBrowser *browser;
-       MidoriExtension *extension;
-
-       GtkWidget *panel_page;
-       GtkWidget *desc_label;
-       GtkWidget *delete_button;
-       GtkWidget *delete_popup_button;
-       GtkWidget *delete_all_button;
-       GtkWidget *expand_buttons[4];
-
-       GtkWidget *treeview;
-       GtkTreeStore *store;
-       GtkTreeModel *filter;
-
-       GtkWidget *filter_entry;
-
-       GtkWidget *popup_menu;
-
-       SoupCookieJar *jar;
-       GSList *cookies;
-
-       guint timer_id;
-       gint ignore_changed_count;
-} CMData;
-
-static void cm_app_add_browser_cb(MidoriApp *app, MidoriBrowser *browser, MidoriExtension *ext);
-static void cm_filter_tree(CMData *cmdata, const gchar *filter_text);
-static void cm_deactivate_cb(MidoriExtension *extension, CMData *cmdata);
-static void cm_jar_changed_cb(SoupCookieJar *jar, SoupCookie *old, SoupCookie *new, CMData *cmdata);
-
-
-#if CM_DEBUG
-static gchar *cookie_to_string(SoupCookie *c)
-{
-       if (c != NULL)
-       {
-               static gchar s[256]; /* this might be too small but for debugging it should be ok */
-               g_snprintf(s, sizeof(s), "%s\t%s = %s", c->domain, c->name, c->value);
-               return s;
-       }
-       return NULL;
-}
-#endif
-
-
-static void cm_free_cookie_list(CMData *cmdata)
-{
-       if (cmdata->cookies != NULL)
-       {
-               GSList *l;
-
-               for (l = cmdata->cookies; l != NULL; l = g_slist_next(l))
-                       soup_cookie_free(l->data);
-               g_slist_free(cmdata->cookies);
-               cmdata->cookies = NULL;
-       }
-}
-
-
-static void cm_browser_close_cb(GtkObject *browser, CMData *cmdata)
-{
-       g_signal_handlers_disconnect_by_func(cmdata->extension, cm_deactivate_cb, cmdata);
-       g_signal_handlers_disconnect_by_func(cmdata->browser, cm_browser_close_cb, cmdata);
-       g_signal_handlers_disconnect_by_func(cmdata->jar, cm_jar_changed_cb, cmdata);
-
-       cm_free_cookie_list(cmdata);
-
-       /* the panel_page widget gets destroyed automatically when a browser is closed but not
-        * when the extension is deactivated */
-       if (cmdata->panel_page != NULL && GTK_IS_WIDGET(cmdata->panel_page))
-               gtk_widget_destroy(cmdata->panel_page);
-
-       gtk_widget_destroy(cmdata->popup_menu);
-       g_free(cmdata);
-}
-
-
-static void cm_deactivate_cb(MidoriExtension *extension, CMData *cmdata)
-{
-       g_signal_handlers_disconnect_by_func(cmdata->app, cm_app_add_browser_cb, extension);
-       cm_browser_close_cb(NULL, cmdata);
-}
-
-
-static void cm_refresh_store(CMData *cmdata)
-{
-       GSList *l;
-       GHashTable *parents;
-       GtkTreeIter iter;
-       GtkTreeIter *parent_iter;
-       SoupCookie *cookie;
-       const gchar *filter_text;
-
-       g_object_ref(cmdata->filter);
-       gtk_tree_view_set_model(GTK_TREE_VIEW(cmdata->treeview), NULL);
-
-       gtk_tree_store_clear(cmdata->store);
-
-       /* free the old list */
-       cm_free_cookie_list(cmdata);
-
-       cmdata->cookies = soup_cookie_jar_all_cookies(cmdata->jar);
-
-       /* Hashtable holds domain names as keys, the corresponding tree iters as values */
-       parents = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
-
-       for (l = cmdata->cookies; l != NULL; l = g_slist_next(l))
-       {
-               cookie = l->data;
-
-               /* look for the parent item for the current domain name and create it if it doesn't exist */
-               if ((parent_iter = (GtkTreeIter*) g_hash_table_lookup(parents, cookie->domain)) == NULL)
-               {
-                       parent_iter = g_new0(GtkTreeIter, 1);
-
-                       gtk_tree_store_append(cmdata->store, parent_iter, NULL);
-                       gtk_tree_store_set(cmdata->store, parent_iter,
-                               COL_NAME, cookie->domain,
-                               COL_COOKIE, NULL,
-                               COL_VISIBLE, TRUE,
-                               -1);
-
-                       g_hash_table_insert(parents, g_strdup(cookie->domain), parent_iter);
-               }
-
-               gtk_tree_store_append(cmdata->store, &iter, parent_iter);
-               gtk_tree_store_set(cmdata->store, &iter,
-                       COL_NAME, cookie->name,
-                       COL_COOKIE, cookie,
-                       COL_VISIBLE, TRUE,
-                       -1);
-       }
-       g_hash_table_destroy(parents);
-
-       gtk_tree_view_set_model(GTK_TREE_VIEW(cmdata->treeview), GTK_TREE_MODEL(cmdata->filter));
-       g_object_unref(cmdata->filter);
-
-       /* if a filter is set, apply it again */
-       filter_text = gtk_entry_get_text(GTK_ENTRY(cmdata->filter_entry));
-       if (*filter_text != '\0')
-       {
-               cm_filter_tree(cmdata, filter_text);
-               gtk_tree_view_expand_all(GTK_TREE_VIEW(cmdata->treeview));
-       }
-}
-
-
-static gchar *cm_get_cookie_description_text(SoupCookie *cookie)
-{
-       static gchar date_fmt[512];
-       gchar *expires;
-       gchar *text;
-       time_t expiration_time;
-       const struct tm *tm;
-
-       g_return_val_if_fail(cookie != NULL, NULL);
-
-       if (cookie->expires != NULL)
-       {
-               expiration_time = soup_date_to_time_t(cookie->expires);
-               tm = localtime(&expiration_time);
-               /* even if some gcc versions complain about "%c", there is nothing wrong with and here we
-                * want to use it */
-               strftime(date_fmt, sizeof(date_fmt), "%c", tm);
-               expires = date_fmt;
-       }
-       else
-               expires = _("At the end of the session");
-
-       text = g_markup_printf_escaped(
-                       _("<b>Host</b>: %s\n<b>Name</b>: %s\n<b>Value</b>: %s\n<b>Path</b>: %s\n"
-                         "<b>Secure</b>: %s\n<b>Expires</b>: %s"),
-                       cookie->domain,
-                       cookie->name,
-                       cookie->value,
-                       cookie->path,
-                       cookie->secure ? _("Yes") : _("No"),
-                       expires);
-
-       return text;
-}
-
-
-static void cm_set_button_sensitiveness(CMData *cmdata, gboolean set)
-{
-       guint i, len;
-       gboolean expand_set = (gtk_tree_model_iter_n_children(cmdata->filter, NULL) > 0);
-
-       gtk_widget_set_sensitive(cmdata->delete_popup_button, set);
-       gtk_widget_set_sensitive(cmdata->delete_button, set);
-
-       gtk_widget_set_sensitive(cmdata->delete_all_button, expand_set);
-       len = G_N_ELEMENTS(cmdata->expand_buttons);
-       for (i = 0; i < len; i++)
-       {
-               gtk_widget_set_sensitive(cmdata->expand_buttons[i], expand_set);
-       }
-}
-
-
-static void cm_tree_selection_changed_cb(GtkTreeSelection *selection, CMData *cmdata)
-{
-       GtkTreeIter iter, iter_store;
-       GtkTreeModel *model;
-       gchar *text;
-       gboolean valid = TRUE;
-       gboolean delete_possible = FALSE;
-       SoupCookie *cookie;
-
-       if (! gtk_tree_selection_get_selected(selection, &model, &iter))
-               valid = FALSE;
-       else
-               gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model),
-                       &iter_store, &iter);
-
-       if (valid && gtk_tree_store_iter_is_valid(cmdata->store, &iter_store))
-       {
-               delete_possible = TRUE;
-
-               gtk_tree_model_get(model, &iter, COL_COOKIE, &cookie, -1);
-               if (cookie != NULL)
-               {
-                       text = cm_get_cookie_description_text(cookie);
-
-                       gtk_label_set_markup(GTK_LABEL(cmdata->desc_label), text);
-
-                       g_free(text);
-               }
-               else
-                       valid = FALSE;
-       }
-       /* This is a bit hack'ish but we add some empty lines to get a minimum height of the
-        * label at the bottom without any font size calculation. */
-       if (! valid)
-               gtk_label_set_text(GTK_LABEL(cmdata->desc_label), CM_EMPTY_LABEL_TEXT);
-       cm_set_button_sensitiveness(cmdata, delete_possible);
-}
-
-
-static gboolean cm_tree_button_press_event_cb(GtkWidget *widget, GdkEventButton *ev, CMData *cmdata)
-{
-       if (ev->type == GDK_2BUTTON_PRESS)
-       {
-               GtkTreeSelection *selection;
-               GtkTreeModel *model;
-               GtkTreeIter iter;
-
-               selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget));
-
-               if (gtk_tree_selection_get_selected(selection, &model, &iter))
-               {
-                       /* double click on parent node expands/collapses it */
-                       if (gtk_tree_model_iter_has_child(model, &iter))
-                       {
-                               GtkTreePath *path = gtk_tree_model_get_path(model, &iter);
-
-                               if (gtk_tree_view_row_expanded(GTK_TREE_VIEW(widget), path))
-                                       gtk_tree_view_collapse_row(GTK_TREE_VIEW(widget), path);
-                               else
-                                       gtk_tree_view_expand_row(GTK_TREE_VIEW(widget), path, FALSE);
-
-                               gtk_tree_path_free(path);
-
-                               return TRUE;
-                       }
-               }
-       }
-
-       return FALSE;
-}
-
-
-static void cm_tree_show_popup_menu(GtkWidget *widget, GdkEventButton *event, CMData *cmdata)
-{
-       gint button, event_time;
-
-       if (event != NULL)
-       {
-               button = event->button;
-               event_time = event->time;
-       }
-       else
-       {
-               button = 0;
-               event_time = gtk_get_current_event_time ();
-       }
-
-       gtk_menu_popup(GTK_MENU(cmdata->popup_menu), NULL, NULL, NULL, NULL, button, event_time);
-}
-
-
-static gboolean  cm_tree_popup_menu_cb(GtkWidget *widget, CMData *cmdata)
-{
-       cm_tree_show_popup_menu(widget, NULL, cmdata);
-       return TRUE;
-}
-
-
-static gboolean cm_tree_button_release_event_cb(GtkWidget *widget, GdkEventButton *ev, CMData *cmdata)
-{
-       if (ev->button == 3)
-       {
-               cm_tree_show_popup_menu(widget, ev, cmdata);
-               return TRUE;
-       }
-       return FALSE;
-}
-
-
-static void cm_tree_popup_collapse_activate_cb(GtkCheckMenuItem *item, CMData *cmdata)
-{
-       gtk_tree_view_collapse_all(GTK_TREE_VIEW(cmdata->treeview));
-}
-
-
-static void cm_tree_popup_expand_activate_cb(GtkCheckMenuItem *item, CMData *cmdata)
-{
-       gtk_tree_view_expand_all(GTK_TREE_VIEW(cmdata->treeview));
-}
-
-
-static void cm_store_remove(CMData *cmdata, GtkTreeIter *iter_model)
-{
-       GtkTreeIter iter_store;
-
-       gtk_tree_model_filter_convert_iter_to_child_iter(
-               GTK_TREE_MODEL_FILTER(cmdata->filter), &iter_store, iter_model);
-       gtk_tree_store_remove(cmdata->store, &iter_store);
-}
-
-
-static void cm_delete_cookie(GtkTreeModel *model, GtkTreeIter *child, CMData *cmdata)
-{
-       SoupCookie *cookie;
-
-       gtk_tree_model_get(model, child, COL_COOKIE, &cookie, -1);
-
-       if (cookie != NULL)
-       {
-               cmdata->ignore_changed_count++;
-
-               soup_cookie_jar_delete_cookie(cmdata->jar, cookie);
-               /* the SoupCookie object is freed when the whole list gets updated */
-       }
-}
-
-
-static void cm_button_delete_clicked_cb(GtkToolButton *button, CMData *cmdata)
-{
-       GtkTreeIter iter, iter_store, child;
-       GtkTreeModel *model;
-       GtkTreeSelection *selection;
-
-       selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(cmdata->treeview));
-       if (! gtk_tree_selection_get_selected(selection, &model, &iter))
-               return;
-
-       if (gtk_tree_model_iter_has_child(model, &iter))
-       {
-               GtkTreePath *path = gtk_tree_model_get_path(model, &iter);
-
-               while (gtk_tree_model_iter_children(model, &child, &iter))
-               {
-                       cm_delete_cookie(model, &child, cmdata);
-                       cm_store_remove(cmdata, &child);
-                       /* we retrieve again the iter at path because it got invalid by the delete operation */
-                       gtk_tree_model_get_iter(model, &iter, path);
-               }
-               gtk_tree_path_free(path);
-               /* remove/hide the parent */
-               gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(cmdata->filter),
-                       &iter_store, &iter);
-               if (gtk_tree_model_iter_has_child(GTK_TREE_MODEL(cmdata->store), &iter_store))
-                       gtk_tree_store_set(cmdata->store, &iter_store, COL_VISIBLE, FALSE, -1);
-               else
-                       cm_store_remove(cmdata, &iter);
-       }
-       else
-       {
-               GtkTreePath *path_store, *path_model;
-
-               gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(cmdata->filter),
-                       &iter_store, &iter);
-               path_store = gtk_tree_model_get_path(GTK_TREE_MODEL(cmdata->store), &iter_store);
-               path_model = gtk_tree_model_get_path(model, &iter);
-
-               cm_delete_cookie(model, &iter, cmdata);
-               gtk_tree_store_remove(cmdata->store, &iter_store);
-
-               /* check whether the parent still has children, otherwise delete it */
-               if (gtk_tree_path_up(path_store))
-               {
-                       gtk_tree_model_get_iter(GTK_TREE_MODEL(cmdata->store), &iter_store, path_store);
-                       if (! gtk_tree_model_iter_has_child(GTK_TREE_MODEL(cmdata->store), &iter_store))
-                               /* remove the empty parent */
-                               gtk_tree_store_remove(cmdata->store, &iter_store);
-               }
-               /* now for the filter model */
-               if (gtk_tree_path_up(path_model))
-               {
-                       gtk_tree_model_get_iter(model, &iter, path_model);
-                       if (! gtk_tree_model_iter_has_child(model, &iter))
-                       {
-                               gtk_tree_model_filter_convert_iter_to_child_iter(
-                                       GTK_TREE_MODEL_FILTER(cmdata->filter), &iter_store, &iter);
-                               /* hide the empty parent */
-                               gtk_tree_store_set(cmdata->store, &iter_store, COL_VISIBLE, FALSE, -1);
-                       }
-               }
-               gtk_tree_path_free(path_store);
-               gtk_tree_path_free(path_model);
-       }
-}
-
-
-static void cm_delete_all_cookies_real(CMData *cmdata)
-{
-       GtkTreeIter iter, iter_store, child;
-       GtkTreePath *path_first, *path;
-       GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(cmdata->treeview));
-
-       path_first = gtk_tree_path_new_first();
-       while (gtk_tree_model_get_iter(model, &iter, path_first))
-       {
-               path = gtk_tree_model_get_path(model, &iter);
-               while (gtk_tree_model_iter_children(model, &child, &iter))
-               {
-                       cm_delete_cookie(model, &child, cmdata);
-                       cm_store_remove(cmdata, &child);
-                       /* we retrieve again the iter at path because it got invalid by the delete operation */
-                       gtk_tree_model_get_iter(model, &iter, path);
-               }
-               gtk_tree_path_free(path);
-               /* remove/hide the parent */
-               gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(cmdata->filter),
-                       &iter_store, &iter);
-               if (gtk_tree_model_iter_has_child(GTK_TREE_MODEL(cmdata->store), &iter_store))
-                       gtk_tree_store_set(cmdata->store, &iter_store, COL_VISIBLE, FALSE, -1);
-               else
-                       cm_store_remove(cmdata, &iter);
-       }
-       gtk_tree_path_free(path_first);
-
-       cm_set_button_sensitiveness(cmdata, FALSE);
-}
-
-
-static void cm_button_delete_all_clicked_cb(GtkToolButton *button, CMData *cmdata)
-{
-       GtkWidget *dialog;
-       GtkWidget *toplevel = gtk_widget_get_toplevel(GTK_WIDGET(button));
-       const gchar *filter_text;
-
-       dialog = gtk_message_dialog_new(GTK_WINDOW(toplevel),
-               GTK_DIALOG_DESTROY_WITH_PARENT,
-               GTK_MESSAGE_QUESTION,
-               GTK_BUTTONS_YES_NO,
-               _("Do you really want to delete all cookies?"));
-
-       gtk_window_set_title(GTK_WINDOW(dialog), _("Question"));
-       /* steal Midori's icon :) */
-       gtk_window_set_icon_name(GTK_WINDOW(dialog), gtk_window_get_icon_name(GTK_WINDOW(toplevel)));
-
-       filter_text = gtk_entry_get_text(GTK_ENTRY(cmdata->filter_entry));
-       if (*filter_text != '\0')
-       {
-               gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),
-                       _("Only the visible cookies are deleted which match the entered filter string."));
-       }
-
-       if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES)
-               cm_delete_all_cookies_real(cmdata);
-
-       gtk_widget_destroy(dialog);
-}
-
-
-static void cm_tree_drag_data_get_cb(GtkWidget *widget, GdkDragContext *drag_context,
-                                                                        GtkSelectionData *data, guint info, guint ltime, CMData *cmdata)
-{
-       GtkTreeIter iter, iter_store;
-       GtkTreeSelection *selection;
-       GtkTreeModel *model;
-
-       selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(cmdata->treeview));
-       if (! gtk_tree_selection_get_selected(selection, &model, &iter))
-               return;
-
-       gtk_tree_model_filter_convert_iter_to_child_iter(
-               GTK_TREE_MODEL_FILTER(model), &iter_store, &iter);
-
-       if (gtk_tree_store_iter_is_valid(cmdata->store, &iter_store))
-       {
-               SoupCookie *cookie;
-               gchar *name, *text;
-
-               gtk_tree_model_get(model, &iter, COL_NAME, &name, COL_COOKIE, &cookie, -1);
-
-               if (cookie == NULL && name != NULL)
-               {
-                       /* skip a leading dot */
-                       text = (*name == '.') ? name + 1 : name;
-
-                       gtk_selection_data_set_text(data, text, -1);
-               }
-               g_free(name);
-       }
-}
-
-
-#if GTK_CHECK_VERSION(2, 12, 0)
-static gboolean cm_tree_query_tooltip(GtkWidget *widget, gint x, gint y, gboolean keyboard_mode,
-                                                                         GtkTooltip *tooltip, CMData *cmdata)
-{
-       GtkTreeIter iter;
-       GtkTreeModel *model;
-
-       if (gtk_tree_view_get_tooltip_context(GTK_TREE_VIEW(widget), &x, &y,
-                       keyboard_mode, &model, NULL, &iter))
-       {
-               gchar *tooltip_text;
-               SoupCookie *cookie;
-
-               gtk_tree_model_get(model, &iter, COL_COOKIE, &cookie, -1);
-
-               if (cookie == NULL) /* not an item */
-                       return FALSE;
-
-               tooltip_text = cm_get_cookie_description_text(cookie);
-
-               gtk_tooltip_set_markup(tooltip, tooltip_text);
-
-               g_free(tooltip_text);
-
-               return TRUE;
-       }
-
-       return FALSE;
-}
-#endif
-
-
-static gboolean cm_filter_match(const gchar *haystack, const gchar *needle)
-{
-       gchar *haystack_lowered, *needle_lowered;
-       gboolean result;
-
-       /* empty strings always match */
-       if (haystack == NULL || needle == NULL || *needle == '\0')
-               return TRUE;
-
-       haystack_lowered = g_utf8_strdown(haystack, -1);
-       needle_lowered = g_utf8_strdown(needle, -1);
-
-       /* if one of both could not be converted into lower case, skip those */
-       if (haystack_lowered == NULL || needle_lowered == NULL)
-               return FALSE;
-
-       result = (strstr(haystack_lowered, needle_lowered) != NULL);
-
-       g_free(haystack_lowered);
-       g_free(needle_lowered);
-
-       return result;
-}
-
-
-static void cm_filter_tree(CMData *cmdata, const gchar *filter_text)
-{
-       GtkTreeIter iter, child;
-       GtkTreeModel *model;
-       gboolean show_child, show_parent;
-       gboolean child_visible;
-       gint i, n;
-       gchar *name;
-       gchar *domain;
-
-       model = GTK_TREE_MODEL(cmdata->store);
-       if (! gtk_tree_model_get_iter_first(model, &iter))
-               return;
-
-       do
-       {
-               if (gtk_tree_model_iter_has_child(model, &iter))
-               {
-                       child_visible = FALSE;
-
-                       gtk_tree_model_get(model, &iter, COL_NAME, &domain, -1);
-                       show_parent = cm_filter_match(domain, filter_text);
-                       g_free(domain);
-                       n = gtk_tree_model_iter_n_children(model, &iter);
-                       for (i = 0; i < n; i++)
-                       {
-                               gtk_tree_model_iter_nth_child(model, &child, &iter, i);
-
-                               gtk_tree_model_get(model, &child, COL_NAME, &name, -1);
-                               show_child = show_parent || cm_filter_match(name, filter_text);
-                               g_free(name);
-
-                               if (show_child)
-                                       child_visible = TRUE;
-
-                               gtk_tree_store_set(cmdata->store, &child, COL_VISIBLE, show_child, -1);
-                       }
-                       gtk_tree_store_set(cmdata->store, &iter, COL_VISIBLE, child_visible, -1);
-               }
-       }
-       while (gtk_tree_model_iter_next(model, &iter));
-}
-
-
-static void cm_filter_entry_changed_cb(GtkEditable *editable, CMData *cmdata)
-{
-       const gchar *text = gtk_entry_get_text(GTK_ENTRY(editable));
-
-       cm_filter_tree(cmdata, text);
-
-       if (*text != '\0')
-               gtk_tree_view_expand_all(GTK_TREE_VIEW(cmdata->treeview));
-       else
-               gtk_tree_view_collapse_all(GTK_TREE_VIEW(cmdata->treeview));
-}
-
-
-static void cm_filter_entry_clear_icon_released_cb(GtkIconEntry *e, gint pos, gint btn, CMData *cmdata)
-{
-       if (pos == GTK_ICON_ENTRY_SECONDARY)
-               gtk_entry_set_text(GTK_ENTRY(e), "");
-}
-
-
-static void cm_tree_prepare(CMData *cmdata)
-{
-       GtkCellRenderer *renderer;
-       GtkTreeViewColumn *column;
-       GtkTreeSelection *sel;
-       GtkWidget *tree;
-       GtkWidget *item;
-       GtkWidget *menu;
-
-       cmdata->treeview = tree = gtk_tree_view_new();
-       cmdata->store = gtk_tree_store_new(N_COLUMNS, G_TYPE_STRING, SOUP_TYPE_COOKIE, G_TYPE_BOOLEAN);
-
-       renderer = gtk_cell_renderer_text_new();
-       column = gtk_tree_view_column_new_with_attributes(
-               _("Name"), renderer, "text", COL_NAME, NULL);
-       gtk_tree_view_column_set_sort_indicator(column, TRUE);
-       gtk_tree_view_column_set_sort_column_id(column, COL_NAME);
-       gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE);
-       gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
-
-       gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tree), TRUE);
-       gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree), FALSE);
-       gtk_tree_view_set_search_column(GTK_TREE_VIEW(tree), COL_NAME);
-       gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(cmdata->store), COL_NAME, GTK_SORT_ASCENDING);
-
-       /* selection handling */
-       sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree));
-       gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
-
-       /* setting filter and model */
-       cmdata->filter = gtk_tree_model_filter_new(GTK_TREE_MODEL(cmdata->store), NULL);
-       gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(cmdata->filter), COL_VISIBLE);
-
-       gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(cmdata->filter));
-       g_object_unref(cmdata->store);
-       g_object_unref(cmdata->filter);
-
-       /* signals */
-       g_signal_connect(sel, "changed", G_CALLBACK(cm_tree_selection_changed_cb), cmdata);
-       g_signal_connect(tree, "button-press-event", G_CALLBACK(cm_tree_button_press_event_cb), cmdata);
-       g_signal_connect(tree, "button-release-event", G_CALLBACK(cm_tree_button_release_event_cb), cmdata);
-       g_signal_connect(tree, "popup-menu", G_CALLBACK(cm_tree_popup_menu_cb), cmdata);
-
-       /* tooltips */
-#if GTK_CHECK_VERSION(2, 12, 0)
-       gtk_widget_set_has_tooltip(tree, TRUE);
-       g_signal_connect(tree, "query-tooltip", G_CALLBACK(cm_tree_query_tooltip), cmdata);
-#endif
-
-       /* drag'n'drop */
-       gtk_tree_view_enable_model_drag_source(
-               GTK_TREE_VIEW(tree),
-               GDK_BUTTON1_MASK,
-               NULL,
-               0,
-               GDK_ACTION_COPY
-       );
-       gtk_drag_source_add_text_targets(tree);
-       /*gtk_drag_source_add_uri_targets(tree);*/
-       g_signal_connect(tree, "drag-data-get", G_CALLBACK(cm_tree_drag_data_get_cb), cmdata);
-
-       /* popup menu */
-       menu = gtk_menu_new();
-
-       item = gtk_image_menu_item_new_from_stock(GTK_STOCK_DELETE, NULL);
-       gtk_widget_show(item);
-       gtk_container_add(GTK_CONTAINER(menu), item);
-       g_signal_connect(item, "activate", G_CALLBACK(cm_button_delete_clicked_cb), cmdata);
-       cmdata->delete_popup_button = item;
-
-       item = gtk_separator_menu_item_new();
-       gtk_widget_show(item);
-       gtk_container_add(GTK_CONTAINER(menu), item);
-
-       item = gtk_image_menu_item_new_with_mnemonic(_("_Expand All"));
-       gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
-               gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU));
-       gtk_widget_show(item);
-       gtk_container_add(GTK_CONTAINER(menu), item);
-       g_signal_connect(item, "activate", G_CALLBACK(cm_tree_popup_expand_activate_cb), cmdata);
-       cmdata->expand_buttons[2] = item;
-
-       item = gtk_image_menu_item_new_with_mnemonic(_("_Collapse All"));
-       gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
-               gtk_image_new_from_icon_name(GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU));
-       gtk_widget_show(item);
-       gtk_container_add(GTK_CONTAINER(menu), item);
-       g_signal_connect(item, "activate", G_CALLBACK(cm_tree_popup_collapse_activate_cb), cmdata);
-       cmdata->expand_buttons[3] = item;
-
-       cmdata->popup_menu = menu;
-}
-
-
-static gboolean cm_delayed_refresh(CMData *cmdata)
-{
-       cm_refresh_store(cmdata);
-       cmdata->timer_id = 0;
-
-       return FALSE;
-}
-
-
-static void cm_jar_changed_cb(SoupCookieJar *jar, SoupCookie *old, SoupCookie *new, CMData *cmdata)
-{
-       if (cmdata->ignore_changed_count > 0)
-       {
-               cmdata->ignore_changed_count--;
-               return;
-       }
-
-       /* We delay these events a little bit to avoid too many rebuilds of the tree.
-        * Some websites (like Flyspray bugtrackers sent a whole bunch of cookies at once. */
-       if (cmdata->timer_id == 0)
-       {
-               cmdata->timer_id = g_timeout_add_seconds(1, (GSourceFunc) cm_delayed_refresh, cmdata);
-       }
-}
-
-
-static void cm_app_add_browser_cb(MidoriApp *app, MidoriBrowser *browser, MidoriExtension *ext)
-{
-       GtkWidget *panel;
-       GtkWidget *tree_swin;
-       GtkWidget *desc_swin;
-       GtkWidget *toolbar;
-       GtkWidget *paned;
-       GtkWidget *filter_hbox;
-       GtkWidget *filter_label;
-       GtkToolItem *toolitem;
-       SoupSession *session;
-       CMData *cmdata;
-
-       cmdata = g_new0(CMData, 1);
-       cmdata->app = app;
-       cmdata->extension = ext;
-       cmdata->browser = browser;
-
-       panel = katze_object_get_object(browser, "panel");
-       toolbar = gtk_toolbar_new();
-       gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ);
-       gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar), GTK_ICON_SIZE_BUTTON);
-       gtk_widget_show(toolbar);
-
-       toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_DELETE);
-       gtk_tool_item_set_is_important(toolitem, TRUE);
-       g_signal_connect(toolitem, "clicked", G_CALLBACK(cm_button_delete_clicked_cb), cmdata);
-       gtk_widget_show(GTK_WIDGET(toolitem));
-       gtk_widget_set_sensitive(GTK_WIDGET(toolitem), FALSE);
-       gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
-       cmdata->delete_button = GTK_WIDGET(toolitem);
-
-       toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_DELETE);
-       gtk_tool_button_set_label(GTK_TOOL_BUTTON(toolitem), _("Delete All"));
-       gtk_tool_item_set_tooltip_text(toolitem,
-               _("Deletes all shown cookies. "
-                 "If a filter is set, only those cookies are deleted which match the filter."));
-       gtk_tool_item_set_is_important(toolitem, TRUE);
-       g_signal_connect(toolitem, "clicked", G_CALLBACK(cm_button_delete_all_clicked_cb), cmdata);
-       gtk_widget_show(GTK_WIDGET(toolitem));
-       gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
-       cmdata->delete_all_button = GTK_WIDGET(toolitem);
-
-    toolitem = gtk_separator_tool_item_new();
-    gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE);
-    gtk_tool_item_set_expand(toolitem, TRUE);
-    gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
-    gtk_widget_show(GTK_WIDGET(toolitem));
-
-       toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_ADD);
-       gtk_tool_item_set_tooltip_text(toolitem, _("Expand All"));
-       g_signal_connect(toolitem, "clicked", G_CALLBACK(cm_tree_popup_expand_activate_cb), cmdata);
-       gtk_widget_show(GTK_WIDGET(toolitem));
-       gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
-       cmdata->expand_buttons[0] = GTK_WIDGET(toolitem);
-
-       toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_REMOVE);
-       gtk_tool_item_set_tooltip_text(toolitem, _("Collapse All"));
-       g_signal_connect(toolitem, "clicked", G_CALLBACK(cm_tree_popup_collapse_activate_cb), cmdata);
-       gtk_widget_show(GTK_WIDGET(toolitem));
-       gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
-       cmdata->expand_buttons[1] = GTK_WIDGET(toolitem);
-
-       cmdata->desc_label = gtk_label_new(CM_EMPTY_LABEL_TEXT);
-       gtk_label_set_selectable(GTK_LABEL(cmdata->desc_label), TRUE);
-       gtk_label_set_line_wrap(GTK_LABEL(cmdata->desc_label), TRUE);
-       gtk_label_set_line_wrap_mode(GTK_LABEL(cmdata->desc_label), PANGO_WRAP_CHAR);
-       gtk_misc_set_alignment(GTK_MISC(cmdata->desc_label), 0, 0);
-       gtk_misc_set_padding(GTK_MISC(cmdata->desc_label), 3, 3);
-    gtk_widget_show(cmdata->desc_label);
-
-       desc_swin = gtk_scrolled_window_new(NULL, NULL);
-       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(desc_swin),
-               GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER);
-       gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(desc_swin), GTK_SHADOW_NONE);
-       gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(desc_swin), cmdata->desc_label);
-    gtk_widget_show(desc_swin);
-
-       cm_tree_prepare(cmdata);
-       gtk_widget_show(cmdata->treeview);
-
-       tree_swin = gtk_scrolled_window_new(NULL, NULL);
-       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tree_swin),
-               GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-       gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(tree_swin), GTK_SHADOW_IN);
-       gtk_container_add(GTK_CONTAINER(tree_swin), cmdata->treeview);
-    gtk_widget_show(tree_swin);
-
-       filter_label = gtk_label_new(_("Filter:"));
-       gtk_widget_show(filter_label);
-
-       cmdata->filter_entry = gtk_icon_entry_new();
-       gtk_widget_set_tooltip_text(cmdata->filter_entry,
-               _("Enter a filter string to show only cookies whose name or domain "
-                 "field match the entered filter"));
-       gtk_widget_show(cmdata->filter_entry);
-       gtk_icon_entry_set_icon_from_stock(GTK_ICON_ENTRY(cmdata->filter_entry),
-               GTK_ICON_ENTRY_SECONDARY, GTK_STOCK_CLEAR);
-       gtk_icon_entry_set_icon_highlight(GTK_ICON_ENTRY (cmdata->filter_entry),
-               GTK_ICON_ENTRY_SECONDARY, TRUE);
-       g_signal_connect(cmdata->filter_entry, "icon-release",
-               G_CALLBACK(cm_filter_entry_clear_icon_released_cb), NULL);
-       g_signal_connect(cmdata->filter_entry, "changed", G_CALLBACK(cm_filter_entry_changed_cb), cmdata);
-       g_signal_connect(cmdata->filter_entry, "activate", G_CALLBACK(cm_filter_entry_changed_cb), cmdata);
-
-       filter_hbox = gtk_hbox_new(FALSE, 0);
-       gtk_box_pack_start(GTK_BOX(filter_hbox), filter_label, FALSE, FALSE, 3);
-       gtk_box_pack_start(GTK_BOX(filter_hbox), cmdata->filter_entry, TRUE, TRUE, 3);
-    gtk_widget_show(filter_hbox);
-
-       paned = gtk_vpaned_new();
-       gtk_paned_pack1(GTK_PANED(paned), tree_swin, TRUE, FALSE);
-       gtk_paned_pack2(GTK_PANED(paned), desc_swin, FALSE, FALSE);
-    gtk_widget_show(paned);
-
-       cmdata->panel_page = gtk_vbox_new(FALSE, 0);
-       gtk_box_pack_start(GTK_BOX(cmdata->panel_page), filter_hbox, FALSE, FALSE, 5);
-       gtk_box_pack_start(GTK_BOX(cmdata->panel_page), paned, TRUE, TRUE, 0);
-       gtk_widget_show(cmdata->panel_page);
-
-       /* setup soup */
-       session = webkit_get_default_session();
-       cmdata->jar = SOUP_COOKIE_JAR(soup_session_get_feature(session, soup_cookie_jar_get_type()));
-       g_signal_connect(cmdata->jar, "changed", G_CALLBACK(cm_jar_changed_cb), cmdata);
-
-       cm_refresh_store(cmdata);
-
-       midori_panel_append_widget(MIDORI_PANEL(panel), cmdata->panel_page,
-               STOCK_COOKIE_MANAGER, _("Cookie Manager"), toolbar);
-
-       g_signal_connect(ext, "deactivate", G_CALLBACK(cm_deactivate_cb), cmdata);
-       g_signal_connect(browser, "destroy", G_CALLBACK(cm_browser_close_cb), cmdata);
-
-       g_object_unref(panel);
-}
-
-
-static void cm_activate_cb(MidoriExtension *extension, MidoriApp *app, gpointer data)
-{
-    KatzeArray* browsers;
-    MidoriBrowser* browser;
-    guint i;
-
-    browsers = katze_object_get_object(app, "browsers");
-    i = 0;
-    while ((browser = katze_array_get_nth_item(browsers, i++)))
-        cm_app_add_browser_cb(app, browser, extension);
-       g_object_unref(browsers);
-       g_signal_connect(app, "add-browser", G_CALLBACK(cm_app_add_browser_cb), extension);
-}
-
-
-MidoriExtension *extension_init(void)
-{
-       MidoriExtension *extension;
-       GtkIconFactory *factory;
-       GtkIconSource *icon_source;
-       GtkIconSet *icon_set;
-       static GtkStockItem items[] =
-       {
-               { STOCK_COOKIE_MANAGER, N_("_Cookie Manager"), 0, 0, NULL }
-       };
-
-       factory = gtk_icon_factory_new();
-       gtk_stock_add(items, G_N_ELEMENTS(items));
-       icon_set = gtk_icon_set_new();
-       icon_source = gtk_icon_source_new();
-       gtk_icon_source_set_icon_name(icon_source, GTK_STOCK_DIALOG_AUTHENTICATION);
-       gtk_icon_set_add_source(icon_set, icon_source);
-       gtk_icon_source_free(icon_source);
-       gtk_icon_factory_add(factory, STOCK_COOKIE_MANAGER, icon_set);
-       gtk_icon_set_unref(icon_set);
-       gtk_icon_factory_add_default(factory);
-       g_object_unref(factory);
-
-       extension = g_object_new(MIDORI_TYPE_EXTENSION,
-               "name", _("Cookie Manager"),
-               "description", _("List, view and delete cookies"),
-               "version", "0.1",
-               "authors", "Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>",
-               NULL);
-
-       g_signal_connect(extension, "activate", G_CALLBACK(cm_activate_cb), NULL);
-
-       return extension;
-}
diff --git a/extensions/cookie-manager/cookie-manager-page.c b/extensions/cookie-manager/cookie-manager-page.c
new file mode 100644 (file)
index 0000000..9e73fe3
--- /dev/null
@@ -0,0 +1,985 @@
+/*
+ Copyright (C) 2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#include <gtk/gtk.h>
+
+#include <midori/midori.h>
+#include <midori/gtkiconentry.h>
+#include <webkit/webkit.h>
+#include <time.h>
+
+#include "cookie-manager.h"
+#include "cookie-manager-page.h"
+
+
+typedef struct _CookieManagerPagePrivate                       CookieManagerPagePrivate;
+
+#define COOKIE_MANAGER_PAGE_GET_PRIVATE(obj)           (G_TYPE_INSTANCE_GET_PRIVATE((obj),\
+                       COOKIE_MANAGER_PAGE_TYPE, CookieManagerPagePrivate))
+
+
+#define CM_EMPTY_LABEL_TEXT "\n\n\n\n\n\n"
+
+enum
+{
+       COOKIE_MANAGER_COL_NAME,
+       COOKIE_MANAGER_COL_COOKIE,
+       COOKIE_MANAGER_COL_VISIBLE,
+       COOKIE_MANAGER_N_COLUMNS
+};
+
+
+struct _CookieManagerPagePrivate
+{
+       GtkWidget *treeview;
+       GtkTreeStore *store;
+       GtkTreeModel *filter;
+
+       GtkWidget *filter_entry;
+
+       GtkWidget *desc_label;
+       GtkWidget *delete_button;
+       GtkWidget *delete_popup_button;
+       GtkWidget *delete_all_button;
+       GtkWidget *expand_buttons[4];
+
+       GtkWidget *toolbar;
+       GtkWidget *popup_menu;
+
+       GSList *cookies;
+       SoupCookieJar *jar;
+       guint timer_id;
+       gint ignore_changed_count;
+};
+
+
+static void cookie_manager_page_finalize(GObject *object);
+static void cookie_manager_page_viewable_iface_init(MidoriViewableIface *iface);
+
+static void cm_button_delete_clicked_cb(GtkToolButton *button, CookieManagerPage *cmp);
+static void cm_button_delete_all_clicked_cb(GtkToolButton *button, CookieManagerPage *cmp);
+static void cm_tree_popup_collapse_activate_cb(GtkMenuItem *item, CookieManagerPage *cmp);
+static void cm_tree_popup_expand_activate_cb(GtkMenuItem *item, CookieManagerPage *cmp);
+static void cm_filter_tree(CookieManagerPage *cmp, const gchar *filter_text);
+static void cm_jar_changed_cb(SoupCookieJar *jar, SoupCookie *old, SoupCookie *new, CookieManagerPage *cmp);
+
+
+G_DEFINE_TYPE_WITH_CODE(CookieManagerPage, cookie_manager_page, GTK_TYPE_VBOX,
+                                               G_IMPLEMENT_INTERFACE(MIDORI_TYPE_VIEWABLE,
+                                               cookie_manager_page_viewable_iface_init));
+
+
+
+static const gchar *cookie_manager_page_get_label(MidoriViewable *viewable)
+{
+       return _("Cookie Manager");
+}
+
+
+static const gchar *cookie_manager_page_get_stock_id(MidoriViewable *viewable)
+{
+       return STOCK_COOKIE_MANAGER;
+}
+
+
+static void cm_free_cookie_list(CookieManagerPage *cmp)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       if (priv->cookies != NULL)
+       {
+               GSList *l;
+
+               for (l = priv->cookies; l != NULL; l = g_slist_next(l))
+                       soup_cookie_free(l->data);
+               g_slist_free(priv->cookies);
+               priv->cookies = NULL;
+       }
+}
+
+
+static void cm_create_toolbar(CookieManagerPage *cmp)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+       GtkWidget *toolbar;
+       GtkToolItem *toolitem;
+
+       priv->toolbar = toolbar = gtk_toolbar_new();
+       gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ);
+       gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar), GTK_ICON_SIZE_BUTTON);
+       gtk_widget_show(toolbar);
+
+       toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_DELETE);
+       gtk_tool_item_set_is_important(toolitem, TRUE);
+       g_signal_connect(toolitem, "clicked", G_CALLBACK(cm_button_delete_clicked_cb), cmp);
+       gtk_widget_show(GTK_WIDGET(toolitem));
+       gtk_widget_set_sensitive(GTK_WIDGET(toolitem), FALSE);
+       gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+       priv->delete_button = GTK_WIDGET(toolitem);
+
+       toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_DELETE);
+       gtk_tool_button_set_label(GTK_TOOL_BUTTON(toolitem), _("Delete All"));
+       gtk_tool_item_set_tooltip_text(toolitem,
+               _("Deletes all shown cookies. "
+                 "If a filter is set, only those cookies are deleted which match the filter."));
+       gtk_tool_item_set_is_important(toolitem, TRUE);
+       g_signal_connect(toolitem, "clicked", G_CALLBACK(cm_button_delete_all_clicked_cb), cmp);
+       gtk_widget_show(GTK_WIDGET(toolitem));
+       gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+       priv->delete_all_button = GTK_WIDGET(toolitem);
+
+       toolitem = gtk_separator_tool_item_new();
+       gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE);
+       gtk_tool_item_set_expand(toolitem, TRUE);
+       gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+       gtk_widget_show(GTK_WIDGET(toolitem));
+
+       toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_ADD);
+       gtk_tool_item_set_tooltip_text(toolitem, _("Expand All"));
+       g_signal_connect(toolitem, "clicked", G_CALLBACK(cm_tree_popup_expand_activate_cb), cmp);
+       gtk_widget_show(GTK_WIDGET(toolitem));
+       gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+       priv->expand_buttons[0] = GTK_WIDGET(toolitem);
+
+       toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_REMOVE);
+       gtk_tool_item_set_tooltip_text(toolitem, _("Collapse All"));
+       g_signal_connect(toolitem, "clicked", G_CALLBACK(cm_tree_popup_collapse_activate_cb), cmp);
+       gtk_widget_show(GTK_WIDGET(toolitem));
+       gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+       priv->expand_buttons[1] = GTK_WIDGET(toolitem);
+}
+
+
+static GtkWidget *cookie_manager_page_get_toolbar(MidoriViewable *viewable)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(viewable);
+
+       return priv->toolbar;
+}
+
+
+static void cookie_manager_page_viewable_iface_init(MidoriViewableIface* iface)
+{
+       iface->get_stock_id = cookie_manager_page_get_stock_id;
+       iface->get_label = cookie_manager_page_get_label;
+       iface->get_toolbar = cookie_manager_page_get_toolbar;
+}
+
+
+static void cookie_manager_page_finalize(GObject *object)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(object);
+
+       g_signal_handlers_disconnect_by_func(priv->jar, cm_jar_changed_cb, object);
+
+       if (priv->timer_id > 0)
+               g_source_remove(priv->timer_id);
+
+       cm_free_cookie_list(COOKIE_MANAGER_PAGE(object));
+
+       gtk_widget_destroy(priv->popup_menu);
+
+       G_OBJECT_CLASS(cookie_manager_page_parent_class)->finalize(object);
+}
+
+
+static void cm_refresh_store(CookieManagerPage *cmp)
+{
+       GSList *l;
+       GHashTable *parents;
+       GtkTreeIter iter;
+       GtkTreeIter *parent_iter;
+       SoupCookie *cookie;
+       const gchar *filter_text;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       g_object_ref(priv->filter);
+       gtk_tree_view_set_model(GTK_TREE_VIEW(priv->treeview), NULL);
+
+       gtk_tree_store_clear(priv->store);
+
+       /* free the old list */
+       cm_free_cookie_list(cmp);
+
+       priv->cookies = soup_cookie_jar_all_cookies(priv->jar);
+
+       /* Hashtable holds domain names as keys, the corresponding tree iters as values */
+       parents = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
+
+       for (l = priv->cookies; l != NULL; l = g_slist_next(l))
+       {
+               cookie = l->data;
+
+               /* look for the parent item for the current domain name and create it if it doesn't exist */
+               if ((parent_iter = (GtkTreeIter*) g_hash_table_lookup(parents, cookie->domain)) == NULL)
+               {
+                       parent_iter = g_new0(GtkTreeIter, 1);
+
+                       gtk_tree_store_append(priv->store, parent_iter, NULL);
+                       gtk_tree_store_set(priv->store, parent_iter,
+                               COOKIE_MANAGER_COL_NAME, cookie->domain,
+                               COOKIE_MANAGER_COL_COOKIE, NULL,
+                               COOKIE_MANAGER_COL_VISIBLE, TRUE,
+                               -1);
+
+                       g_hash_table_insert(parents, g_strdup(cookie->domain), parent_iter);
+               }
+
+               gtk_tree_store_append(priv->store, &iter, parent_iter);
+               gtk_tree_store_set(priv->store, &iter,
+                       COOKIE_MANAGER_COL_NAME, cookie->name,
+                       COOKIE_MANAGER_COL_COOKIE, cookie,
+                       COOKIE_MANAGER_COL_VISIBLE, TRUE,
+                       -1);
+       }
+       g_hash_table_destroy(parents);
+
+       gtk_tree_view_set_model(GTK_TREE_VIEW(priv->treeview), GTK_TREE_MODEL(priv->filter));
+       g_object_unref(priv->filter);
+
+       /* if a filter is set, apply it again */
+       filter_text = gtk_entry_get_text(GTK_ENTRY(priv->filter_entry));
+       if (*filter_text != '\0')
+       {
+               cm_filter_tree(cmp, filter_text);
+               gtk_tree_view_expand_all(GTK_TREE_VIEW(priv->treeview));
+       }
+}
+
+
+static gboolean cm_delayed_refresh(CookieManagerPage *cmp)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       cm_refresh_store(cmp);
+       priv->timer_id = 0;
+
+       return FALSE;
+}
+
+
+static void cm_jar_changed_cb(SoupCookieJar *jar, SoupCookie *old, SoupCookie *new,
+                                                         CookieManagerPage *cmp)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       if (priv->ignore_changed_count > 0)
+       {
+               priv->ignore_changed_count--;
+               return;
+       }
+
+       /* We delay these events a little bit to avoid too many rebuilds of the tree.
+        * Some websites (like Flyspray bugtrackers sent a whole bunch of cookies at once. */
+       if (priv->timer_id == 0)
+               priv->timer_id = g_timeout_add_seconds(1, (GSourceFunc) cm_delayed_refresh, cmp);
+}
+
+
+static void cookie_manager_page_class_init(CookieManagerPageClass *klass)
+{
+       GObjectClass *g_object_class;
+       g_object_class = G_OBJECT_CLASS(klass);
+       g_object_class->finalize = cookie_manager_page_finalize;
+
+       g_type_class_add_private(klass, sizeof(CookieManagerPagePrivate));
+}
+
+
+static void cm_set_button_sensitiveness(CookieManagerPage *cmp, gboolean set)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+       gboolean expand_set = (gtk_tree_model_iter_n_children(priv->filter, NULL) > 0);
+       guint i, len;
+
+       gtk_widget_set_sensitive(priv->delete_popup_button, set);
+       gtk_widget_set_sensitive(priv->delete_button, set);
+
+       gtk_widget_set_sensitive(priv->delete_all_button, expand_set);
+       len = G_N_ELEMENTS(priv->expand_buttons);
+       for (i = 0; i < len; i++)
+       {
+               gtk_widget_set_sensitive(priv->expand_buttons[i], expand_set);
+       }
+}
+
+
+static void cm_tree_popup_collapse_activate_cb(GtkMenuItem *item, CookieManagerPage *cmp)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       gtk_tree_view_collapse_all(GTK_TREE_VIEW(priv->treeview));
+}
+
+
+static void cm_tree_popup_expand_activate_cb(GtkMenuItem *item, CookieManagerPage *cmp)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       gtk_tree_view_expand_all(GTK_TREE_VIEW(priv->treeview));
+}
+
+
+static void cm_store_remove(CookieManagerPage *cmp, GtkTreeIter *iter_model)
+{
+       GtkTreeIter iter_store;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       gtk_tree_model_filter_convert_iter_to_child_iter(
+               GTK_TREE_MODEL_FILTER(priv->filter), &iter_store, iter_model);
+       gtk_tree_store_remove(priv->store, &iter_store);
+}
+
+
+static void cm_delete_cookie(CookieManagerPage *cmp, GtkTreeModel *model, GtkTreeIter *child)
+{
+       SoupCookie *cookie;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       gtk_tree_model_get(model, child, COOKIE_MANAGER_COL_COOKIE, &cookie, -1);
+
+       if (cookie != NULL)
+       {
+               priv->ignore_changed_count++;
+
+               soup_cookie_jar_delete_cookie(priv->jar, cookie);
+               /* the SoupCookie object is freed when the whole list gets updated */
+       }
+}
+
+
+static void cm_button_delete_clicked_cb(GtkToolButton *button, CookieManagerPage *cmp)
+{
+       GtkTreeIter iter, iter_store, child;
+       GtkTreeModel *model;
+       GtkTreeSelection *selection;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->treeview));
+       if (! gtk_tree_selection_get_selected(selection, &model, &iter))
+               return;
+
+       if (gtk_tree_model_iter_has_child(model, &iter))
+       {
+               GtkTreePath *path = gtk_tree_model_get_path(model, &iter);
+
+               while (gtk_tree_model_iter_children(model, &child, &iter))
+               {
+                       cm_delete_cookie(cmp, model, &child);
+                       cm_store_remove(cmp, &child);
+                       /* we retrieve again the iter at path because it got invalid by the delete operation */
+                       gtk_tree_model_get_iter(model, &iter, path);
+               }
+               gtk_tree_path_free(path);
+               /* remove/hide the parent */
+               gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(priv->filter),
+                       &iter_store, &iter);
+               if (gtk_tree_model_iter_has_child(GTK_TREE_MODEL(priv->store), &iter_store))
+                       gtk_tree_store_set(priv->store, &iter_store, COOKIE_MANAGER_COL_VISIBLE, FALSE, -1);
+               else
+                       cm_store_remove(cmp, &iter);
+       }
+       else
+       {
+               GtkTreePath *path_store, *path_model;
+
+               gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(priv->filter),
+                       &iter_store, &iter);
+               path_store = gtk_tree_model_get_path(GTK_TREE_MODEL(priv->store), &iter_store);
+               path_model = gtk_tree_model_get_path(model, &iter);
+
+               cm_delete_cookie(cmp, model, &iter);
+               gtk_tree_store_remove(priv->store, &iter_store);
+
+               /* check whether the parent still has children, otherwise delete it */
+               if (gtk_tree_path_up(path_store))
+               {
+                       gtk_tree_model_get_iter(GTK_TREE_MODEL(priv->store), &iter_store, path_store);
+                       if (! gtk_tree_model_iter_has_child(GTK_TREE_MODEL(priv->store), &iter_store))
+                               /* remove the empty parent */
+                               gtk_tree_store_remove(priv->store, &iter_store);
+               }
+               /* now for the filter model */
+               if (gtk_tree_path_up(path_model))
+               {
+                       gtk_tree_model_get_iter(model, &iter, path_model);
+                       if (! gtk_tree_model_iter_has_child(model, &iter))
+                       {
+                               gtk_tree_model_filter_convert_iter_to_child_iter(
+                                       GTK_TREE_MODEL_FILTER(priv->filter), &iter_store, &iter);
+                               /* hide the empty parent */
+                               gtk_tree_store_set(priv->store, &iter_store, COOKIE_MANAGER_COL_VISIBLE, FALSE, -1);
+                       }
+               }
+               gtk_tree_path_free(path_store);
+               gtk_tree_path_free(path_model);
+       }
+}
+
+
+static void cm_delete_all_cookies_real(CookieManagerPage *cmp)
+{
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+       GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(priv->treeview));
+       GtkTreeIter iter, iter_store, child;
+       GtkTreePath *path_first, *path;
+
+       path_first = gtk_tree_path_new_first();
+       while (gtk_tree_model_get_iter(model, &iter, path_first))
+       {
+               path = gtk_tree_model_get_path(model, &iter);
+               while (gtk_tree_model_iter_children(model, &child, &iter))
+               {
+                       cm_delete_cookie(cmp, model, &child);
+                       cm_store_remove(cmp, &child);
+                       /* we retrieve again the iter at path because it got invalid by the delete operation */
+                       gtk_tree_model_get_iter(model, &iter, path);
+               }
+               gtk_tree_path_free(path);
+               /* remove/hide the parent */
+               gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(priv->filter),
+                       &iter_store, &iter);
+               if (gtk_tree_model_iter_has_child(GTK_TREE_MODEL(priv->store), &iter_store))
+                       gtk_tree_store_set(priv->store, &iter_store, COOKIE_MANAGER_COL_VISIBLE, FALSE, -1);
+               else
+                       cm_store_remove(cmp, &iter);
+       }
+       gtk_tree_path_free(path_first);
+
+       /* now that we deleted all matching cookies, we reset the filter */
+       gtk_entry_set_text(GTK_ENTRY(priv->filter_entry), "");
+       cm_set_button_sensitiveness(cmp, FALSE);
+}
+
+
+static void cm_button_delete_all_clicked_cb(GtkToolButton *button, CookieManagerPage *cmp)
+{
+       GtkWidget *dialog;
+       const gchar *filter_text;
+       MidoriBrowser *toplevel = midori_browser_get_for_widget(GTK_WIDGET(button));
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       dialog = gtk_message_dialog_new(GTK_WINDOW(toplevel),
+               GTK_DIALOG_DESTROY_WITH_PARENT,
+               GTK_MESSAGE_QUESTION,
+               GTK_BUTTONS_YES_NO,
+               _("Do you really want to delete all cookies?"));
+
+       gtk_window_set_title(GTK_WINDOW(dialog), _("Question"));
+       /* steal Midori's icon :) */
+       if (toplevel != NULL)
+               gtk_window_set_icon_name(GTK_WINDOW(dialog), gtk_window_get_icon_name(GTK_WINDOW(toplevel)));
+
+       filter_text = gtk_entry_get_text(GTK_ENTRY(priv->filter_entry));
+       if (*filter_text != '\0')
+       {
+               gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),
+                       _("Only cookies which match the filter will be deleted."));
+       }
+
+       if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES)
+               cm_delete_all_cookies_real(cmp);
+
+       gtk_widget_destroy(dialog);
+}
+
+
+static void cm_tree_drag_data_get_cb(GtkWidget *widget, GdkDragContext *drag_context,
+                                                                        GtkSelectionData *data, guint info, guint ltime,
+                                                                        CookieManagerPage *cmp)
+{
+       GtkTreeIter iter, iter_store;
+       GtkTreeSelection *selection;
+       GtkTreeModel *model;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->treeview));
+       if (! gtk_tree_selection_get_selected(selection, &model, &iter))
+               return;
+
+       gtk_tree_model_filter_convert_iter_to_child_iter(
+               GTK_TREE_MODEL_FILTER(model), &iter_store, &iter);
+
+       if (gtk_tree_store_iter_is_valid(priv->store, &iter_store))
+       {
+               SoupCookie *cookie;
+               gchar *name, *text;
+
+               gtk_tree_model_get(model, &iter,
+                       COOKIE_MANAGER_COL_NAME, &name,
+                       COOKIE_MANAGER_COL_COOKIE, &cookie,
+                       -1);
+
+               if (cookie == NULL && name != NULL)
+               {
+                       /* skip a leading dot */
+                       text = (*name == '.') ? name + 1 : name;
+
+                       gtk_selection_data_set_text(data, text, -1);
+               }
+               g_free(name);
+       }
+}
+
+
+static gchar *cm_get_cookie_description_text(SoupCookie *cookie)
+{
+       static gchar date_fmt[512];
+       gchar *expires;
+       gchar *text;
+       time_t expiration_time;
+       const struct tm *tm;
+
+       g_return_val_if_fail(cookie != NULL, NULL);
+
+       if (cookie->expires != NULL)
+       {
+               expiration_time = soup_date_to_time_t(cookie->expires);
+               tm = localtime(&expiration_time);
+               /* even if some gcc versions complain about "%c", there is nothing wrong with and here we
+                * want to use it */
+               strftime(date_fmt, sizeof(date_fmt), "%c", tm);
+               expires = date_fmt;
+       }
+       else
+               expires = _("At the end of the session");
+
+       text = g_markup_printf_escaped(
+                       _("<b>Host</b>: %s\n<b>Name</b>: %s\n<b>Value</b>: %s\n<b>Path</b>: %s\n"
+                         "<b>Secure</b>: %s\n<b>Expires</b>: %s"),
+                       cookie->domain,
+                       cookie->name,
+                       cookie->value,
+                       cookie->path,
+                       cookie->secure ? _("Yes") : _("No"),
+                       expires);
+
+       return text;
+}
+
+
+#if GTK_CHECK_VERSION(2, 12, 0)
+static gboolean cm_tree_query_tooltip(GtkWidget *widget, gint x, gint y, gboolean keyboard_mode,
+                                                                         GtkTooltip *tooltip, CookieManagerPage *cmp)
+{
+       GtkTreeIter iter;
+       GtkTreeModel *model;
+
+       if (gtk_tree_view_get_tooltip_context(GTK_TREE_VIEW(widget), &x, &y,
+                       keyboard_mode, &model, NULL, &iter))
+       {
+               gchar *tooltip_text;
+               SoupCookie *cookie;
+
+               gtk_tree_model_get(model, &iter, COOKIE_MANAGER_COL_COOKIE, &cookie, -1);
+
+               if (cookie == NULL) /* not an item */
+                       return FALSE;
+
+               tooltip_text = cm_get_cookie_description_text(cookie);
+
+               gtk_tooltip_set_markup(tooltip, tooltip_text);
+
+               g_free(tooltip_text);
+
+               return TRUE;
+       }
+
+       return FALSE;
+}
+#endif
+
+
+static gboolean cm_filter_match(const gchar *haystack, const gchar *needle)
+{
+       gchar *haystack_lowered, *needle_lowered;
+       gboolean result;
+
+       /* empty strings always match */
+       if (haystack == NULL || needle == NULL || *needle == '\0')
+               return TRUE;
+
+       haystack_lowered = g_utf8_strdown(haystack, -1);
+       needle_lowered = g_utf8_strdown(needle, -1);
+
+       /* if one of both could not be converted into lower case, skip those */
+       if (haystack_lowered == NULL || needle_lowered == NULL)
+               return FALSE;
+
+       result = (strstr(haystack_lowered, needle_lowered) != NULL);
+
+       g_free(haystack_lowered);
+       g_free(needle_lowered);
+
+       return result;
+}
+
+
+static void cm_filter_tree(CookieManagerPage *cmp, const gchar *filter_text)
+{
+       GtkTreeIter iter, child;
+       GtkTreeModel *model;
+       gboolean show_child, show_parent;
+       gboolean child_visible;
+       gint i, n;
+       gchar *name;
+       gchar *domain;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       model = GTK_TREE_MODEL(priv->store);
+       if (! gtk_tree_model_get_iter_first(model, &iter))
+               return;
+
+       do
+       {
+               if (gtk_tree_model_iter_has_child(model, &iter))
+               {
+                       child_visible = FALSE;
+
+                       gtk_tree_model_get(model, &iter, COOKIE_MANAGER_COL_NAME, &domain, -1);
+                       show_parent = cm_filter_match(domain, filter_text);
+                       g_free(domain);
+                       n = gtk_tree_model_iter_n_children(model, &iter);
+                       for (i = 0; i < n; i++)
+                       {
+                               gtk_tree_model_iter_nth_child(model, &child, &iter, i);
+
+                               gtk_tree_model_get(model, &child, COOKIE_MANAGER_COL_NAME, &name, -1);
+                               show_child = show_parent || cm_filter_match(name, filter_text);
+                               g_free(name);
+
+                               if (show_child)
+                                       child_visible = TRUE;
+
+                               gtk_tree_store_set(priv->store, &child, COOKIE_MANAGER_COL_VISIBLE, show_child, -1);
+                       }
+                       gtk_tree_store_set(priv->store, &iter, COOKIE_MANAGER_COL_VISIBLE, child_visible, -1);
+               }
+       }
+       while (gtk_tree_model_iter_next(model, &iter));
+}
+
+
+static void cm_filter_entry_changed_cb(GtkEditable *editable, CookieManagerPage *cmp)
+{
+       const gchar *text = gtk_entry_get_text(GTK_ENTRY(editable));
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       cm_filter_tree(cmp, text);
+
+       if (*text != '\0')
+               gtk_tree_view_expand_all(GTK_TREE_VIEW(priv->treeview));
+       else
+               gtk_tree_view_collapse_all(GTK_TREE_VIEW(priv->treeview));
+}
+
+
+static void cm_filter_entry_clear_icon_released_cb(GtkIconEntry *e, gint pos, gint btn, gpointer data)
+{
+       if (pos == GTK_ICON_ENTRY_SECONDARY)
+               gtk_entry_set_text(GTK_ENTRY(e), "");
+}
+
+
+static void cm_tree_selection_changed_cb(GtkTreeSelection *selection, CookieManagerPage *cmp)
+{
+       GtkTreeIter iter, iter_store;
+       GtkTreeModel *model;
+       gchar *text;
+       gboolean valid = TRUE;
+       gboolean delete_possible = FALSE;
+       SoupCookie *cookie;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       if (! gtk_tree_selection_get_selected(selection, &model, &iter))
+               valid = FALSE;
+       else
+               gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model),
+                       &iter_store, &iter);
+
+       if (valid && gtk_tree_store_iter_is_valid(priv->store, &iter_store))
+       {
+               delete_possible = TRUE;
+
+               gtk_tree_model_get(model, &iter, COOKIE_MANAGER_COL_COOKIE, &cookie, -1);
+               if (cookie != NULL)
+               {
+                       text = cm_get_cookie_description_text(cookie);
+
+                       gtk_label_set_markup(GTK_LABEL(priv->desc_label), text);
+
+                       g_free(text);
+               }
+               else
+                       valid = FALSE;
+       }
+       /* This is a bit hack'ish but we add some empty lines to get a minimum height of the
+        * label at the bottom without any font size calculation. */
+       if (! valid)
+               gtk_label_set_text(GTK_LABEL(priv->desc_label), CM_EMPTY_LABEL_TEXT);
+       cm_set_button_sensitiveness(cmp, delete_possible);
+}
+
+
+static void cm_tree_show_popup_menu(GtkWidget *widget, GdkEventButton *event, CookieManagerPage *cmp)
+{
+       gint button, event_time;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       if (event != NULL)
+       {
+               button = event->button;
+               event_time = event->time;
+       }
+       else
+       {
+               button = 0;
+               event_time = gtk_get_current_event_time ();
+       }
+
+       gtk_menu_popup(GTK_MENU(priv->popup_menu), NULL, NULL, NULL, NULL, button, event_time);
+}
+
+
+static gboolean  cm_tree_popup_menu_cb(GtkWidget *widget, CookieManagerPage *cmp)
+{
+       cm_tree_show_popup_menu(widget, NULL, cmp);
+       return TRUE;
+}
+
+
+static gboolean cm_tree_button_release_event_cb(GtkWidget *widget, GdkEventButton *ev,
+                                                                                               CookieManagerPage *cmp)
+{
+       if (ev->button == 3)
+       {
+               cm_tree_show_popup_menu(widget, ev, cmp);
+               return TRUE;
+       }
+       return FALSE;
+}
+
+
+static gboolean cm_tree_button_press_event_cb(GtkWidget *widget, GdkEventButton *ev,
+                                                                                         CookieManagerPage *cmp)
+{
+       if (ev->type == GDK_2BUTTON_PRESS)
+       {
+               GtkTreeSelection *selection;
+               GtkTreeModel *model;
+               GtkTreeIter iter;
+
+               selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget));
+
+               if (gtk_tree_selection_get_selected(selection, &model, &iter))
+               {
+                       /* double click on parent node expands/collapses it */
+                       if (gtk_tree_model_iter_has_child(model, &iter))
+                       {
+                               GtkTreePath *path = gtk_tree_model_get_path(model, &iter);
+
+                               if (gtk_tree_view_row_expanded(GTK_TREE_VIEW(widget), path))
+                                       gtk_tree_view_collapse_row(GTK_TREE_VIEW(widget), path);
+                               else
+                                       gtk_tree_view_expand_row(GTK_TREE_VIEW(widget), path, FALSE);
+
+                               gtk_tree_path_free(path);
+
+                               return TRUE;
+                       }
+               }
+       }
+
+       return FALSE;
+}
+
+
+static GtkWidget *cm_tree_prepare(CookieManagerPage *cmp)
+{
+       GtkCellRenderer *renderer;
+       GtkTreeViewColumn *column;
+       GtkTreeSelection *sel;
+       GtkWidget *item;
+       GtkWidget *menu;
+       GtkWidget *treeview;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(cmp);
+
+       treeview = priv->treeview = gtk_tree_view_new();
+
+       renderer = gtk_cell_renderer_text_new();
+       column = gtk_tree_view_column_new_with_attributes(
+               _("Name"), renderer, "text", COOKIE_MANAGER_COL_NAME, NULL);
+       gtk_tree_view_column_set_sort_indicator(column, TRUE);
+       gtk_tree_view_column_set_sort_column_id(column, COOKIE_MANAGER_COL_NAME);
+       gtk_tree_view_column_set_resizable(column, TRUE);
+       gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
+
+       gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE);
+       gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE);
+       gtk_tree_view_set_search_column(GTK_TREE_VIEW(treeview), COOKIE_MANAGER_COL_NAME);
+
+       /* selection handling */
+       sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
+       gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
+
+       /* create the main store */
+       priv->store = gtk_tree_store_new(COOKIE_MANAGER_N_COLUMNS,
+               G_TYPE_STRING, SOUP_TYPE_COOKIE, G_TYPE_BOOLEAN);
+       gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(priv->store),
+               COOKIE_MANAGER_COL_NAME, GTK_SORT_ASCENDING);
+
+       /* setting filter and model */
+       priv->filter = gtk_tree_model_filter_new(GTK_TREE_MODEL(priv->store), NULL);
+       gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(priv->filter),
+               COOKIE_MANAGER_COL_VISIBLE);
+       gtk_tree_view_set_model(GTK_TREE_VIEW(priv->treeview), GTK_TREE_MODEL(priv->filter));
+       g_object_unref(priv->store);
+       g_object_unref(priv->filter);
+
+       /* signals */
+       g_signal_connect(sel, "changed", G_CALLBACK(cm_tree_selection_changed_cb), cmp);
+       g_signal_connect(treeview, "button-press-event", G_CALLBACK(cm_tree_button_press_event_cb), cmp);
+       g_signal_connect(treeview, "button-release-event", G_CALLBACK(cm_tree_button_release_event_cb), cmp);
+       g_signal_connect(treeview, "popup-menu", G_CALLBACK(cm_tree_popup_menu_cb), cmp);
+
+       /* tooltips */
+#if GTK_CHECK_VERSION(2, 12, 0)
+       gtk_widget_set_has_tooltip(treeview, TRUE);
+       g_signal_connect(treeview, "query-tooltip", G_CALLBACK(cm_tree_query_tooltip), cmp);
+#endif
+
+       /* drag'n'drop */
+       gtk_tree_view_enable_model_drag_source(
+               GTK_TREE_VIEW(treeview),
+               GDK_BUTTON1_MASK,
+               NULL,
+               0,
+               GDK_ACTION_COPY
+       );
+       gtk_drag_source_add_text_targets(treeview);
+       /*gtk_drag_source_add_uri_targets(treeview);*/
+       g_signal_connect(treeview, "drag-data-get", G_CALLBACK(cm_tree_drag_data_get_cb), cmp);
+
+       /* popup menu */
+       priv->popup_menu = menu = gtk_menu_new();
+
+       item = gtk_image_menu_item_new_from_stock(GTK_STOCK_DELETE, NULL);
+       gtk_widget_show(item);
+       gtk_container_add(GTK_CONTAINER(menu), item);
+       g_signal_connect(item, "activate", G_CALLBACK(cm_button_delete_clicked_cb), cmp);
+       priv->delete_popup_button = item;
+
+       item = gtk_separator_menu_item_new();
+       gtk_widget_show(item);
+       gtk_container_add(GTK_CONTAINER(menu), item);
+
+       item = gtk_image_menu_item_new_with_mnemonic(_("_Expand All"));
+       gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
+               gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU));
+       gtk_widget_show(item);
+       gtk_container_add(GTK_CONTAINER(menu), item);
+       g_signal_connect(item, "activate", G_CALLBACK(cm_tree_popup_expand_activate_cb), cmp);
+       priv->expand_buttons[2] = item;
+
+       item = gtk_image_menu_item_new_with_mnemonic(_("_Collapse All"));
+       gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
+               gtk_image_new_from_icon_name(GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU));
+       gtk_widget_show(item);
+       gtk_container_add(GTK_CONTAINER(menu), item);
+       g_signal_connect(item, "activate", G_CALLBACK(cm_tree_popup_collapse_activate_cb), cmp);
+       priv->expand_buttons[3] = item;
+
+       return treeview;
+}
+
+
+static void cookie_manager_page_init(CookieManagerPage *self)
+{
+       GtkWidget *tree_swin;
+       GtkWidget *desc_swin;
+       GtkWidget *paned;
+       GtkWidget *filter_hbox;
+       GtkWidget *filter_label;
+       GtkWidget *treeview;
+       SoupSession *session;
+       CookieManagerPagePrivate *priv = COOKIE_MANAGER_PAGE_GET_PRIVATE(self);
+
+       cm_create_toolbar(self);
+
+       priv->desc_label = gtk_label_new(CM_EMPTY_LABEL_TEXT);
+       gtk_label_set_selectable(GTK_LABEL(priv->desc_label), TRUE);
+       gtk_label_set_line_wrap(GTK_LABEL(priv->desc_label), TRUE);
+       gtk_label_set_line_wrap_mode(GTK_LABEL(priv->desc_label), PANGO_WRAP_CHAR);
+       gtk_misc_set_alignment(GTK_MISC(priv->desc_label), 0, 0);
+       gtk_misc_set_padding(GTK_MISC(priv->desc_label), 3, 3);
+       gtk_widget_show(priv->desc_label);
+
+       desc_swin = gtk_scrolled_window_new(NULL, NULL);
+       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(desc_swin),
+               GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER);
+       gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(desc_swin), GTK_SHADOW_NONE);
+       gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(desc_swin), priv->desc_label);
+       gtk_widget_show(desc_swin);
+
+       treeview = cm_tree_prepare(self);
+       gtk_widget_show(treeview);
+
+       tree_swin = gtk_scrolled_window_new(NULL, NULL);
+       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tree_swin),
+               GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+       gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(tree_swin), GTK_SHADOW_IN);
+       gtk_container_add(GTK_CONTAINER(tree_swin), treeview);
+       gtk_widget_show(tree_swin);
+
+       filter_label = gtk_label_new(_("Filter:"));
+       gtk_widget_show(filter_label);
+
+       priv->filter_entry = gtk_icon_entry_new();
+       gtk_widget_set_tooltip_text(priv->filter_entry,
+               _("Enter a filter string to show only cookies whose name or domain "
+                 "field match the entered filter"));
+       gtk_widget_show(priv->filter_entry);
+       gtk_icon_entry_set_icon_from_stock(GTK_ICON_ENTRY(priv->filter_entry),
+               GTK_ICON_ENTRY_SECONDARY, GTK_STOCK_CLEAR);
+       gtk_icon_entry_set_icon_highlight(GTK_ICON_ENTRY (priv->filter_entry),
+               GTK_ICON_ENTRY_SECONDARY, TRUE);
+       g_signal_connect(priv->filter_entry, "icon-release",
+               G_CALLBACK(cm_filter_entry_clear_icon_released_cb), NULL);
+       g_signal_connect(priv->filter_entry, "changed", G_CALLBACK(cm_filter_entry_changed_cb), self);
+       g_signal_connect(priv->filter_entry, "activate", G_CALLBACK(cm_filter_entry_changed_cb), self);
+
+       filter_hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(filter_hbox), filter_label, FALSE, FALSE, 3);
+       gtk_box_pack_start(GTK_BOX(filter_hbox), priv->filter_entry, TRUE, TRUE, 3);
+       gtk_widget_show(filter_hbox);
+
+       paned = gtk_vpaned_new();
+       gtk_paned_pack1(GTK_PANED(paned), tree_swin, TRUE, FALSE);
+       gtk_paned_pack2(GTK_PANED(paned), desc_swin, FALSE, FALSE);
+       gtk_widget_show(paned);
+
+       gtk_box_pack_start(GTK_BOX(self), filter_hbox, FALSE, FALSE, 5);
+       gtk_box_pack_start(GTK_BOX(self), paned, TRUE, TRUE, 0);
+
+       /* setup soup */
+       session = webkit_get_default_session();
+       priv->jar = SOUP_COOKIE_JAR(soup_session_get_feature(session, soup_cookie_jar_get_type()));
+       g_signal_connect(priv->jar, "changed", G_CALLBACK(cm_jar_changed_cb), self);
+
+       cm_refresh_store(self);
+}
+
+
+GtkWidget *cookie_manager_page_new(void)
+{
+       return g_object_new(COOKIE_MANAGER_PAGE_TYPE, NULL);
+}
+
diff --git a/extensions/cookie-manager/cookie-manager-page.h b/extensions/cookie-manager/cookie-manager-page.h
new file mode 100644 (file)
index 0000000..37e02c0
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ Copyright (C) 2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#ifndef __COOKIE_MANAGER_PAGE_H__
+#define __COOKIE_MANAGER_PAGE_H__
+
+G_BEGIN_DECLS
+
+#define COOKIE_MANAGER_PAGE_TYPE                               (cookie_manager_page_get_type())
+#define COOKIE_MANAGER_PAGE(obj)                               (G_TYPE_CHECK_INSTANCE_CAST((obj),\
+                       COOKIE_MANAGER_PAGE_TYPE, CookieManagerPage))
+#define COOKIE_MANAGER_PAGE_CLASS(klass)               (G_TYPE_CHECK_CLASS_CAST((klass),\
+                       COOKIE_MANAGER_PAGE_TYPE, CookieManagerPageClass))
+#define IS_COOKIE_MANAGER_PAGE(obj)                            (G_TYPE_CHECK_INSTANCE_TYPE((obj),\
+                       COOKIE_MANAGER_PAGE_TYPE))
+#define IS_COOKIE_MANAGER_PAGE_CLASS(klass)            (G_TYPE_CHECK_CLASS_TYPE((klass),\
+                       COOKIE_MANAGER_PAGE_TYPE))
+
+typedef struct _CookieManagerPage                              CookieManagerPage;
+typedef struct _CookieManagerPageClass                 CookieManagerPageClass;
+
+struct _CookieManagerPage
+{
+       GtkVBox parent;
+};
+
+struct _CookieManagerPageClass
+{
+       GtkVBoxClass parent_class;
+};
+
+GType          cookie_manager_page_get_type            (void);
+GtkWidget*     cookie_manager_page_new                         (void);
+
+G_END_DECLS
+
+#endif /* __COOKIE_MANAGER_PAGE_H__ */
diff --git a/extensions/cookie-manager/cookie-manager.c b/extensions/cookie-manager/cookie-manager.c
new file mode 100644 (file)
index 0000000..38d557a
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ Copyright (C) 2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#include "config.h"
+#include <midori/midori.h>
+#include <webkit/webkit.h>
+
+#include "cookie-manager.h"
+#include "cookie-manager-page.h"
+
+
+
+typedef struct
+{
+       MidoriApp *app;
+       MidoriBrowser *browser;
+       MidoriExtension *extension;
+       GtkWidget *panel_page;
+} CMData;
+
+static void cm_app_add_browser_cb(MidoriApp *app, MidoriBrowser *browser, MidoriExtension *ext);
+static void cm_deactivate_cb(MidoriExtension *extension, CMData *cmdata);
+
+
+
+static void cm_browser_close_cb(GtkObject *browser, CMData *cmdata)
+{
+       g_signal_handlers_disconnect_by_func(cmdata->extension, cm_deactivate_cb, cmdata);
+       g_signal_handlers_disconnect_by_func(cmdata->browser, cm_browser_close_cb, cmdata);
+
+       /* the panel_page widget gets destroyed automatically when a browser is closed but not
+        * when the extension is deactivated */
+       if (cmdata->panel_page != NULL && IS_COOKIE_MANAGER_PAGE(cmdata->panel_page))
+               gtk_widget_destroy(cmdata->panel_page);
+
+       g_free(cmdata);
+}
+
+
+static void cm_deactivate_cb(MidoriExtension *extension, CMData *cmdata)
+{
+       g_signal_handlers_disconnect_by_func(cmdata->app, cm_app_add_browser_cb, extension);
+       cm_browser_close_cb(NULL, cmdata);
+}
+
+
+static void cm_app_add_browser_cb(MidoriApp *app, MidoriBrowser *browser, MidoriExtension *ext)
+{
+       GtkWidget *panel;
+       GtkWidget *page;
+       CMData *cmdata;
+
+       panel = katze_object_get_object(browser, "panel");
+
+       page = cookie_manager_page_new();
+       gtk_widget_show(page);
+       midori_panel_append_page(MIDORI_PANEL(panel), MIDORI_VIEWABLE(page));
+
+       cmdata = g_new0(CMData, 1);
+       cmdata->app = app;
+       cmdata->browser = browser;
+       cmdata->extension = ext;
+       cmdata->panel_page = page;
+
+       g_signal_connect(browser, "destroy", G_CALLBACK(cm_browser_close_cb), cmdata);
+       g_signal_connect(ext, "deactivate", G_CALLBACK(cm_deactivate_cb), cmdata);
+
+       g_object_unref(panel);
+}
+
+
+static void cm_activate_cb(MidoriExtension *extension, MidoriApp *app, gpointer data)
+{
+       guint i;
+       KatzeArray *browsers;
+       MidoriBrowser *browser;
+
+       /* add the cookie manager panel page to existing browsers */
+       browsers = katze_object_get_object(app, "browsers");
+       i = 0;
+       while ((browser = katze_array_get_nth_item(browsers, i++)))
+               cm_app_add_browser_cb(app, browser, extension);
+       g_object_unref(browsers);
+
+       g_signal_connect(app, "add-browser", G_CALLBACK(cm_app_add_browser_cb), extension);
+}
+
+
+MidoriExtension *extension_init(void)
+{
+       MidoriExtension *extension;
+       GtkIconFactory *factory;
+       GtkIconSource *icon_source;
+       GtkIconSet *icon_set;
+       static GtkStockItem items[] =
+       {
+               { STOCK_COOKIE_MANAGER, N_("_Cookie Manager"), 0, 0, NULL }
+       };
+
+       factory = gtk_icon_factory_new();
+       gtk_stock_add(items, G_N_ELEMENTS(items));
+       icon_set = gtk_icon_set_new();
+       icon_source = gtk_icon_source_new();
+       gtk_icon_source_set_icon_name(icon_source, GTK_STOCK_DIALOG_AUTHENTICATION);
+       gtk_icon_set_add_source(icon_set, icon_source);
+       gtk_icon_source_free(icon_source);
+       gtk_icon_factory_add(factory, STOCK_COOKIE_MANAGER, icon_set);
+       gtk_icon_set_unref(icon_set);
+       gtk_icon_factory_add_default(factory);
+       g_object_unref(factory);
+
+       extension = g_object_new(MIDORI_TYPE_EXTENSION,
+               "name", _("Cookie Manager"),
+               "description", _("List, view and delete cookies"),
+               "version", "0.2",
+               "authors", "Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>",
+               NULL);
+
+       g_signal_connect(extension, "activate", G_CALLBACK(cm_activate_cb), NULL);
+
+       return extension;
+}
diff --git a/extensions/cookie-manager/cookie-manager.h b/extensions/cookie-manager/cookie-manager.h
new file mode 100644 (file)
index 0000000..9f6a399
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+ Copyright (C) 2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+
+#ifndef __COOKIE_MANAGER_H__
+#define __COOKIE_MANAGER_H__
+
+
+#define STOCK_COOKIE_MANAGER "cookie-manager"
+
+
+#endif /* __COOKIE_MANAGER_H__ */
diff --git a/extensions/feed-panel/feed-atom.c b/extensions/feed-panel/feed-atom.c
new file mode 100644 (file)
index 0000000..de905f2
--- /dev/null
@@ -0,0 +1,368 @@
+/*
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#include "feed-atom.h"
+
+#define atom_get_link_attribute(item, attribute) \
+    (gchar*)g_object_get_data (G_OBJECT (item), attribute)
+
+#define atom_set_link_attribute(item, attribute, value) \
+    g_object_set_data (G_OBJECT (item), attribute, value)
+
+static gboolean
+atom_is_valid (FeedParser* fparser)
+{
+    xmlNodePtr node;
+
+    node = fparser->node;
+
+    if (!(xmlStrcmp (node->name, BAD_CAST "feed")) &&
+        !(xmlStrcmp (node->ns->href, BAD_CAST "http://www.w3.org/2005/Atom"))
+       )
+        return TRUE;
+
+    return FALSE;
+}
+
+static gboolean
+atom_update (FeedParser* fparser)
+{
+    xmlNodePtr node;
+    xmlNodePtr child;
+    gint64 date;
+    gint64 newdate;
+
+    date = katze_item_get_added (fparser->item);
+
+    node = fparser->node;
+    child = node->children;
+    while (child)
+    {
+        if (child->type == XML_ELEMENT_NODE)
+        {
+            if (!(xmlStrcmp (child->name, BAD_CAST "updated")))
+            {
+                fparser->node = child;
+                newdate = feed_get_element_date (fparser);
+                fparser->node = node;
+                return (date != newdate);
+            }
+        }
+        child = child->next;
+    }
+    return TRUE;
+}
+
+static gboolean
+atom_preferred_link (const gchar* old,
+                     const gchar* new)
+{
+    guint i;
+    gint iold;
+    gint inew;
+    gchar* rels[5] =
+    {
+        "enclosure",
+        "via",
+        "related",
+        "alternate",
+        "self",
+    };
+
+    iold = inew = -1;
+    for (i = 0; i < 5; i++)
+    {
+        if (old && g_str_equal (old, rels[i]))
+            iold = i;
+        if (new && g_str_equal (new, rels[i]))
+            inew = i;
+    }
+    return (inew > iold);
+}
+
+static void
+atom_get_link (KatzeItem* item,
+               xmlNodePtr node)
+{
+    gchar* oldtype;
+    gchar* newtype;
+    gchar* oldrel;
+    gchar* newrel;
+    gchar* href;
+    gboolean oldishtml;
+    gboolean newishtml;
+    gboolean newlink;
+
+    newlink = FALSE;
+    oldtype = atom_get_link_attribute (item, "linktype");
+    oldrel = atom_get_link_attribute (item, "linkrel");
+
+    newtype = (gchar*)xmlGetProp (node, BAD_CAST "type");
+    newrel = (gchar*)xmlGetProp (node, BAD_CAST "rel");
+    href = (gchar*)xmlGetProp (node, BAD_CAST "href");
+
+    if (!newrel)
+        newrel = g_strdup ("alternate");
+
+    oldishtml = (oldtype && g_str_equal (oldtype, "text/html"));
+    newishtml = (newtype && g_str_equal (newtype, "text/html"));
+
+    /* prefer HTML links over anything else.
+     * if the previous link was already HTML, decide which link
+     * we prefer.
+     */
+    if ((newishtml && oldishtml) || (!newishtml && !oldishtml))
+        newlink = atom_preferred_link (oldrel, newrel);
+    else
+        newlink = newishtml;
+
+    if (newlink)
+    {
+        katze_item_set_uri (item, href);
+        atom_set_link_attribute (item, "linkrel", newrel);
+        atom_set_link_attribute (item, "linktype", newrel);
+    }
+    else
+    {
+        xmlFree (href);
+        xmlFree (newrel);
+        xmlFree (newtype);
+    }
+}
+
+static gchar*
+atom_get_title (FeedParser* fparser)
+{
+    if (!katze_item_get_name (fparser->item))
+    {
+        gchar* type;
+
+        type = (gchar*)xmlGetProp (fparser->node, BAD_CAST "type");
+        if (type)
+        {
+            gchar* content = NULL;
+
+            if (g_str_equal (type, "html") ||
+                g_str_equal (type, "xhtml"))
+                content = feed_get_element_markup (fparser);
+
+            xmlFree (type);
+
+            if (content)
+                return content;
+        }
+    }
+    return feed_get_element_string (fparser);
+}
+
+static void
+atom_preparse_entry (FeedParser* fparser)
+{
+    fparser->item = katze_item_new ();
+}
+
+static void
+atom_parse_entry (FeedParser* fparser)
+{
+    xmlNodePtr node;
+    gchar* content;
+    gint64 date;
+
+    node = fparser->node;
+    content = NULL;
+
+    if (!xmlStrcmp (node->name, BAD_CAST "id"))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_token (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "title"))
+    {
+        content = atom_get_title (fparser);
+        katze_item_set_name (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "summary"))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_text (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "updated"))
+    {
+        date = feed_get_element_date (fparser);
+        katze_item_set_added (fparser->item, date);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "icon"))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_icon (fparser->item, content);
+    }
+    /* FIXME content can be used in some cases where there
+     * is no summary, but it needs additional work,
+     * as it can be HTML, or base64 encoded.
+     * see the spec.
+     */
+    else if (!xmlStrcmp (node->name, BAD_CAST "content"))
+    {
+        /* Only retrieve content if there is no summary */
+        if (!katze_item_get_text (fparser->item))
+        {
+            content = feed_get_element_string (fparser);
+            katze_item_set_text (fparser->item, content);
+        }
+    }
+    else if (!(xmlStrcmp (node->name, BAD_CAST "link")))
+        atom_get_link (fparser->item, node);
+
+    g_free (content);
+}
+
+static void
+atom_postparse_entry (FeedParser* fparser)
+{
+    if (!*fparser->error)
+    {
+        /*
+        * Verify that the required Atom elements are added
+        * (as per the spec)
+        */
+        if (!katze_item_get_token (fparser->item) ||
+            !katze_item_get_name (fparser->item) ||
+            !katze_item_get_uri (fparser->item) ||
+            !katze_item_get_added (fparser->item))
+        {
+            feed_parser_set_error (fparser, FEED_PARSE_ERROR_MISSING_ELEMENT,
+                                   _("Failed to find required Atom \"entry\" elements in XML data."));
+        }
+    }
+
+    if (KATZE_IS_ITEM (fparser->item))
+    {
+        atom_set_link_attribute (fparser->item, "linkrel", NULL);
+        atom_set_link_attribute (fparser->item, "linktype", NULL);
+
+        if (*fparser->error)
+        {
+            g_object_unref (fparser->item);
+            fparser->item = NULL;
+        }
+    }
+}
+
+static void
+atom_parse_feed (FeedParser* fparser)
+{
+    FeedParser* eparser;
+    xmlNodePtr node;
+    gchar* content;
+    gint64 date;
+
+    node = fparser->node;
+    content = NULL;
+
+    if (!xmlStrcmp (node->name, BAD_CAST "id"))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_token (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "title"))
+    {
+        content = atom_get_title (fparser);
+        katze_item_set_name (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "subtitle"))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_text (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "updated"))
+    {
+        date = feed_get_element_date (fparser);
+        katze_item_set_added (fparser->item, date);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "icon"))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_icon (fparser->item, content);
+    }
+    else if (!(xmlStrcmp (node->name, BAD_CAST "link")))
+    {
+        atom_get_link (fparser->item, node);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "entry"))
+    {
+        eparser = g_new0 (FeedParser, 1);
+        eparser->doc = fparser->doc;
+        eparser->node = fparser->node;
+        eparser->error = fparser->error;
+        eparser->preparse = atom_preparse_entry;
+        eparser->parse = atom_parse_entry;
+        eparser->postparse = atom_postparse_entry;
+
+        feed_parse_node (eparser);
+
+        if (KATZE_IS_ITEM (eparser->item))
+        {
+            KatzeItem* item;
+            if (!(item = feed_item_exists (KATZE_ARRAY (fparser->item), eparser->item)))
+                katze_array_add_item (KATZE_ARRAY (fparser->item), eparser->item);
+            else
+            {
+                g_object_unref (eparser->item);
+                katze_array_move_item (KATZE_ARRAY (fparser->item), item, 0);
+            }
+        }
+        g_free (eparser);
+
+    }
+    g_free (content);
+}
+
+static void
+atom_postparse_feed (FeedParser* fparser)
+{
+    if (KATZE_IS_ARRAY (fparser->item))
+    {
+        atom_set_link_attribute (fparser->item, "linkrel", NULL);
+        atom_set_link_attribute (fparser->item, "linktype", NULL);
+    }
+
+    if (!*fparser->error)
+    {
+        /*
+         * Verify that the required Atom elements are added
+         * (as per the spec)
+         */
+        if (!katze_item_get_token (fparser->item) ||
+            !katze_item_get_name (fparser->item) ||
+            !katze_item_get_added (fparser->item))
+        {
+            feed_parser_set_error (fparser, FEED_PARSE_ERROR_MISSING_ELEMENT,
+                                   _("Failed to find required Atom \"feed\" elements in XML data."));
+        }
+    }
+}
+
+FeedParser*
+atom_init_parser (void)
+{
+    FeedParser* fparser;
+
+    fparser = g_new0 (FeedParser, 1);
+    g_return_val_if_fail (fparser, NULL);
+
+    fparser->isvalid = atom_is_valid;
+    fparser->update = atom_update;
+    fparser->parse = atom_parse_feed;
+    fparser->postparse = atom_postparse_feed;
+
+    return fparser;
+}
+
diff --git a/extensions/feed-panel/feed-atom.h b/extensions/feed-panel/feed-atom.h
new file mode 100644 (file)
index 0000000..df73c8b
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#ifndef __FEED_ATOM_H__
+#define __FEED_ATOM_H__
+
+#include "feed-parse.h"
+
+G_BEGIN_DECLS
+
+FeedParser*
+atom_init_parser (void);
+
+G_END_DECLS
+
+#endif /* __FEED_ATOM_H__ */
+
diff --git a/extensions/feed-panel/feed-panel.c b/extensions/feed-panel/feed-panel.c
new file mode 100644 (file)
index 0000000..bbef14f
--- /dev/null
@@ -0,0 +1,900 @@
+/*
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#include "feed-panel.h"
+
+#include <midori/midori.h>
+#include <midori/sokoke.h>
+#include <time.h>
+
+#if HAVE_CONFIG_H
+    #include <config.h>
+#endif
+
+#define STOCK_FEED_PANEL "feed-panel"
+
+struct _FeedPanel
+{
+    GtkVBox parent_instance;
+
+    GtkWidget* toolbar;
+    GtkWidget* treeview;
+    GtkWidget* webview;
+    GtkWidget* delete;
+    GdkPixbuf* pixbuf;
+    KatzeNet* net;
+};
+
+struct _FeedPanelClass
+{
+    GtkVBoxClass parent_class;
+};
+
+static void
+feed_panel_viewable_iface_init (MidoriViewableIface* iface);
+
+static void
+feed_panel_insert_item (FeedPanel*    panel,
+                        GtkTreeStore* treestore,
+                        GtkTreeIter*  parent,
+                        KatzeItem*    item);
+
+static void
+feed_panel_disconnect_feed (FeedPanel*  panel,
+                            KatzeArray* feed);
+
+G_DEFINE_TYPE_WITH_CODE (FeedPanel, feed_panel, GTK_TYPE_VBOX,
+                         G_IMPLEMENT_INTERFACE (MIDORI_TYPE_VIEWABLE,
+                            feed_panel_viewable_iface_init));
+
+enum
+{
+    ADD_FEED,
+    REMOVE_FEED,
+
+    LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL];
+
+static void
+feed_panel_treeview_render_icon_cb (GtkTreeViewColumn* column,
+                                    GtkCellRenderer*   renderer,
+                                    GtkTreeModel*      model,
+                                    GtkTreeIter*       iter,
+                                    FeedPanel*         panel)
+{
+    GdkPixbuf* pixbuf;
+    KatzeItem* item;
+    KatzeItem* pitem;
+    const gchar* uri;
+
+    gtk_tree_model_get (model, iter, 0, &item, -1);
+    g_assert (KATZE_IS_ITEM (item));
+
+    if (!KATZE_IS_ARRAY (item))
+    {
+        pitem = katze_item_get_parent (item);
+        g_assert (KATZE_IS_ITEM (pitem));
+    }
+    else
+        pitem = item;
+
+    uri = katze_item_get_uri (pitem);
+    if (uri)
+    {
+        pixbuf = katze_net_load_icon (panel->net, uri, NULL, NULL, NULL);
+        if (!pixbuf)
+            pixbuf = panel->pixbuf;
+    }
+    else
+    {
+        pixbuf = gtk_widget_render_icon (panel->treeview,
+                     GTK_STOCK_DIALOG_ERROR, GTK_ICON_SIZE_MENU, NULL);
+    }
+
+    g_object_set (renderer, "pixbuf", pixbuf, NULL);
+
+    if (pixbuf != panel->pixbuf)
+        g_object_unref (pixbuf);
+}
+
+static void
+feed_panel_treeview_render_text_cb (GtkTreeViewColumn* column,
+                                    GtkCellRenderer*   renderer,
+                                    GtkTreeModel*      model,
+                                    GtkTreeIter*       iter,
+                                    GtkWidget*         treeview)
+{
+    KatzeItem* item;
+    const gchar* title;
+
+    gtk_tree_model_get (model, iter, 0, &item, -1);
+    g_assert (KATZE_IS_ITEM (item));
+
+    title = katze_item_get_name (item);
+    if (!title || !*title || g_str_equal (title, " "))
+        title = katze_item_get_text (item);
+    if (!title || !*title || g_str_equal (title, " "))
+        title = katze_item_get_uri (item);
+
+    g_object_set (renderer, "text", title, NULL);
+    g_object_unref (item);
+}
+
+static void
+feed_panel_add_item_cb (KatzeArray* parent,
+                        KatzeItem*  child,
+                        FeedPanel*  panel)
+{
+    GtkTreeModel* model;
+    GtkTreeIter iter;
+    GtkTreeIter child_iter;
+    KatzeItem* item;
+    gint i;
+
+    g_return_if_fail (FEED_IS_PANEL (panel));
+    g_return_if_fail (KATZE_IS_ARRAY (parent));
+    g_return_if_fail (KATZE_IS_ITEM (child));
+
+    model = gtk_tree_view_get_model (GTK_TREE_VIEW (panel->treeview));
+
+    if (katze_item_get_parent (KATZE_ITEM (parent)))
+    {
+        if (KATZE_IS_ARRAY (child))
+        {
+            gtk_tree_store_insert_with_values (GTK_TREE_STORE (model), &child_iter,
+                NULL, G_MAXINT, 0, child, -1);
+        }
+        else
+        {
+
+            i = 0;
+            while (gtk_tree_model_iter_nth_child (model, &iter, NULL, i++))
+            {
+                gtk_tree_model_get (model, &iter, 0, &item, -1);
+                if (item == KATZE_ITEM (parent))
+                {
+                    gtk_tree_store_insert_with_values (GTK_TREE_STORE (model), &child_iter,
+                        &iter, 0, 0, child, -1);
+
+                    g_object_unref (child);
+                    g_object_unref (item);
+                    break;
+                }
+                g_object_unref (item);
+            }
+        }
+    }
+    feed_panel_insert_item (panel, GTK_TREE_STORE (model), &child_iter, child);
+}
+
+static void
+feed_panel_remove_iter (GtkTreeModel* model,
+                        KatzeItem*    removed_item)
+{
+    guint i;
+    GtkTreeIter iter;
+
+    i = 0;
+    while (gtk_tree_model_iter_nth_child (model, &iter, NULL, i))
+    {
+        KatzeItem* item;
+
+        gtk_tree_model_get (model, &iter, 0, &item, -1);
+
+        if (item == removed_item)
+        {
+            gtk_tree_store_remove (GTK_TREE_STORE (model), &iter);
+            g_object_unref (item);
+            break;
+        }
+        g_object_unref (item);
+        i++;
+    }
+}
+
+static void
+feed_panel_remove_item_cb (KatzeArray* item,
+                           KatzeItem*  child,
+                           FeedPanel*  panel)
+{
+    GtkTreeModel* model;
+    KatzeItem* pitem;
+
+    g_return_if_fail (FEED_IS_PANEL (panel));
+    g_return_if_fail (KATZE_IS_ARRAY (item));
+    g_return_if_fail (KATZE_IS_ITEM (child));
+
+    if (KATZE_IS_ARRAY (child))
+        feed_panel_disconnect_feed (panel, KATZE_ARRAY (child));
+
+    if (!katze_item_get_parent (KATZE_ITEM (item)))
+    {
+        gint n;
+
+        n = katze_array_get_length (KATZE_ARRAY (child));
+        g_assert (n == 1);
+        pitem = katze_array_get_nth_item (KATZE_ARRAY (child), 0);
+    }
+    else
+        pitem = child;
+
+    model = gtk_tree_view_get_model (GTK_TREE_VIEW (panel->treeview));
+    feed_panel_remove_iter (model, pitem);
+    g_object_unref (pitem);
+}
+
+static void
+feed_panel_move_item_cb (KatzeArray* feed,
+                         KatzeItem*  child,
+                         gint        position,
+                         FeedPanel*  panel)
+{
+    GtkTreeModel* model;
+    GtkTreeIter iter;
+    guint i;
+
+    g_return_if_fail (FEED_IS_PANEL (panel));
+    g_return_if_fail (KATZE_IS_ARRAY (feed));
+    g_return_if_fail (KATZE_IS_ITEM (child));
+
+    model = gtk_tree_view_get_model (GTK_TREE_VIEW (panel->treeview));
+
+    i = 0;
+    while (gtk_tree_model_iter_nth_child (model, &iter, NULL, i))
+    {
+        KatzeItem* item;
+
+        gtk_tree_model_get (model, &iter, 0, &item, -1);
+
+        if (item == child)
+        {
+            gtk_tree_store_move_after (GTK_TREE_STORE (model), &iter, NULL);
+            g_object_unref (item);
+            break;
+        }
+        g_object_unref (item);
+        i++;
+    }
+}
+
+static void
+feed_panel_disconnect_feed (FeedPanel*  panel,
+                            KatzeArray* feed)
+{
+    KatzeItem* item;
+    guint i;
+
+    g_return_if_fail (KATZE_IS_ARRAY (feed));
+
+    g_signal_handlers_disconnect_by_func (feed,
+            feed_panel_add_item_cb, panel);
+    g_signal_handlers_disconnect_by_func (feed,
+            feed_panel_remove_item_cb, panel);
+    g_signal_handlers_disconnect_by_func (feed,
+            feed_panel_move_item_cb, panel);
+
+    i = 0;
+    while ((item = katze_array_get_nth_item (feed, i++)))
+    {
+        if (KATZE_IS_ARRAY (item))
+            feed_panel_disconnect_feed (panel, KATZE_ARRAY (item));
+        g_object_unref (item);
+    }
+}
+
+static void
+feed_panel_insert_item (FeedPanel*    panel,
+                        GtkTreeStore* treestore,
+                        GtkTreeIter*  parent,
+                        KatzeItem*    item)
+{
+    g_return_if_fail (KATZE_IS_ITEM (item));
+
+    if (KATZE_IS_ARRAY (item))
+    {
+        g_signal_connect_after (item, "add-item",
+            G_CALLBACK (feed_panel_add_item_cb), panel);
+        g_signal_connect_after (item, "move-item",
+            G_CALLBACK (feed_panel_move_item_cb), panel);
+
+        if (!parent)
+        {
+            g_signal_connect (item, "remove-item",
+                G_CALLBACK (feed_panel_remove_item_cb), panel);
+        }
+    }
+}
+
+static void
+feed_panel_row_activated_cb (GtkTreeView*       treeview,
+                             GtkTreePath*       path,
+                             GtkTreeViewColumn* column,
+                             FeedPanel*         panel)
+{
+    GtkTreeModel* model;
+    GtkTreeIter iter;
+    KatzeItem* item;
+    const gchar* uri;
+
+    model = gtk_tree_view_get_model (treeview);
+
+    if (gtk_tree_model_get_iter (model, &iter, path))
+    {
+        gtk_tree_model_get (model, &iter, 0, &item, -1);
+        uri = katze_item_get_uri (item);
+        if (uri && *uri)
+        {
+            MidoriWebSettings* settings;
+            MidoriBrowser* browser;
+            gint n;
+
+            browser = midori_browser_get_for_widget (GTK_WIDGET (panel));
+            n = midori_browser_add_item (browser, item);
+
+            settings = katze_object_get_object (browser, "settings");
+            if (!katze_object_get_boolean (settings, "open-tabs-in-the-background"))
+                midori_browser_set_current_page (browser, n);
+            g_object_unref (settings);
+
+        }
+        g_object_unref (item);
+    }
+}
+
+static void
+feed_panel_cursor_or_row_changed_cb (GtkTreeView* treeview,
+                                     FeedPanel*   panel)
+{
+    GtkTreeModel* model;
+    GtkTreeIter iter;
+    KatzeItem* item;
+    gboolean sensitive = FALSE;
+
+    if (katze_tree_view_get_selected_iter (treeview, &model, &iter))
+    {
+        const gchar* uri;
+        const gchar* text;
+
+        gtk_tree_model_get (model, &iter, 0, &item, -1);
+        uri = katze_item_get_uri (item);
+
+        if (KATZE_IS_ARRAY (item))
+        {
+            gint64 date;
+
+            text = NULL;
+            if (!uri)
+                text = g_strdup (katze_item_get_text (KATZE_ITEM (item)));
+            else
+            {
+                KatzeItem* parent;
+                const gchar* puri;
+
+                parent = katze_item_get_parent (item);
+                g_assert (KATZE_IS_ARRAY (parent));
+                date = katze_item_get_added (item);
+                puri = katze_item_get_uri (parent);
+                if (date)
+                {
+                    time_t date_t;
+                    const struct tm* tm;
+                    static gchar date_format[512];
+                    gchar* last_updated;
+
+                    date_t = (time_t)date;
+                    tm = localtime (&date_t);
+                    /* Some gcc versions complain about "%c" for no reason */
+                    strftime (date_format, sizeof (date_format), "%c", tm);
+    /* i18n: The local date a feed was last updated */
+                    last_updated = g_strdup_printf (C_("Feed", "Last updated: %s."),
+                                                    date_format);
+                    text = g_strdup_printf (
+                            "<html><head><title>feed</title></head>"
+                            "<body><h3>%s</h3><p />%s</body></html>",
+                            puri, last_updated);
+                    g_free (last_updated);
+                }
+                else
+                {
+                    text = g_strdup_printf (
+                            "<html><head><title>feed</title></head>"
+                            "<body><h3>%s</h3></body></html>", puri);
+                }
+            }
+            webkit_web_view_load_html_string (
+                WEBKIT_WEB_VIEW (panel->webview), text ? text : "", uri);
+            g_free ((gchar*) text);
+
+            sensitive = TRUE;
+        }
+        else
+        {
+            text = katze_item_get_text (item);
+            webkit_web_view_load_html_string (
+                WEBKIT_WEB_VIEW (panel->webview), text ? text : "", uri);
+        }
+        g_object_unref (item);
+    }
+    if (GTK_IS_WIDGET (panel->delete))
+        gtk_widget_set_sensitive (panel->delete, sensitive);
+}
+
+static void
+feed_panel_popup_item (GtkWidget*     menu,
+                       const gchar*   stock_id,
+                       const gchar*   label,
+                       KatzeItem*     item,
+                       gpointer       callback,
+                       FeedPanel*     panel)
+{
+    const gchar* uri;
+    GtkWidget* menuitem;
+
+    uri = katze_item_get_uri (item);
+
+    menuitem = gtk_image_menu_item_new_from_stock (stock_id, NULL);
+    if (label)
+        gtk_label_set_text_with_mnemonic (GTK_LABEL (gtk_bin_get_child (
+        GTK_BIN (menuitem))), label);
+    g_object_set_data (G_OBJECT (menuitem), "KatzeItem", item);
+    g_signal_connect (menuitem, "activate", G_CALLBACK (callback), panel);
+    gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+    gtk_widget_show (menuitem);
+}
+
+static void
+feed_panel_open_activate_cb (GtkWidget* menuitem,
+                             FeedPanel* panel)
+{
+    KatzeItem* item;
+    const gchar* uri;
+
+    item = (KatzeItem*)g_object_get_data (G_OBJECT (menuitem), "KatzeItem");
+    uri = katze_item_get_uri (item);
+
+    if (uri && *uri)
+    {
+        MidoriBrowser* browser;
+
+        browser = midori_browser_get_for_widget (GTK_WIDGET (panel));
+        midori_browser_set_current_uri (browser, uri);
+    }
+}
+
+static void
+feed_panel_open_in_tab_activate_cb (GtkWidget* menuitem,
+                                    FeedPanel* panel)
+{
+    KatzeItem* item;
+    const gchar* uri;
+    guint n;
+
+    item = (KatzeItem*)g_object_get_data (G_OBJECT (menuitem), "KatzeItem");
+
+    if ((uri = katze_item_get_uri (item)) && *uri)
+    {
+        MidoriWebSettings* settings;
+        MidoriBrowser* browser;
+
+        browser = midori_browser_get_for_widget (GTK_WIDGET (panel));
+        n = midori_browser_add_item (browser, item);
+
+        settings = katze_object_get_object (browser, "settings");
+        if (!katze_object_get_boolean (settings, "open-tabs-in-the-background"))
+            midori_browser_set_current_page (browser, n);
+        g_object_unref (settings);
+    }
+}
+
+static void
+feed_panel_open_in_window_activate_cb (GtkWidget* menuitem,
+                                       FeedPanel* panel)
+{
+    KatzeItem* item;
+    const gchar* uri;
+
+    item = (KatzeItem*)g_object_get_data (G_OBJECT (menuitem), "KatzeItem");
+    uri = katze_item_get_uri (item);
+
+    if (uri && *uri)
+    {
+        MidoriBrowser* browser;
+        browser = midori_browser_get_for_widget (GTK_WIDGET (panel));
+        g_signal_emit_by_name (browser, "new-window", uri);
+    }
+}
+
+static void
+feed_panel_delete_activate_cb (GtkWidget* menuitem,
+                               FeedPanel* panel)
+{
+    KatzeItem* item;
+
+    g_return_if_fail (FEED_IS_PANEL (panel));
+
+    item = (KatzeItem*)g_object_get_data (G_OBJECT (menuitem), "KatzeItem");
+    g_signal_emit (panel, signals[REMOVE_FEED], 0, item);
+}
+
+static void
+feed_panel_popup (GtkWidget*      widget,
+                  GdkEventButton* event,
+                  KatzeItem*      item,
+                  FeedPanel*      panel)
+{
+    GtkWidget* menu;
+
+    menu = gtk_menu_new ();
+    if (!KATZE_IS_ARRAY (item))
+    {
+        feed_panel_popup_item (menu, GTK_STOCK_OPEN, NULL,
+            item, feed_panel_open_activate_cb, panel);
+        feed_panel_popup_item (menu, STOCK_TAB_NEW, _("Open in New _Tab"),
+            item, feed_panel_open_in_tab_activate_cb, panel);
+        feed_panel_popup_item (menu, STOCK_WINDOW_NEW, _("Open in New _Window"),
+            item, feed_panel_open_in_window_activate_cb, panel);
+    }
+    else
+    {
+        feed_panel_popup_item (menu, GTK_STOCK_DELETE, NULL,
+            item, feed_panel_delete_activate_cb, panel);
+    }
+
+    sokoke_widget_popup (widget, GTK_MENU (menu),
+                         event, SOKOKE_MENU_POSITION_CURSOR);
+}
+
+static gboolean
+feed_panel_button_release_event_cb (GtkWidget*      widget,
+                                    GdkEventButton* event,
+                                    FeedPanel*      panel)
+{
+    GtkTreeModel* model;
+    GtkTreeIter iter;
+
+    if (event->button != 2 && event->button != 3)
+        return FALSE;
+
+    if (katze_tree_view_get_selected_iter (GTK_TREE_VIEW (widget), &model, &iter))
+    {
+        KatzeItem* item;
+
+        gtk_tree_model_get (model, &iter, 0, &item, -1);
+
+        if (event->button == 2)
+        {
+            const gchar* uri = katze_item_get_uri (item);
+
+            if (uri && *uri)
+            {
+                MidoriWebSettings* settings;
+                MidoriBrowser* browser;
+                gint n;
+
+                browser = midori_browser_get_for_widget (GTK_WIDGET (panel));
+                n = midori_browser_add_item (browser, item);
+
+                settings = katze_object_get_object (browser, "settings");
+                if (!katze_object_get_boolean (settings, "open-tabs-in-the-background"))
+                    midori_browser_set_current_page (browser, n);
+                g_object_unref (settings);
+            }
+        }
+        else
+            feed_panel_popup (widget, event, item, panel);
+
+        g_object_unref (item);
+        return TRUE;
+    }
+    return FALSE;
+}
+
+static void
+feed_panel_popup_menu_cb (GtkWidget* widget,
+                          FeedPanel* panel)
+{
+    GtkTreeModel* model;
+    GtkTreeIter iter;
+    KatzeItem* item;
+
+    if (katze_tree_view_get_selected_iter (GTK_TREE_VIEW (widget), &model, &iter))
+    {
+        gtk_tree_model_get (model, &iter, 0, &item, -1);
+        feed_panel_popup (widget, NULL, item, panel);
+        g_object_unref (item);
+    }
+}
+
+void
+feed_panel_add_feeds (FeedPanel* panel,
+                      KatzeItem* feed)
+{
+    GtkTreeModel* model;
+
+    model = gtk_tree_view_get_model (GTK_TREE_VIEW (panel->treeview));
+    g_assert (GTK_IS_TREE_MODEL (model));
+
+    feed_panel_insert_item (panel, GTK_TREE_STORE (model), NULL, feed);
+}
+
+static gboolean
+webview_button_press_event_cb (GtkWidget*      widget,
+                               GdkEventButton* event)
+{
+    /* Disable the popup menu */
+    return (event->button == 3);
+}
+
+static gboolean
+webview_navigation_request_cb (WebKitWebView*             web_view,
+                               WebKitWebFrame*            frame,
+                               WebKitNetworkRequest*      request,
+                               WebKitWebNavigationAction* navigation_action,
+                               WebKitWebPolicyDecision*   policy_decision,
+                               FeedPanel*                 panel)
+{
+    if (webkit_web_navigation_action_get_reason (navigation_action) ==
+        WEBKIT_WEB_NAVIGATION_REASON_LINK_CLICKED)
+    {
+        MidoriBrowser* browser;
+        const gchar* uri;
+        gint n;
+
+        browser = midori_browser_get_for_widget (GTK_WIDGET (panel));
+        uri = webkit_network_request_get_uri (request);
+        n = midori_browser_add_uri (browser, uri);
+        midori_browser_set_current_page (browser, n);
+    }
+    return TRUE;
+}
+
+static const gchar*
+feed_panel_get_label (MidoriViewable* viewable)
+{
+    return _("Feeds");
+}
+
+static const gchar*
+feed_panel_get_stock_id (MidoriViewable* viewable)
+{
+    return STOCK_FEED_PANEL;
+}
+
+static void
+feed_panel_add_clicked_cb (GtkWidget* toolitem,
+                           FeedPanel* panel)
+{
+    g_return_if_fail (FEED_IS_PANEL (panel));
+
+    g_signal_emit (panel, signals[ADD_FEED], 0);
+}
+
+static void
+feed_panel_delete_clicked_cb (GtkWidget* toolitem,
+                              FeedPanel* panel)
+{
+    GtkTreeModel* model;
+    GtkTreeIter iter;
+
+    g_return_if_fail (FEED_IS_PANEL (panel));
+
+    if (katze_tree_view_get_selected_iter (GTK_TREE_VIEW (panel->treeview),
+                                           &model, &iter))
+    {
+        KatzeItem* item;
+
+        gtk_tree_model_get (model, &iter, 0, &item, -1);
+        g_signal_emit (panel, signals[REMOVE_FEED], 0, item);
+        g_object_unref (item);
+    }
+}
+
+static GtkWidget*
+feed_panel_get_toolbar (MidoriViewable* viewable)
+{
+    FeedPanel* panel = FEED_PANEL (viewable);
+
+    if (!panel->toolbar)
+    {
+        GtkWidget* toolbar;
+        GtkToolItem* toolitem;
+
+        toolbar = gtk_toolbar_new ();
+        gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH_HORIZ);
+        gtk_toolbar_set_icon_size (GTK_TOOLBAR (toolbar), GTK_ICON_SIZE_BUTTON);
+        panel->toolbar = toolbar;
+        toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_ADD);
+        gtk_widget_set_tooltip_text (GTK_WIDGET (toolitem), _("Add new feed"));
+        gtk_tool_item_set_is_important (toolitem, TRUE);
+        g_signal_connect (toolitem, "clicked",
+                G_CALLBACK (feed_panel_add_clicked_cb), panel);
+        gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
+        gtk_widget_show (GTK_WIDGET (toolitem));
+        toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_DELETE);
+        gtk_widget_set_tooltip_text (GTK_WIDGET (toolitem), _("Delete feed"));
+        g_signal_connect (toolitem, "clicked",
+                G_CALLBACK (feed_panel_delete_clicked_cb), panel);
+        gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
+        gtk_widget_show (GTK_WIDGET (toolitem));
+        panel->delete = GTK_WIDGET (toolitem);;
+
+        feed_panel_cursor_or_row_changed_cb (
+                GTK_TREE_VIEW (panel->treeview), panel);
+        g_signal_connect (panel->delete, "destroy",
+                G_CALLBACK (gtk_widget_destroyed), &panel->delete);
+    }
+
+    return panel->toolbar;
+}
+
+static void
+feed_panel_finalize (GObject* object)
+{
+    FeedPanel* panel = FEED_PANEL (object);
+
+    g_object_unref (panel->pixbuf);
+    g_object_unref (panel->net);
+}
+
+static void
+feed_panel_viewable_iface_init (MidoriViewableIface* iface)
+{
+    iface->get_stock_id = feed_panel_get_stock_id;
+    iface->get_label = feed_panel_get_label;
+    iface->get_toolbar = feed_panel_get_toolbar;
+}
+
+static void
+feed_panel_class_init (FeedPanelClass* class)
+{
+    GObjectClass* gobject_class;
+
+    signals[ADD_FEED] = g_signal_new (
+        "add-feed",
+        G_TYPE_FROM_CLASS (class),
+        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
+        0,
+        0,
+        NULL,
+        g_cclosure_marshal_VOID__VOID,
+        G_TYPE_NONE, 0);
+
+    signals[REMOVE_FEED] = g_signal_new (
+        "remove-feed",
+        G_TYPE_FROM_CLASS (class),
+        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
+        0,
+        0,
+        NULL,
+        g_cclosure_marshal_VOID__POINTER,
+        G_TYPE_NONE, 1,
+        G_TYPE_POINTER);
+
+    gobject_class = G_OBJECT_CLASS (class);
+    gobject_class->finalize = feed_panel_finalize;
+}
+
+static void
+feed_panel_init (FeedPanel* panel)
+{
+    GtkTreeStore* model;
+    GtkWidget* treewin;
+    GtkWidget* treeview;
+    GtkWidget* webview;
+    GtkWidget* paned;
+    GtkTreeViewColumn* column;
+    GtkCellRenderer* renderer_pixbuf;
+    GtkCellRenderer* renderer_text;
+    GtkIconFactory *factory;
+    GtkIconSource *icon_source;
+    GtkIconSet *icon_set;
+    WebKitWebSettings* settings;
+    PangoFontDescription* font_desc;
+    const gchar* family;
+    gint size;
+    GtkStockItem items[] =
+    {
+        { STOCK_FEED_PANEL, N_("_Feeds"), 0, 0, NULL }
+    };
+
+    factory = gtk_icon_factory_new ();
+    gtk_stock_add (items, G_N_ELEMENTS (items));
+    icon_set = gtk_icon_set_new ();
+    icon_source = gtk_icon_source_new ();
+    gtk_icon_source_set_icon_name (icon_source, STOCK_NEWS_FEED);
+    gtk_icon_set_add_source (icon_set, icon_source);
+    gtk_icon_source_free (icon_source);
+    gtk_icon_factory_add (factory, STOCK_FEED_PANEL, icon_set);
+    gtk_icon_set_unref (icon_set);
+    gtk_icon_factory_add_default (factory);
+    g_object_unref (factory);
+
+    panel->net = katze_net_new ();
+
+    model = gtk_tree_store_new (1, KATZE_TYPE_ITEM);
+    treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+    panel->treeview = treeview;
+    gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
+    column = gtk_tree_view_column_new ();
+    renderer_pixbuf = gtk_cell_renderer_pixbuf_new ();
+    gtk_tree_view_column_pack_start (column, renderer_pixbuf, FALSE);
+    gtk_tree_view_column_set_cell_data_func (column, renderer_pixbuf,
+            (GtkTreeCellDataFunc)feed_panel_treeview_render_icon_cb,
+            panel, NULL);
+    renderer_text = gtk_cell_renderer_text_new ();
+    gtk_tree_view_column_pack_start (column, renderer_text, FALSE);
+    gtk_tree_view_column_set_cell_data_func (column, renderer_text,
+            (GtkTreeCellDataFunc)feed_panel_treeview_render_text_cb,
+            treeview, NULL);
+    gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
+    g_object_unref (model);
+    g_object_connect (treeview,
+                      "signal::row-activated",
+                      feed_panel_row_activated_cb, panel,
+                      "signal::cursor-changed",
+                      feed_panel_cursor_or_row_changed_cb, panel,
+                      "signal::columns-changed",
+                      feed_panel_cursor_or_row_changed_cb, panel,
+                      "signal::button-release-event",
+                      feed_panel_button_release_event_cb, panel,
+                      "signal::popup-menu",
+                      feed_panel_popup_menu_cb, panel,
+                      NULL);
+    gtk_widget_show (treeview);
+
+    webview = webkit_web_view_new ();
+    font_desc = treeview->style->font_desc;
+    family = pango_font_description_get_family (font_desc);
+    size = pango_font_description_get_size (font_desc) / PANGO_SCALE;
+    settings = webkit_web_settings_new ();
+    g_object_set (settings, "default-font-family", family,
+                            "default-font-size", size, NULL);
+    g_object_set (webview, "settings", settings, NULL);
+    gtk_widget_set_size_request (webview, -1, 50);
+    g_object_connect (webview,
+                      "signal::navigation-policy-decision-requested",
+                      webview_navigation_request_cb, panel,
+                      "signal::button-press-event",
+                      webview_button_press_event_cb, NULL,
+                      "signal::button-release-event",
+                      webview_button_press_event_cb, NULL,
+                      NULL);
+    panel->webview = webview;
+
+    treewin = gtk_scrolled_window_new (NULL, NULL);
+    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (treewin),
+            GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+    gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (treewin),
+            GTK_SHADOW_IN);
+    gtk_container_add (GTK_CONTAINER (treewin), treeview);
+    gtk_widget_show (treewin);
+
+    paned = gtk_vpaned_new ();
+    gtk_paned_pack1 (GTK_PANED (paned), treewin, TRUE, FALSE);
+    gtk_paned_pack2 (GTK_PANED (paned), webview, TRUE, FALSE);
+    gtk_box_pack_start (GTK_BOX (panel), paned, TRUE, TRUE, 0);
+    gtk_widget_show (webview);
+    gtk_widget_show (paned);
+
+    panel->pixbuf = gtk_widget_render_icon (treeview,
+                     STOCK_NEWS_FEED, GTK_ICON_SIZE_MENU, NULL);
+}
+
+GtkWidget*
+feed_panel_new (void)
+{
+    FeedPanel* panel = g_object_new (FEED_TYPE_PANEL, NULL);
+
+    return GTK_WIDGET (panel);
+}
+
diff --git a/extensions/feed-panel/feed-panel.h b/extensions/feed-panel/feed-panel.h
new file mode 100644 (file)
index 0000000..2530feb
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#ifndef __FEED_PANEL_H__
+#define __FEED_PANEL_H__
+
+#include <midori/midori.h>
+
+G_BEGIN_DECLS
+
+#define FEED_TYPE_PANEL \
+    (feed_panel_get_type ())
+#define FEED_PANEL(obj) \
+    (G_TYPE_CHECK_INSTANCE_CAST ((obj), FEED_TYPE_PANEL, FeedPanel))
+#define FEED_PANEL_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST ((klass), FEED_TYPE_PANEL, FeedPanelClass))
+#define FEED_IS_PANEL(obj) \
+    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FEED_TYPE_PANEL))
+#define FEED_IS_PANEL_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_TYPE ((klass), FEED_TYPE_PANEL))
+#define FEED_PANEL_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS ((obj), FEED_TYPE_PANEL, FeedPanelClass))
+
+typedef struct _FeedPanel                FeedPanel;
+typedef struct _FeedPanelClass           FeedPanelClass;
+
+void
+feed_panel_add_feeds                     (FeedPanel*  panel,
+                                          KatzeItem* feed);
+
+void
+feed_panel_set_editable                  (FeedPanel* panel,
+                                          gboolean   editable);
+
+GType
+feed_panel_get_type                      (void);
+
+GtkWidget*
+feed_panel_new                           (void);
+
+G_END_DECLS
+
+#endif /* __FEED_PANEL_H__ */
diff --git a/extensions/feed-panel/feed-parse.c b/extensions/feed-panel/feed-parse.c
new file mode 100644 (file)
index 0000000..1c2cd3f
--- /dev/null
@@ -0,0 +1,264 @@
+/*
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#include "feed-parse.h"
+#include <time.h>
+
+gchar*
+feed_get_element_string (FeedParser* fparser)
+{
+    xmlNodePtr node;
+
+    node = fparser->node;
+
+    if (!node->children ||
+        xmlIsBlankNode (node->children) ||
+        node->children->type != XML_TEXT_NODE
+        )
+    {
+        /* Some servers add required elements with no content,
+         * create a dummy string to handle it.
+         */
+        return g_strdup (" ");
+    }
+
+    return (gchar*)xmlNodeListGetString (fparser->doc, node->children, 1);
+}
+
+static void
+handle_markup_chars (void*          user_data,
+                     const xmlChar* ch,
+                     int            len)
+{
+    if (len > 0)
+    {
+        gchar** markup;
+        gchar* temp;
+
+        markup = (gchar**)user_data;
+        temp = g_strndup ((gchar*)ch, len);
+        *markup = (*markup) ? g_strconcat (*markup, temp, NULL) : g_strdup (temp);
+        g_free (temp);
+    }
+}
+
+gchar*
+feed_remove_markup (gchar* markup)
+{
+    const xmlChar* stag;
+    if (((stag = xmlStrchr (BAD_CAST markup, '<')) && xmlStrchr (stag, '>')) ||
+         xmlStrchr (BAD_CAST markup, '&'))
+    {
+        gchar* text = NULL;
+        htmlSAXHandlerPtr psax;
+
+        psax = g_new0 (htmlSAXHandler, 1);
+        psax->characters = handle_markup_chars;
+        htmlSAXParseDoc (BAD_CAST markup, "UTF-8", psax, &text);
+        g_free (psax);
+        g_free (markup);
+        return text;
+    }
+    return markup;
+}
+
+gchar*
+feed_get_element_markup (FeedParser* fparser)
+{
+    gchar* markup;
+
+    markup = feed_get_element_string (fparser);
+    return feed_remove_markup (markup);
+}
+
+gint64
+feed_get_element_date (FeedParser* fparser)
+{
+    time_t date;
+    gchar* content;
+
+    date = 0;
+    content = feed_get_element_string (fparser);
+
+    if (content)
+    {
+        SoupDate* sdate;
+
+        sdate = soup_date_new_from_string (content);
+        date = soup_date_to_time_t (sdate);
+        soup_date_free (sdate);
+        g_free (content);
+    }
+    return ((gint64)date);
+}
+
+KatzeItem*
+feed_item_exists (KatzeArray* array,
+                  KatzeItem*  item)
+{
+    const gchar* guid;
+    gchar* hstr;
+    guint hash;
+
+    guid = katze_item_get_token (item);
+    if (!guid)
+    {
+        hstr = g_strjoin (NULL,
+                          katze_item_get_name (item),
+                          katze_item_get_uri (item),
+                          katze_item_get_text (item),
+                          NULL);
+        hash = g_str_hash (hstr);
+        g_free (hstr);
+
+        hstr = g_strdup_printf ("%u", hash);
+        katze_item_set_token (item, hstr);
+        g_free (hstr);
+
+        guid = katze_item_get_token (item);
+    }
+
+    return (katze_array_find_token (array, guid));
+}
+
+void
+feed_parse_node (FeedParser* fparser)
+{
+    xmlNodePtr node;
+    xmlNodePtr child;
+
+    if (!*fparser->error)
+    {
+        if (fparser->preparse)
+            (*fparser->preparse) (fparser);
+
+        if (fparser->parse)
+        {
+            node = fparser->node;
+            child = node->last;
+
+            while (child)
+            {
+                if (child->type == XML_ELEMENT_NODE)
+                {
+                    fparser->node = child;
+
+                    (*fparser->parse) (fparser);
+
+                    if (*fparser->error)
+                        break;
+                }
+                child = child->prev;
+            }
+            fparser->node = node;
+        }
+
+        if (fparser->postparse)
+            (*fparser->postparse) (fparser);
+    }
+}
+
+static void
+feed_parse_doc (xmlDocPtr   doc,
+                GSList*     parsers,
+                KatzeArray* array,
+                GError**    error)
+{
+    FeedParser* fparser;
+    xmlNodePtr root;
+    gboolean isvalid;
+
+    root = xmlDocGetRootElement (doc);
+
+    if (!root)
+    {
+        *error = g_error_new (FEED_PARSE_ERROR,
+                              FEED_PARSE_ERROR_MISSING_ELEMENT,
+                              _("Failed to find root element in feed XML data."));
+        return;
+    }
+
+    while (parsers)
+    {
+        fparser = (FeedParser*)parsers->data;
+        fparser->error = error;
+        fparser->doc = doc;
+        fparser->node = root;
+
+        if (fparser && fparser->isvalid)
+        {
+            isvalid = (*fparser->isvalid) (fparser);
+
+            if (*fparser->error)
+                return;
+
+            if (isvalid)
+            {
+                fparser->item = KATZE_ITEM (array);
+
+                if (fparser->update &&
+                    (*fparser->update) (fparser))
+                    feed_parse_node (fparser);
+            }
+        }
+
+        fparser->error = NULL;
+        fparser->doc = NULL;
+        fparser->node = NULL;
+
+        if (isvalid)
+            return;
+
+        parsers = g_slist_next (parsers);
+    }
+
+    *error = g_error_new (FEED_PARSE_ERROR,
+                          FEED_PARSE_ERROR_INVALID_FORMAT,
+                          _("Unsupported feed format."));
+}
+
+gboolean
+parse_feed (gchar*      data,
+            gint64      length,
+            GSList*     parsers,
+            KatzeArray* array,
+            GError**    error)
+{
+    xmlDocPtr doc;
+    xmlErrorPtr xerror;
+
+    LIBXML_TEST_VERSION
+
+    doc = xmlReadMemory (
+                data, length, "feedfile.xml", NULL,
+                XML_PARSE_NOWARNING | XML_PARSE_NOERROR /*| XML_PARSE_RECOVER*/
+                );
+
+    if (doc)
+    {
+        feed_parse_doc (doc, parsers, array, error);
+        xmlFreeDoc (doc);
+    }
+    else
+    {
+        xerror = xmlGetLastError ();
+        *error = g_error_new (FEED_PARSE_ERROR,
+                              FEED_PARSE_ERROR_PARSE,
+                              _("Failed to parse XML feed: %s"),
+                              xerror->message);
+        xmlResetLastError ();
+    }
+    xmlCleanupParser ();
+    xmlMemoryDump ();
+
+    return *error ? FALSE : TRUE;
+}
+
diff --git a/extensions/feed-panel/feed-parse.h b/extensions/feed-panel/feed-parse.h
new file mode 100644 (file)
index 0000000..31685fe
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#ifndef __FEED_PARSE_H__
+#define __FEED_PARSE_H__
+
+#include <midori/midori.h>
+
+#if HAVE_CONFIG_H
+    #include <config.h>
+#endif
+
+#include <libsoup/soup.h>
+#include <libxml/parser.h>
+#include <libxml/HTMLparser.h>
+
+G_BEGIN_DECLS
+
+#define FEED_PARSE_ERROR g_quark_from_string("FEED_PARSE_ERROR")
+
+typedef enum
+{
+    FEED_PARSE_ERROR_PARSE,
+    FEED_PARSE_ERROR_INVALID_FORMAT,
+    FEED_PARSE_ERROR_INVALID_VERSION,
+    FEED_PARSE_ERROR_MISSING_ELEMENT
+
+} FeedBarError;
+
+typedef struct _FeedParser
+{
+    xmlDocPtr   doc;   /* The XML document */
+    xmlNodePtr  node;  /* The XML node at a specific point */
+    KatzeItem*  item;
+    GError**    error;
+
+    gboolean (*isvalid)   (struct _FeedParser* fparser);
+    gboolean (*update)    (struct _FeedParser* fparser);
+    void     (*preparse)  (struct _FeedParser* fparser);
+    void     (*parse)     (struct _FeedParser* fparser);
+    void     (*postparse) (struct _FeedParser* fparser);
+
+} FeedParser;
+
+#define feed_parser_set_error(fparser, err, msg) \
+    *(fparser)->error = g_error_new ( \
+            FEED_PARSE_ERROR, (err), (msg))
+
+gchar*
+feed_get_element_string (FeedParser* fparser);
+
+gchar*
+feed_remove_markup (gchar* markup);
+
+gchar*
+feed_get_element_markup (FeedParser* fparser);
+
+gint64
+feed_get_element_date   (FeedParser* fparser);
+
+KatzeItem*
+feed_item_exists        (KatzeArray* array,
+                         KatzeItem*  item);
+void
+feed_parse_node         (FeedParser* fparser);
+
+gboolean
+parse_feed              (gchar*      data,
+                         gint64      length,
+                         GSList*     parsers,
+                         KatzeArray* array,
+                         GError**    error);
+
+G_END_DECLS
+
+#endif /* __FEED_PARSE_H__ */
+
diff --git a/extensions/feed-panel/feed-rss.c b/extensions/feed-panel/feed-rss.c
new file mode 100644 (file)
index 0000000..e802263
--- /dev/null
@@ -0,0 +1,268 @@
+/*
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#include "feed-rss.h"
+
+static gboolean
+rss_is_valid (FeedParser* fparser)
+{
+    xmlNodePtr node;
+    xmlNodePtr child;
+    xmlChar* str;
+    gboolean valid;
+
+    node = fparser->node;
+
+    if (!(xmlStrcmp (node->name, BAD_CAST "rss")))
+    {
+        if ((str = xmlGetProp (node, BAD_CAST "version")))
+        {
+            valid = !xmlStrcmp (str, BAD_CAST "2.0");
+            xmlFree (str);
+
+            if (valid)
+            {
+                child = node->children;
+                while (child)
+                {
+                    if (child->type == XML_ELEMENT_NODE &&
+                        !(xmlStrcmp (child->name, BAD_CAST "channel")))
+                    {
+                        fparser->node = child;
+                        return TRUE;
+                    }
+                    child = child->next;
+                }
+
+                feed_parser_set_error (fparser, FEED_PARSE_ERROR_MISSING_ELEMENT,
+                                       _("Failed to find \"channel\" element in RSS XML data."));
+            }
+            else
+            {
+                feed_parser_set_error (fparser, FEED_PARSE_ERROR_INVALID_VERSION,
+                                       _("Unsupported RSS version found."));
+            }
+        }
+    }
+    return FALSE;
+}
+
+static gboolean
+rss_update (FeedParser* fparser)
+{
+    xmlNodePtr node;
+    xmlNodePtr child;
+    gint64 date;
+    gint64 newdate;
+
+    date = katze_item_get_added (fparser->item);
+
+    node = fparser->node;
+    child = node->children;
+    while (child)
+    {
+        if (child->type == XML_ELEMENT_NODE)
+        {
+            if (!(xmlStrcmp (child->name, BAD_CAST "lastBuildDate")))
+            {
+                fparser->node = child;
+                newdate = feed_get_element_date (fparser);
+                fparser->node = node;
+                return (date != newdate);
+            }
+        }
+        child = child->next;
+    }
+    return TRUE;
+}
+
+static void
+rss_preparse_item (FeedParser* fparser)
+{
+    fparser->item = katze_item_new ();
+}
+
+static void
+rss_parse_item (FeedParser* fparser)
+{
+    xmlNodePtr node;
+    gchar* content;
+    gint64 date;
+
+    node = fparser->node;
+    content = NULL;
+
+    if (!xmlStrcmp (node->name, BAD_CAST "guid"))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_token (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "title"))
+    {
+        content = feed_get_element_markup (fparser);
+        katze_item_set_name (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "description"))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_text (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "pubDate"))
+    {
+        date = feed_get_element_date (fparser);
+        katze_item_set_added (fparser->item, date);
+    }
+    else if (!(xmlStrcmp (node->name, BAD_CAST "link")))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_uri (fparser->item, content);
+    }
+    g_free (content);
+}
+
+static void
+rss_postparse_item (FeedParser* fparser)
+{
+    if (!*fparser->error)
+    {
+        /*
+        * Verify that the required RSS elements are added
+        * (as per the spec)
+        */
+        if (!katze_item_get_name (fparser->item))
+        {
+            gchar* desc;
+
+            desc = (gchar*)katze_item_get_text (fparser->item);
+            if (!desc)
+            {
+                feed_parser_set_error (fparser, FEED_PARSE_ERROR_MISSING_ELEMENT,
+                                       _("Failed to find required RSS \"item\" elements in XML data."));
+            }
+            else
+            {
+                desc = feed_remove_markup (g_strdup (desc));
+                if (desc)
+                {
+                    katze_item_set_name (fparser->item, desc);
+                    g_free (desc);
+                }
+                else
+                {
+                    if ((desc = (gchar*)katze_item_get_uri (fparser->item)))
+                        katze_item_set_name (fparser->item, desc);
+                }
+            }
+        }
+    }
+
+    if (*fparser->error && KATZE_IS_ITEM (fparser->item))
+    {
+        g_object_unref (fparser->item);
+        fparser->item = NULL;
+    }
+}
+
+static void
+rss_parse_channel (FeedParser* fparser)
+{
+    FeedParser* eparser;
+    xmlNodePtr node;
+    gchar* content;
+    gint64 date;
+
+    node = fparser->node;
+    content = NULL;
+
+    if (!xmlStrcmp (node->name, BAD_CAST "title"))
+    {
+        content = feed_get_element_markup (fparser);
+        katze_item_set_name (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "description"))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_text (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "lastBuildDate"))
+    {
+        date = feed_get_element_date (fparser);
+        katze_item_set_added (fparser->item, date);
+    }
+    else if (!(xmlStrcmp (node->name, BAD_CAST "link")))
+    {
+        content = feed_get_element_string (fparser);
+        katze_item_set_uri (fparser->item, content);
+    }
+    else if (!xmlStrcmp (node->name, BAD_CAST "item"))
+    {
+        eparser = g_new0 (FeedParser, 1);
+        eparser->doc = fparser->doc;
+        eparser->node = fparser->node;
+        eparser->error = fparser->error;
+        eparser->preparse = rss_preparse_item;
+        eparser->parse = rss_parse_item;
+        eparser->postparse = rss_postparse_item;
+
+        feed_parse_node (eparser);
+
+        if (KATZE_IS_ITEM (eparser->item))
+        {
+            KatzeItem* item;
+            if (!(item = feed_item_exists (KATZE_ARRAY (fparser->item), eparser->item)))
+                katze_array_add_item (KATZE_ARRAY (fparser->item), eparser->item);
+            else
+            {
+                g_object_unref (eparser->item);
+                katze_array_move_item (KATZE_ARRAY (fparser->item), item, 0);
+            }
+        }
+        g_free (eparser);
+
+    }
+    g_free (content);
+}
+
+static void
+rss_postparse_channel (FeedParser* fparser)
+{
+    if (!*fparser->error)
+    {
+        /*
+         * Verify that the required RSS elements are added
+         * (as per the spec)
+         */
+        if (!katze_item_get_name (fparser->item) ||
+            !katze_item_get_text (fparser->item) ||
+            !katze_item_get_uri (fparser->item))
+        {
+            feed_parser_set_error (fparser, FEED_PARSE_ERROR_MISSING_ELEMENT,
+                                   _("Failed to find required RSS \"channel\" elements in XML data."));
+        }
+    }
+}
+
+FeedParser*
+rss_init_parser (void)
+{
+    FeedParser* fparser;
+
+    fparser = g_new0 (FeedParser, 1);
+    g_return_val_if_fail (fparser, NULL);
+
+    fparser->isvalid = rss_is_valid;
+    fparser->update = rss_update;
+    fparser->parse = rss_parse_channel;
+    fparser->postparse = rss_postparse_channel;
+
+    return fparser;
+}
+
diff --git a/extensions/feed-panel/feed-rss.h b/extensions/feed-panel/feed-rss.h
new file mode 100644 (file)
index 0000000..d5ccc04
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#ifndef __FEED_RSS_H__
+#define __FEED_RSS_H__
+
+#include "feed-parse.h"
+
+G_BEGIN_DECLS
+
+FeedParser*
+rss_init_parser (void);
+
+G_END_DECLS
+
+#endif /* __FEED_RSS_H__ */
+
diff --git a/extensions/feed-panel/main.c b/extensions/feed-panel/main.c
new file mode 100644 (file)
index 0000000..d0a1309
--- /dev/null
@@ -0,0 +1,502 @@
+/*
+ Copyright (C) 2009 Dale Whittaker <dale@users.sf.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#include "feed-panel.h"
+#include "feed-atom.h"
+#include "feed-rss.h"
+
+#include <midori/midori.h>
+
+#define EXTENSION_NAME "Feed Panel"
+#define UPDATE_FREQ 10
+
+#define feed_get_flags(feed) \
+    GPOINTER_TO_INT (g_object_get_data (G_OBJECT ((feed)), "flags"))
+
+#define feed_set_flags(feed, flags) \
+    g_object_set_data (G_OBJECT ((feed)), "flags", \
+        GINT_TO_POINTER ((flags)))
+
+#define feed_has_flags(feed, flags) \
+    ((flags) & feed_get_flags ((feed)))
+
+#define feed_add_flags(feed, flags) \
+    feed_set_flags ((feed), (feed_get_flags ((feed)) | (flags)))
+
+#define feed_remove_flags(feed, flags) \
+    feed_set_flags ((feed), (feed_get_flags ((feed)) & ~(flags)))
+
+typedef struct
+{
+    MidoriBrowser* browser;
+    MidoriExtension* extension;
+    GtkWidget* panel;
+    KatzeArray* feeds;
+    KatzeNet* net;
+    GSList* parsers;
+
+    guint source_id;
+    gboolean is_running;
+
+} FeedPrivate;
+
+typedef struct
+{
+    MidoriExtension* extension;
+    GSList* parsers;
+    KatzeArray* feed;
+
+} FeedNetPrivate;
+
+enum
+{
+    FEED_READ,
+    FEED_REMOVE
+};
+
+static void
+feed_app_add_browser_cb (MidoriApp*       app,
+                         MidoriBrowser*   browser,
+                         MidoriExtension* extension);
+
+static void
+feed_deactivate_cb (MidoriExtension* extension,
+                    FeedPrivate*     priv)
+{
+    if (priv)
+    {
+        MidoriApp* app = midori_extension_get_app (extension);
+
+        g_signal_handlers_disconnect_by_func (app,
+                feed_app_add_browser_cb, extension);
+        g_signal_handlers_disconnect_by_func (extension,
+                feed_deactivate_cb, priv);
+
+        if (priv->source_id)
+            g_source_remove (priv->source_id);
+        g_slist_foreach (priv->parsers, (GFunc)g_free, NULL);
+        g_slist_free (priv->parsers);
+        if (priv->feeds)
+            g_object_unref (priv->net);
+        if (priv->feeds)
+            g_object_unref (priv->feeds);
+        gtk_widget_destroy (priv->panel);
+        g_free (priv);
+    }
+}
+
+static KatzeArray*
+feed_add_item (KatzeArray*  feeds,
+               const gchar* uri)
+{
+    KatzeArray* feed;
+
+    feed = NULL;
+
+    if (uri)
+    {
+        if (katze_array_find_token (feeds, uri))
+        {
+            GtkWidget* dialog;
+
+            dialog = gtk_message_dialog_new (
+                NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
+                _("Error"));
+                gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+                _("Feed '%s' already exists"), uri);
+            gtk_window_set_title (GTK_WINDOW (dialog), EXTENSION_NAME);
+            gtk_widget_show (dialog);
+            g_signal_connect_swapped (dialog, "response",
+                    G_CALLBACK (gtk_widget_destroy), dialog);
+
+        }
+        else
+        {
+            KatzeArray* child;
+
+            feed = katze_array_new (KATZE_TYPE_ARRAY);
+            child = katze_array_new (KATZE_TYPE_ITEM);
+            katze_item_set_uri (KATZE_ITEM (feed), uri);
+            katze_item_set_token (KATZE_ITEM (feed), uri);
+            katze_item_set_uri (KATZE_ITEM (child), uri);
+            katze_array_add_item (feeds, feed);
+            katze_array_add_item (feed, child);
+        }
+    }
+    return feed;
+}
+
+static void
+feed_save_items (MidoriExtension* extension,
+                 KatzeArray*      feed)
+{
+    KatzeItem* item;
+    gchar** sfeeds;
+    gint i;
+    gint n;
+
+    g_return_if_fail (KATZE_IS_ARRAY (feed));
+
+    n = katze_array_get_length (feed);
+    sfeeds = g_new (gchar*, n + 1);
+
+    for (i = 0; i < n; i++)
+    {
+        item = katze_array_get_nth_item (feed, i);
+        sfeeds[i] = (gchar*) katze_item_get_uri (KATZE_ITEM (item));
+    }
+    sfeeds[n] = NULL;
+
+    midori_extension_set_string_list (extension, "feeds", sfeeds, n);
+    g_free (sfeeds);
+}
+
+static void
+feed_handle_net_error (FeedNetPrivate* netpriv,
+                       const gchar*    msg)
+{
+    KatzeItem* child;
+    const gchar* uri;
+    gint n;
+
+    n = katze_array_get_length (netpriv->feed);
+    g_assert (n == 1);
+    child = katze_array_get_nth_item (netpriv->feed, 0);
+    g_assert (KATZE_IS_ARRAY (child));
+
+    uri  = katze_item_get_uri (KATZE_ITEM (netpriv->feed));
+    katze_item_set_name (child, uri);
+    katze_item_set_text (child, msg);
+    katze_item_set_uri (child, NULL);
+    feed_remove_flags (netpriv->feed, FEED_READ);
+}
+
+static gboolean
+feed_status_cb (KatzeNetRequest*  request,
+                FeedNetPrivate*   netpriv)
+{
+    if (request->status == KATZE_NET_FAILED ||
+        request->status == KATZE_NET_NOT_FOUND)
+    {
+        gchar* msg;
+
+        msg = g_strdup_printf (_("Error loading feed '%s'"),
+                        katze_item_get_uri (KATZE_ITEM (netpriv->feed)));
+        feed_handle_net_error (netpriv, msg);
+        g_free (msg);
+
+        return FALSE;
+    }
+    return TRUE;
+}
+
+static void
+feed_transfer_cb (KatzeNetRequest* request,
+                  FeedNetPrivate*  netpriv)
+{
+    GError* error;
+
+    if (request->status == KATZE_NET_MOVED)
+        return;
+
+    g_return_if_fail (KATZE_IS_ARRAY (netpriv->feed));
+
+    error = NULL;
+
+    if (request->data)
+    {
+        KatzeArray* item;
+        const gchar* uri;
+        gint n;
+
+        n = katze_array_get_length (netpriv->feed);
+        g_assert (n == 1);
+        item = katze_array_get_nth_item (netpriv->feed, 0);
+        g_assert (KATZE_IS_ARRAY (item));
+        uri = katze_item_get_uri (KATZE_ITEM (netpriv->feed));
+        katze_item_set_uri (KATZE_ITEM (item), uri);
+
+        if (!parse_feed (request->data, request->length,
+             netpriv->parsers, item, &error))
+        {
+            feed_handle_net_error (netpriv, error->message);
+            g_error_free (error);
+        }
+
+        if (feed_has_flags (netpriv->feed, FEED_REMOVE))
+        {
+            KatzeArray* parent;
+
+            /* deferred remove */
+            parent = katze_item_get_parent (KATZE_ITEM (netpriv->feed));
+            katze_array_remove_item (parent, netpriv->feed);
+            feed_save_items (netpriv->extension, parent);
+        }
+        else
+            feed_set_flags (netpriv->feed, 0);
+    }
+
+    netpriv->parsers = NULL;
+    netpriv->feed = NULL;
+    g_free (netpriv);
+}
+
+static void
+update_feed (FeedPrivate* priv,
+             KatzeItem*   feed)
+{
+    if (!(feed_has_flags (feed, FEED_READ)))
+    {
+        FeedNetPrivate* netpriv;
+
+        feed_add_flags (feed, FEED_READ);
+        netpriv = g_new0 (FeedNetPrivate, 1);
+        netpriv->parsers = priv->parsers;
+        netpriv->extension = priv->extension;
+        netpriv->feed = KATZE_ARRAY (feed);
+
+        katze_net_load_uri (priv->net,
+                            katze_item_get_uri (feed),
+                            (KatzeNetStatusCb) feed_status_cb,
+                            (KatzeNetTransferCb) feed_transfer_cb,
+                            netpriv);
+    }
+}
+
+static gboolean
+update_feeds (FeedPrivate* priv)
+{
+    KatzeItem* feed;
+    gint i;
+    gint n;
+
+    if (!priv->is_running)
+    {
+        priv->is_running = TRUE;
+        n = katze_array_get_length (priv->feeds);
+
+        for (i = 0; i < n; i++)
+        {
+            feed = katze_array_get_nth_item (priv->feeds, i);
+            update_feed (priv, feed);
+        }
+    }
+    priv->is_running = FALSE;
+    return TRUE;
+}
+
+static void
+secondary_icon_released_cb (GtkAction*     action,
+                            GtkWidget*     widget,
+                            FeedPrivate*   priv)
+{
+    const gchar* uri;
+
+    g_assert (KATZE_IS_ARRAY (priv->feeds));
+
+    uri = midori_location_action_get_uri (MIDORI_LOCATION_ACTION (action));
+
+    if (uri && *uri)
+    {
+        KatzeArray* feed;
+
+        feed = feed_add_item (priv->feeds, uri);
+        if (feed)
+        {
+            feed_save_items (priv->extension, priv->feeds);
+            update_feed (priv, KATZE_ITEM (feed));
+        }
+    }
+}
+
+static void
+panel_add_feed_cb (FeedPanel*   panel,
+                   FeedPrivate* priv)
+{
+    GtkWidget* dialog;
+    GtkSizeGroup* sizegroup;
+    GtkWidget* hbox;
+    GtkWidget* label;
+    GtkWidget* entry;
+
+    dialog = gtk_dialog_new_with_buttons (
+            _("New feed"), GTK_WINDOW (priv->browser),
+            GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+            GTK_STOCK_ADD, GTK_RESPONSE_ACCEPT,
+            NULL);
+    gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_ADD);
+    gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
+    gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), 5);
+    sizegroup = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+
+    hbox = gtk_hbox_new (FALSE, 8);
+    gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
+    label = gtk_label_new_with_mnemonic (_("_Address:"));
+    gtk_size_group_add_widget (sizegroup, label);
+    gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+    entry = gtk_entry_new ();
+    gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
+    gtk_entry_set_text (GTK_ENTRY (entry), "");
+    gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
+    gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), hbox);
+    gtk_widget_show_all (hbox);
+
+    gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
+    if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
+    {
+        const gchar* uri;
+
+        g_assert (KATZE_IS_ARRAY (priv->feeds));
+
+        uri = gtk_entry_get_text (GTK_ENTRY (entry));
+        if (uri && *uri)
+        {
+            KatzeArray* feed;
+
+            feed = feed_add_item (priv->feeds, uri);
+            if (feed)
+            {
+                feed_save_items (priv->extension, priv->feeds);
+                update_feed (priv, KATZE_ITEM (feed));
+            }
+        }
+    }
+    gtk_widget_destroy (dialog);
+}
+
+static void
+panel_remove_feed_cb (FeedPanel*   panel,
+                      KatzeItem*   item,
+                      FeedPrivate* priv)
+{
+    KatzeArray* feed;
+
+    feed = katze_item_get_parent (item);
+
+    g_assert (KATZE_IS_ARRAY (priv->feeds));
+    g_assert (KATZE_IS_ARRAY (feed));
+
+    if (feed_has_flags (feed, FEED_READ))
+        feed_add_flags (feed, FEED_REMOVE);
+    else
+    {
+        feed_add_flags (feed, FEED_READ);
+        katze_array_remove_item (priv->feeds, feed);
+        feed_save_items (priv->extension, priv->feeds);
+    }
+}
+
+static void
+feed_app_add_browser_cb (MidoriApp*       app,
+                         MidoriBrowser*   browser,
+                         MidoriExtension* extension)
+{
+    GtkWidget* panel;
+    GtkWidget* addon;
+    GtkActionGroup* action_group;
+    GtkAction* action;
+    KatzeNet* net;
+    KatzeArray* feeds;
+    KatzeArray* feed;
+    FeedPrivate* priv;
+    gchar** sfeeds;
+    gsize i;
+    gsize n;
+
+    priv = g_new0 (FeedPrivate, 1);
+
+    panel = katze_object_get_object (browser, "panel");
+    addon = feed_panel_new ();
+    gtk_widget_show (addon);
+    midori_panel_append_page (MIDORI_PANEL (panel), MIDORI_VIEWABLE (addon));
+    g_object_unref (panel);
+
+    net = katze_net_new ();
+    feeds = katze_array_new (KATZE_TYPE_ARRAY);
+    feed_panel_add_feeds (FEED_PANEL (addon), KATZE_ITEM (feeds));
+
+    priv->extension = extension;
+    priv->browser = browser;
+    priv->panel = addon;
+    priv->net = net;
+    priv->feeds = feeds;
+    priv->parsers = g_slist_prepend (priv->parsers, atom_init_parser ());
+    priv->parsers = g_slist_prepend (priv->parsers, rss_init_parser ());
+
+    sfeeds = midori_extension_get_string_list (extension, "feeds", &n);
+    g_assert (n == 0 || sfeeds);
+
+    for (i = 0; i < n; i++)
+    {
+        if (sfeeds[i])
+        {
+            feed = feed_add_item (feeds, sfeeds[i]);
+            if (feed)
+                update_feed (priv, KATZE_ITEM (feed));
+        }
+    }
+    g_strdupv (sfeeds);
+    action_group = midori_browser_get_action_group (browser);
+    action = gtk_action_group_get_action (action_group, "Location");
+
+    g_signal_connect (addon, "add-feed",
+        G_CALLBACK (panel_add_feed_cb), priv);
+    g_signal_connect (addon, "remove-feed",
+        G_CALLBACK (panel_remove_feed_cb), priv);
+    g_signal_connect (action, "secondary-icon-released",
+        G_CALLBACK (secondary_icon_released_cb), priv);
+    g_signal_connect (extension, "deactivate",
+        G_CALLBACK (feed_deactivate_cb), priv);
+
+    priv->source_id = g_timeout_add_seconds (UPDATE_FREQ * 60,
+                            (GSourceFunc) update_feeds, priv);
+}
+
+static void
+feed_activate_cb (MidoriExtension* extension,
+                  MidoriApp*       app)
+{
+    KatzeArray* browsers;
+    MidoriBrowser* browser;
+    guint i;
+
+    browsers = katze_object_get_object (app, "browsers");
+    i = 0;
+    while ((browser = katze_array_get_nth_item (browsers, i++)))
+        feed_app_add_browser_cb (app, browser, extension);
+    g_object_unref (browsers);
+
+    g_signal_connect (app, "add-browser",
+        G_CALLBACK (feed_app_add_browser_cb), extension);
+}
+
+MidoriExtension*
+extension_init (void)
+{
+    MidoriExtension* extension;
+    gchar* sfeed[2];
+
+    extension = g_object_new (MIDORI_TYPE_EXTENSION,
+        "name", _("Feed Panel"),
+        "description", _("Read Atom/ RSS feeds"),
+        "version", "0.1",
+        "authors", "Dale Whittaker <dayul@users.sf.net>",
+        NULL);
+
+    sfeed[0] = NULL;
+    midori_extension_install_string_list (extension, "feeds", sfeed, 1);
+
+    g_signal_connect (extension, "activate",
+        G_CALLBACK (feed_activate_cb), NULL);
+
+    return extension;
+}
index fa73887fb0acd2f8890eda0c0131d436609af97b..b7e2b251af6b4c3d4d83331511acc281f9251fcc 100644 (file)
 #include "mouse-gestures.h"
 
 #define MOUSE_GESTURES_VERSION "0.1"
-#define DEVIANCE 20 // the deviance to determine if a line is straight or not
-#define MINLENGTH 50 // the minimal length of a line to be treated as a gesture
+#define DEVIANCE 20
+#define MINLENGTH 50
 
-// #define __MOUSE_GESTURES_DEBUG__ // uncomment for debugging purposes
+/* #define __MOUSE_GESTURES_DEBUG__ */
 
 MouseGesture *gesture;
 
-void mouse_gesture_clear(MouseGesture *g)
+void mouse_gesture_clear (MouseGesture *g)
 {
-       g->start.x = 0;
-       g->start.y = 0;
-       g->middle.x = 0;
-       g->middle.y = 0;
-       g->end.x = 0;
-       g->end.y = 0;
-       g->last = MOUSE_BUTTON_UNSET;
-       return;
+    g->start.x = 0;
+    g->start.y = 0;
+    g->middle.x = 0;
+    g->middle.y = 0;
+    g->end.x = 0;
+    g->end.y = 0;
+    g->last = MOUSE_BUTTON_UNSET;
 }
 
-MouseGesture* mouse_gesture_new(void)
+MouseGesture* mouse_gesture_new (void)
 {
-       MouseGesture *g = NULL;
-       if((g = g_new(MouseGesture, 1)) == NULL)
-               return(NULL);
-       mouse_gesture_clear(g);
-       return(g);
+    MouseGesture *g = g_new (MouseGesture, 1);
+    mouse_gesture_clear (g);
+
+    return g;
 }
 
-static gboolean mouse_gestures_handle_events(GtkWidget *widget, GdkEvent *event, MidoriBrowser *browser)
+static gboolean mouse_gestures_handle_events (GtkWidget     *widget,
+                                              GdkEvent      *event,
+                                              MidoriBrowser *browser)
 {
-       if(event->type == GDK_BUTTON_PRESS) // a button was pressed
-       {
-               if(gesture->last == MOUSE_BUTTON_UNSET) // if the gesture was previously cleaned -> new gesture -> new start coordinates
+    /* A button was pressed */
+    if (event->type == GDK_BUTTON_PRESS)
+    {
+        /* If the gesture was previously cleaned, start a new gesture and coordinates */
+        if (gesture->last == MOUSE_BUTTON_UNSET)
+            {
+                gesture->start.x = event->button.x;
+                gesture->start.y = event->button.y;
+                gesture->last = event->button.button;
+            }
+
+        return TRUE;
+    }
+    else if (event->type == GDK_MOTION_NOTIFY)
+    {
+        if (gesture->last != MOUSE_BUTTON_UNSET)
+        {
+            guint x, y;
+
+            x = event->motion.x;
+            y = event->motion.y;
+
+            if ((gesture->start.x - x < DEVIANCE && gesture->start.x - x > -DEVIANCE) ||
+                (gesture->start.y - y < DEVIANCE && gesture->start.y - y > -DEVIANCE))
+            {
+                gesture->middle.x = x;
+                gesture->middle.y = y;
+            }
+            else if ((gesture->middle.x - x < DEVIANCE && gesture->middle.x - x > -DEVIANCE) ||
+                     (gesture->middle.y - y < DEVIANCE && gesture->middle.y - y > -DEVIANCE))
+            {
+                gesture->end.x = x;
+               gesture->end.y = y;
+            }
+        }
+
+        return TRUE;
+    }
+    else if (event->type == GDK_BUTTON_RELEASE)
+    {
+        /* All mouse gestures will use the middle mouse button */
+        if (gesture->last == MOUSE_BUTTON_MIDDLE)
+        {
+            /* The initial horizontal move is between the bounds */
+            if ((gesture->middle.x - gesture->start.x < DEVIANCE) &&
+                (gesture->middle.x - gesture->start.x > -DEVIANCE))
+            {
+                 /* We initially moved down more than MINLENGTH pixels */
+               if (gesture->middle.y > gesture->start.y + MINLENGTH)
                {
-                       gesture->start.x = event->button.x;
-                       gesture->start.y = event->button.y;
-                       gesture->last = event->button.button;
-               }
-               return(TRUE);
-       }
-       else if(event->type == GDK_MOTION_NOTIFY) // the mouse was moved
-       {
-               if(gesture->last != MOUSE_BUTTON_UNSET)
+                   /* Then we the final vertical move is between the bounds and
+                       we moved right more than MINLENGTH pixels */
+                    if ((gesture->middle.y - gesture->end.y < DEVIANCE) &&
+                        (gesture->middle.y - gesture->end.y > -DEVIANCE) &&
+                        (gesture->end.x > gesture->middle.x + MINLENGTH))
+                    {
+                         /* We moved down then right: close the tab */
+                         midori_browser_activate_action (browser, "TabClose");
+                    }
+                    /* Then we the final vertical move is between the bounds and
+                    we moved left more than MINLENGTH pixels */
+                    else if ((gesture->middle.y - gesture->end.y < DEVIANCE) &&
+                             (gesture->middle.y - gesture->end.y > -DEVIANCE) &&
+                             (gesture->end.x + MINLENGTH < gesture->middle.x))
+                    {
+                         /* We moved down then left: reload */
+                         midori_browser_activate_action (browser, "Reload");
+                    }
+                    /* The end node was never updated, we only did a vertical move */
+                    else if(gesture->end.y == 0 && gesture->end.x == 0)
+                    {
+                        /* We moved down then: create a new tab */
+                        midori_browser_activate_action (browser, "TabNew");
+                    }
+                }
+                /* We initially moved up more than MINLENGTH pixels */
+               else if (gesture->middle.y + MINLENGTH < gesture->start.y)
                {
-                       guint x, y;
-                       x = event->motion.x;
-                       y = event->motion.y;
-                       if((gesture->start.x - x < DEVIANCE && gesture->start.x - x > -DEVIANCE) ||
-                          (gesture->start.y - y < DEVIANCE && gesture->start.y - y > -DEVIANCE))
-                       {
-                               gesture->middle.x = x;
-                               gesture->middle.y = y;
-                       }
-                       else if((gesture->middle.x - x < DEVIANCE && gesture->middle.x - x > -DEVIANCE) ||
-                          (gesture->middle.y - y < DEVIANCE && gesture->middle.y - y > -DEVIANCE))
-                       {
-                               gesture->end.x = x;
-                               gesture->end.y = y;
-                       }
-               }
-               return(TRUE);
-       }
-       else if(event->type == GDK_BUTTON_RELEASE)
-       {
-               if(gesture->last == MOUSE_BUTTON_MIDDLE) // all mouse gestures will use the middle mouse button
+                    /* The end node was never updated, we only did a vertical move */
+                    if (gesture->end.y == 0 && gesture->end.x == 0)
+                    {
+                        /* We moved up: stop */
+                        midori_browser_activate_action (browser, "Stop");
+                    }
+                }
+            }
+            /* The initial horizontal move is between the bounds */
+            else if ((gesture->middle.y - gesture->start.y < DEVIANCE) &&
+                     (gesture->middle.y - gesture->start.y > -DEVIANCE))
+            {
+                /* We initially moved right more than MINLENGTH pixels */
+                if (gesture->middle.x > gesture->start.x + MINLENGTH)
+                {
+                    /* The end node was never updated, we only did an horizontal move */
+                    if (gesture->end.x == 0 && gesture->end.y == 0)
+                    {
+                        /* We moved right: forward */
+                        midori_browser_activate_action (browser, "Forward");
+                    }
+                }
+                /* We initially moved left more than MINLENGTH pixels */
+                else if (gesture->middle.x + MINLENGTH < gesture->start.x)
                {
-                       // middle mouse button has been released
-                       if(gesture->middle.x - gesture->start.x < DEVIANCE && gesture->middle.x - gesture->start.x > -DEVIANCE)
-                       {
-                               // StartNode to MiddleNode is a straight vertical line
-                               if(gesture->middle.y > gesture->start.y + MINLENGTH)
-                               {
-                                       // StartNode to MiddleNode is drawn downwards
-                                       if(gesture->middle.y - gesture->end.y < DEVIANCE && gesture->middle.y - gesture->end.y > -DEVIANCE && gesture->end.x > gesture->middle.x + MINLENGTH)
-                                       {
-                                               // MiddleNode to EndNode is a straight horizontal line (to the right) -> close tab
-                                               midori_browser_activate_action(browser, "TabClose");
-                                               #ifdef __MOUSE_GESTURES_DEBUG__
-                                               g_print("TabClose gesture\n");
-                                               #endif
-                                       }
-                                       else if(gesture->middle.y - gesture->end.y < DEVIANCE && gesture->middle.y - gesture->end.y > -DEVIANCE && gesture->end.x < gesture->middle.x - MINLENGTH)
-                                       {
-                                               // MiddleNode to EndNode is a straight horizontal line (to the left) -> reload
-                                               midori_browser_activate_action(browser, "Reload");
-                                               #ifdef __MOUSE_GESTURES_DEBUG__
-                                               g_print("Reload gesture\n");
-                                               #endif
-                                       }
-                                       else if(gesture->end.y == 0 && gesture->end.x == 0)
-                                       {
-                                               // no EndNode, just a vertical line -> new tab
-                                               midori_browser_activate_action(browser, "TabNew");
-                                               #ifdef __MOUSE_GESTURES_DEBUG__
-                                               g_print("TabNew gesture\n");
-                                               #endif
-                                       }
-                               }
-                               if(gesture->middle.y < gesture->start.y - MINLENGTH)
-                               {
-                                       // StartNode to MiddleNode is drawn upwards
-                                       if(gesture->end.y == 0 && gesture->end.x == 0)
-                                       {
-                                               // no EndNode, just a vertical line -> stop
-                                               midori_browser_activate_action(browser, "Stop");
-                                               #ifdef __MOUSE_GESTURES_DEBUG__
-                                               g_print("Stop gesture\n");
-                                               #endif
-                                       }
-                               }
-                       }
-                       else if(gesture->middle.y - gesture->start.y < DEVIANCE && gesture->middle.y - gesture->start.y > -DEVIANCE)
-                       {
-                               // Start Node to MiddleNode is a straight horizontal line
-                               if(gesture->middle.x > gesture->start.x + MINLENGTH)
-                               {
-                                       // the line was drawn from left to right
-                                       if(gesture->end.x == 0 && gesture->end.y == 0)
-                                       {
-                                               // we only have one horizontal line from left to right -> forward gesture
-                                               midori_browser_activate_action(browser, "Forward");
-                                               #ifdef __MOUSE_GESTURES_DEBUG__
-                                               g_print("Forward gesture\n");
-                                               #endif
-                                       }
-                               }
-                               else if(gesture->middle.x < gesture->start.x - MINLENGTH)
-                               {
-                                       // the line was drawn from right to left
-                                       if(gesture->end.x == 0 && gesture->end.y == 0)
-                                       {
-                                               // we only have one horizontal line from right to left -> backwards gesture
-                                               midori_browser_activate_action(browser, "Back");
-                                               #ifdef __MOUSE_GESTURES_DEBUG__
-                                               g_print("Back gesture\n");
-                                               #endif
-                                       }
-                               }
-                       }
-               }
-               mouse_gesture_clear(gesture); // gesture finished, clear it
-               return(TRUE);
-       }
-       else
-               return(FALSE); // this event is supposed to be handled again (by someone else's code) since it was irrelevant to us
+                    /* The end node was never updated, we only did an horizontal move */
+                    if (gesture->end.x == 0 && gesture->end.y == 0)
+                    {
+                        /* We moved left: back */
+                        midori_browser_activate_action (browser, "Back");
+                    }
+                }
+            }
+        }
+
+       mouse_gesture_clear (gesture);
+
+        return TRUE;
+    }
+    else
+        return FALSE;
 }
 
-static void mouse_gestures_tab_cb(MidoriBrowser* browser, GtkWidget *view) // this is performed when a new tab is created
+static void mouse_gestures_tab_cb (MidoriBrowser* browser, GtkWidget *view)
 {
-       g_signal_connect(view, "event", G_CALLBACK(mouse_gestures_handle_events), browser); // perform the above callback when an event from the view is received
-       return;
+    g_signal_connect (view, "event", G_CALLBACK (mouse_gestures_handle_events), browser);
 }
 
-static void mouse_gestures_browser_cb(MidoriApp *app, MidoriBrowser *browser) // this is performed when ever a new window is created
+static void mouse_gestures_browser_cb (MidoriApp *app, MidoriBrowser *browser)
 {
-       g_signal_connect(browser, "add-tab", G_CALLBACK(mouse_gestures_tab_cb), NULL); // connect the above callback to the "add-tab" signal of browser
-       return;
+    g_signal_connect (browser, "add-tab", G_CALLBACK (mouse_gestures_tab_cb), NULL);
 }
 
-/* this is performed when the extension is deactivated.
-   disconnect all signal handlers, so that mouse gestures are no longer handled */
-static void mouse_gestures_deactivate(MidoriExtension *extension, MidoriApp *app)
+static void mouse_gestures_deactivate (MidoriExtension *extension, MidoriApp *app)
 {
-       gulong signal_id = g_signal_handler_find(app, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, mouse_gestures_browser_cb, NULL); // get the signal handler id
-       if(signal_id != 0) // if that id is valid
-               g_signal_handler_disconnect(app, signal_id); // disconnect the signal
-       KatzeArray *browsers = katze_object_get_object(app, "browsers"); // get the array that contains all browsers
-       guint i; // our counter variable :)
-       for(i = 0; i < katze_array_get_length(browsers); i++) // from the first to the last browser
-       {
-               MidoriBrowser *browser = katze_array_get_nth_item(browsers, i); // get a pointer on the current browser
-               signal_id = g_signal_handler_find(browser, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, mouse_gestures_tab_cb, NULL); // search forthe signal handler id
-               if(signal_id != 0) // and if its not invalid..
-                       g_signal_handler_disconnect(browser, signal_id); // disconnect it
-
-               GtkWidget *notebook = katze_object_get_object(browser, "notebook"); // get a pointer on the notebook
-               gint j; // another counter
-               for(j = 0; j < gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook)); j++) // from the first to the last tab
-               {
-                       GtkWidget *page = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), j); // get a pointer on the tab's view
-                       signal_id = g_signal_handler_find(page, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, mouse_gestures_handle_events, NULL); // find the signal id of the event handler
-                       if(signal_id != 0) // if the id is valid
-                               g_signal_handler_disconnect(page, signal_id); // disconnect the handler
-               }
-       }
-       g_free(gesture); // free the structure that contains the gesture information
-       return;
+    gulong signal_id;
+    KatzeArray *browsers;
+    guint i;
+    gint j;
+    GtkWidget *notebook;
+
+    signal_id =
+        g_signal_handler_find (app, G_SIGNAL_MATCH_FUNC,
+                               0, 0, NULL,
+                               mouse_gestures_browser_cb, NULL);
+
+    if(signal_id != 0)
+        g_signal_handler_disconnect (app, signal_id);
+
+    browsers = katze_object_get_object (app, "browsers");
+
+    for (i = 0; i < katze_array_get_length (browsers); i++)
+    {
+        MidoriBrowser *browser;
+
+        browser = katze_array_get_nth_item (browsers, i);
+
+        signal_id =
+            g_signal_handler_find (browser, G_SIGNAL_MATCH_FUNC,
+                                   0, 0, NULL,
+                                   mouse_gestures_tab_cb, NULL);
+
+        if (signal_id != 0)
+            g_signal_handler_disconnect (browser, signal_id);
+
+        notebook = katze_object_get_object (browser, "notebook");
+
+        for (j = 0; j < gtk_notebook_get_n_pages (GTK_NOTEBOOK (notebook)); j++)
+        {
+            GtkWidget *page = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), j);
+
+            signal_id =
+                g_signal_handler_find (page, G_SIGNAL_MATCH_FUNC,
+                                       0, 0, NULL,
+                                       mouse_gestures_handle_events, NULL);
+
+            if (signal_id != 0)
+                g_signal_handler_disconnect (page, signal_id);
+        }
+    }
+
+    g_signal_handlers_disconnect_by_func (extension, mouse_gestures_deactivate, app);
+    g_free (gesture);
 }
 
-static void mouse_gestures_activate(MidoriExtension *extension, MidoriApp *app) // this is performed on extension-activation
+static void mouse_gestures_activate (MidoriExtension *extension, MidoriApp *app)
 {
-    g_signal_connect(app, "add-browser", G_CALLBACK(mouse_gestures_browser_cb), NULL); // connect the above callback to the "add-browser" signal of app
-       g_signal_connect(extension, "deactivate", G_CALLBACK(mouse_gestures_deactivate), app); // connect the deactivate callback to the extension
-       return;
+    gesture = mouse_gesture_new ();
+
+    g_signal_connect (app, "add-browser",
+                      G_CALLBACK (mouse_gestures_browser_cb), NULL);
+    g_signal_connect (extension, "deactivate",
+                      G_CALLBACK (mouse_gestures_deactivate), app);
 }
 
-MidoriExtension* extension_init(void)
+MidoriExtension* extension_init (void)
 {
-    MidoriExtension* extension = NULL;
-       extension = g_object_new(MIDORI_TYPE_EXTENSION,
-                                                        "name", _("Mouse Gestures"),
-                                                        "description", _("Control Midori by moving the mouse"),
-                                                        "version", MOUSE_GESTURES_VERSION,
-                                                        "authors", "Matthias Kruk <mkruk@matthiaskruk.de>", NULL);
-    g_signal_connect(extension, "activate", G_CALLBACK(mouse_gestures_activate), NULL); // connect the callback that's executed on activation
-       gesture = NULL; // initialise gesture pointer; initialising pointers is always a good choice
-       if((gesture = mouse_gesture_new()) == NULL) // allocate space for the gesture
-       {
-               // no space could be allocated
-               g_free(extension); // free the space used by this extension
-               return(NULL);
-       }
-    return(extension);
+    MidoriExtension* extension;
+
+    extension = g_object_new (MIDORI_TYPE_EXTENSION,
+        "name", _("Mouse Gestures"),
+        "description", _("Control Midori by moving the mouse"),
+        "version", MOUSE_GESTURES_VERSION,
+        "authors", "Matthias Kruk <mkruk@matthiaskruk.de>", NULL);
+
+    g_signal_connect (extension, "activate",
+                      G_CALLBACK (mouse_gestures_activate), NULL);
+
+    return extension;
 }
index a5435a71490a8faedf95dcd03fe2a0051253b667..85abb66eb608e8cb225c4366086a896900cd2cde 100644 (file)
@@ -27,7 +27,7 @@ page_holder_notebook_append_view (GtkWidget* notebook)
     GtkWidget* label;
 
     view = midori_view_new (NULL);
-    browser = MIDORI_BROWSER (gtk_widget_get_toplevel (notebook));
+    browser = midori_browser_get_for_widget (notebook);
     settings = katze_object_get_object (browser, "settings");
     midori_view_set_settings (MIDORI_VIEW (view), settings);
     g_object_unref (settings);
@@ -49,7 +49,7 @@ page_holder_button_jump_to_clicked_cb (GtkWidget* button,
     if (n < 0)
         n = page_holder_notebook_append_view (notebook);
 
-    browser = MIDORI_BROWSER (gtk_widget_get_toplevel (notebook));
+    browser = midori_browser_get_for_widget (notebook);
     uri = midori_browser_get_current_uri (browser);
     view = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), n);
     midori_view_set_uri (MIDORI_VIEW (view), uri);
@@ -66,7 +66,7 @@ page_holder_button_add_clicked_cb (GtkWidget* button,
 
     n = page_holder_notebook_append_view (notebook);
     view = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), n);
-    browser = MIDORI_BROWSER (gtk_widget_get_toplevel (notebook));
+    browser = midori_browser_get_for_widget (notebook);
     uri = midori_browser_get_current_uri (browser);
     midori_view_set_uri (MIDORI_VIEW (view), uri);
 }
index 6c37c1af7960b974404a247c11edb8dab86f017a..ede0798a395d37acb56b198401a2b09532a9930d 100644 (file)
@@ -69,7 +69,7 @@ statusbar_features_app_add_browser_cb (MidoriApp*       app,
     gtk_widget_show (image);
     gtk_container_add (GTK_CONTAINER (button), image);
     #if GTK_CHECK_VERSION(2, 12, 0)
-    gtk_widget_set_tooltip_text (button, _("Enable plugins"));
+    gtk_widget_set_tooltip_text (button, _("Enable Netscape plugins"));
     #endif
     gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 2);
     gtk_widget_show (button);
@@ -101,8 +101,8 @@ MidoriExtension*
 extension_init (void)
 {
     MidoriExtension* extension = g_object_new (MIDORI_TYPE_EXTENSION,
-        "name", "Statusbar Features",
-        "description", "",
+        "name", _("Statusbar Features"),
+        "description", _("Easily toggle features on web pages on and off"),
         "version", "0.1",
         "authors", "Christian Dywan <christian@twotoasts.de>",
         NULL);
index ae26cc5095d189a226d6ca58989b3fa507fd1253..2efe559d06f0196cd4fb0eaaaf15099d1f0ade6b 100644 (file)
@@ -7,6 +7,9 @@ for extension in extensions:
     # Tab Panel isn't useful at this point
     if extension == 'tab-panel':
         continue
+    # Adblock is incomplete and not ready for release
+    if extension == 'adblock.c':
+        continue
     folder = 'extensions' + os.sep + extension
     if os.path.isdir (folder):
         files = os.listdir (folder)
index b9ff9647525c16b50fbfd128711394eba98e36c9..5df9291f40da4db89f6c6a9396197de6f5e18457 100644 (file)
@@ -111,16 +111,10 @@ _katze_array_move_item (KatzeArray* array,
 static void
 _katze_array_clear (KatzeArray* array)
 {
-    guint n;
-    guint i;
     GObject* item;
 
-    n = g_list_length (array->items);
-    for (i = 0; i < n; i++)
-    {
-        if ((item = g_list_nth_data (array->items, i)))
-            katze_array_remove_item (array, item);
-    }
+    while ((item = g_list_nth_data (array->items, 0)))
+        katze_array_remove_item (array, item);
     g_list_free (array->items);
     array->items = NULL;
 }
index 7d704b84d68c640871a1741bbb987dae6b3ddbab..cc887bc5f7143a0a739f0c732ca131a570ff9e37 100644 (file)
@@ -1,5 +1,6 @@
 /*
  Copyright (C) 2008 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2009 Enrico Tröger <enrico.troeger@uvena.de>
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
@@ -13,6 +14,7 @@
 
 #include "katze-net.h"
 #include "katze-utils.h"
+#include "marshal.h"
 
 #include <string.h>
 #include <glib/gi18n.h>
@@ -44,6 +46,7 @@ enum
 {
     POPULATE_POPUP,
     ACTIVATE_ITEM,
+    ACTIVATE_ITEM_ALT,
     LAST_SIGNAL
 };
 
@@ -107,6 +110,30 @@ katze_array_action_class_init (KatzeArrayActionClass* class)
                                        G_TYPE_NONE, 1,
                                        KATZE_TYPE_ITEM);
 
+    /**
+     * KatzeArrayAction::activate-item-alt:
+     * @array: the object on which the signal is emitted
+     * @item: the item being activated
+     * @button: the mouse button pressed
+     *
+     * An item was clicked with a particular button. Use this if you need
+     * to handle middle or right clicks specially.
+     *
+     * Return value: %TRUE if the event was handled. If %FALSE is returned,
+     *               the default "activate-item" signal is emitted.
+     *
+     * Since: 0.1.7
+     **/
+    signals[ACTIVATE_ITEM_ALT] = g_signal_new ("activate-item-alt",
+                                       G_TYPE_FROM_CLASS (class),
+                                       (GSignalFlags) (G_SIGNAL_RUN_LAST),
+                                       0,
+                                       0,
+                                       NULL,
+                                       katze_cclosure_marshal_BOOLEAN__OBJECT_UINT,
+                                       G_TYPE_BOOLEAN, 2,
+                                       KATZE_TYPE_ITEM, G_TYPE_UINT);
+
     gobject_class = G_OBJECT_CLASS (class);
     gobject_class->finalize = katze_array_action_finalize;
     gobject_class->set_property = katze_array_action_set_property;
@@ -206,13 +233,35 @@ katze_array_action_activate (GtkAction* action)
 }
 
 static void
-katze_array_action_menu_item_activate_cb (GtkWidget*        proxy,
-                                          KatzeArrayAction* array_action)
+katze_array_action_menu_activate_cb  (GtkWidget*        proxy,
+                                      KatzeArrayAction* array_action)
 {
     KatzeItem* item = g_object_get_data (G_OBJECT (proxy), "KatzeItem");
     g_signal_emit (array_action, signals[ACTIVATE_ITEM], 0, item);
 }
 
+static gboolean
+katze_array_action_menu_button_press_cb (GtkWidget*        proxy,
+                                         GdkEventButton*   event,
+                                         KatzeArrayAction* array_action)
+{
+    KatzeItem* item = g_object_get_data (G_OBJECT (proxy), "KatzeItem");
+    gboolean handled;
+
+    g_signal_emit (array_action, signals[ACTIVATE_ITEM_ALT], 0, item,
+        event->button, &handled);
+
+    if (!handled)
+        g_signal_emit (array_action, signals[ACTIVATE_ITEM], 0, item);
+
+    /* we need to block the 'activate' handler which would be called
+     * otherwise as well */
+    g_signal_handlers_block_by_func (proxy,
+        katze_array_action_menu_activate_cb, array_action);
+
+    return TRUE;
+}
+
 static void
 katze_array_action_menu_item_select_cb (GtkWidget*        proxy,
                                         KatzeArrayAction* array_action);
@@ -268,8 +317,13 @@ katze_array_action_generate_menu (KatzeArrayAction* array_action,
                 G_CALLBACK (katze_array_action_menu_item_select_cb), array_action);
         }
         else
+        {
+            g_signal_connect (menuitem, "button-press-event",
+                G_CALLBACK (katze_array_action_menu_button_press_cb), array_action);
+            /* we need the 'activate' signal as well for keyboard events */
             g_signal_connect (menuitem, "activate",
-                G_CALLBACK (katze_array_action_menu_item_activate_cb), array_action);
+                G_CALLBACK (katze_array_action_menu_activate_cb), array_action);
+        }
         gtk_widget_show (menuitem);
     }
     if (!i)
@@ -418,6 +472,44 @@ katze_array_action_item_notify_cb (KatzeItem*   item,
     }
 }
 
+static gboolean
+katze_array_action_proxy_create_menu_proxy_cb (GtkWidget* proxy,
+                                               KatzeItem* item)
+{
+    KatzeArrayAction* array_action;
+    GtkWidget* menuitem;
+    const gchar* icon_name;
+    GtkWidget* image;
+    GdkPixbuf* icon;
+
+    array_action = g_object_get_data (G_OBJECT (proxy), "KatzeArrayAction");
+    menuitem = katze_image_menu_item_new_ellipsized (
+        katze_item_get_name (item));
+    if ((icon_name = katze_item_get_icon (item)) && *icon_name)
+        image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
+    else
+    {
+        if (KATZE_IS_ARRAY (item))
+            icon = gtk_widget_render_icon (menuitem,
+                GTK_STOCK_DIRECTORY, GTK_ICON_SIZE_MENU, NULL);
+        else
+            icon = katze_net_load_icon (array_action->net,
+                katze_item_get_uri (item), NULL, proxy, NULL);
+        image = gtk_image_new_from_pixbuf (icon);
+        g_object_unref (icon);
+    }
+    gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image);
+    g_object_set_data (G_OBJECT (menuitem), "KatzeItem", item);
+    g_signal_connect (menuitem, "button-press-event",
+        G_CALLBACK (katze_array_action_menu_button_press_cb), array_action);
+    /* we need the 'activate' signal as well for keyboard events */
+    g_signal_connect (menuitem, "activate",
+        G_CALLBACK (katze_array_action_menu_activate_cb), array_action);
+    gtk_tool_item_set_proxy_menu_item (GTK_TOOL_ITEM (proxy),
+        "katze-tool-item-menu", menuitem);
+    return TRUE;
+}
+
 /**
  * katze_array_action_create_tool_item_for:
  * @array_action: a #KatzeArrayAction
@@ -453,6 +545,8 @@ katze_array_action_create_tool_item_for (KatzeArrayAction* array_action,
         return gtk_separator_tool_item_new ();
 
     toolitem = gtk_tool_button_new (NULL, NULL);
+    g_signal_connect (toolitem, "create-menu-proxy",
+        G_CALLBACK (katze_array_action_proxy_create_menu_proxy_cb), item);
     if (KATZE_IS_ARRAY (item))
         icon = gtk_widget_render_icon (GTK_WIDGET (toolitem),
             GTK_STOCK_DIRECTORY, GTK_ICON_SIZE_MENU, NULL);
index 4bbee3b332c9a62f521a72d7a1402a43d3dac2b5..721b3ab2f82d72f613abe82edfc526038f37337b 100644 (file)
@@ -219,14 +219,9 @@ katze_property_proxy (gpointer     object,
             string = g_strdup (G_PARAM_SPEC_STRING (pspec)->default_value);
         gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (widget),
                                        string ? string : "");
-        #if GTK_CHECK_VERSION (2, 12, 0)
-        g_signal_connect (widget, "file-set",
-                          G_CALLBACK (proxy_file_file_set_cb), object);
-        #else
         if (pspec->flags & G_PARAM_WRITABLE)
             g_signal_connect (widget, "selection-changed",
                               G_CALLBACK (proxy_file_file_set_cb), object);
-        #endif
     }
     else if (type == G_TYPE_PARAM_STRING && _hint == g_intern_string ("folder"))
     {
@@ -238,14 +233,9 @@ katze_property_proxy (gpointer     object,
             string = g_strdup (G_PARAM_SPEC_STRING (pspec)->default_value);
         gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (widget),
                                              string ? string : "");
-        #if GTK_CHECK_VERSION (2, 12, 0)
-        g_signal_connect (widget, "file-set",
-                          G_CALLBACK (proxy_folder_file_set_cb), object);
-        #else
         if (pspec->flags & G_PARAM_WRITABLE)
             g_signal_connect (widget, "selection-changed",
                               G_CALLBACK (proxy_folder_file_set_cb), object);
-        #endif
     }
     else if (type == G_TYPE_PARAM_STRING && _hint == g_intern_string ("uri"))
     {
index f5f73b6c2a34bb12a1b18f7a51fe83dd39c5a302..77c104e4eb089e7b1b7ae72a3c673d81cede009f 100644 (file)
@@ -1,5 +1,6 @@
 /*
  Copyright (C) 2007-2008 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
@@ -54,6 +55,22 @@ G_BEGIN_DECLS
         lvalue = rvalue; \
     }
 
+/**
+ * katze_strv_assign:
+ * @lvalue: a string list
+ * @rvalue: the new value
+ *
+ * Frees @lvalue if needed and assigns it the value of @rvalue.
+ *
+ * Since: 0.1.7
+ **/
+#define katze_strv_assign(lvalue, rvalue) \
+    if (1) \
+    { \
+        g_strfreev (lvalue); \
+        lvalue = rvalue; \
+    }
+
 GtkWidget*
 katze_property_proxy                (gpointer     object,
                                      const gchar* property,
index ce752891c8dcc64dca17e0835d6fb037e23dab45..f2d1b07cadaafc08b37dd09c7016acbe9811661b 100644 (file)
@@ -1 +1,2 @@
 VOID:POINTER,INT
+BOOLEAN:OBJECT,UINT
index 51740ab021f2955e54230606a62e02a5727e92fa..6bb7e86987b9a5be5f6cd0d4edf5804a61612a3e 100644 (file)
@@ -28,12 +28,9 @@ gtk_icon_entry_set_icon_from_pixbuf (GtkEntry*            entry,
                                      GdkPixbuf*           pixbuf)
 {
     /* Without this ugly hack pixbuf icons don't work */
-    if (pixbuf)
-    {
-        gtk_widget_hide (GTK_WIDGET (entry));
-        gtk_entry_set_icon_from_pixbuf (entry, position, pixbuf);
-        gtk_widget_show (GTK_WIDGET (entry));
-    }
+    gtk_widget_hide (GTK_WIDGET (entry));
+    gtk_entry_set_icon_from_pixbuf (entry, position, pixbuf);
+    gtk_widget_show (GTK_WIDGET (entry));
 }
 
 #else
@@ -1266,6 +1263,10 @@ gtk_icon_entry_set_icon_from_stock (GtkIconEntry *entry,
 {
   GdkPixbuf *pixbuf;
 
+  /* FIXME: Due to a bug in GtkIconEntry we need to set a non-NULL icon */
+  if (! stock_id)
+    stock_id = GTK_STOCK_INFO;
+
   pixbuf = gtk_widget_render_icon (GTK_WIDGET (entry),
                                   stock_id,
                                   GTK_ICON_SIZE_MENU,
index 61f8075bbb11bc79415b5440d6eb8f35058922ef..d34ff9620552797813c5b999cdfac2a678ed5484 100644 (file)
@@ -39,6 +39,7 @@ G_BEGIN_DECLS
     #define GTK_TYPE_ICON_ENTRY GTK_TYPE_ENTRY
     #define gtk_icon_entry_new gtk_entry_new
     #define gtk_icon_entry_set_icon_from_stock gtk_entry_set_icon_from_stock
+
     void
     gtk_icon_entry_set_icon_from_pixbuf (GtkEntry*            entry,
                                          GtkEntryIconPosition position,
index cab8d0af368e2c8229f69986ace31fe7d1cb4098..b2b6d917e2e3523c776f795c9ab3b85432552ac8 100644 (file)
@@ -35,6 +35,7 @@
 #else
     #define is_writable(_cfg_filename) 1
 #endif
+#include <errno.h>
 #include <stdlib.h>
 #include <string.h>
 #include <glib/gstdio.h>
@@ -71,7 +72,8 @@ build_config_filename (const gchar* filename)
 }
 
 static MidoriWebSettings*
-settings_new_from_file (const gchar* filename)
+settings_new_from_file (const gchar* filename,
+                        gchar***     extensions)
 {
     MidoriWebSettings* settings = midori_web_settings_new ();
     GKeyFile* key_file = g_key_file_new ();
@@ -156,11 +158,17 @@ settings_new_from_file (const gchar* filename)
             g_warning (_("Invalid configuration value '%s'"), property);
     }
     g_free (pspecs);
+
+    *extensions = g_key_file_get_keys (key_file, "extensions", NULL, NULL);
+
+    g_key_file_free (key_file);
+
     return settings;
 }
 
 static gboolean
 settings_save_to_file (MidoriWebSettings* settings,
+                       MidoriApp*         app,
                        const gchar*       filename,
                        GError**           error)
 {
@@ -172,6 +180,8 @@ settings_save_to_file (MidoriWebSettings* settings,
     GType type;
     const gchar* property;
     gboolean saved;
+    KatzeArray* extensions = katze_object_get_object (app, "extensions");
+    MidoriExtension* extension;
 
     key_file = g_key_file_new ();
     class = G_OBJECT_GET_CLASS (settings);
@@ -228,6 +238,14 @@ settings_save_to_file (MidoriWebSettings* settings,
             g_warning (_("Invalid configuration value '%s'"), property);
     }
     g_free (pspecs);
+
+    i = 0;
+    while ((extension = katze_array_get_nth_item (extensions, i++)))
+        if (midori_extension_is_active (extension))
+            g_key_file_set_boolean (key_file, "extensions",
+                g_object_get_data (G_OBJECT (extension), "filename"), TRUE);
+    g_object_unref (extensions);
+
     saved = sokoke_key_file_save_to_file (key_file, filename, error);
     g_key_file_free (key_file);
     return saved;
@@ -710,14 +728,15 @@ midori_app_quit_cb (MidoriApp* app)
 
 static void
 settings_notify_cb (MidoriWebSettings* settings,
-                    GParamSpec*        pspec)
+                    GParamSpec*        pspec,
+                    MidoriApp*         app)
 {
     gchar* config_file;
     GError* error;
 
     config_file = build_config_filename ("config");
     error = NULL;
-    if (!settings_save_to_file (settings, config_file, &error))
+    if (!settings_save_to_file (settings, app, config_file, &error))
     {
         g_warning (_("The configuration couldn't be saved. %s"), error->message);
         g_error_free (error);
@@ -1147,13 +1166,13 @@ static gboolean
 midori_load_extensions (gpointer data)
 {
     MidoriApp* app = MIDORI_APP (data);
+    gchar** active_extensions = g_object_get_data (G_OBJECT (app), "extensions");
     KatzeArray* extensions;
-    const gchar* filename;
     MidoriExtension* extension;
-    guint i;
 
     /* Load extensions */
     extensions = katze_array_new (MIDORI_TYPE_EXTENSION);
+    g_object_set (app, "extensions", extensions, NULL);
     if (g_module_supported ())
     {
         /* FIXME: Read extensions from system data dirs */
@@ -1165,6 +1184,8 @@ midori_load_extensions (gpointer data)
         extension_dir = g_dir_open (extension_path, 0, NULL);
         if (extension_dir != NULL)
         {
+            const gchar* filename;
+
             while ((filename = g_dir_read_name (extension_dir)))
             {
                 gchar* fullname;
@@ -1186,6 +1207,8 @@ midori_load_extensions (gpointer data)
                     extension = extension_init ();
                     /* FIXME: Validate the extension */
                     /* Signal that we want the extension to load and save */
+                    g_object_set_data_full (G_OBJECT (extension), "filename",
+                                            g_strdup (filename), g_free);
                     midori_extension_get_config_dir (extension);
                 }
                 else
@@ -1197,6 +1220,14 @@ midori_load_extensions (gpointer data)
                     g_warning ("%s", g_module_error ());
                 }
                 katze_array_add_item (extensions, extension);
+                if (active_extensions)
+                {
+                    guint i = 0;
+                    gchar* name;
+                    while ((name = active_extensions[i++]))
+                        if (!g_strcmp0 (filename, name))
+                            g_signal_emit_by_name (extension, "activate", app);
+                }
                 g_object_unref (extension);
             }
             g_dir_close (extension_dir);
@@ -1204,11 +1235,7 @@ midori_load_extensions (gpointer data)
         g_free (extension_path);
     }
 
-    g_object_set (app, "extensions", extensions, NULL);
-
-    i = 0;
-    while ((extension = katze_array_get_nth_item (extensions, i++)))
-        g_signal_emit_by_name (extension, "activate", app);
+    g_strfreev (active_extensions);
 
     return FALSE;
 }
@@ -1318,6 +1345,33 @@ midori_run_script (const gchar* filename)
     return 1;
 }
 
+#if WEBKIT_CHECK_VERSION (1, 1, 6)
+static void
+snapshot_load_finished_cb (GtkWidget*      web_view,
+                           WebKitWebFrame* web_frame,
+                           gchar*          filename)
+{
+    GError* error;
+    GtkPrintOperation* operation = gtk_print_operation_new ();
+    GtkPrintOperationAction action = GTK_PRINT_OPERATION_ACTION_EXPORT;
+    GtkPrintOperationResult result;
+
+    gtk_print_operation_set_export_filename (operation, filename);
+    error = NULL;
+    result = webkit_web_frame_print_full (web_frame, operation, action, &error);
+
+    if (error != NULL)
+    {
+        g_error ("%s", error->message);
+        gtk_main_quit ();
+    }
+
+    g_object_unref (operation);
+    g_print (_("Snapshot saved to: %s\n"), filename);
+    gtk_main_quit ();
+}
+#endif
+
 int
 main (int    argc,
       char** argv)
@@ -1325,6 +1379,7 @@ main (int    argc,
     gchar* webapp;
     gchar* config;
     gboolean run;
+    gchar* snapshot;
     gboolean version;
     gchar** uris;
     MidoriApp* app;
@@ -1338,6 +1393,10 @@ main (int    argc,
        N_("Use FOLDER as configuration folder"), N_("FOLDER") },
        { "run", 'r', 0, G_OPTION_ARG_NONE, &run,
        N_("Run the specified filename as javascript"), NULL },
+       #if WEBKIT_CHECK_VERSION (1, 1, 6)
+       { "snapshot", 's', 0, G_OPTION_ARG_STRING, &snapshot,
+       N_("Take a snapshot of the specified URI"), NULL },
+       #endif
        { "version", 'V', 0, G_OPTION_ARG_NONE, &version,
        N_("Display program version"), NULL },
        { G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_STRING_ARRAY, &uris,
@@ -1345,6 +1404,7 @@ main (int    argc,
      { NULL }
     };
     GString* error_messages;
+    gchar** extensions;
     MidoriWebSettings* settings;
     gchar* config_file;
     MidoriStartup load_on_startup;
@@ -1379,6 +1439,7 @@ main (int    argc,
     webapp = NULL;
     config = NULL;
     run = FALSE;
+    snapshot = NULL;
     version = FALSE;
     uris = NULL;
     error = NULL;
@@ -1412,6 +1473,39 @@ main (int    argc,
         return 0;
     }
 
+    #if WEBKIT_CHECK_VERSION (1, 1, 6)
+    if (snapshot)
+    {
+        gchar* filename;
+        gint fd;
+        GtkWidget* web_view;
+
+        fd = g_file_open_tmp ("snapshot-XXXXXX.pdf", &filename, &error);
+        close (fd);
+
+        error = NULL;
+        if (error)
+        {
+            g_error ("%s", error->message);
+            return 1;
+        }
+
+        if (g_unlink (filename) == -1)
+        {
+            g_error ("%s", g_strerror (errno));
+            return 1;
+        }
+
+        web_view = webkit_web_view_new ();
+        g_signal_connect (web_view, "load-finished",
+            G_CALLBACK (snapshot_load_finished_cb), filename);
+        webkit_web_view_open (WEBKIT_WEB_VIEW (web_view), snapshot);
+        gtk_main ();
+        g_free (filename);
+        return 0;
+    }
+    #endif
+
     /* Web Application support */
     if (webapp)
     {
@@ -1497,7 +1591,7 @@ main (int    argc,
     error_messages = g_string_new (NULL);
     config_file = build_config_filename ("config");
     error = NULL;
-    settings = settings_new_from_file (config_file);
+    settings = settings_new_from_file (config_file, &extensions);
     katze_assign (config_file, build_config_filename ("accels"));
     gtk_accel_map_load (config_file);
     katze_assign (config_file, build_config_filename ("search"));
@@ -1657,7 +1751,7 @@ main (int    argc,
     katze_assign (config_file, build_config_filename ("config"));
     if (is_writable (config_file))
         g_signal_connect_after (settings, "notify",
-            G_CALLBACK (settings_notify_cb), NULL);
+            G_CALLBACK (settings_notify_cb), app);
 
     katze_assign (config_file, build_config_filename ("search"));
     if (is_writable (config_file))
@@ -1746,6 +1840,7 @@ main (int    argc,
         G_CALLBACK (midori_app_add_browser_cb), NULL);
 
     g_idle_add (midori_load_cookie_jar, settings);
+    g_object_set_data (G_OBJECT (app), "extensions", extensions);
     g_idle_add (midori_load_extensions, app);
     katze_item_set_parent (KATZE_ITEM (_session), app);
     g_idle_add (midori_load_session, _session);
index 825f9730064a17e6d40eb85b65054da7adc04353..5ca263beb369d2b0b081a03b7d0d31680bf0a1e7 100644 (file)
@@ -4,3 +4,4 @@ VOID:BOOLEAN,STRING
 VOID:OBJECT,ENUM
 VOID:STRING,BOOLEAN
 VOID:STRING,INT,STRING
+VOID:STRING,STRING
index b753a64fb5fc581c391e04fd28992f360f0218f3..f9a430c02058d978a5352d2a38d6acb2ff70bb0b 100644 (file)
     #include <unique/unique.h>
 #endif
 
+typedef struct _NotifyNotification NotifyNotification;
+
+typedef struct
+{
+    gboolean            (*init)               (const gchar* app_name);
+    void                (*uninit)             (void);
+    NotifyNotification* (*notification_new)   (const gchar* summary,
+                                               const gchar* body,
+                                               const gchar* icon,
+                                               GtkWidget*   attach);
+    gboolean            (*notification_show)  (NotifyNotification* notification,
+                                               GError**            error);
+} LibNotifyFuncs;
+
 struct _MidoriApp
 {
     GObject parent_instance;
@@ -41,6 +55,11 @@ struct _MidoriApp
     KatzeArray* browsers;
 
     gpointer instance;
+
+    /* libnotify handling */
+    gchar*         program_notify_send;
+    GModule*       libnotify_module;
+    LibNotifyFuncs libnotify_funcs;
 };
 
 struct _MidoriAppClass
@@ -52,6 +71,9 @@ struct _MidoriAppClass
     (*add_browser)            (MidoriApp*     app,
                                MidoriBrowser* browser);
     void
+    (*remove_browser)         (MidoriApp*     app,
+                               MidoriBrowser* browser);
+    void
     (*quit)                   (MidoriApp*     app);
 };
 
@@ -75,6 +97,7 @@ enum
 
 enum {
     ADD_BROWSER,
+    REMOVE_BROWSER,
     QUIT,
 
     LAST_SIGNAL
@@ -85,6 +108,9 @@ static guint signals[LAST_SIGNAL];
 static void
 midori_app_finalize (GObject* object);
 
+static void
+midori_app_init_libnotify (MidoriApp* app);
+
 static void
 midori_app_set_property (GObject*      object,
                          guint         prop_id,
@@ -109,13 +135,18 @@ midori_browser_focus_in_event_cb (MidoriBrowser* browser,
 
 static void
 midori_browser_new_window_cb (MidoriBrowser* browser,
-                              const gchar*   uri,
+                              MidoriBrowser* new_browser,
                               MidoriApp*     app)
 {
-    MidoriBrowser* new_browser = midori_app_create_browser (app);
-    midori_app_add_browser (app, new_browser);
+    g_object_set (new_browser,
+                  "settings", app->settings,
+                  "bookmarks", app->bookmarks,
+                  "trash", app->trash,
+                  "search-engines", app->search_engines,
+                  "history", app->history,
+                  NULL);
 
-    midori_browser_add_uri (new_browser, uri);
+    midori_app_add_browser (app, new_browser);
     gtk_widget_show (GTK_WIDGET (new_browser));
 }
 
@@ -131,6 +162,7 @@ static gboolean
 midori_browser_destroy_cb (MidoriBrowser* browser,
                            MidoriApp*     app)
 {
+    g_signal_emit (app, signals[REMOVE_BROWSER], 0, browser);
     katze_array_remove_item (app->browsers, browser);
     if (!katze_array_is_empty (app->browsers))
         return FALSE;
@@ -160,6 +192,8 @@ _midori_app_add_browser (MidoriApp*     app,
         "signal::destroy", midori_browser_destroy_cb, app,
         "signal::quit", midori_browser_quit_cb, app,
         NULL);
+    g_signal_connect_swapped (browser, "send-notification",
+        G_CALLBACK (midori_app_send_notification), app);
 
     katze_array_add_item (app->browsers, browser);
 
@@ -191,6 +225,26 @@ midori_app_class_init (MidoriAppClass* class)
         G_TYPE_NONE, 1,
         MIDORI_TYPE_BROWSER);
 
+    /**
+     * MidoriApp::remove-browser:
+     * @app: the object on which the signal is emitted
+     * @browser: a #MidoriBrowser
+     *
+     * A new browser is being added to the app.
+     *
+     * Since: 0.1.7
+     */
+    signals[REMOVE_BROWSER] = g_signal_new (
+        "remove-browser",
+        G_TYPE_FROM_CLASS (class),
+        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
+        0,
+        0,
+        NULL,
+        g_cclosure_marshal_VOID__OBJECT,
+        G_TYPE_NONE, 1,
+        MIDORI_TYPE_BROWSER);
+
     signals[QUIT] = g_signal_new (
         "quit",
         G_TYPE_FROM_CLASS (class),
@@ -461,6 +515,8 @@ midori_app_init (MidoriApp* app)
     app->browsers = katze_array_new (MIDORI_TYPE_BROWSER);
 
     app->instance = NULL;
+
+    midori_app_init_libnotify (app);
 }
 
 static void
@@ -481,6 +537,13 @@ midori_app_finalize (GObject* object)
 
     katze_object_assign (app->instance, NULL);
 
+    if (app->libnotify_module)
+    {
+        app->libnotify_funcs.uninit ();
+        g_module_close (app->libnotify_module);
+    }
+    katze_assign (app->program_notify_send, NULL);
+
     G_OBJECT_CLASS (midori_app_parent_class)->finalize (object);
 }
 
@@ -752,7 +815,7 @@ midori_app_add_browser (MidoriApp*     app,
  *
  * Return value: a new #MidoriBrowser
  *
- * Since: 1.0.2
+ * Since: 0.1.2
  **/
 MidoriBrowser*
 midori_app_create_browser (MidoriApp* app)
@@ -783,3 +846,86 @@ midori_app_quit (MidoriApp* app)
 
     g_signal_emit (app, signals[QUIT], 0);
 }
+
+static void
+midori_app_init_libnotify (MidoriApp* app)
+{
+    gint i;
+    const gchar* sonames[] = { "libnotify.so", "libnotify.so.1", NULL };
+
+    for (i = 0; sonames[i] != NULL && app->libnotify_module == NULL; i++ )
+    {
+        app->libnotify_module = g_module_open (sonames[i], G_MODULE_BIND_LOCAL);
+    }
+
+    if (app->libnotify_module != NULL)
+    {
+        g_module_symbol (app->libnotify_module, "notify_init",
+            (void*) &(app->libnotify_funcs.init));
+        g_module_symbol (app->libnotify_module, "notify_uninit",
+            (void*) &(app->libnotify_funcs.uninit));
+        g_module_symbol (app->libnotify_module, "notify_notification_new",
+            (void*) &(app->libnotify_funcs.notification_new));
+        g_module_symbol (app->libnotify_module, "notify_notification_show",
+            (void*) &(app->libnotify_funcs.notification_show));
+
+        /* init libnotify */
+        if (!app->libnotify_funcs.init || !app->libnotify_funcs.init ("midori"))
+        {
+             g_module_close (app->libnotify_module);
+             app->libnotify_module = NULL;
+        }
+    }
+
+    app->program_notify_send = g_find_program_in_path ("notify-send");
+}
+
+/**
+ * midori_app_send_notification:
+ * @app: a #MidoriApp
+ * @title: title of the notification
+ * @message: text of the notification, or NULL
+ *
+ * Send #message to the notification daemon to display it.
+ * This is done by using libnotify if available or by using the program
+ * "notify-send" as a fallback.
+ *
+ * There is no guarantee that the message have been sent and displayed, as
+ * neither libnotify nor "notify-send" might be available or the
+ * notification daemon might not be running.
+ *
+ * Since 0.1.7
+ **/
+void
+midori_app_send_notification (MidoriApp*   app,
+                              const gchar* title,
+                              const gchar* message)
+{
+    gboolean sent = FALSE;
+
+    g_return_if_fail (MIDORI_IS_APP (app));
+    g_return_if_fail (title);
+
+    if (app->libnotify_module)
+    {
+        NotifyNotification* n;
+
+        n = app->libnotify_funcs.notification_new (title, message, "midori", NULL);
+        sent = app->libnotify_funcs.notification_show (n, NULL);
+        g_object_unref (n);
+    }
+    /* Fall back to the command line program "notify-send" */
+    if (!sent && app->program_notify_send)
+    {
+        gchar* msgq = g_shell_quote (message);
+        gchar* titleq = g_shell_quote (title);
+        gchar* command = g_strdup_printf ("%s -i midori %s %s",
+            app->program_notify_send, titleq, msgq);
+
+        g_spawn_command_line_async (command, NULL);
+
+        g_free (titleq);
+        g_free (msgq);
+        g_free (command);
+    }
+}
index a2f197e908f7c55d6d19c958047e57c4c899c887..7b06ba30544c2392c2d71578373ca1c9a027a59c 100644 (file)
@@ -64,6 +64,11 @@ midori_app_create_browser         (MidoriApp*         app);
 void
 midori_app_quit                   (MidoriApp*         app);
 
+void
+midori_app_send_notification      (MidoriApp*         app,
+                                   const gchar*       title,
+                                   const gchar*       message);
+
 G_END_DECLS
 
 #endif /* __MIDORI_APP_H__ */
index 32fd16eca4ec4065d5d9b9d112746ffcca1d4c82..5cc4c8297ffee91113627a02cbb4a9a2330e36b1 100644 (file)
@@ -1,6 +1,7 @@
 /*
  Copyright (C) 2007-2009 Christian Dywan <christian@twotoasts.de>
  Copyright (C) 2008 Dale Whittaker <dayul@users.sf.net>
+ Copyright (C) 2009 Jérôme Geulfucci <jeromeg@xfce.org>
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
@@ -25,6 +26,7 @@
 
 #include "gtkiconentry.h"
 #include "compat.h"
+#include "marshal.h"
 #include "sokoke.h"
 
 #include <glib/gi18n.h>
@@ -73,6 +75,8 @@ struct _MidoriBrowser
     guint alloc_timeout;
     guint panel_timeout;
 
+    gint clear_private_data;
+
     MidoriWebSettings* settings;
     KatzeArray* proxy_array;
     KatzeArray* bookmarks;
@@ -84,6 +88,7 @@ struct _MidoriBrowser
 
     gboolean show_navigationbar;
     gboolean show_statusbar;
+    gboolean speed_dial_in_new_tabs;
     gboolean progress_in_location;
     gboolean remember_last_visited_pages;
     gchar* location_entry_search;
@@ -124,11 +129,22 @@ enum
     ACTIVATE_ACTION,
     CONTEXT_READY,
     ADD_DOWNLOAD,
+    SEND_NOTIFICATION,
     QUIT,
 
     LAST_SIGNAL
 };
 
+enum
+{
+    MIDORI_CLEAR_NONE = 0,
+    MIDORI_CLEAR_HISTORY = 1,
+    MIDORI_CLEAR_COOKIES = 2,
+    MIDORI_CLEAR_FLASH_COOKIES = 4,
+    MIDORI_CLEAR_WEBSITE_ICONS = 8,
+    MIDORI_CLEAR_TRASH = 16
+};
+
 static guint signals[LAST_SIGNAL];
 
 static void
@@ -245,6 +261,8 @@ _midori_browser_update_interface (MidoriBrowser* browser)
     _action_set_sensitive (browser, "Forward",
         midori_view_can_go_forward (MIDORI_VIEW (view)));
 
+    gtk_action_set_visible (_action_by_name (browser, "AddSpeedDial"),
+        browser->speed_dial_in_new_tabs && !midori_view_is_blank (MIDORI_VIEW (view)));
     /* Currently views that don't support source, don't support
        saving either. If that changes, we need to think of something. */
     _action_set_sensitive (browser, "SaveAs",
@@ -267,8 +285,6 @@ _midori_browser_update_interface (MidoriBrowser* browser)
         midori_view_can_find (MIDORI_VIEW (view)));
     _action_set_sensitive (browser, "FindPrevious",
         midori_view_can_find (MIDORI_VIEW (view)));
-    /* _action_set_sensitive (browser, "FindQuick",
-        midori_view_can_find (MIDORI_VIEW (view))); */
     gtk_widget_set_sensitive (GTK_WIDGET (browser->find_highlight),
         midori_view_can_find (MIDORI_VIEW (view)));
 
@@ -312,7 +328,7 @@ _midori_browser_update_interface (MidoriBrowser* browser)
             MIDORI_LOCATION_ACTION (action), STOCK_NEWS_FEED);
     else
         midori_location_action_set_secondary_icon (
-            MIDORI_LOCATION_ACTION (action), GTK_STOCK_INFO);
+            MIDORI_LOCATION_ACTION (action), NULL);
 }
 
 static void
@@ -420,12 +436,17 @@ midori_view_notify_load_status_cb (GtkWidget*      view,
             midori_location_action_set_uri (
                 MIDORI_LOCATION_ACTION (action), uri);
             midori_location_action_set_secondary_icon (
-                MIDORI_LOCATION_ACTION (action), GTK_STOCK_INFO);
+                MIDORI_LOCATION_ACTION (action), NULL);
             g_object_notify (G_OBJECT (browser), "uri");
         }
 
         _midori_browser_update_interface (browser);
         _midori_browser_set_statusbar_text (browser, NULL);
+
+        /* This is a hack to ensure that the address entry is focussed
+           with speed dial open. */
+        if (midori_view_is_blank (MIDORI_VIEW (view)))
+            gtk_action_activate (_action_by_name (browser, "Location"));
     }
 
     g_object_notify (G_OBJECT (browser), "load-status");
@@ -448,6 +469,20 @@ midori_view_context_ready_cb (GtkWidget*     view,
     g_signal_emit (browser, signals[CONTEXT_READY], 0, js_context);
 }
 
+static void
+midori_view_notify_uri_cb (GtkWidget*     view,
+                           GParamSpec*    pspec,
+                           MidoriBrowser* browser)
+{
+    if (view == midori_browser_get_current_tab (browser))
+    {
+        const gchar* uri = midori_view_get_display_uri (MIDORI_VIEW (view));
+        GtkAction* action = _action_by_name (browser, "Location");
+        midori_location_action_set_uri (MIDORI_LOCATION_ACTION (action), uri);
+        _midori_browser_update_interface (browser);
+    }
+}
+
 static void
 midori_view_notify_title_cb (GtkWidget*     view,
                              GParamSpec*    pspec,
@@ -699,7 +734,7 @@ midori_view_add_bookmark_cb (GtkWidget*   menuitem,
 
     item = katze_item_new ();
     katze_item_set_uri (item, uri);
-    browser = (MidoriBrowser*)gtk_widget_get_toplevel (menuitem);
+    browser = midori_browser_get_for_widget (menuitem);
     midori_browser_edit_bookmark_dialog_new (browser, item, FALSE, FALSE);
 }
 
@@ -806,10 +841,176 @@ midori_view_save_as_cb (GtkWidget*   menuitem,
 {
     MidoriBrowser* browser;
 
-    browser = (MidoriBrowser*)gtk_widget_get_toplevel (menuitem);
+    browser = midori_browser_get_for_widget (menuitem);
     midori_browser_save_uri (browser, uri);
 }
 
+static gchar*
+midori_browser_speed_dial_get_next_free_slot (void)
+{
+    GRegex* regex;
+    GMatchInfo* match_info;
+    gchar* speed_dial_body;
+    gchar* body_fname;
+    gchar* slot_id = NULL;
+
+    body_fname = g_build_filename (sokoke_set_config_dir (NULL),
+                                   "speeddial.json", NULL);
+
+    if (!g_file_test (body_fname, G_FILE_TEST_EXISTS))
+    {
+        if (g_file_get_contents (DATADIR "/midori/res/speeddial.json",
+                                 &speed_dial_body, NULL, NULL))
+        {
+            g_file_set_contents (body_fname, speed_dial_body, -1, NULL);
+
+            g_free (speed_dial_body);
+        }
+        g_free (body_fname);
+        return g_strdup ("s1");
+    }
+    else
+        g_file_get_contents (body_fname, &speed_dial_body, NULL, NULL);
+
+    regex = g_regex_new ("\"id\":\"(s[1-9])\",\"href\":\"#\"",
+                         G_REGEX_MULTILINE, 0, NULL);
+
+    if (g_regex_match (regex, speed_dial_body, 0, &match_info))
+    {
+        slot_id = g_match_info_fetch (match_info, 1);
+        g_match_info_free (match_info);
+    }
+
+    if (!g_strcmp0 (slot_id, ""))
+        g_free (slot_id);
+
+    g_free (body_fname);
+    g_free (speed_dial_body);
+    g_free (regex);
+
+    return slot_id;
+}
+
+GdkPixbuf*
+midori_view_get_snapshot (MidoriView* view,
+                          guint       width,
+                          guint       height);
+
+static void
+midori_browser_add_speed_dial (MidoriBrowser* browser)
+{
+    GdkPixbuf* img;
+    gchar* replace_from;
+    gchar* replace_by;
+    gsize len;
+
+    GtkWidget* view = midori_browser_get_current_tab (browser);
+
+    gchar* uri = g_strdup (midori_view_get_display_uri (MIDORI_VIEW (view)));
+    gchar* title = g_strdup (midori_view_get_display_title (MIDORI_VIEW (view)));
+    gchar* slot_id = midori_browser_speed_dial_get_next_free_slot ();
+
+    GRegex* reg_quotes = g_regex_new ("'", 0, 0, NULL);
+    GRegex* reg_others = g_regex_new ("[\\\"\\\\]", 0, 0, NULL);
+    gchar* temp_title = g_regex_replace_literal (reg_others, title,
+                                                 -1, 0, " ", 0, NULL);
+    g_free (title);
+    title = g_regex_replace_literal (reg_quotes, temp_title, -1, 0,
+                                     "\\\\'", 0, NULL);
+
+    g_free (temp_title);
+    g_regex_unref (reg_quotes);
+    g_regex_unref (reg_others);
+
+    if (slot_id == NULL)
+    {
+        g_free (uri);
+        g_free (title);
+        return;
+    }
+
+    if ((len = g_utf8_strlen (title, -1)) > 15)
+    {
+        /**
+          * The case when a quote was escaped with a backslash and the
+          * backslash becomes the last character of the ellipsized string.
+          * This causes JSON parsing to fail.
+          * For example: "My Foo Bar \'b\..."
+          **/
+        GRegex* reg_unsafe = g_regex_new ("([\\\\]+\\.)", 0, 0, NULL);
+
+        gchar* temp;
+        gchar* ellipsized = g_malloc0 ( len + 1);
+
+        g_utf8_strncpy (ellipsized, title, 15);
+        g_free (title);
+
+        temp = g_strdup_printf ("%s...", ellipsized);
+        g_free  (ellipsized);
+
+        title = g_regex_replace_literal (reg_unsafe, temp, -1, 0, ".", 0, NULL);
+        g_free (temp);
+
+        g_regex_unref (reg_unsafe);
+    }
+
+    if ((img = midori_view_get_snapshot (MIDORI_VIEW (view), 160, 107)))
+    {
+        GRegex* regex;
+        gchar* replace;
+        gchar* file_content;
+        gchar* encoded;
+        gchar* speed_dial_body;
+        gchar* body_fname;
+        gsize sz;
+
+        body_fname = g_build_filename (sokoke_set_config_dir (NULL),
+                                       "speeddial.json", NULL);
+
+        if (g_file_get_contents (body_fname, &speed_dial_body, NULL, NULL))
+        {
+            gdk_pixbuf_save_to_buffer (img, &file_content, &sz, "png", NULL, NULL);
+            encoded = g_base64_encode ((guchar *)file_content, sz);
+
+            replace_from = g_strdup_printf (
+                "\\{\"id\":\"%s\",\"href\":\"#\",\"title\":\"\",\"img\":\"\"\\}",
+                slot_id);
+            replace_by = g_strdup_printf (
+                "{\"id\":\"%s\",\"href\":\"%s\",\"title\":\"%s\",\"img\":\"%s\"}",
+                slot_id, uri, title, encoded);
+
+            regex = g_regex_new (replace_from, G_REGEX_MULTILINE, 0, NULL);
+            replace = g_regex_replace (regex, speed_dial_body, -1,
+                                       1, replace_by, 0, NULL);
+
+            g_file_set_contents (body_fname, replace, -1, NULL);
+
+            g_object_unref (img);
+            g_regex_unref (regex);
+            g_free (encoded);
+            g_free (file_content);
+            g_free (speed_dial_body);
+            g_free (replace_from);
+            g_free (replace_by);
+            g_free (replace);
+        }
+        g_free (body_fname);
+    }
+}
+
+
+static void
+midori_view_add_speed_dial_cb (GtkWidget*   menuitem,
+                              const gchar* uri,
+                              GtkWidget*   view)
+{
+    MidoriBrowser* browser;
+
+    browser = midori_browser_get_for_widget (menuitem);
+    midori_browser_add_speed_dial (browser);
+}
+
+
 static gboolean
 midori_browser_tab_leave_notify_event_cb (GtkWidget*        widget,
                                           GdkEventCrossing* event,
@@ -845,8 +1046,7 @@ midori_view_new_tab_cb (GtkWidget*     view,
                         MidoriBrowser* browser)
 {
     gint n = midori_browser_add_uri (browser, uri);
-    if (!background)
-        midori_browser_set_current_page (browser, n);
+    _midori_browser_set_current_page_smartly (browser, n);
 }
 
 static void
@@ -854,7 +1054,9 @@ midori_view_new_window_cb (GtkWidget*     view,
                            const gchar*   uri,
                            MidoriBrowser* browser)
 {
-    g_signal_emit (browser, signals[NEW_WINDOW], 0, uri);
+    MidoriBrowser* new_browser = g_object_new (MIDORI_TYPE_BROWSER, NULL);
+    g_signal_emit (browser, signals[NEW_WINDOW], 0, new_browser);
+    midori_browser_add_uri (new_browser, uri);
 }
 
 static void
@@ -865,12 +1067,10 @@ midori_view_new_view_cb (GtkWidget*     view,
 {
     if (where == MIDORI_NEW_VIEW_WINDOW)
     {
-        /* MidoriBrowser* new_browser = g_object_new (MIDORI_TYPE_BROWSER,
-            NULL);
-        g_signal_emit (browser, signals[NEW_BROWSER], 0, new_browser); */
-        g_debug ("Opening all pages in new windows not implemented");
-        midori_browser_set_current_page (browser,
-            midori_browser_add_tab (browser, new_view));
+        MidoriBrowser* new_browser = g_object_new (MIDORI_TYPE_BROWSER, NULL);
+        g_signal_emit (browser, signals[NEW_WINDOW], 0, new_browser);
+        midori_browser_add_tab (new_browser, new_view);
+        midori_browser_set_current_tab (new_browser, new_view);
     }
     else
     {
@@ -900,6 +1100,9 @@ midori_browser_download_notify_status_cb (WebKitDownload* download,
     switch (webkit_download_get_status (download))
     {
         case WEBKIT_DOWNLOAD_STATUS_FINISHED:
+        {
+            MidoriBrowser* browser = midori_browser_get_for_widget (button);
+
             icon = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
             gtk_button_set_image (GTK_BUTTON (button), icon);
             if (g_object_get_data (G_OBJECT (download), "open-download"))
@@ -907,7 +1110,21 @@ midori_browser_download_notify_status_cb (WebKitDownload* download,
             else
                 g_object_set_data (G_OBJECT (gtk_widget_get_parent (button)),
                                    "done", (void*)1);
+
+            if (browser->settings && katze_object_get_boolean (
+                browser->settings, "notify-transfer-completed"))
+            {
+                gchar* msg = g_strdup_printf (
+                    _("The file <b>%s</b> has been downloaded."),
+                    webkit_download_get_suggested_filename (download));
+
+                g_signal_emit (browser, signals[SEND_NOTIFICATION], 0,
+                    _("Transfer completed"), msg);
+
+                g_free (msg);
+            }
             break;
+        }
         case WEBKIT_DOWNLOAD_STATUS_CANCELLED:
         case WEBKIT_DOWNLOAD_STATUS_ERROR:
             icon = gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_MENU);
@@ -927,7 +1144,7 @@ midori_browser_download_button_clicked_cb (GtkWidget*      button,
     MidoriBrowser* browser;
     GList* buttons;
 
-    browser = MIDORI_BROWSER (gtk_widget_get_toplevel (button));
+    browser = midori_browser_get_for_widget (button);
 
     switch (webkit_download_get_status (download))
     {
@@ -939,15 +1156,8 @@ midori_browser_download_button_clicked_cb (GtkWidget*      button,
         case WEBKIT_DOWNLOAD_STATUS_FINISHED:
         {
             const gchar* uri = webkit_download_get_destination_uri (download);
-            gboolean success = gtk_show_uri (gtk_widget_get_screen (button),
-                uri, gtk_get_current_event_time (), NULL);
-            if (!success)
-            {
-                gchar* command = g_strconcat ("exo-open ", uri, NULL);
-                success = g_spawn_command_line_async (command, NULL);
-                g_free (command);
-            }
-            if (success)
+            if (sokoke_show_uri (gtk_widget_get_screen (button),
+                uri, gtk_get_current_event_time (), NULL))
                 gtk_widget_destroy (gtk_widget_get_parent (button));
             break;
         }
@@ -1161,6 +1371,8 @@ _midori_browser_add_tab (MidoriBrowser* browser,
                       midori_view_notify_progress_cb, browser,
                       "signal::context-ready",
                       midori_view_context_ready_cb, browser,
+                      "signal::notify::uri",
+                      midori_view_notify_uri_cb, browser,
                       "signal::notify::title",
                       midori_view_notify_title_cb, browser,
                       "signal::notify::zoom-level",
@@ -1187,11 +1399,14 @@ _midori_browser_add_tab (MidoriBrowser* browser,
                       midori_view_add_bookmark_cb, browser,
                       "signal::save-as",
                       midori_view_save_as_cb, browser,
+                      "signal::add-speed-dial",
+                      midori_view_add_speed_dial_cb, browser,
                       "signal::leave-notify-event",
                       midori_browser_tab_leave_notify_event_cb, browser,
                       NULL);
 
-    if (browser->settings &&
+    if (!g_object_get_data (G_OBJECT (view), "midori-view-append") &&
+        browser->settings &&
         katze_object_get_boolean (browser->settings, "open-tabs-next-to-current"))
     {
         n = gtk_notebook_get_current_page (GTK_NOTEBOOK (browser->notebook));
@@ -1221,6 +1436,28 @@ _midori_browser_remove_tab (MidoriBrowser* browser,
     gtk_widget_destroy (view);
 }
 
+/**
+ * midori_browser_foreach:
+ * @browser: a #MidoriBrowser
+ * @callback: a #GtkCallback
+ * @callback_data: custom data
+ *
+ * Calls the specified callback for each view contained
+ * in the browser.
+ *
+ * Since: 0.1.7
+ **/
+void
+midori_browser_foreach (MidoriBrowser* browser,
+                        GtkCallback    callback,
+                        gpointer       callback_data)
+{
+  g_return_if_fail (MIDORI_IS_BROWSER (browser));
+
+  gtk_container_foreach (GTK_CONTAINER (browser->notebook),
+                         callback, callback_data);
+}
+
 static void
 _midori_browser_quit (MidoriBrowser* browser)
 {
@@ -1233,6 +1470,15 @@ midori_browser_class_init (MidoriBrowserClass* class)
     GObjectClass* gobject_class;
     GParamFlags flags;
 
+    /**
+     * MidoriBrowser::new-window:
+     * @browser: the object on which the signal is emitted
+     * @window: a new browser window
+     *
+     * Emitted when a new browser window was created.
+     *
+     * Note: Before 0.1.7 the second argument was an URI string.
+     */
     signals[NEW_WINDOW] = g_signal_new (
         "new-window",
         G_TYPE_FROM_CLASS (class),
@@ -1240,9 +1486,9 @@ midori_browser_class_init (MidoriBrowserClass* class)
         G_STRUCT_OFFSET (MidoriBrowserClass, new_window),
         0,
         NULL,
-        g_cclosure_marshal_VOID__STRING,
+        g_cclosure_marshal_VOID__OBJECT,
         G_TYPE_NONE, 1,
-        G_TYPE_STRING);
+        MIDORI_TYPE_BROWSER);
 
     signals[ADD_TAB] = g_signal_new (
         "add-tab",
@@ -1289,8 +1535,8 @@ midori_browser_class_init (MidoriBrowserClass* class)
         G_TYPE_POINTER);
 
     /**
-     * MidoriView::add-download:
-     * @view: the object on which the signal is emitted
+     * MidoriBrowser::add-download:
+     * @browser: the object on which the signal is emitted
      * @download: a new download
      *
      * Emitted when a new download was accepted and is
@@ -1300,7 +1546,7 @@ midori_browser_class_init (MidoriBrowserClass* class)
      * Emitting this signal manually is equal to a
      * user initiating and confirming a download
      *
-     * Note: This requires WebKitGTK 1.1.3.
+     * Note: This requires WebKitGTK+ 1.1.3.
      *
      * Since: 0.1.5
      */
@@ -1315,6 +1561,29 @@ midori_browser_class_init (MidoriBrowserClass* class)
         G_TYPE_NONE, 1,
         G_TYPE_OBJECT);
 
+    /**
+     * MidoriBrowser::send-notification:
+     * @browser: the object on which the signal is emitted
+     * @title: the title for the notification
+     * @message: the message for the notification
+     *
+     * Emitted when a browser wants to display a notification message,
+     * e.g. when a download has been completed.
+     *
+     * Since: 0.1.7
+     */
+    signals[SEND_NOTIFICATION] = g_signal_new (
+        "send-notification",
+        G_TYPE_FROM_CLASS (class),
+        (GSignalFlags)(G_SIGNAL_RUN_LAST),
+        0,
+        0,
+        NULL,
+        midori_cclosure_marshal_VOID__STRING_STRING,
+        G_TYPE_NONE, 2,
+        G_TYPE_STRING,
+        G_TYPE_STRING);
+
     signals[QUIT] = g_signal_new (
         "quit",
         G_TYPE_FROM_CLASS (class),
@@ -1534,7 +1803,10 @@ static void
 _action_window_new_activate (GtkAction*     action,
                              MidoriBrowser* browser)
 {
-    g_signal_emit (browser, signals[NEW_WINDOW], 0, "");
+    MidoriBrowser* new_browser = g_object_new (MIDORI_TYPE_BROWSER, NULL);
+    g_signal_emit (browser, signals[NEW_WINDOW], 0, new_browser);
+    midori_browser_add_uri (new_browser, "");
+    midori_browser_activate_action (new_browser, "Location");
 }
 
 static void
@@ -1543,7 +1815,6 @@ _action_tab_new_activate (GtkAction*     action,
 {
     gint n = midori_browser_add_uri (browser, "");
     midori_browser_set_current_page (browser, n);
-    gtk_action_activate (_action_by_name (browser, "Location"));
 }
 
 static void
@@ -1611,6 +1882,13 @@ _action_save_as_activate (GtkAction*     action,
     midori_browser_save_uri (browser, midori_browser_get_current_uri (browser));
 }
 
+static void
+_action_add_speed_dial_activate (GtkAction*     action,
+                                MidoriBrowser* browser)
+{
+    midori_browser_add_speed_dial (browser);
+}
+
 static void
 _action_tab_close_activate (GtkAction*     action,
                             MidoriBrowser* browser)
@@ -1743,7 +2021,17 @@ _action_select_all_activate (GtkAction*     action,
         if (GTK_IS_EDITABLE (widget))
             gtk_editable_select_region (GTK_EDITABLE (widget), 0, -1);
         else if (g_signal_lookup ("select-all", G_OBJECT_TYPE (widget)))
-            g_signal_emit_by_name (widget, "select-all", TRUE);
+        {
+            if (GTK_IS_TEXT_VIEW (widget))
+                g_signal_emit_by_name (widget, "select-all", TRUE);
+            else if (GTK_IS_TREE_VIEW (widget))
+            {
+                gboolean dummy;
+                g_signal_emit_by_name (widget, "select-all", &dummy);
+            }
+            else
+                g_signal_emit_by_name (widget, "select-all");
+        }
     }
 }
 
@@ -1994,7 +2282,7 @@ midori_browser_toolbar_popup_context_menu_cb (GtkWidget*     widget,
     {
         GtkAction* widget_action = gtk_widget_get_action (widget);
         const gchar* actions[] = { "TabNew", "Open", "SaveAs", "Print", "Find",
-            "Preferences", "Window", "Bookmarks", "RecentlyVisited",
+            "Preferences", "Window", "Bookmarks", "RecentlyVisited", "AddSpeedDial",
             "ReloadStop", "ZoomIn", "Separator", "ZoomOut", "Back", "Forward",
             "Homepage", "Panel", "Trash", "Search" };
         GtkWidget* submenu;
@@ -2076,12 +2364,34 @@ _action_trash_activate_item (GtkAction*     action,
                              KatzeItem*     item,
                              MidoriBrowser* browser)
 {
-    gint n = midori_browser_add_item (browser, item);
-    midori_browser_set_current_page (browser, n);
+    midori_browser_set_current_uri (browser, katze_item_get_uri (item));
     katze_array_remove_item (browser->trash, item);
     _midori_browser_update_actions (browser);
 }
 
+static gboolean
+_action_trash_activate_item_alt (GtkAction*     action,
+                                 KatzeItem*     item,
+                                 guint          button,
+                                 MidoriBrowser* browser)
+{
+    if (button == 2)
+    {
+        gint n;
+
+        n = midori_browser_add_uri (browser, katze_item_get_uri (item));
+
+        _midori_browser_set_current_page_smartly (browser, n);
+
+        katze_array_remove_item (browser->trash, item);
+        _midori_browser_update_actions (browser);
+
+        return TRUE;
+    }
+
+    return FALSE;
+}
+
 static void
 _action_history_populate_popup (GtkAction*     action,
                                 GtkMenu*       menu,
@@ -2130,6 +2440,23 @@ _action_bookmarks_activate_item (GtkAction*     action,
     gtk_widget_grab_focus (midori_browser_get_current_tab (browser));
 }
 
+static gboolean
+_action_menus_activate_item_alt (GtkAction*     action,
+                                 KatzeItem*     item,
+                                 guint          button,
+                                 MidoriBrowser* browser)
+{
+    if (button == 2)
+    {
+        gint n = midori_browser_add_uri (browser, katze_item_get_uri (item));
+        _midori_browser_set_current_page_smartly (browser, n);
+
+        return TRUE;
+    }
+
+    return FALSE;
+}
+
 static void
 _action_window_populate_popup (GtkAction*     action,
                                GtkMenu*       menu,
@@ -2402,8 +2729,6 @@ midori_browser_source_transfer_cb (KatzeNetRequest* request,
         {
             if ((fp = fdopen (fd, "w")))
             {
-                gboolean success;
-
                 ret = fwrite (request->data, 1, request->length, fp);
                 fclose (fp);
                 if ((ret - request->length) != 0)
@@ -2415,13 +2740,10 @@ midori_browser_source_transfer_cb (KatzeNetRequest* request,
                 g_object_get (browser->settings,
                     "text-editor", &text_editor, NULL);
                 if (text_editor && *text_editor)
-                    success = sokoke_spawn_program (text_editor, unique_filename);
+                    sokoke_spawn_program (text_editor, unique_filename, TRUE);
                 else
-                {
-                    gchar* command = g_strconcat ("exo-open ", unique_filename, NULL);
-                    success = g_spawn_command_line_async (command, NULL);
-                    g_free (command);
-                }
+                    sokoke_show_uri (NULL, unique_filename,
+                                     gtk_get_current_event_time (), NULL);
 
                 g_free (unique_filename);
                 g_free (text_editor);
@@ -2508,6 +2830,12 @@ static void
 _action_back_activate (GtkAction*     action,
                        MidoriBrowser* browser)
 {
+    if (g_object_get_data (G_OBJECT (action), "midori-middle-click"))
+    {
+        g_object_set_data (G_OBJECT (action), "midori-middle-click", (void*)0);
+        return;
+    }
+
     GtkWidget* view = midori_browser_get_current_tab (browser);
     if (view)
         midori_view_go_back (MIDORI_VIEW (view));
@@ -2517,6 +2845,12 @@ static void
 _action_forward_activate (GtkAction*     action,
                           MidoriBrowser* browser)
 {
+    if (g_object_get_data (G_OBJECT (action), "midori-middle-click"))
+    {
+        g_object_set_data (G_OBJECT (action), "midori-middle-click", (void*)0);
+        return;
+    }
+
     GtkWidget* view = midori_browser_get_current_tab (browser);
     if (view)
         midori_view_go_forward (MIDORI_VIEW (view));
@@ -2526,6 +2860,12 @@ static void
 _action_homepage_activate (GtkAction*     action,
                            MidoriBrowser* browser)
 {
+    if (g_object_get_data (G_OBJECT (action), "midori-middle-click"))
+    {
+        g_object_set_data (G_OBJECT (action), "midori-middle-click", (void*)0);
+        return;
+    }
+
     gchar* homepage;
 
     if (!browser->settings)
@@ -2587,14 +2927,7 @@ _action_location_submit_uri (GtkAction*     action,
 
     new_uri = sokoke_magic_uri (uri, browser->search_engines);
     if (!new_uri)
-    {
-        gchar* uri_ = g_uri_escape_string (uri, " :/", TRUE);
-        if (strstr (browser->location_entry_search, "%s"))
-            new_uri = g_strdup_printf (browser->location_entry_search, uri_);
-        else if (!new_uri)
-            new_uri = g_strconcat (browser->location_entry_search, uri_, NULL);
-        g_free (uri_);
-    }
+        new_uri = sokoke_search_uri (browser->location_entry_search, uri);
 
     if (new_tab)
     {
@@ -2618,18 +2951,10 @@ _action_location_secondary_icon_released (GtkAction*     action,
     {
         const gchar* uri = midori_view_get_display_uri (MIDORI_VIEW (view));
         if (browser->news_aggregator && *browser->news_aggregator)
-            sokoke_spawn_program (browser->news_aggregator, uri);
+            sokoke_spawn_program (browser->news_aggregator, uri, TRUE);
     }
 }
 
-static void
-_action_search_activate (GtkAction*     action,
-                         MidoriBrowser* browser)
-{
-    if (!GTK_WIDGET_VISIBLE (browser->navigationbar))
-        gtk_widget_show (browser->navigationbar);
-}
-
 static void
 _action_search_submit (GtkAction*     action,
                        const gchar*   keywords,
@@ -2641,6 +2966,9 @@ _action_search_submit (GtkAction*     action,
     const gchar* url;
     gchar* search;
 
+    if (!browser->settings)
+        return;
+
     g_object_get (browser->settings, "last-web-search", &last_web_search, NULL);
     item = katze_array_get_nth_item (browser->search_engines, last_web_search);
     if (item)
@@ -2648,10 +2976,7 @@ _action_search_submit (GtkAction*     action,
     else /* The location entry search is our fallback */
         url = browser->location_entry_search;
 
-    if (strstr (url, "%s"))
-        search = g_strdup_printf (url, keywords);
-    else
-        search = g_strconcat (url, " ", keywords, NULL);
+    search = sokoke_search_uri (url, keywords);
 
     if (new_tab)
         midori_browser_add_uri (browser, search);
@@ -2661,6 +2986,32 @@ _action_search_submit (GtkAction*     action,
     g_free (search);
 }
 
+static void
+_action_search_activate (GtkAction*     action,
+                         MidoriBrowser* browser)
+{
+    GSList* proxies = gtk_action_get_proxies (action);
+    guint i = 0;
+    GtkWidget* proxy;
+    const gchar* uri;
+    gchar* search;
+
+    while (((proxy = g_slist_nth_data (proxies, i++))))
+        if (GTK_IS_TOOL_ITEM (proxy))
+        {
+            if (!GTK_WIDGET_VISIBLE (browser->navigationbar))
+                gtk_widget_show (browser->navigationbar);
+            return;
+        }
+
+    /* Load default search engine in current tab */
+    uri = browser->location_entry_search;
+    search = sokoke_search_uri (uri ? uri : "", "");
+    midori_browser_set_current_uri (browser, search);
+    gtk_widget_grab_focus (midori_browser_get_current_tab (browser));
+    g_free (search);
+}
+
 static void
 _action_search_notify_current_item (GtkAction*     action,
                                     GParamSpec*    pspec,
@@ -2790,7 +3141,11 @@ midori_browser_bookmark_open_in_window_activate_cb (GtkWidget*     menuitem,
     uri = katze_item_get_uri (item);
 
     if (uri && *uri)
-        g_signal_emit (browser, signals[NEW_WINDOW], 0, uri);
+    {
+        MidoriBrowser* new_browser = g_object_new (MIDORI_TYPE_BROWSER, NULL);
+        g_signal_emit (browser, signals[NEW_WINDOW], 0, new_browser);
+        midori_browser_add_uri (new_browser, uri);
+    }
 }
 
 static void
@@ -2875,6 +3230,121 @@ midori_browser_menu_bookmarks_item_activate_cb (GtkWidget*     widget,
     gtk_widget_grab_focus (midori_browser_get_current_tab (browser));
 }
 
+static gboolean
+midori_browser_menu_button_press_event_cb (GtkWidget*      toolitem,
+                                           GdkEventButton* event,
+                                           MidoriBrowser*  browser)
+{
+    if (event->button == 3)
+    {
+        midori_browser_toolbar_popup_context_menu_cb (
+            GTK_IS_BIN (toolitem) && gtk_bin_get_child (GTK_BIN (toolitem)) ?
+                gtk_widget_get_parent (toolitem) : toolitem,
+            event->x, event->y, event->button, browser);
+
+        return TRUE;
+    }
+    return FALSE;
+}
+
+static gboolean
+midori_browser_menu_middle_click_on_navigation_action (MidoriBrowser* browser,
+                                                       GtkAction*     action)
+{
+    const gchar* name;
+    gchar* homepage;
+
+    g_return_val_if_fail (action != NULL, FALSE);
+
+    if (!browser->settings)
+        return FALSE;
+
+    g_object_get (browser->settings, "homepage", &homepage, NULL);
+
+    name = gtk_action_get_name (action);
+
+    /* We use a trick here to implement middle click and prevent the default
+       "activate" callback from being invoked. We set "midori-middle-click"
+       as GObject data and check the value in the "activate" callback. */
+
+    if (g_str_equal (name, "Homepage"))
+    {
+        gint n;
+
+        n = midori_browser_add_uri (browser, homepage);
+        _midori_browser_set_current_page_smartly (browser, n);
+
+        g_object_set_data (G_OBJECT (action), "midori-middle-click", (void*)1);
+
+        return TRUE;
+    }
+    else if (g_str_equal (name, "Back"))
+    {
+        GtkWidget* view;
+        WebKitWebBackForwardList* back_forward_list;
+        WebKitWebHistoryItem* back_item;
+        const gchar* back_uri;
+        gint n;
+
+        view = gtk_bin_get_child (GTK_BIN (midori_browser_get_current_tab (browser)));
+
+        back_forward_list =
+            webkit_web_view_get_back_forward_list (WEBKIT_WEB_VIEW (view));
+
+        back_item = webkit_web_back_forward_list_get_back_item (back_forward_list);
+        back_uri = webkit_web_history_item_get_uri (back_item);
+
+        n = midori_browser_add_uri (browser, back_uri);
+        _midori_browser_set_current_page_smartly (browser, n);
+
+        g_object_set_data (G_OBJECT (action), "midori-middle-click", (void*)1);
+
+        return TRUE;
+    }
+    else if (g_str_equal (name, "Forward"))
+    {
+        GtkWidget *view;
+        WebKitWebBackForwardList *back_forward_list;
+        WebKitWebHistoryItem *forward_item;
+        const gchar *forward_uri;
+        gint n;
+
+        view = gtk_bin_get_child (GTK_BIN (midori_browser_get_current_tab (browser)));
+
+        back_forward_list =
+            webkit_web_view_get_back_forward_list (WEBKIT_WEB_VIEW (view));
+
+        forward_item =
+            webkit_web_back_forward_list_get_forward_item (back_forward_list);
+        forward_uri = webkit_web_history_item_get_uri (forward_item);
+
+        n = midori_browser_add_uri (browser, forward_uri);
+        _midori_browser_set_current_page_smartly (browser, n);
+
+        g_object_set_data (G_OBJECT (action), "midori-middle-click", (void*)1);
+
+        return TRUE;
+    }
+
+    g_free (homepage);
+
+    return FALSE;
+}
+
+static gboolean
+midori_browser_menu_item_middle_click_event_cb (GtkWidget*      toolitem,
+                                                GdkEventButton* event,
+                                                MidoriBrowser*  browser)
+{
+    if (event->button == 2)
+    {
+        GtkAction* action = gtk_widget_get_action (toolitem);
+
+        return midori_browser_menu_middle_click_on_navigation_action (browser, action);
+    }
+    return FALSE;
+}
+
 static gboolean
 midori_browser_bookmarkbar_item_button_press_event_cb (GtkWidget*      toolitem,
                                                        GdkEventButton* event,
@@ -2882,18 +3352,15 @@ midori_browser_bookmarkbar_item_button_press_event_cb (GtkWidget*      toolitem,
 {
     KatzeItem* item;
     gint n;
-    gboolean open_in_background;
 
     if (event->button == 2)
     {
         item = (KatzeItem*)g_object_get_data (G_OBJECT (toolitem), "KatzeItem");
         if (katze_item_get_uri (item))
         {
-            g_object_get (browser->settings, "open-tabs-in-the-background",
-                &open_in_background, NULL);
             n = midori_browser_add_uri (browser, katze_item_get_uri (item));
-            if (!open_in_background)
-                midori_browser_set_current_page (browser, n);
+            _midori_browser_set_current_page_smartly (browser, n);
+
             return TRUE;
         }
     }
@@ -2949,10 +3416,17 @@ midori_browser_clear_private_data_response_cb (GtkWidget*     dialog,
     if (response_id == GTK_RESPONSE_ACCEPT)
     {
         GtkToggleButton* button;
+        gint clear_prefs = MIDORI_CLEAR_NONE;
+        gint saved_prefs = MIDORI_CLEAR_NONE;
+
+        g_object_get (browser->settings, "clear-private-data", &saved_prefs, NULL);
 
         button = g_object_get_data (G_OBJECT (dialog), "history");
         if (gtk_toggle_button_get_active (button))
+        {
             katze_array_clear (browser->history);
+            clear_prefs |= MIDORI_CLEAR_HISTORY;
+        }
         button = g_object_get_data (G_OBJECT (dialog), "cookies");
         if (gtk_toggle_button_get_active (button))
         {
@@ -2968,6 +3442,7 @@ midori_browser_clear_private_data_response_cb (GtkWidget*     dialog,
                 soup_cookie_free (cookie);
             }
             g_slist_free (cookies);
+            clear_prefs |= MIDORI_CLEAR_COOKIES;
         }
         button = g_object_get_data (G_OBJECT (dialog), "flash-cookies");
         if (gtk_toggle_button_get_active (button))
@@ -2976,6 +3451,7 @@ midori_browser_clear_private_data_response_cb (GtkWidget*     dialog,
                                              "Flash_Player", NULL);
             sokoke_remove_path (cache, TRUE);
             g_free (cache);
+            clear_prefs |= MIDORI_CLEAR_FLASH_COOKIES;
         }
         button = g_object_get_data (G_OBJECT (dialog), "website-icons");
         if (gtk_toggle_button_get_active (button))
@@ -2984,7 +3460,21 @@ midori_browser_clear_private_data_response_cb (GtkWidget*     dialog,
                                              PACKAGE_NAME, "icons", NULL);
             sokoke_remove_path (cache, TRUE);
             g_free (cache);
+            clear_prefs |= MIDORI_CLEAR_WEBSITE_ICONS;
         }
+        button = g_object_get_data (G_OBJECT (dialog), "trash");
+        if (gtk_toggle_button_get_active (button))
+        {
+            if (browser->trash)
+            {
+                katze_array_clear (browser->trash);
+                _midori_browser_update_actions (browser);
+            }
+            clear_prefs |= MIDORI_CLEAR_TRASH;
+        }
+
+        if (clear_prefs != saved_prefs)
+            g_object_set (browser->settings, "clear-private-data", clear_prefs, NULL);
     }
     if (response_id != GTK_RESPONSE_DELETE_EVENT)
         gtk_widget_destroy (dialog);
@@ -3005,13 +3495,18 @@ _action_clear_private_data_activate (GtkAction*     action,
         GtkIconTheme* icon_theme;
         GtkSizeGroup* sizegroup;
         GtkWidget* hbox;
+        GtkWidget* alignment;
         GtkWidget* vbox;
         GtkWidget* icon;
         GtkWidget* label;
         GtkWidget* button;
 
+        gint clear_prefs = MIDORI_CLEAR_NONE;
+        g_object_get (browser->settings, "clear-private-data", &clear_prefs, NULL);
+
         dialog = gtk_dialog_new_with_buttons (_("Clear Private Data"),
-            GTK_WINDOW (browser), GTK_DIALOG_DESTROY_WITH_PARENT,
+            GTK_WINDOW (browser),
+            GTK_DIALOG_NO_SEPARATOR | GTK_DIALOG_DESTROY_WITH_PARENT,
             GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
             _("_Clear private data"), GTK_RESPONSE_ACCEPT, NULL);
         gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), FALSE);
@@ -3028,26 +3523,42 @@ _action_clear_private_data_activate (GtkAction*     action,
         gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
         label = gtk_label_new (_("Clear the following data:"));
         gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
-        gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 8);
+        gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0);
         hbox = gtk_hbox_new (FALSE, 4);
         icon = gtk_image_new ();
         gtk_size_group_add_widget (sizegroup, icon);
         gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
         vbox = gtk_vbox_new (TRUE, 4);
+        alignment = gtk_alignment_new (0, 0, 1, 1);
+        gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 6, 12, 0);
         button = gtk_check_button_new_with_mnemonic (_("History"));
+        if ((clear_prefs & MIDORI_CLEAR_HISTORY) == MIDORI_CLEAR_HISTORY)
+            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
         g_object_set_data (G_OBJECT (dialog), "history", button);
         gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
         button = gtk_check_button_new_with_mnemonic (_("Cookies"));
+        if ((clear_prefs & MIDORI_CLEAR_COOKIES) == MIDORI_CLEAR_COOKIES)
+            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
         g_object_set_data (G_OBJECT (dialog), "cookies", button);
         gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
         button = gtk_check_button_new_with_mnemonic (_("'Flash' Cookies"));
+        if ((clear_prefs & MIDORI_CLEAR_FLASH_COOKIES) == MIDORI_CLEAR_FLASH_COOKIES)
+            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
         g_object_set_data (G_OBJECT (dialog), "flash-cookies", button);
         gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
         button = gtk_check_button_new_with_mnemonic (_("Website icons"));
+        if ((clear_prefs & MIDORI_CLEAR_WEBSITE_ICONS) == MIDORI_CLEAR_WEBSITE_ICONS)
+            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
         g_object_set_data (G_OBJECT (dialog), "website-icons", button);
         gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
-        gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
-        gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 8);
+        button = gtk_check_button_new_with_mnemonic (_("_Closed Tabs and Windows"));
+        if ((clear_prefs & MIDORI_CLEAR_TRASH) == MIDORI_CLEAR_TRASH)
+            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
+        g_object_set_data (G_OBJECT (dialog), "trash", button);
+        gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
+        gtk_container_add (GTK_CONTAINER (alignment), vbox);
+        gtk_box_pack_start (GTK_BOX (hbox), alignment, TRUE, TRUE, 0);
+        gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0);
         gtk_widget_show_all (GTK_DIALOG (dialog)->vbox);
 
         g_signal_connect (dialog, "response",
@@ -3110,13 +3621,7 @@ _action_about_activate_email (GtkAboutDialog* about,
                               const gchar*    uri,
                               gpointer        user_data)
 {
-    if (!gtk_show_uri (NULL, uri, GDK_CURRENT_TIME, NULL))
-    {
-        /* Fallback to Exo for example if GConf isn't setup */
-        gchar* command = g_strconcat ("exo-open ", uri, NULL);
-        g_spawn_command_line_async (command, NULL);
-        g_free (command);
-    }
+    sokoke_show_uri (NULL, uri, GDK_CURRENT_TIME, NULL);
 }
 
 static void
@@ -3187,7 +3692,7 @@ static gboolean
 midori_browser_panel_timeout (GtkWidget* hpaned)
 {
     gboolean position = gtk_paned_get_position (GTK_PANED (hpaned));
-    MidoriBrowser* browser = MIDORI_BROWSER (gtk_widget_get_toplevel (hpaned));
+    MidoriBrowser* browser = midori_browser_get_for_widget (hpaned);
     if (browser->settings)
         g_object_set (browser->settings, "last-panel-position", position, NULL);
     browser->panel_timeout = 0;
@@ -3298,9 +3803,22 @@ gtk_notebook_button_press_event_cb (GtkNotebook*    notebook,
         && ((event->type == GDK_2BUTTON_PRESS && event->button == 1)
         || (event->type == GDK_BUTTON_PRESS && event->button == 2)))
     {
-       gtk_action_activate (_action_by_name (browser, "TabNew"));
+        gint n;
+        GtkWidget* view;
+
+        if (browser->settings)
+            view = g_object_new (MIDORI_TYPE_VIEW,
+                                 "settings", browser->settings,
+                                 "net", browser->net, NULL);
+        else
+            view = midori_view_new (browser->net);
+        midori_view_set_uri (MIDORI_VIEW (view), "");
+        gtk_widget_show (view);
+        g_object_set_data (G_OBJECT (view), "midori-view-append", (void*)1);
+        n = midori_browser_add_tab (browser, view);
+        midori_browser_set_current_page (browser, n);
 
-       return TRUE;
+        return TRUE;
     }
 
     return FALSE;
@@ -3351,6 +3869,9 @@ static const GtkActionEntry entries[] = {
  { "SaveAs", GTK_STOCK_SAVE_AS,
    NULL, "<Ctrl>s",
    N_("Save to a file"), G_CALLBACK (_action_save_as_activate) },
+ { "AddSpeedDial", NULL,
+   N_("Add to Speed _dial"), "<Ctrl>h",
+   N_("Add shortcut to speed dial"), G_CALLBACK (_action_add_speed_dial_activate) },
  { "TabClose", NULL,
    N_("_Close Tab"), "<Ctrl>w",
    N_("Close the current tab"), G_CALLBACK (_action_tab_close_activate) },
@@ -3393,9 +3914,6 @@ static const GtkActionEntry entries[] = {
    N_("Find _Previous"), "<Ctrl><Shift>g",
    N_("Find the previous occurrence of a word or phrase"),
    G_CALLBACK (_action_find_previous_activate) },
- { "FindQuick", GTK_STOCK_FIND,
-   N_("_Quick Find"), "period",
-   N_("Quickly jump to a word or phrase"), NULL/*G_CALLBACK (_action_find_quick_activate)*/ },
  { "Preferences", GTK_STOCK_PREFERENCES,
    NULL, "<Ctrl><Alt>p",
    N_("Configure the application preferences"), G_CALLBACK (_action_preferences_activate) },
@@ -3443,7 +3961,7 @@ static const GtkActionEntry entries[] = {
     N_("Custom..."), "",
     NULL, G_CALLBACK (_action_view_encoding_activate) },
  { "SourceView", NULL,
-   N_("View _Source"), "",
+   N_("View _Source"), "<Ctrl>U",
    N_("View the source code of the page"), G_CALLBACK (_action_source_view_activate) },
  { "SelectionSourceView", NULL,
     N_("View Selection Source"), "",
@@ -3637,6 +4155,7 @@ static const gchar* ui_markup =
     "<menuitem action='Open'/>"
     "<separator/>"
     "<menuitem action='SaveAs'/>"
+    "<menuitem action='AddSpeedDial'/>"
     "<separator/>"
     "<menuitem action='TabClose'/>"
     "<menuitem action='WindowClose'/>"
@@ -3765,7 +4284,6 @@ midori_browser_new_history_item (MidoriBrowser* browser,
     time_t now;
     gint64 day;
     gint64 pday;
-    gint64 age;
     gint64 newage;
     gchar token[50];
 
@@ -3778,15 +4296,12 @@ midori_browser_new_history_item (MidoriBrowser* browser,
     while ((parent = katze_array_get_nth_item (browser->history, i++)))
     {
         pday = katze_item_get_added (KATZE_ITEM (parent));
-        age = katze_item_get_added (item);
         newage = day - pday;
         if (newage == 0)
         {
             found = TRUE;
             katze_array_add_item (parent, item);
         }
-        if (age != newage)
-            katze_item_set_added (item, newage);
     }
     if (!found)
     {
@@ -3913,12 +4428,14 @@ midori_browser_init (MidoriBrowser* browser)
     GError* error;
     GtkAction* action;
     GtkWidget* menuitem;
+    GtkWidget* homepage;
+    GtkWidget* back;
+    GtkWidget* forward;
     #if HAVE_HILDON
     GtkWidget* menu;
     GList* children;
     #endif
     GtkSettings* gtk_settings;
-    GtkWidget* hbox;
     GtkWidget* hpaned;
     GtkWidget* vpaned;
     GtkToolItem* toolitem;
@@ -3984,8 +4501,6 @@ midori_browser_init (MidoriBrowser* browser)
         "label", _("_Location..."),
         "stock-id", GTK_STOCK_JUMP_TO,
         "tooltip", _("Open a particular location"),
-        /* FIXME: Due to a bug in GtkIconEntry we need to set an initial icon */
-        "secondary-icon", STOCK_NEWS_FEED,
         NULL);
     g_object_connect (action,
                       "signal::activate",
@@ -4037,6 +4552,8 @@ midori_browser_init (MidoriBrowser* browser)
                       _action_trash_populate_popup, browser,
                       "signal::activate-item",
                       _action_trash_activate_item, browser,
+                      "signal::activate-item-alt",
+                      _action_trash_activate_item_alt, browser,
                       NULL);
     gtk_action_group_add_action_with_accel (browser->action_group, action, "");
     g_object_unref (action);
@@ -4052,6 +4569,8 @@ midori_browser_init (MidoriBrowser* browser)
                       _action_history_populate_popup, browser,
                       "signal::activate-item",
                       _action_history_activate_item, browser,
+                      "signal::activate-item-alt",
+                      _action_menus_activate_item_alt, browser,
                       NULL);
     gtk_action_group_add_action_with_accel (browser->action_group, action, "");
     g_object_unref (action);
@@ -4067,6 +4586,8 @@ midori_browser_init (MidoriBrowser* browser)
                       _action_bookmarks_populate_popup, browser,
                       "signal::activate-item",
                       _action_bookmarks_activate_item, browser,
+                      "signal::activate-item-alt",
+                      _action_menus_activate_item_alt, browser,
                       NULL);
     gtk_action_group_add_action_with_accel (browser->action_group, action, "");
     g_object_unref (action);
@@ -4106,7 +4627,7 @@ midori_browser_init (MidoriBrowser* browser)
     gtk_box_pack_start (GTK_BOX (vbox), browser->menubar, FALSE, FALSE, 0);
     gtk_widget_hide (browser->menubar);
     g_signal_connect (browser->menubar, "button-press-event",
-        G_CALLBACK (midori_browser_toolbar_item_button_press_event_cb), browser);
+        G_CALLBACK (midori_browser_menu_button_press_event_cb), browser);
     #endif
     menuitem = gtk_menu_item_new ();
     #if !HAVE_HILDON
@@ -4124,8 +4645,20 @@ midori_browser_init (MidoriBrowser* browser)
     gtk_widget_show (menuitem);
     gtk_menu_shell_append (GTK_MENU_SHELL (browser->menu_tools), menuitem);
 
+    homepage = gtk_ui_manager_get_widget (ui_manager, "/menubar/Go/Homepage");
+    g_signal_connect (homepage, "button-press-event",
+        G_CALLBACK (midori_browser_menu_item_middle_click_event_cb), browser);
+
+    back = gtk_ui_manager_get_widget (ui_manager, "/menubar/Go/Back");
+    g_signal_connect (back, "button-press-event",
+        G_CALLBACK (midori_browser_menu_item_middle_click_event_cb), browser);
+
+    forward = gtk_ui_manager_get_widget (ui_manager, "/menubar/Go/Forward");
+    g_signal_connect (forward, "button-press-event",
+        G_CALLBACK (midori_browser_menu_item_middle_click_event_cb), browser);
+
+
     _action_set_sensitive (browser, "PrivateBrowsing", FALSE);
-    _action_set_sensitive (browser, "FindQuick", FALSE);
     #if HAVE_HILDON
     g_object_set (_action_by_name (browser, "Menubar"), "visible", FALSE, NULL);
     g_object_set (_action_by_name (browser, "Statusbar"), "visible", FALSE, NULL);
@@ -4172,10 +4705,6 @@ midori_browser_init (MidoriBrowser* browser)
     g_signal_connect (browser->bookmarkbar, "popup-context-menu",
         G_CALLBACK (midori_browser_toolbar_popup_context_menu_cb), browser);
 
-    /* Superuser warning */
-    if ((hbox = sokoke_superuser_warning_new ()))
-        gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
-
     /* Create the panel */
     hpaned = gtk_hpaned_new ();
     g_signal_connect (hpaned, "notify::position",
@@ -4338,7 +4867,7 @@ midori_browser_init (MidoriBrowser* browser)
     gtk_box_pack_end (GTK_BOX (browser->transferbar), browser->transferbar_clear,
                         FALSE, FALSE, 0);
     g_signal_connect (browser->statusbar, "button-press-event",
-        G_CALLBACK (midori_browser_toolbar_item_button_press_event_cb), browser);
+        G_CALLBACK (midori_browser_menu_button_press_event_cb), browser);
 
     g_object_unref (ui_manager);
 }
@@ -4413,7 +4942,14 @@ midori_browser_toolbar_item_button_press_event_cb (GtkWidget*      toolitem,
                                                    GdkEventButton* event,
                                                    MidoriBrowser*  browser)
 {
-    if (event->button == 3)
+    if (event->button == 2)
+    {
+        GtkWidget* parent = gtk_widget_get_parent (toolitem);
+        GtkAction* action = gtk_widget_get_action (parent);
+
+        return midori_browser_menu_middle_click_on_navigation_action (browser, action);
+    }
+    else if (event->button == 3)
     {
         midori_browser_toolbar_popup_context_menu_cb (
             GTK_IS_BIN (toolitem) && gtk_bin_get_child (GTK_BIN (toolitem)) ?
@@ -4513,6 +5049,7 @@ _midori_browser_update_settings (MidoriBrowser* browser)
                   "show-panel", &show_panel,
                   "show-transferbar", &show_transferbar,
                   "show-statusbar", &browser->show_statusbar,
+                  "speed-dial-in-new-tabs", &browser->speed_dial_in_new_tabs,
                   "toolbar-style", &toolbar_style,
                   "toolbar-items", &toolbar_items,
                   "last-web-search", &last_web_search,
@@ -4619,6 +5156,8 @@ midori_browser_settings_notify (MidoriWebSettings* web_settings,
         browser->show_navigationbar = g_value_get_boolean (&value);
     else if (name == g_intern_string ("show-statusbar"))
         browser->show_statusbar = g_value_get_boolean (&value);
+    else if (name == g_intern_string ("speed-dial-in-new-tabs"))
+        browser->speed_dial_in_new_tabs = g_value_get_boolean (&value);
     else if (name == g_intern_string ("progress-in-location"))
         browser->progress_in_location = g_value_get_boolean (&value);
     else if (name == g_intern_string ("search-engines-in-completion"))
@@ -5215,6 +5754,37 @@ midori_browser_get_proxy_array (MidoriBrowser* browser)
     return browser->proxy_array;
 }
 
+/**
+ * midori_browser_get_for_widget:
+ * @widget: a #GtkWidget
+ *
+ * Determines the browser appropriate for the specified widget.
+ *
+ * Return value: a #MidoriBrowser
+ *
+ * Since 0.1.7
+ **/
+MidoriBrowser*
+midori_browser_get_for_widget (GtkWidget* widget)
+{
+    gpointer browser;
+
+    g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+
+    browser = gtk_widget_get_toplevel (GTK_WIDGET (widget));
+    if (!MIDORI_IS_BROWSER (browser))
+    {
+        if (!GTK_IS_WINDOW (browser))
+            return NULL;
+
+        browser = gtk_window_get_transient_for (GTK_WINDOW (browser));
+        if (!MIDORI_IS_BROWSER (browser))
+            return NULL;
+    }
+
+    return MIDORI_BROWSER (browser);
+}
+
 /**
  * midori_browser_quit:
  * @browser: a #MidoriBrowser
index 92a61779785ea5914e74e1b58318611060f14478..f0d2ffd71dfb3ed0bd2a4bc8049ca8713e35c20a 100644 (file)
@@ -88,6 +88,11 @@ void
 midori_browser_remove_tab             (MidoriBrowser*     browser,
                                        GtkWidget*         widget);
 
+void
+midori_browser_foreach                (MidoriBrowser*     browser,
+                                       GtkCallback        callback,
+                                       gpointer           callback_data);
+
 gint
 midori_browser_add_item               (MidoriBrowser*     browser,
                                        KatzeItem*         item);
@@ -127,6 +132,9 @@ midori_browser_get_current_tab        (MidoriBrowser*     browser);
 KatzeArray*
 midori_browser_get_proxy_array        (MidoriBrowser*     browser);
 
+MidoriBrowser*
+midori_browser_get_for_widget         (GtkWidget*         widget);
+
 void
 midori_browser_quit                   (MidoriBrowser*     browser);
 
index 0bbcfef7b666c7a37c11ddac1e305dffac130cf9..9950a0bb1453df8640db7c6cebc6ece25912df05 100644 (file)
@@ -1,5 +1,6 @@
 /*
  Copyright (C) 2008-2009 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
@@ -29,7 +30,7 @@ struct _MidoriExtensionPrivate
     gchar* authors;
 
     MidoriApp* app;
-    gboolean active;
+    gint active;
     gchar* config_dir;
     GList* lsettings;
     GHashTable* settings;
@@ -60,20 +61,37 @@ typedef struct
     gchar* value;
 } MESettingString;
 
+typedef struct
+{
+    gchar* name;
+    GType type;
+    gchar** default_value;
+    gchar** value;
+    gsize default_length;
+    gsize length;
+} MESettingStringList;
+
 void me_setting_free (gpointer setting)
 {
     MESettingString* string_setting = (MESettingString*)setting;
+    MESettingStringList* strlist_setting = (MESettingStringList*)setting;
 
-    g_free (string_setting->name);
     if (string_setting->type == G_TYPE_STRING)
     {
+        g_free (string_setting->name);
         g_free (string_setting->default_value);
         g_free (string_setting->value);
     }
+    if (strlist_setting->type == G_TYPE_STRV)
+    {
+        g_free (strlist_setting->name);
+        g_strfreev (strlist_setting->default_value);
+        g_strfreev (strlist_setting->value);
+    }
 }
 
 #define midori_extension_can_install_setting(extension, name) \
-    if (extension->priv->active) \
+    if (extension->priv->active > 0) \
     { \
         g_critical ("%s: Settings have to be installed before " \
                     "the extension is activated.", G_STRFUNC); \
@@ -276,6 +294,19 @@ midori_extension_activate_cb (MidoriExtension* extension,
             else
                 setting->value = g_strdup (setting->default_value);
         }
+        else if (setting->type == G_TYPE_STRV)
+        {
+            MESettingStringList* setting_ = (MESettingStringList*)setting;
+            if (extension->priv->key_file)
+            {
+                setting_->value = sokoke_key_file_get_string_list_default (
+                    extension->priv->key_file,
+                    "settings", setting->name, &setting_->length,
+                    setting_->default_value, &setting_->default_length, NULL);
+            }
+            else
+                setting_->value = g_strdupv (setting_->default_value);
+        }
         else
             g_assert_not_reached ();
 
@@ -283,7 +314,7 @@ midori_extension_activate_cb (MidoriExtension* extension,
     }
 
     extension->priv->app = g_object_ref (app);
-    extension->priv->active = TRUE;
+    extension->priv->active = 1;
     /* FIXME: Disconnect all signal handlers */
 }
 
@@ -294,7 +325,7 @@ midori_extension_init (MidoriExtension* extension)
         MIDORI_TYPE_EXTENSION, MidoriExtensionPrivate);
 
     extension->priv->app = NULL;
-    extension->priv->active = FALSE;
+    extension->priv->active = 0;
     extension->priv->config_dir = NULL;
     extension->priv->lsettings = NULL;
     extension->priv->settings = g_hash_table_new_full (g_str_hash, g_str_equal,
@@ -416,7 +447,30 @@ midori_extension_is_active (MidoriExtension* extension)
 {
     g_return_val_if_fail (MIDORI_IS_EXTENSION (extension), FALSE);
 
-    return extension->priv->active;
+    return extension->priv->active > 0;
+}
+
+/**
+ * midori_extension_is_deactivating:
+ * @extension: a #MidoriExtension
+ *
+ * Determines if @extension is currently in the process of
+ * being deactivated.
+ *
+ * Extensions remain fully functional even while being
+ * deactivated, so you can for instance still save settings
+ * but you may need to cleanup during deactivation.
+ *
+ * Return value: %TRUE if @extension is deactivating
+ *
+ * Since: 0.1.7
+ **/
+gboolean
+midori_extension_is_deactivating (MidoriExtension* extension)
+{
+    g_return_val_if_fail (MIDORI_IS_EXTENSION (extension), FALSE);
+
+    return extension->priv->active == 2;
 }
 
 /**
@@ -430,8 +484,9 @@ midori_extension_deactivate (MidoriExtension* extension)
 {
     g_return_if_fail (midori_extension_is_active (extension));
 
+    extension->priv->active = 2;
     g_signal_emit (extension, signals[DEACTIVATE], 0);
-    extension->priv->active = FALSE;
+    extension->priv->active = 0;
     katze_object_assign (extension->priv->app, NULL);
 }
 
@@ -459,8 +514,7 @@ midori_extension_get_app (MidoriExtension* extension)
  * @extension: a #MidoriExtension
  *
  * Retrieves the path to a directory reserved for configuration
- * files specific to the extension. For that purpose the 'name'
- * of the extension is actually part of the path.
+ * files specific to the extension.
  *
  * If settings are installed on the extension, they will be
  * loaded from and saved to a file "config" in this path.
@@ -470,12 +524,16 @@ midori_extension_get_app (MidoriExtension* extension)
 const gchar*
 midori_extension_get_config_dir (MidoriExtension* extension)
 {
+
     g_return_val_if_fail (midori_extension_is_prepared (extension), NULL);
 
     if (!extension->priv->config_dir)
+    {
+        gchar* filename = g_object_get_data (G_OBJECT (extension), "filename");
+        g_return_val_if_fail (filename != NULL, NULL);
         extension->priv->config_dir = g_build_filename (
-            sokoke_set_config_dir (NULL), "extensions",
-            extension->priv->name, NULL);
+            sokoke_set_config_dir (NULL), "extensions", filename, NULL);
+    }
 
     return extension->priv->config_dir;
 }
@@ -770,3 +828,115 @@ midori_extension_set_string (MidoriExtension* extension,
         }
     }
 }
+
+/**
+ * midori_extension_install_string_list:
+ * @extension: a #MidoriExtension
+ * @name: the name of the setting
+ * @default_value: the default value
+ *
+ * Installs a string list that can be used to conveniently
+ * store user configuration.
+ *
+ * Note that all settings have to be installed before
+ * the extension is activated.
+ *
+ * Since: 0.1.7
+ **/
+void
+midori_extension_install_string_list (MidoriExtension* extension,
+                                      const gchar*     name,
+                                      gchar**          default_value,
+                                      gsize            default_length)
+{
+    MESettingStringList* setting;
+
+    g_return_if_fail (midori_extension_is_prepared (extension));
+    midori_extension_can_install_setting (extension, name);
+
+    me_setting_install (MESettingStringList, g_strdup (name), G_TYPE_STRV,
+                        g_strdupv (default_value), NULL);
+
+    setting->default_length = default_length;
+}
+
+/**
+ * midori_extension_get_string_list:
+ * @extension: a #MidoriExtension
+ * @name: the name of the setting
+ * @length: return location to store number of strings, or %NULL
+ *
+ * Retrieves the value of the specified setting.
+ *
+ * Return value: a newly allocated NULL-terminated list of strings,
+ *     should be freed with g_strfreev()
+ *
+ * Since: 0.1.7
+ **/
+gchar**
+midori_extension_get_string_list (MidoriExtension* extension,
+                                  const gchar*     name,
+                                  gsize*           length)
+{
+    MESettingStringList* setting;
+
+    g_return_val_if_fail (midori_extension_is_prepared (extension), NULL);
+    g_return_val_if_fail (name != NULL, NULL);
+
+    setting = g_hash_table_lookup (extension->priv->settings, name);
+
+    me_setting_type (setting, G_TYPE_STRV, return NULL);
+
+    if (length)
+        *length = setting->length;
+
+    return g_strdupv (setting->value);
+}
+
+/**
+ * midori_extension_set_string_list:
+ * @extension: a #MidoriExtension
+ * @name: the name of the setting
+ * @value: the new value
+ * @length: number of strings in @value, or G_MAXSIZE
+ *
+ * Assigns a new value to the specified setting.
+ *
+ * Since: 0.1.7
+ **/
+void
+midori_extension_set_string_list (MidoriExtension* extension,
+                                  const gchar*     name,
+                                  gchar**          value,
+                                  gsize            length)
+{
+    MESettingStringList* setting;
+
+    g_return_if_fail (midori_extension_is_active (extension));
+    g_return_if_fail (name != NULL);
+
+    setting = g_hash_table_lookup (extension->priv->settings, name);
+
+    me_setting_type (setting, G_TYPE_STRV, return);
+
+    katze_strv_assign (setting->value, g_strdupv (value));
+    setting->length = length;
+
+    if (extension->priv->key_file)
+    {
+        GError* error = NULL;
+        /* FIXME: Handle readonly folder/ file */
+        gchar* config_file = g_build_filename (extension->priv->config_dir,
+                                               "config", NULL);
+        g_mkdir_with_parents (extension->priv->config_dir, 0700);
+        g_key_file_set_string_list (extension->priv->key_file,
+                                    "settings", name, (const gchar**)value, length);
+        sokoke_key_file_save_to_file (extension->priv->key_file, config_file, &error);
+        if (error)
+        {
+            printf (_("The configuration of the extension '%s' couldn't be saved: %s\n"),
+                    extension->priv->name, error->message);
+            g_error_free (error);
+        }
+    }
+}
index 1125d4cb1e77afa8752dce6b4239bc21bd8a920d..60b7d017a64a13118340cf4f6debe45e3ed4d9dc 100644 (file)
@@ -54,6 +54,9 @@ midori_extension_is_prepared         (MidoriExtension* extension);
 gboolean
 midori_extension_is_active           (MidoriExtension* extension);
 
+gboolean
+midori_extension_is_deactivating     (MidoriExtension* extension);
+
 void
 midori_extension_deactivate          (MidoriExtension* extension);
 
@@ -105,6 +108,23 @@ midori_extension_set_string          (MidoriExtension* extension,
                                       const gchar*     name,
                                       const gchar*     value);
 
+void
+midori_extension_install_string_list (MidoriExtension* extension,
+                                      const gchar*     name,
+                                      gchar**          default_value,
+                                      gsize            default_length);
+
+gchar**
+midori_extension_get_string_list     (MidoriExtension* extension,
+                                      const gchar*     name,
+                                      gsize*           length);
+
+void
+midori_extension_set_string_list     (MidoriExtension* extension,
+                                      const gchar*     name,
+                                      gchar**          value,
+                                      gsize            length);
+
 G_END_DECLS
 
 #endif /* __MIDORI_EXTENSION_H__ */
index 7d4ae7332ab7a3dc298bdef10b68fe079cd32cbe..588f7171abc403f6ce88d545afc0f27c67a1933d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Copyright (C) 2008 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2008-2009 Christian Dywan <christian@twotoasts.de>
  Copyright (C) 2008 Dale Whittaker <dayul@users.sf.net>
 
  This library is free software; you can redistribute it and/or
@@ -189,12 +189,23 @@ midori_location_action_class_init (MidoriLocationActionClass* class)
                                      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 }
 
+/* Allow this to be used in tests, it's otherwise private */
+/*static*/ GtkWidget*
+midori_location_action_entry_for_proxy (GtkWidget* proxy)
+{
+    GtkWidget* alignment = gtk_bin_get_child (GTK_BIN (proxy));
+    GtkWidget* hbox = gtk_bin_get_child (GTK_BIN (alignment));
+    GList* children = gtk_container_get_children (GTK_CONTAINER (hbox));
+    GtkWidget* entry = g_list_nth_data (children, 0);
+    g_list_free (children);
+    return entry;
+}
+
 static void
 midori_location_action_set_model (MidoriLocationAction* location_action,
                                   GtkTreeModel*         model)
 {
     GSList* proxies;
-    GtkWidget* alignment;
     GtkWidget* location_entry;
     GtkWidget* entry;
 
@@ -203,8 +214,7 @@ midori_location_action_set_model (MidoriLocationAction* location_action,
     for (; proxies != NULL; proxies = g_slist_next (proxies))
     if (GTK_IS_TOOL_ITEM (proxies->data))
     {
-        alignment = gtk_bin_get_child (GTK_BIN (proxies->data));
-        location_entry = gtk_bin_get_child (GTK_BIN (alignment));
+        location_entry = midori_location_action_entry_for_proxy (proxies->data);
         entry = gtk_bin_get_child (GTK_BIN (location_entry));
 
         g_object_set (location_entry, "model", model, NULL);
@@ -379,7 +389,6 @@ static void
 midori_location_action_activate (GtkAction* action)
 {
     GSList* proxies;
-    GtkWidget* alignment;
     GtkWidget* entry;
 
     proxies = gtk_action_get_proxies (action);
@@ -387,8 +396,7 @@ midori_location_action_activate (GtkAction* action)
     for (; proxies != NULL; proxies = g_slist_next (proxies))
     if (GTK_IS_TOOL_ITEM (proxies->data))
     {
-        alignment = gtk_bin_get_child (GTK_BIN (proxies->data));
-        entry = gtk_bin_get_child (GTK_BIN (alignment));
+        entry = midori_location_action_entry_for_proxy (proxies->data);
 
         /* Obviously only one widget can end up with the focus.
         Yet we can't predict which one that is, can we? */
@@ -399,22 +407,51 @@ midori_location_action_activate (GtkAction* action)
         GTK_ACTION_CLASS (midori_location_action_parent_class)->activate (action);
 }
 
+static void
+midori_location_action_go_clicked_cb (GtkWidget* button,
+                                      GtkAction* action)
+{
+    GtkWidget* hbox = gtk_widget_get_parent (button);
+    GList* children = gtk_container_get_children (GTK_CONTAINER (hbox));
+    GtkWidget* location_entry = g_list_nth_data (children, 0);
+    g_list_free (children);
+    GtkWidget* entry = gtk_bin_get_child (GTK_BIN (location_entry));
+    const gchar* uri = gtk_entry_get_text (GTK_ENTRY (entry));
+    if (uri && *uri)
+        g_signal_emit (action, signals[SUBMIT_URI], 0, uri, FALSE);
+}
+
 static GtkWidget*
 midori_location_action_create_tool_item (GtkAction* action)
 {
     GtkWidget* toolitem;
-    GtkWidget* location_entry;
     GtkWidget* alignment;
+    GtkWidget* hbox;
+    GtkWidget* location_entry;
+    GtkWidget* go_button;
+    GtkWidget* go_icon;
 
     toolitem = GTK_WIDGET (gtk_tool_item_new ());
     gtk_tool_item_set_expand (GTK_TOOL_ITEM (toolitem), TRUE);
-    location_entry = midori_location_entry_new ();
 
     alignment = gtk_alignment_new (0.0f, 0.5f, 1.0f, 0.1f);
-    gtk_container_add (GTK_CONTAINER (alignment), location_entry);
-    gtk_widget_show (location_entry);
-    gtk_container_add (GTK_CONTAINER (toolitem), alignment);
     gtk_widget_show (alignment);
+    gtk_container_add (GTK_CONTAINER (toolitem), alignment);
+    hbox = gtk_hbox_new (FALSE, 0);
+    gtk_widget_show (hbox);
+    gtk_container_add (GTK_CONTAINER (alignment), hbox);
+    location_entry = midori_location_entry_new ();
+    gtk_widget_show (location_entry);
+    gtk_box_pack_start (GTK_BOX (hbox), location_entry, TRUE, TRUE, 0);
+    go_button = gtk_button_new ();
+    gtk_button_set_focus_on_click (GTK_BUTTON (go_button), FALSE);
+    gtk_button_set_relief (GTK_BUTTON (go_button), GTK_RELIEF_NONE);
+    go_icon = gtk_image_new_from_stock (GTK_STOCK_JUMP_TO, GTK_ICON_SIZE_MENU);
+    gtk_button_set_image (GTK_BUTTON (go_button), go_icon);
+    gtk_widget_show (go_button);
+    gtk_box_pack_start (GTK_BOX (hbox), go_button, FALSE, FALSE, 0);
+    g_signal_connect (go_button, "clicked",
+        G_CALLBACK (midori_location_action_go_clicked_cb), action);
 
     return toolitem;
 }
@@ -620,6 +657,10 @@ midori_location_action_set_item (MidoriLocationAction*    location_action,
     GdkPixbuf* icon;
     GdkPixbuf* new_icon;
 
+    /* Ensure we keep the title if we added the same URI with a title before */
+    if (!item->title)
+        gtk_tree_model_get (location_action->model, iter, TITLE_COL, &item->title, -1);
+
     gtk_list_store_set (GTK_LIST_STORE (location_action->model), iter,
         URI_COL, item->uri, TITLE_COL, item->title, -1);
 
@@ -750,10 +791,7 @@ midori_location_entry_action_activated_cb (GtkEntryCompletion*   completion,
         gchar* search;
         if (!item)
             return;
-        if (strstr (uri, "%s"))
-            search = g_strdup_printf (uri, keywords);
-        else
-            search = g_strconcat (uri, " ", keywords, NULL);
+        search = sokoke_search_uri (uri, keywords);
         midori_location_action_set_uri (location_action, search);
         g_signal_emit (location_action, signals[SUBMIT_URI], 0, search, FALSE);
         g_free (search);
@@ -858,7 +896,6 @@ static void
 midori_location_action_connect_proxy (GtkAction* action,
                                       GtkWidget* proxy)
 {
-    GtkWidget* alignment;
     GtkWidget* entry;
     MidoriLocationAction* location_action;
     GtkCellRenderer* renderer;
@@ -873,8 +910,7 @@ midori_location_action_connect_proxy (GtkAction* action,
 
     if (GTK_IS_TOOL_ITEM (proxy))
     {
-        alignment = gtk_bin_get_child (GTK_BIN (proxy));
-        entry = gtk_bin_get_child (GTK_BIN (alignment));
+        entry = midori_location_action_entry_for_proxy (proxy);
 
         midori_location_entry_set_progress (MIDORI_LOCATION_ENTRY (entry),
             MIDORI_LOCATION_ACTION (action)->progress);
@@ -942,7 +978,6 @@ midori_location_action_set_text (MidoriLocationAction* location_action,
                                  const gchar*          text)
 {
     GSList* proxies;
-    GtkWidget* alignment;
     GtkWidget* location_entry;
     GtkWidget* entry;
     GtkTreeIter iter;
@@ -960,8 +995,7 @@ midori_location_action_set_text (MidoriLocationAction* location_action,
     for (; proxies != NULL; proxies = g_slist_next (proxies))
     if (GTK_IS_TOOL_ITEM (proxies->data))
     {
-        alignment = gtk_bin_get_child (GTK_BIN (proxies->data));
-        location_entry = gtk_bin_get_child (GTK_BIN (alignment));
+        location_entry = midori_location_action_entry_for_proxy (proxies->data);
         entry = gtk_bin_get_child (GTK_BIN (location_entry));
 
         gtk_entry_set_text (GTK_ENTRY (entry), text);
@@ -990,7 +1024,6 @@ midori_location_action_set_icon (MidoriLocationAction* location_action,
                                  GdkPixbuf*            icon)
 {
     GSList* proxies;
-    GtkWidget* alignment;
     GtkWidget* location_entry;
     GtkWidget* entry;
 
@@ -1002,8 +1035,7 @@ midori_location_action_set_icon (MidoriLocationAction* location_action,
     for (; proxies != NULL; proxies = g_slist_next (proxies))
     if (GTK_IS_TOOL_ITEM (proxies->data))
     {
-        alignment = gtk_bin_get_child (GTK_BIN (proxies->data));
-        location_entry = gtk_bin_get_child (GTK_BIN (alignment));
+        location_entry = midori_location_action_entry_for_proxy (proxies->data);
         entry = gtk_bin_get_child (GTK_BIN (location_entry));
 
         gtk_icon_entry_set_icon_from_pixbuf (GTK_ICON_ENTRY (entry),
@@ -1121,7 +1153,6 @@ midori_location_action_add_item (MidoriLocationAction* location_action,
                                  const gchar*          title)
 {
     GSList* proxies;
-    GtkWidget* alignment;
     GtkWidget* location_entry;
     GtkWidget* entry;
     MidoriLocationEntryItem item;
@@ -1147,8 +1178,7 @@ midori_location_action_add_item (MidoriLocationAction* location_action,
     if (GTK_IS_TOOL_ITEM (proxies->data) &&
         !strcmp (location_action->uri, uri))
     {
-        alignment = gtk_bin_get_child (GTK_BIN (proxies->data));
-        location_entry = gtk_bin_get_child (GTK_BIN (alignment));
+        location_entry = midori_location_action_entry_for_proxy (proxies->data);
         entry = gtk_bin_get_child (GTK_BIN (location_entry));
 
         gtk_icon_entry_set_icon_from_pixbuf (GTK_ICON_ENTRY (entry),
@@ -1162,7 +1192,6 @@ midori_location_action_set_icon_for_uri (MidoriLocationAction* location_action,
                                          const gchar*          uri)
 {
     GSList* proxies;
-    GtkWidget* alignment;
     GtkWidget* location_entry;
     GtkWidget* entry;
     MidoriLocationEntryItem item;
@@ -1182,8 +1211,7 @@ midori_location_action_set_icon_for_uri (MidoriLocationAction* location_action,
     if (GTK_IS_TOOL_ITEM (proxies->data) &&
         !g_strcmp0 (location_action->uri, uri))
     {
-        alignment = gtk_bin_get_child (GTK_BIN (proxies->data));
-        location_entry = gtk_bin_get_child (GTK_BIN (alignment));
+        location_entry = midori_location_action_entry_for_proxy (proxies->data);
         entry = gtk_bin_get_child (GTK_BIN (location_entry));
 
         gtk_icon_entry_set_icon_from_pixbuf (GTK_ICON_ENTRY (entry),
@@ -1223,7 +1251,6 @@ midori_location_action_set_search_engines (MidoriLocationAction* location_action
                                            KatzeArray*           search_engines)
 {
     GSList* proxies;
-    GtkWidget* alignment;
     GtkWidget* entry;
     GtkWidget* child;
     GtkEntryCompletion* completion;
@@ -1241,8 +1268,7 @@ midori_location_action_set_search_engines (MidoriLocationAction* location_action
         KatzeItem* item;
         guint i;
 
-        alignment = gtk_bin_get_child (GTK_BIN (proxies->data));
-        entry = gtk_bin_get_child (GTK_BIN (alignment));
+        entry = midori_location_action_entry_for_proxy (proxies->data);
         child = gtk_bin_get_child (GTK_BIN (entry));
 
         completion = gtk_entry_get_completion (GTK_ENTRY (child));
@@ -1270,7 +1296,6 @@ midori_location_action_set_progress (MidoriLocationAction* location_action,
                                      gdouble               progress)
 {
     GSList* proxies;
-    GtkWidget* alignment;
     GtkWidget* entry;
 
     g_return_if_fail (MIDORI_IS_LOCATION_ACTION (location_action));
@@ -1282,8 +1307,7 @@ midori_location_action_set_progress (MidoriLocationAction* location_action,
     for (; proxies != NULL; proxies = g_slist_next (proxies))
     if (GTK_IS_TOOL_ITEM (proxies->data))
     {
-        alignment = gtk_bin_get_child (GTK_BIN (proxies->data));
-        entry = gtk_bin_get_child (GTK_BIN (alignment));
+        entry = midori_location_action_entry_for_proxy (proxies->data);
 
         midori_location_entry_set_progress (MIDORI_LOCATION_ENTRY (entry),
                                             location_action->progress);
@@ -1295,7 +1319,6 @@ midori_location_action_set_secondary_icon (MidoriLocationAction* location_action
                                            const gchar*          stock_id)
 {
     GSList* proxies;
-    GtkWidget* alignment;
     GtkWidget* entry;
     GtkWidget* child;
     GtkStockItem stock_item;
@@ -1310,16 +1333,11 @@ midori_location_action_set_secondary_icon (MidoriLocationAction* location_action
     for (; proxies != NULL; proxies = g_slist_next (proxies))
     if (GTK_IS_TOOL_ITEM (proxies->data))
     {
-        alignment = gtk_bin_get_child (GTK_BIN (proxies->data));
-        entry = gtk_bin_get_child (GTK_BIN (alignment));
+        entry = midori_location_action_entry_for_proxy (proxies->data);
         child = gtk_bin_get_child (GTK_BIN (entry));
 
-        if (stock_id)
-            gtk_icon_entry_set_icon_from_stock (GTK_ICON_ENTRY (child),
-                GTK_ICON_ENTRY_SECONDARY, stock_id);
-        else
-            gtk_icon_entry_set_icon_from_pixbuf (GTK_ICON_ENTRY (child),
-                GTK_ICON_ENTRY_SECONDARY, NULL);
+        gtk_icon_entry_set_icon_from_stock (GTK_ICON_ENTRY (child),
+            GTK_ICON_ENTRY_SECONDARY, stock_id);
     }
 }
 
index 44e59b1d77f1a238903d85a0391d4715f657beb0..5e19a32762e75ddb2155780558e7912bdd62f620 100644 (file)
@@ -25,6 +25,7 @@ struct _MidoriPanel
 
     GtkWidget* toolbar;
     GtkToolItem* button_align;
+    GtkToolItem* button_detach;
     GtkWidget* toolbar_label;
     GtkWidget* frame;
     GtkWidget* toolbook;
@@ -195,13 +196,15 @@ midori_panel_detached_window_delete_event_cb (GtkWidget*   window,
     GtkWidget* toolbar = g_object_get_data (G_OBJECT (scrolled), "panel-toolbar");
     GtkWidget* menuitem = g_object_get_data (G_OBJECT (scrolled), "panel-menuitem");
     GtkToolItem* toolitem;
+    gint n;
+
     g_object_ref (toolbar);
     gtk_container_remove (GTK_CONTAINER (vbox), toolbar);
     gtk_container_add (GTK_CONTAINER (panel->toolbook), toolbar);
     g_object_unref (toolbar);
     g_object_ref (scrolled);
     gtk_container_remove (GTK_CONTAINER (vbox), scrolled);
-    gtk_container_add (GTK_CONTAINER (panel->notebook), scrolled);
+    n = gtk_notebook_append_page (GTK_NOTEBOOK (panel->notebook), scrolled, NULL);
     g_object_unref (scrolled);
     toolitem = midori_panel_construct_tool_item (panel,
         MIDORI_VIEWABLE (_midori_panel_child_for_scrolled (panel, scrolled)));
@@ -210,9 +213,20 @@ midori_panel_detached_window_delete_event_cb (GtkWidget*   window,
         gtk_widget_show (menuitem);
         g_object_set_data (G_OBJECT (menuitem), "toolitem", toolitem);
     }
+    midori_panel_set_current_page (panel, n);
+    gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (toolitem), TRUE);
     return FALSE;
 }
 
+static void
+midori_panel_widget_destroy_cb (GtkWidget* viewable,
+                                GtkWidget* widget)
+{
+    gtk_widget_destroy (widget);
+    g_signal_handlers_disconnect_by_func (
+        viewable, midori_panel_widget_destroy_cb, widget);
+}
+
 static void
 midori_panel_button_detach_clicked_cb (GtkWidget*   toolbutton,
                                        MidoriPanel* panel)
@@ -221,7 +235,6 @@ midori_panel_button_detach_clicked_cb (GtkWidget*   toolbutton,
     /* FIXME: What happens when the browser is destroyed? */
     /* FIXME: What about multiple browsers? */
     /* FIXME: Should we remember if the child was detached? */
-    /* FIXME: Fix label of the sidepanel after removing the widgets */
     gint n = midori_panel_get_current_page (panel);
     GtkToolItem* toolitem = gtk_toolbar_get_nth_item (
         GTK_TOOLBAR (panel->toolbar), n);
@@ -242,6 +255,9 @@ midori_panel_button_detach_clicked_cb (GtkWidget*   toolbutton,
     gtk_container_add (GTK_CONTAINER (window), vbox);
     if (menuitem)
         gtk_widget_hide (menuitem);
+    g_signal_handlers_disconnect_by_func (
+        _midori_panel_child_for_scrolled (panel, scrolled),
+        midori_panel_widget_destroy_cb, toolitem);
     gtk_container_remove (GTK_CONTAINER (panel->toolbar), GTK_WIDGET (toolitem));
     g_object_ref (toolbar);
     gtk_container_remove (GTK_CONTAINER (panel->toolbook), toolbar);
@@ -252,6 +268,12 @@ midori_panel_button_detach_clicked_cb (GtkWidget*   toolbutton,
     gtk_container_remove (GTK_CONTAINER (panel->notebook), scrolled);
     gtk_box_pack_start (GTK_BOX (vbox), scrolled, TRUE, TRUE, 0);
     g_object_unref (scrolled);
+    midori_panel_set_current_page (panel, n > 0 ? n - 1 : 0);
+    toolitem = gtk_toolbar_get_nth_item (GTK_TOOLBAR (panel->toolbar),
+                                         n > 0 ? n - 1 : 0);
+    gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (toolitem), TRUE);
+    if (!gtk_notebook_get_n_pages (GTK_NOTEBOOK (panel->notebook)))
+        gtk_widget_set_sensitive (toolbutton, FALSE);
     g_signal_connect (window, "delete-event",
         G_CALLBACK (midori_panel_detached_window_delete_event_cb), panel);
     gtk_widget_show (window);
@@ -305,6 +327,8 @@ midori_panel_init (MidoriPanel* panel)
     gtk_container_set_border_width (GTK_CONTAINER (toolitem), 6);
     gtk_toolbar_insert (GTK_TOOLBAR (labelbar), toolitem, -1);
     toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_FULLSCREEN);
+    gtk_widget_set_sensitive (GTK_WIDGET (toolitem), FALSE);
+    panel->button_detach = toolitem;
     gtk_tool_button_set_label (GTK_TOOL_BUTTON (toolitem),
                                _("Detach chosen panel from the window"));
     gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolitem),
@@ -518,22 +542,14 @@ static void
 midori_panel_viewable_destroy_cb (GtkWidget*   viewable,
                                   MidoriPanel* panel)
 {
-    gint i = gtk_notebook_page_num (GTK_NOTEBOOK (panel->notebook), viewable);
+    gint i = gtk_notebook_page_num (GTK_NOTEBOOK (panel->notebook),
+                g_object_get_data (G_OBJECT (viewable), "parent"));
     if (i > -1)
-    gtk_notebook_remove_page (GTK_NOTEBOOK (panel->notebook), i);
+        gtk_notebook_remove_page (GTK_NOTEBOOK (panel->notebook), i);
     g_signal_handlers_disconnect_by_func (
         viewable, midori_panel_viewable_destroy_cb, panel);
 }
 
-static void
-midori_panel_widget_destroy_cb (GtkWidget* viewable,
-                                GtkWidget* widget)
-{
-    gtk_widget_destroy (widget);
-    g_signal_handlers_disconnect_by_func (
-        viewable, midori_panel_widget_destroy_cb, widget);
-}
-
 static GtkToolItem*
 midori_panel_construct_tool_item (MidoriPanel*    panel,
                                   MidoriViewable* viewable)
@@ -560,6 +576,10 @@ midori_panel_construct_tool_item (MidoriPanel*    panel,
     gtk_toolbar_insert (GTK_TOOLBAR (panel->toolbar), toolitem, -1);
     g_signal_connect (viewable, "destroy",
                       G_CALLBACK (midori_panel_widget_destroy_cb), toolitem);
+
+    if (gtk_notebook_get_n_pages (GTK_NOTEBOOK (panel->notebook)))
+        gtk_widget_set_sensitive (GTK_WIDGET (panel->button_detach), TRUE);
+
     return toolitem;
 }
 
@@ -648,6 +668,7 @@ midori_panel_append_page (MidoriPanel*    panel,
                           G_CALLBACK (midori_panel_widget_destroy_cb), menuitem);
     }
 
+    g_object_set_data (G_OBJECT (viewable), "parent", scrolled);
     g_signal_connect (viewable, "destroy",
                       G_CALLBACK (midori_panel_viewable_destroy_cb), panel);
 
index 03e75bc6cc861c0d7a73e0db4da290b84816e4a5..b3f22e43340ef40db3ce5176165817997f977c1c 100644 (file)
@@ -419,89 +419,60 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
     }
     FILLED_ADD (hbox, 1, 2, 1, 2);
     button = katze_property_proxy (settings, "show-crash-dialog", NULL);
-    SPANNED_ADD (button, 0, 2, 2, 3);
+    INDENTED_ADD (button, 0, 1, 2, 3);
+    button = katze_property_proxy (settings, "speed-dial-in-new-tabs", NULL);
+    FILLED_ADD (button, 1, 2, 2, 3);
     FRAME_NEW (_("Transfers"));
-    TABLE_NEW (4, 2);
-    #if WEBKIT_CHECK_VERSION (1, 1, 3)
+    TABLE_NEW (2, 2);
     label = katze_property_label (settings, "download-folder");
     INDENTED_ADD (label, 0, 1, 0, 1);
     button = katze_property_proxy (settings, "download-folder", "folder");
     FILLED_ADD (button, 1, 2, 0, 1);
-    #endif
-    label = katze_property_label (settings, "download-manager");
+    label = katze_property_proxy (settings, "ask-for-destination-folder", NULL);
+    gtk_widget_set_sensitive (label, FALSE);
     INDENTED_ADD (label, 0, 1, 1, 2);
-    hbox = gtk_hbox_new (FALSE, 4);
-    button = gtk_image_new ();
-    gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (button),
-        GTK_ICON_SIZE_MENU, &icon_width, &icon_height);
-    gtk_widget_set_size_request (button, icon_width, icon_height);
-    gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 4);
-    entry = katze_property_proxy (settings, "download-manager", NULL);
-    gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
-    proxy_download_manager_icon_cb (entry, NULL, GTK_IMAGE (button));
-    g_signal_connect (entry, "focus-out-event",
-        G_CALLBACK (proxy_download_manager_icon_cb), button);
-    FILLED_ADD (hbox, 1, 2, 1, 2);
-    label = katze_property_label (settings, "text-editor");
-    INDENTED_ADD (label, 0, 1, 2, 3);
-    hbox = gtk_hbox_new (FALSE, 4);
-    button = gtk_image_new ();
-    gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (button),
-        GTK_ICON_SIZE_MENU, &icon_width, &icon_height);
-    gtk_widget_set_size_request (button, icon_width, icon_height);
-    gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 4);
-    entry = katze_property_proxy (settings, "text-editor", NULL);
-    gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
-    proxy_download_manager_icon_cb (entry, NULL, GTK_IMAGE (button));
-    g_signal_connect (entry, "focus-out-event",
-        G_CALLBACK (proxy_download_manager_icon_cb), button);
-    FILLED_ADD (hbox, 1, 2, 2, 3);
-    label = katze_property_label (settings, "news-aggregator");
-    INDENTED_ADD (label, 0, 1, 3, 4);
-    hbox = gtk_hbox_new (FALSE, 4);
-    button = gtk_image_new ();
-    gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (button),
-        GTK_ICON_SIZE_MENU, &icon_width, &icon_height);
-    gtk_widget_set_size_request (button, icon_width, icon_height);
-    gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 4);
-    entry = katze_property_proxy (settings, "news-aggregator", NULL);
-    gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
-    proxy_download_manager_icon_cb (entry, NULL, GTK_IMAGE (button));
-    g_signal_connect (entry, "focus-out-event",
-        G_CALLBACK (proxy_download_manager_icon_cb), button);
-    FILLED_ADD (hbox, 1, 2, 3, 4);
+    button = katze_property_proxy (settings, "notify-transfer-completed", NULL);
+    /* FIXME: Disable the option if notifications presumably cannot be sent
+      gtk_widget_set_sensitive (button, FALSE); */
+    SPANNED_ADD (button, 1, 2, 1, 2);
 
     /* Page "Appearance" */
     PAGE_NEW (GTK_STOCK_SELECT_FONT, _("Appearance"));
     FRAME_NEW (_("Font settings"));
-    TABLE_NEW (6, 2);
+    TABLE_NEW (7, 2);
     label = gtk_label_new (_("Default Font Family"));
     INDENTED_ADD (label, 0, 1, 0, 1);
     hbox = gtk_hbox_new (FALSE, 4);
     button = katze_property_proxy (settings, "default-font-family", "font");
+    gtk_widget_set_tooltip_text (button, _("The default font family used to display text"));
     gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
     entry = katze_property_proxy (settings, "default-font-size", NULL);
     gtk_widget_set_tooltip_text (entry, _("The default font size used to display text"));
     gtk_box_pack_end (GTK_BOX (hbox), entry, FALSE, FALSE, 4);
     FILLED_ADD (hbox, 1, 2, 0, 1);
-    label = gtk_label_new (_("Minimum Font Size"));
+    label = gtk_label_new (_("Fixed-width Font Family"));
     INDENTED_ADD (label, 0, 1, 1, 2);
+    button = katze_property_proxy (settings, "monospace-font-family", "font");
+    gtk_widget_set_tooltip_text (button, _("The font family used to display fixed-width text"));
+    INDENTED_ADD (button, 1, 2, 1, 2);
+    label = gtk_label_new (_("Minimum Font Size"));
+    INDENTED_ADD (label, 0, 1, 2, 3);
     entry = katze_property_proxy (settings, "minimum-font-size", NULL);
     gtk_widget_set_tooltip_text (entry, _("The minimum font size used to display text"));
-    INDENTED_ADD (entry, 1, 2, 1, 2);
+    INDENTED_ADD (entry, 1, 2, 2, 3);
     label = katze_property_label (settings, "preferred-encoding");
-    INDENTED_ADD (label, 0, 1, 2, 3);
+    INDENTED_ADD (label, 0, 1, 3, 4);
     button = katze_property_proxy (settings, "preferred-encoding", NULL);
-    FILLED_ADD (button, 1, 2, 2, 3);
+    FILLED_ADD (button, 1, 2, 3, 4);
     label = katze_property_label (settings, "default-encoding");
     gtk_label_set_label (GTK_LABEL (label), _("Encoding"));
-    INDENTED_ADD (label, 0, 1, 3, 4);
+    INDENTED_ADD (label, 0, 1, 4, 5);
     entry = katze_property_proxy (settings, "default-encoding", NULL);
     gtk_widget_set_tooltip_text (entry, _("The character encoding to use by default"));
     g_signal_connect (settings, "notify::preferred-encoding",
         G_CALLBACK (midori_preferences_notify_preferred_encoding_cb), entry);
     midori_preferences_notify_preferred_encoding_cb (settings, NULL, entry);
-    FILLED_ADD (entry, 1, 2, 3, 4);
+    FILLED_ADD (entry, 1, 2, 4, 5);
 
     /* Page "Behavior" */
     PAGE_NEW (GTK_STOCK_SELECT_COLOR, _("Behavior"));
@@ -528,8 +499,8 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
     gtk_widget_set_tooltip_text (button, _("Enable embedded scripting languages"));
     INDENTED_ADD (button, 0, 1, 2, 3);
     button = katze_property_proxy (settings, "enable-plugins", NULL);
-    gtk_button_set_label (GTK_BUTTON (button), _("Enable plugins"));
-    gtk_widget_set_tooltip_text (button, _("Enable embedded plugin objects"));
+    gtk_button_set_label (GTK_BUTTON (button), _("Enable Netscape plugins"));
+    gtk_widget_set_tooltip_text (button, _("Enable embedded Netscape plugin objects"));
     SPANNED_ADD (button, 1, 2, 2, 3);
     button = katze_property_proxy (settings, "enforce-96-dpi", NULL);
     gtk_button_set_label (GTK_BUTTON (button), _("Enforce 96 dots per inch"));
@@ -543,6 +514,18 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
     SPANNED_ADD (button, 0, 1, 4, 5);
     button = katze_property_proxy (settings, "find-while-typing", NULL);
     SPANNED_ADD (button, 1, 2, 4, 5);
+    #if WEBKIT_CHECK_VERSION (1, 1, 6)
+    FRAME_NEW (_("Spell Checking"));
+    TABLE_NEW (1, 2);
+    button = katze_property_proxy (settings, "enable-spell-checking", NULL);
+    gtk_button_set_label (GTK_BUTTON (button), _("Enable Spell Checking"));
+    gtk_widget_set_tooltip_text (button, _("Enable spell checking while typing"));
+    INDENTED_ADD (button, 0, 1, 0, 1);
+    entry = katze_property_proxy (settings, "spell-checking-languages", NULL);
+    /* i18n: The example should be adjusted to contain a good local default */
+    gtk_widget_set_tooltip_text (entry, _("A comma separated list of languages to be used for spell checking, for example \"en_GB,de_DE\""));
+    FILLED_ADD (entry, 1, 2, 0, 1);
+    #endif
 
     /* Page "Interface" */
     PAGE_NEW (GTK_STOCK_CONVERT, _("Interface"));
@@ -586,6 +569,53 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
     button = katze_property_proxy (settings, "close-buttons-on-tabs", NULL);
     WIDGET_ADD (button, 1, 2, 5, 6);
 
+    /* Page "Applications" */
+    PAGE_NEW (GTK_STOCK_CONVERT, _("Applications"));
+    FRAME_NEW (_("External applications"));
+    TABLE_NEW (3, 2);
+    label = katze_property_label (settings, "text-editor");
+    INDENTED_ADD (label, 0, 1, 0, 1);
+    hbox = gtk_hbox_new (FALSE, 4);
+    button = gtk_image_new ();
+    gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (button),
+        GTK_ICON_SIZE_MENU, &icon_width, &icon_height);
+    gtk_widget_set_size_request (button, icon_width, icon_height);
+    gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 4);
+    entry = katze_property_proxy (settings, "text-editor", NULL);
+    gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
+    proxy_download_manager_icon_cb (entry, NULL, GTK_IMAGE (button));
+    g_signal_connect (entry, "focus-out-event",
+        G_CALLBACK (proxy_download_manager_icon_cb), button);
+    FILLED_ADD (hbox, 1, 2, 0, 1);
+    label = katze_property_label (settings, "download-manager");
+    INDENTED_ADD (label, 0, 1, 1, 2);
+    hbox = gtk_hbox_new (FALSE, 4);
+    button = gtk_image_new ();
+    gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (button),
+        GTK_ICON_SIZE_MENU, &icon_width, &icon_height);
+    gtk_widget_set_size_request (button, icon_width, icon_height);
+    gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 4);
+    entry = katze_property_proxy (settings, "download-manager", NULL);
+    gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
+    proxy_download_manager_icon_cb (entry, NULL, GTK_IMAGE (button));
+    g_signal_connect (entry, "focus-out-event",
+        G_CALLBACK (proxy_download_manager_icon_cb), button);
+    FILLED_ADD (hbox, 1, 2, 1, 2);
+    label = katze_property_label (settings, "news-aggregator");
+    INDENTED_ADD (label, 0, 1, 2, 3);
+    hbox = gtk_hbox_new (FALSE, 4);
+    button = gtk_image_new ();
+    gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (button),
+        GTK_ICON_SIZE_MENU, &icon_width, &icon_height);
+    gtk_widget_set_size_request (button, icon_width, icon_height);
+    gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 4);
+    entry = katze_property_proxy (settings, "news-aggregator", NULL);
+    gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
+    proxy_download_manager_icon_cb (entry, NULL, GTK_IMAGE (button));
+    g_signal_connect (entry, "focus-out-event",
+        G_CALLBACK (proxy_download_manager_icon_cb), button);
+    FILLED_ADD (hbox, 1, 2, 2, 3);
+
     /* Page "Network" */
     PAGE_NEW (GTK_STOCK_NETWORK, _("Network"));
     FRAME_NEW (_("Network"));
index bb10bfe553f6852fc10b17517bd1853c505c7402..51216d41b36475fdc8a2794936adf6bdb5f97467 100644 (file)
@@ -1,5 +1,6 @@
 /*
  Copyright (C) 2007-2009 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2009 Jean-François Guchens <zcx000@gmail.com>
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
 #include <string.h>
 #include <stdlib.h>
 #include <glib/gi18n.h>
+#include <glib/gprintf.h>
+#include <glib/gstdio.h>
 #include <webkit/webkit.h>
 
-#if GLIB_CHECK_VERSION (2, 18, 0)
-    #define D_(__domain, __message) g_dgettext (__domain, __message)
-#elif ENABLE_NLS
-    #define D_(__domain, __message) dgettext (__domain, __message)
-#else
-    #define D_(__domain, __message) __message
-#endif
-
 /* This is unstable API, so we need to declare it */
 gchar*
 webkit_web_view_get_selected_text (WebKitWebView* web_view);
+/* This is public API since WebKitGTK+ 1.1.6 */
+#if !WEBKIT_CHECK_VERSION (1, 1, 6)
 void
 webkit_web_frame_print (WebKitWebFrame* web_frame);
+#endif
 
 GdkPixbuf*
 midori_search_action_get_icon (KatzeNet*  net,
                                KatzeItem* item,
                                GtkWidget* widget);
 
+static void
+midori_view_construct_web_view (MidoriView* view);
+
 struct _MidoriView
 {
     GtkScrolledWindow parent_instance;
@@ -60,8 +61,9 @@ struct _MidoriView
     gchar* selected_text;
     MidoriWebSettings* settings;
     GtkWidget* web_view;
-    /* KatzeArray* news_feeds; */
+    KatzeArray* news_feeds;
 
+    gboolean speed_dial_in_new_tabs;
     gchar* download_manager;
     gchar* news_aggregator;
     gboolean middle_click_opens_selection;
@@ -135,7 +137,7 @@ enum
     PROP_LOAD_STATUS,
     PROP_PROGRESS,
     PROP_ZOOM_LEVEL,
-    /* PROP_NEWS_FEEDS, */
+    PROP_NEWS_FEEDS,
     PROP_STATUSBAR_TEXT,
     PROP_SETTINGS,
     PROP_NET
@@ -153,6 +155,7 @@ enum {
     SEARCH_TEXT,
     ADD_BOOKMARK,
     SAVE_AS,
+    ADD_SPEED_DIAL,
 
     LAST_SIGNAL
 };
@@ -179,6 +182,16 @@ midori_view_settings_notify_cb (MidoriWebSettings* settings,
                                 GParamSpec*        pspec,
                                 MidoriView*        view);
 
+static void
+midori_view_speed_dial_get_thumb (GtkWidget*   web_view,
+                                 const gchar* message,
+                                 MidoriView*  view);
+
+static void
+midori_view_speed_dial_save (GtkWidget*   web_view,
+                             const gchar* message);
+
+
 static void
 midori_view_class_init (MidoriViewClass* class)
 {
@@ -354,6 +367,26 @@ midori_view_class_init (MidoriViewClass* class)
         G_TYPE_NONE, 1,
         G_TYPE_STRING);
 
+    /**
+     * MidoriView::add-speed-dial:
+     * @view: the object on which the signal is emitted
+     * @uri: the URI to add to the speed dial
+     *
+     * Emitted when an URI is added to the spee dial page.
+     *
+     * Since: 0.1.7
+     */
+    signals[ADD_SPEED_DIAL] = g_signal_new (
+        "add-speed-dial",
+        G_TYPE_FROM_CLASS (class),
+        (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
+        0,
+        0,
+        NULL,
+        g_cclosure_marshal_VOID__STRING,
+        G_TYPE_NONE, 1,
+        G_TYPE_STRING);
+
     gobject_class = G_OBJECT_CLASS (class);
     gobject_class->finalize = midori_view_finalize;
     gobject_class->set_property = midori_view_set_property;
@@ -434,14 +467,21 @@ midori_view_class_init (MidoriViewClass* class)
                                      1.0f,
                                      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-    /* g_object_class_install_property (gobject_class,
+    /**
+    * MidoriView:news-feeds:
+    *
+    * The news feeds advertised by the currently loaded page.
+    *
+    * Since: 0.1.7
+    */
+    g_object_class_install_property (gobject_class,
                                      PROP_NEWS_FEEDS,
                                      g_param_spec_object (
                                      "news-feeds",
                                      "News Feeds",
                                      "The list of available news feeds",
                                      KATZE_TYPE_ARRAY,
-                                     G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); */
+                                     G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
     g_object_class_install_property (gobject_class,
                                      PROP_STATUSBAR_TEXT,
@@ -471,6 +511,52 @@ midori_view_class_init (MidoriViewClass* class)
                                      flags));
 }
 
+static void
+midori_view_update_title (MidoriView* view)
+{
+    /* If left-to-right text is combined with right-to-left text the default
+       behaviour of Pango can result in awkwardly aligned text. For example
+       "‪بستيان نوصر (hadess) | An era comes to an end - Midori" becomes
+       "hadess) | An era comes to an end - Midori) بستيان نوصر". So to prevent
+       this we insert an LRE character before the title which indicates that
+       we want left-to-right but retains the direction of right-to-left text. */
+    if (view->title && !g_str_has_prefix (view->title, "‪"))
+    {
+        gchar* new_title = g_strconcat ("‪", view->title, NULL);
+        katze_assign (view->title, new_title);
+    }
+    #define title midori_view_get_display_title (view)
+    if (view->tab_label)
+    {
+        /* If the title starts with the presumed name of the website, we
+            ellipsize differently, to emphasize the subtitle */
+        if (gtk_label_get_angle (GTK_LABEL (view->tab_title)) == 0.0)
+        {
+            SoupURI* uri = soup_uri_new (view->uri);
+            const gchar* host = uri ? (uri->host ? uri->host : "") : "";
+            const gchar* name = g_str_has_prefix (host, "www.") ? &host[4] : host;
+            guint i = 0;
+            while (name[i++])
+                if (name[i] == '.')
+                    break;
+            if (!g_ascii_strncasecmp (title, name, i))
+                gtk_label_set_ellipsize (GTK_LABEL (view->tab_title), PANGO_ELLIPSIZE_START);
+            else
+                gtk_label_set_ellipsize (GTK_LABEL (view->tab_title), PANGO_ELLIPSIZE_END);
+            if (uri)
+                soup_uri_free (uri);
+        }
+        gtk_label_set_text (GTK_LABEL (view->tab_title), title);
+        gtk_widget_set_tooltip_text (view->tab_title, title);
+    }
+    if (view->menu_item)
+        gtk_label_set_text (GTK_LABEL (gtk_bin_get_child (GTK_BIN (
+                            view->menu_item))), title);
+    if (view->item)
+        katze_item_set_name (view->item, title);
+    #undef title
+}
+
 static GdkPixbuf*
 midori_view_mime_icon (GtkIconTheme* icon_theme,
                        const gchar*  format,
@@ -502,7 +588,10 @@ midori_view_update_icon (MidoriView* view,
         {
             icon_theme = gtk_icon_theme_get_for_screen (screen);
             if ((parts = g_strsplit (view->mime_type, "/", 2)))
-                parts = (parts[0] && parts[1]) ? parts : NULL;
+            {
+                if (!(parts[0] && parts[1]))
+                    katze_assign (parts, NULL);
+            }
         }
         else
             parts = NULL;
@@ -623,6 +712,55 @@ webkit_web_view_progress_changed_cb (WebKitWebView* web_view,
     g_object_notify (G_OBJECT (view), "progress");
 }
 
+#if WEBKIT_CHECK_VERSION (1, 1, 6)
+static gboolean
+webkit_web_view_load_error_cb (WebKitWebView*  web_view,
+                               WebKitWebFrame* web_frame,
+                               const gchar*    uri,
+                               GError*         error,
+                               MidoriView*     view)
+{
+    const gchar* template_file = DATADIR "/midori/res/error.html";
+    gchar* template;
+
+    if (g_file_get_contents (template_file, &template, NULL, NULL))
+    {
+        SoupServer* res_server;
+        guint port;
+        gchar* res_root;
+        gchar* stock_root;
+        gchar* message;
+        gchar* result;
+
+        res_server = sokoke_get_res_server ();
+        port = soup_server_get_port (res_server);
+        res_root = g_strdup_printf ("http://localhost:%d/res", port);
+        stock_root = g_strdup_printf ("http://localhost:%d/stock", port);
+
+        message = g_strdup_printf (_("The page '%s' couldn't be loaded."), uri);
+        result = sokoke_replace_variables (template,
+            "{title}", _("Error"),
+            "{message}", message,
+            "{description}", error->message,
+            "{tryagain}", _("Try again"),
+            "{res}", res_root,
+            "{stock}", stock_root,
+            NULL);
+        g_free (template);
+        g_free (message);
+
+        webkit_web_frame_load_alternate_string (web_frame,
+            result, res_root, uri);
+        g_free (res_root);
+        g_free (stock_root);
+        g_free (result);
+
+        return TRUE;
+    }
+
+    return FALSE;
+}
+#else
 static void
 webkit_web_frame_load_done_cb (WebKitWebFrame* web_frame,
                                gboolean        success,
@@ -653,6 +791,7 @@ webkit_web_frame_load_done_cb (WebKitWebFrame* web_frame,
 
     midori_view_update_load_status (view, MIDORI_LOAD_FINISHED);
 }
+#endif
 
 static void
 webkit_web_view_load_finished_cb (WebKitWebView*  web_view,
@@ -668,14 +807,34 @@ webkit_web_view_load_finished_cb (WebKitWebView*  web_view,
     if (view->news_aggregator && *view->news_aggregator)
     {
         JSContextRef js_context = webkit_web_frame_get_global_context (web_frame);
+        /* This snippet joins the available news feeds into a string like this:
+           URI1|title1,URI2|title2
+           FIXME: Ensure separators contained in the string can't break it */
         gchar* value = sokoke_js_script_eval (js_context,
         "function feeds (l) { var f = new Array (); for (i in l) "
         "{ var t = l[i].type; "
         "if (t && (t.indexOf ('rss') != -1 || t.indexOf ('atom') != -1)) "
-        "f.push (l[i].href); } return f; }"
+        "f.push (l[i].href + '|' + l[i].title); } return f; }"
         "feeds (document.getElementsByTagName ('link'))", NULL);
+        gchar** items = g_strsplit (value, ",", 0);
+        gchar** iter;
+
+        katze_array_clear (view->news_feeds);
+        for (iter = items; iter && *iter; iter++)
+        {
+            gchar** parts = g_strsplit (*iter, "|", 2);
+            KatzeItem* item = g_object_new (KATZE_TYPE_ITEM,
+                "uri", parts ? *parts : "",
+                "name", parts && *parts ? parts[1] : NULL,
+                NULL);
+            katze_array_add_item (view->news_feeds, item);
+            g_object_unref (item);
+            g_strfreev (parts);
+        }
+        g_strfreev (items);
         g_object_set_data (G_OBJECT (view), "news-feeds",
                            value && *value ? (void*)1 : (void*)0);
+        g_free (value);
         /* Ensure load-status is notified again, whether it changed or not */
         g_object_notify (G_OBJECT (view), "load-status");
     }
@@ -683,6 +842,26 @@ webkit_web_view_load_finished_cb (WebKitWebView*  web_view,
     g_object_thaw_notify (G_OBJECT (view));
 }
 
+#if WEBKIT_CHECK_VERSION (1, 1, 4)
+static void
+webkit_web_view_notify_uri_cb (WebKitWebView* web_view,
+                               GParamSpec*    pspec,
+                               MidoriView*    view)
+{
+    g_object_get (web_view, "uri", &view->uri, NULL);
+    g_object_notify (G_OBJECT (view), "uri");
+}
+
+static void
+webkit_web_view_notify_title_cb (WebKitWebView* web_view,
+                                 GParamSpec*    pspec,
+                                 MidoriView*    view)
+{
+    g_object_get (web_view, "title", &view->title, NULL);
+    midori_view_update_title (view);
+    g_object_notify (G_OBJECT (view), "title");
+}
+#else
 static void
 webkit_web_view_title_changed_cb (WebKitWebView*  web_view,
                                   WebKitWebFrame* web_frame,
@@ -691,6 +870,7 @@ webkit_web_view_title_changed_cb (WebKitWebView*  web_view,
 {
     g_object_set (view, "title", title, NULL);
 }
+#endif
 
 static void
 webkit_web_view_statusbar_text_changed_cb (WebKitWebView* web_view,
@@ -814,6 +994,17 @@ gtk_widget_button_press_event_cb (WebKitWebView*  web_view,
     case 9:
         midori_view_go_forward (view);
         return TRUE;
+    /*
+     * On some fancier mice the scroll wheel can be used to scroll horizontally.
+     * A middle click usually registers both a middle click (2) and a
+     * horizontal scroll (11 or 12).
+     * We catch horizontal scrolls and ignore them to prevent middle clicks from
+     * accidentally being interpreted as first button clicks.
+     */
+    case 11:
+        return TRUE;
+    case 12:
+        return TRUE;
     }
 
     return FALSE;
@@ -829,10 +1020,15 @@ gtk_widget_key_press_event_cb (WebKitWebView* web_view,
     if (character == (event->keyval | 0x01000000))
         return FALSE;
 
-    if (view->find_while_typing && !webkit_web_view_can_cut_clipboard (web_view)
+    if (character == '.' || character == '/')
+        character = '\0';
+    else if (!view->find_while_typing)
+        return FALSE;
+
+    if (!webkit_web_view_can_cut_clipboard (web_view)
         && !webkit_web_view_can_paste_clipboard (web_view))
     {
-        gchar* text = g_strdup_printf ("%c", character);
+        gchar* text = character ? g_strdup_printf ("%c", character) : g_strdup ("");
 
         g_signal_emit (view, signals[SEARCH_TEXT], 0, TRUE, text);
         g_free (text);
@@ -875,10 +1071,10 @@ midori_web_view_menu_new_tab_activate_cb (GtkWidget*  widget,
 }
 
 static void
-midori_web_view_menu_new_window_activate_cb (GtkWidget*  widget,
-                                             MidoriView* view)
+midori_web_view_menu_action_add_speed_dial_cb (GtkWidget*  widget,
+                                              MidoriView* view)
 {
-    g_signal_emit (view, signals[NEW_WINDOW], 0, view->link_uri);
+    g_signal_emit (view, signals[ADD_SPEED_DIAL], 0, view->link_uri);
 }
 
 static void
@@ -893,10 +1089,7 @@ midori_web_view_menu_search_web_activate_cb (GtkWidget*  widget,
     else
         g_object_get (view->settings, "location-entry-search",
                       &search, NULL);
-    if (strstr (search, "%s"))
-        uri = g_strdup_printf (search, view->selected_text);
-    else
-        uri = g_strconcat (search, view->selected_text, NULL);
+    uri = sokoke_search_uri (search, view->selected_text);
     g_free (search);
 
     g_signal_emit (view, signals[NEW_TAB], 0, uri,
@@ -918,7 +1111,7 @@ static void
 midori_web_view_menu_download_activate_cb (GtkWidget*  widget,
                                            MidoriView* view)
 {
-    sokoke_spawn_program (view->download_manager, view->link_uri);
+    sokoke_spawn_program (view->download_manager, view->link_uri, TRUE);
 }
 
 static void
@@ -993,9 +1186,6 @@ webkit_web_view_populate_popup_cb (WebKitWebView* web_view,
         /* hack to localize menu item */
         label = gtk_bin_get_child (GTK_BIN (menuitem));
         gtk_label_set_label (GTK_LABEL (label), _("Open Link in New _Window"));
-        /* hack to implement New Window */
-        g_signal_connect (menuitem, "activate",
-            G_CALLBACK (midori_web_view_menu_new_window_activate_cb), view);
         menuitem = (GtkWidget*)g_list_nth_data (items, 3);
         g_list_free (items);
         #if WEBKIT_CHECK_VERSION (1, 1, 3)
@@ -1103,8 +1293,12 @@ webkit_web_view_populate_popup_cb (WebKitWebView* web_view,
         /* hack to localize menu item */
         if (GTK_IS_BIN (menuitem))
         {
-            label = gtk_bin_get_child (GTK_BIN (menuitem));
-            gtk_label_set_label (GTK_LABEL (label), D_("gtk20", "_Refresh"));
+            GtkStockItem stock_item;
+            if (gtk_stock_lookup (GTK_STOCK_REFRESH, &stock_item))
+            {
+                label = gtk_bin_get_child (GTK_BIN (menuitem));
+                gtk_label_set_label (GTK_LABEL (label), stock_item.label);
+            }
         }
         g_list_free (items);
         menuitem = gtk_image_menu_item_new_with_mnemonic (_("Undo Close Tab"));
@@ -1116,15 +1310,28 @@ webkit_web_view_populate_popup_cb (WebKitWebView* web_view,
             G_CALLBACK (midori_web_view_menu_action_activate_cb), view);
         /* FIXME: Make this sensitive only when there is a tab to undo */
         gtk_widget_show (menuitem);
+
         menuitem = gtk_separator_menu_item_new ();
         gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
         gtk_widget_show (menuitem);
+
         menuitem = gtk_image_menu_item_new_from_stock (STOCK_BOOKMARK_ADD, NULL);
         gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
         g_object_set_data (G_OBJECT (menuitem), "action", "BookmarkAdd");
         g_signal_connect (menuitem, "activate",
             G_CALLBACK (midori_web_view_menu_action_activate_cb), view);
         gtk_widget_show (menuitem);
+
+        if (view->speed_dial_in_new_tabs && !midori_view_is_blank (view))
+        {
+            menuitem = gtk_image_menu_item_new_with_mnemonic (_("Add to Speed _dial"));
+            gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+            g_object_set_data (G_OBJECT (menuitem), "action", "AddSpeedDial");
+            g_signal_connect (menuitem, "activate",
+                G_CALLBACK (midori_web_view_menu_action_add_speed_dial_cb), view);
+            gtk_widget_show (menuitem);
+        }
+
         menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_SAVE_AS, NULL);
         gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
         g_object_set_data (G_OBJECT (menuitem), "action", "SaveAs");
@@ -1135,6 +1342,7 @@ webkit_web_view_populate_popup_cb (WebKitWebView* web_view,
            saving either. If that changes, we need to think of something. */
         if (!midori_view_can_view_source (view))
             gtk_widget_set_sensitive (menuitem, FALSE);
+
         menuitem = gtk_image_menu_item_new_with_mnemonic (_("View _Source"));
         gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
         g_object_set_data (G_OBJECT (menuitem), "action", "SourceView");
@@ -1143,6 +1351,7 @@ webkit_web_view_populate_popup_cb (WebKitWebView* web_view,
         gtk_widget_show (menuitem);
         if (!midori_view_can_view_source (view))
             gtk_widget_set_sensitive (menuitem, FALSE);
+
         menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_PRINT, NULL);
         gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
         g_object_set_data (G_OBJECT (menuitem), "action", "Print");
@@ -1187,7 +1396,7 @@ webkit_web_view_create_web_view_cb (GtkWidget*      web_view,
         "net", view->net,
         "settings", view->settings,
         NULL);
-    midori_view_set_uri (MIDORI_VIEW (new_view), "");
+    midori_view_construct_web_view (MIDORI_VIEW (new_view));
     g_signal_connect (MIDORI_VIEW (new_view)->web_view, "web-view-ready",
       G_CALLBACK (webkit_web_view_web_view_ready_cb), view);
     return MIDORI_VIEW (new_view)->web_view;
@@ -1322,14 +1531,20 @@ webkit_web_view_download_requested_cb (GtkWidget*      web_view,
 }
 #endif
 
-static void
+static gboolean
 webkit_web_view_console_message_cb (GtkWidget*   web_view,
                                     const gchar* message,
                                     guint        line,
                                     const gchar* source_id,
                                     MidoriView*  view)
 {
-    g_signal_emit (view, signals[CONSOLE_MESSAGE], 0, message, line, source_id);
+    if (!strncmp (message, "speed_dial-get-thumbnail", 22))
+        midori_view_speed_dial_get_thumb (web_view, message, view);
+    else if (!strncmp (message, "speed_dial-save", 13))
+        midori_view_speed_dial_save (web_view, message);
+    else
+        g_signal_emit (view, signals[CONSOLE_MESSAGE], 0, message, line, source_id);
+    return TRUE;
 }
 
 static void
@@ -1355,6 +1570,8 @@ midori_view_init (MidoriView* view)
     view->statusbar_text = NULL;
     view->link_uri = NULL;
     view->selected_text = NULL;
+    view->news_feeds = katze_array_new (KATZE_TYPE_ITEM);
+
     view->item = NULL;
 
     view->download_manager = NULL;
@@ -1382,6 +1599,7 @@ midori_view_finalize (GObject* object)
     katze_assign (view->statusbar_text, NULL);
     katze_assign (view->link_uri, NULL);
     katze_assign (view->selected_text, NULL);
+    katze_object_assign (view->news_feeds, NULL);
 
     katze_object_assign (view->settings, NULL);
     katze_object_assign (view->item, NULL);
@@ -1408,18 +1626,7 @@ midori_view_set_property (GObject*      object,
     {
     case PROP_TITLE:
         katze_assign (view->title, g_value_dup_string (value));
-        #define title midori_view_get_display_title (view)
-        if (view->tab_label)
-        {
-            gtk_label_set_text (GTK_LABEL (view->tab_title), title);
-            gtk_widget_set_tooltip_text (view->tab_title, title);
-        }
-        if (view->menu_item)
-            gtk_label_set_text (GTK_LABEL (gtk_bin_get_child (GTK_BIN (
-                                view->menu_item))), title);
-        if (view->item)
-            katze_item_set_name (view->item, title);
-        #undef title
+        midori_view_update_title (view);
         break;
     case PROP_ZOOM_LEVEL:
         midori_view_set_zoom_level (view, g_value_get_float (value));
@@ -1472,6 +1679,9 @@ midori_view_get_property (GObject*    object,
     case PROP_ZOOM_LEVEL:
         g_value_set_float (value, midori_view_get_zoom_level (view));
         break;
+    case PROP_NEWS_FEEDS:
+        g_value_set_object (value, view->news_feeds);
+        break;
     case PROP_STATUSBAR_TEXT:
         g_value_set_string (value, view->statusbar_text);
         break;
@@ -1509,6 +1719,7 @@ _midori_view_update_settings (MidoriView* view)
     gboolean zoom_text_and_images;
 
     g_object_get (view->settings,
+        "speed-dial-in-new-tabs", &view->speed_dial_in_new_tabs,
         "download-manager", &view->download_manager,
         "news-aggregator", &view->news_aggregator,
         "zoom-text-and-images", &zoom_text_and_images,
@@ -1536,7 +1747,11 @@ midori_view_settings_notify_cb (MidoriWebSettings* settings,
     g_value_init (&value, pspec->value_type);
     g_object_get_property (G_OBJECT (view->settings), name, &value);
 
-    if (name == g_intern_string ("download-manager"))
+    if (name == g_intern_string ("speed-dial-in-new-tabs"))
+    {
+        view->speed_dial_in_new_tabs = g_value_get_boolean (&value);
+    }
+    else if (name == g_intern_string ("download-manager"))
     {
         katze_assign (view->download_manager, g_value_dup_string (&value));
     }
@@ -1710,6 +1925,8 @@ midori_view_construct_web_view (MidoriView* view)
     WebKitWebFrame* web_frame;
     gpointer inspector;
 
+    g_return_if_fail (!view->web_view);
+
     view->web_view = webkit_web_view_new ();
 
     /* Load something to avoid a bug where WebKit might not set a main frame */
@@ -1725,15 +1942,22 @@ midori_view_construct_web_view (MidoriView* view)
                       webkit_web_view_progress_changed_cb, view,
                       "signal::load-finished",
                       webkit_web_view_load_finished_cb, view,
+                      #if WEBKIT_CHECK_VERSION (1, 1, 4)
+                      "signal::notify::uri",
+                      webkit_web_view_notify_uri_cb, view,
+                      "signal::notify::title",
+                      webkit_web_view_notify_title_cb, view,
+                      #else
                       "signal::title-changed",
                       webkit_web_view_title_changed_cb, view,
+                      #endif
                       "signal::status-bar-text-changed",
                       webkit_web_view_statusbar_text_changed_cb, view,
                       "signal::hovering-over-link",
                       webkit_web_view_hovering_over_link_cb, view,
                       "signal::button-press-event",
                       gtk_widget_button_press_event_cb, view,
-                      "signal::key-press-event",
+                      "signal-after::key-press-event",
                       gtk_widget_key_press_event_cb, view,
                       "signal::scroll-event",
                       gtk_widget_scroll_event_cb, view,
@@ -1751,12 +1975,18 @@ midori_view_construct_web_view (MidoriView* view)
                       "signal::download-requested",
                       webkit_web_view_download_requested_cb, view,
                       #endif
+                      #if WEBKIT_CHECK_VERSION (1, 1, 6)
+                      "signal::load-error",
+                      webkit_web_view_load_error_cb, view,
+                      #endif
                       NULL);
 
+    #if !WEBKIT_CHECK_VERSION (1, 1, 6)
     g_object_connect (web_frame,
                       "signal::load-done",
                       webkit_web_frame_load_done_cb, view,
                       NULL);
+    #endif
 
     if (view->settings)
     {
@@ -1787,17 +2017,81 @@ midori_view_set_uri (MidoriView*  view,
 
     g_return_if_fail (MIDORI_IS_VIEW (view));
 
+    /* Treat "about:blank" and "" equally, see midori_view_is_blank(). */
+    if (!g_strcmp0 (uri, "about:blank")) uri = "";
     if (!uri) uri = "";
 
     if (1)
     {
         if (!view->web_view)
             midori_view_construct_web_view (view);
+
+        if (view->speed_dial_in_new_tabs && !g_strcmp0 (uri, ""))
+        {
+            SoupServer* res_server;
+            guint port;
+            gchar* res_root;
+            gchar* speed_dial_head;
+            gchar* speed_dial_body;
+            gchar* body_fname;
+            gchar* stock_root;
+
+            katze_assign (view->uri, g_strdup (""));
+
+            g_file_get_contents (DATADIR "/midori/res/speeddial-head.html",
+                                 &speed_dial_head, NULL, NULL);
+
+            res_server = sokoke_get_res_server ();
+            port = soup_server_get_port (res_server);
+            res_root = g_strdup_printf ("http://localhost:%d/res", port);
+            stock_root = g_strdup_printf ("http://localhost:%d/stock", port);
+            body_fname = g_build_filename (sokoke_set_config_dir (NULL),
+                                           "speeddial.json", NULL);
+
+            if (!g_file_test (body_fname, G_FILE_TEST_EXISTS))
+            {
+                if (g_file_get_contents (DATADIR "/midori/res/speeddial.json",
+                                         &speed_dial_body, NULL, NULL))
+                    g_file_set_contents (body_fname, speed_dial_body, -1, NULL);
+                else
+                    speed_dial_body = g_strdup ("");
+            }
+            else
+                g_file_get_contents (body_fname, &speed_dial_body, NULL, NULL);
+
+            data = sokoke_replace_variables (speed_dial_head,
+                "{res}", res_root,
+                "{stock}", stock_root,
+                "{json_data}", speed_dial_body,
+                "{title}", _("Speed dial"),
+                "{click_to_add}", _("Click to add a shortcut"),
+                "{enter_shortcut_address}", _("Enter shortcut address"),
+                "{enter_shortcut_name}", _("Enter shortcut title"),
+                "{are_you_sure}", _("Are you sure you want to delete this shortcut?"), NULL);
+
+
+            #if WEBKIT_CHECK_VERSION (1, 1, 6)
+            webkit_web_frame_load_alternate_string (
+                webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (view->web_view)),
+                data, res_root, "about:blank");
+            #else
+            webkit_web_view_load_html_string (
+                WEBKIT_WEB_VIEW (view->web_view), data, res_root);
+            #endif
+
+            g_free (res_root);
+            g_free (stock_root);
+            g_free (data);
+            g_free (speed_dial_head);
+            g_free (speed_dial_body);
+            g_free (body_fname);
+        }
         /* This is not prefectly elegant, but creating an
            error page inline is the simplest solution. */
-        if (g_str_has_prefix (uri, "error:"))
+        else if (g_str_has_prefix (uri, "error:"))
         {
             data = NULL;
+            #if !WEBKIT_CHECK_VERSION (1, 1, 3)
             if (!strncmp (uri, "error:nodisplay ", 16))
             {
                 gchar* title;
@@ -1814,7 +2108,8 @@ midori_view_set_uri (MidoriView*  view,
                     title, title, view->uri, view->mime_type);
                 g_free (title);
             }
-            else if (!strncmp (uri, "error:nodocs ", 13))
+            #endif
+            if (!strncmp (uri, "error:nodocs ", 13))
             {
                 gchar* title;
 
@@ -1850,13 +2145,7 @@ midori_view_set_uri (MidoriView*  view,
         }
         else if (g_str_has_prefix (uri, "mailto:"))
         {
-            if (!gtk_show_uri (NULL, uri, GDK_CURRENT_TIME, NULL))
-            {
-                /* Fallback to Exo for example if GConf isn't setup */
-                gchar* command = g_strconcat ("exo-open ", uri, NULL);
-                g_spawn_command_line_async (command, NULL);
-                g_free (command);
-            }
+            sokoke_show_uri (NULL, uri, GDK_CURRENT_TIME, NULL);
         }
         else
         {
@@ -1945,11 +2234,10 @@ midori_view_get_display_title (MidoriView* view)
 {
     g_return_val_if_fail (MIDORI_IS_VIEW (view), "about:blank");
 
-    if (midori_view_is_blank (view))
-        return _("Blank page");
-
     if (view->title && *view->title)
         return view->title;
+    if (midori_view_is_blank (view))
+        return _("Blank page");
     return midori_view_get_display_uri (view);
 }
 
@@ -2154,7 +2442,8 @@ midori_view_update_tab_title (GtkWidget* label,
     if (angle == 0.0 || angle == 360.0)
     {
         gtk_widget_set_size_request (label, width * size, -1);
-        gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END);
+        if (gtk_label_get_ellipsize (GTK_LABEL (label)) != PANGO_ELLIPSIZE_START)
+            gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END);
     }
     else
     {
@@ -2468,9 +2757,15 @@ midori_view_reload (MidoriView* view,
 
     g_return_if_fail (MIDORI_IS_VIEW (view));
 
+#if WEBKIT_CHECK_VERSION (1, 1, 6)
+    /* WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+       so reloading via Javascript works but not via API calls. */
+    title = g_strdup (_("Error"));
+#else
     /* Error pages are special, we want to try loading the destination
        again, not the error page which isn't even a proper page */
     title = g_strdup_printf (_("Not found - %s"), view->uri);
+#endif
     if (view->title && strstr (title, view->title))
         webkit_web_view_open (WEBKIT_WEB_VIEW (view->web_view), view->uri);
     else if (from_cache)
@@ -2679,3 +2974,193 @@ midori_view_execute_script (MidoriView*  view,
         webkit_web_view_execute_script (WEBKIT_WEB_VIEW (view->web_view), script);
     return TRUE;
 }
+
+/* For now this is private API */
+GdkPixbuf*
+midori_view_get_snapshot (MidoriView* view,
+                          guint       width,
+                          guint       height)
+{
+    GtkWidget* web_view;
+    GdkRectangle rect;
+    GdkPixmap* pixmap;
+    GdkEvent event;
+    gboolean result;
+    GdkColormap* colormap;
+    GdkPixbuf* pixbuf;
+
+    g_return_val_if_fail (MIDORI_IS_VIEW (view), NULL);
+    web_view = gtk_bin_get_child (GTK_BIN (view));
+    g_return_val_if_fail (web_view->window, NULL);
+
+    rect.x = web_view->allocation.x;
+    rect.y = web_view->allocation.y;
+    rect.width = web_view->allocation.width;
+    rect.height = web_view->allocation.height;
+
+    pixmap = gdk_pixmap_new (web_view->window,
+        web_view->allocation.width, web_view->allocation.height,
+        gdk_drawable_get_depth (web_view->window));
+    event.expose.type = GDK_EXPOSE;
+    event.expose.window = pixmap;
+    event.expose.send_event = FALSE;
+    event.expose.count = 0;
+    event.expose.area.x = 0;
+    event.expose.area.y = 0;
+    gdk_drawable_get_size (GDK_DRAWABLE (web_view->window),
+        &event.expose.area.width, &event.expose.area.height);
+    event.expose.region = gdk_region_rectangle (&event.expose.area);
+
+    g_signal_emit_by_name (web_view, "expose-event", &event, &result);
+
+    colormap = gdk_drawable_get_colormap (pixmap);
+    pixbuf = gdk_pixbuf_get_from_drawable (NULL, pixmap, colormap, 0, 0,
+                                           0, 0, rect.width, rect.height);
+    g_object_unref (pixmap);
+
+    if (width || height)
+    {
+        GdkPixbuf* scaled;
+        if (!width)
+            width = rect.width;
+        if (!height)
+            height = rect.height;
+        scaled = gdk_pixbuf_scale_simple (pixbuf, width, height,
+                                          GDK_INTERP_TILES);
+        g_object_unref (pixbuf);
+        return scaled;
+    }
+
+    return pixbuf;
+}
+
+static void
+thumb_view_load_status_cb (MidoriView* thumb_view,
+                           GParamSpec* pspec,
+                           MidoriView* view)
+{
+    GdkPixbuf* img;
+    gchar* file_content;
+    gchar* encoded;
+    gchar* dom_id;
+    gchar* js;
+    gsize sz;
+
+    if (katze_object_get_enum (thumb_view, "load-status") != MIDORI_LOAD_FINISHED)
+        return;
+
+    img = midori_view_get_snapshot (MIDORI_VIEW (thumb_view), 160, 107);
+    gdk_pixbuf_save_to_buffer (img, &file_content, &sz, "png", NULL, "compression", "7", NULL);
+    encoded = g_base64_encode ((guchar *)file_content, sz );
+
+    /* Call Javascript function to replace shortcut's content */
+    dom_id = g_object_get_data (G_OBJECT (thumb_view), "dom-id");
+    js = g_strdup_printf ("setThumbnail('%s','%s','%s');",
+                          dom_id, encoded, thumb_view->uri);
+    webkit_web_view_execute_script (WEBKIT_WEB_VIEW (view->web_view), js);
+    free (js);
+    g_object_unref (img);
+
+    g_free (dom_id);
+    g_free (encoded);
+    g_free (file_content);
+
+    gtk_widget_destroy (GTK_WIDGET (thumb_view));
+}
+
+/**
+ * midori_view_speed_dial_inject_thumb
+ * @view: a #MidoriView
+ * @filename: filename of the thumbnail
+ * @dom_id: Id of the shortcut on speed_dial page in wich to inject content
+ * @url: url of the shortcut
+ */
+static void
+midori_view_speed_dial_inject_thumb (MidoriView* view,
+                                     gchar*      filename,
+                                     gchar*      dom_id,
+                                     gchar*      url)
+{
+    GtkWidget* thumb_view;
+    MidoriWebSettings* settings;
+    GtkWidget* browser;
+    GtkWidget* notebook;
+    GtkWidget* label;
+
+    thumb_view = midori_view_new (view->net);
+    settings = g_object_new (MIDORI_TYPE_WEB_SETTINGS, "enable-scripts", FALSE,
+        "enable-plugins", FALSE, "auto-load-images", TRUE, NULL);
+    midori_view_set_settings (MIDORI_VIEW (thumb_view), settings);
+    browser = gtk_widget_get_toplevel (GTK_WIDGET (view));
+    if (!GTK_IS_WINDOW (browser))
+        return;
+    /* What we are doing here is a bit of a hack. In order to render a
+       thumbnail we need a new view and load the url in it. But it has
+       to be visible and packed in a container. So we secretly pack it
+       into the notebook of the parent browser. */
+    notebook = katze_object_get_object (browser, "notebook");
+    if (!notebook)
+        return;
+    gtk_container_add (GTK_CONTAINER (notebook), thumb_view);
+    /* We use an empty label. It's not invisible but at least hard to spot. */
+    label = gtk_event_box_new ();
+    gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), thumb_view, label);
+    g_object_unref (notebook);
+    gtk_widget_show (thumb_view);
+    g_object_set_data (G_OBJECT (thumb_view), "dom-id", dom_id);
+    g_signal_connect (thumb_view, "notify::load-status",
+        G_CALLBACK (thumb_view_load_status_cb), view);
+    midori_view_set_uri (MIDORI_VIEW (thumb_view), url);
+}
+
+/**
+ * midori_view_speed_dial_save
+ * @web_view: a #WebkitView
+ * @message: Console log data
+ *
+ * Load a thumbnail, and set the DOM
+ *
+ * message[0] == console message call
+ * message[1] == shortcut id in the DOM
+ * message[2] == shortcut uri
+ *
+ **/
+static void
+midori_view_speed_dial_get_thumb (GtkWidget*   web_view,
+                                  const gchar* message,
+                                  MidoriView*  view)
+{
+    gchar** t_data = g_strsplit (message," ", 4);
+
+    if (t_data[1] == NULL || t_data[2] == NULL )
+        return;
+
+    midori_view_speed_dial_inject_thumb (view, NULL,
+        g_strdup (t_data[1]), g_strdup (t_data[2]));
+    g_strfreev (t_data);
+}
+
+/**
+ * midori_view_speed_dial_save
+ * @web_view: a #WebkitView
+ *
+ * Save speed_dial DOM structure to body template
+ *
+ **/
+static void
+midori_view_speed_dial_save (GtkWidget*   web_view,
+                             const gchar* message)
+{
+    gchar* json = g_strdup (message + 15);
+    gchar* fname = g_build_filename (sokoke_set_config_dir (NULL),
+                                     "speeddial.json", NULL);
+
+    GRegex* reg_double = g_regex_new ("\\\\\"", 0, 0, NULL);
+    gchar* safe = g_regex_replace_literal (reg_double, json, -1, 0, "\\\\\"", 0, NULL);
+    g_file_set_contents (fname, safe, -1, NULL);
+
+    g_free (fname);
+    g_free (json);
+    g_free (safe);
+    g_regex_unref (reg_double);
+}
index eda71aaef42e46d8d9662dc1bcbc42a18410b2c8..2a92d2aa422407fc07f24732362dce09b3689540 100644 (file)
@@ -49,7 +49,10 @@ struct _MidoriWebSettings
     MidoriStartup load_on_startup;
     gchar* homepage;
     gboolean show_crash_dialog;
+    gboolean speed_dial_in_new_tabs;
     gchar* download_folder;
+    gboolean ask_for_destination_folder;
+    gboolean notify_transfer_completed;
     gchar* download_manager;
     gchar* text_editor;
     gchar* news_aggregator;
@@ -81,6 +84,8 @@ struct _MidoriWebSettings
     MidoriIdentity identify_as;
     gchar* ident_string;
     gint cache_size;
+
+    gint clear_private_data;
 };
 
 struct _MidoriWebSettingsClass
@@ -119,7 +124,10 @@ enum
     PROP_LOAD_ON_STARTUP,
     PROP_HOMEPAGE,
     PROP_SHOW_CRASH_DIALOG,
+    PROP_SPEED_DIAL_IN_NEW_TABS,
     PROP_DOWNLOAD_FOLDER,
+    PROP_ASK_FOR_DESTINATION_FOLDER,
+    PROP_NOTIFY_TRANSFER_COMPLETED,
     PROP_DOWNLOAD_MANAGER,
     PROP_TEXT_EDITOR,
     PROP_NEWS_AGGREGATOR,
@@ -135,8 +143,6 @@ enum
     PROP_OPEN_TABS_NEXT_TO_CURRENT,
     PROP_OPEN_POPUPS_IN_TABS,
 
-    PROP_ENFORCE_96_DPI,
-    PROP_ENABLE_DEVELOPER_EXTRAS,
     PROP_ZOOM_TEXT_AND_IMAGES,
     PROP_FIND_WHILE_TYPING,
     PROP_ACCEPT_COOKIES,
@@ -152,7 +158,9 @@ enum
     PROP_AUTO_DETECT_PROXY,
     PROP_IDENTIFY_AS,
     PROP_IDENT_STRING,
-    PROP_CACHE_SIZE
+    PROP_CACHE_SIZE,
+
+    PROP_CLEAR_PRIVATE_DATA
 };
 
 GType
@@ -541,7 +549,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
                                      _("Load on Startup"),
                                      _("What to load on startup"),
                                      MIDORI_TYPE_STARTUP,
-                                     MIDORI_STARTUP_HOMEPAGE,
+                                     MIDORI_STARTUP_LAST_OPEN_PAGES,
                                      flags));
 
     g_object_class_install_property (gobject_class,
@@ -569,6 +577,27 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
                                      TRUE,
                                      flags));
 
+    /**
+    * MidoriWebSettings:speed-dial-in-new-tabs:
+    *
+    * Show spee dial in newly opened tabs.
+    *
+    * Since: 0.1.7
+    */
+    g_object_class_install_property (gobject_class,
+                                     PROP_SPEED_DIAL_IN_NEW_TABS,
+                                     g_param_spec_boolean (
+                                     "speed-dial-in-new-tabs",
+        /* i18n: Speed dial, webpage shortcuts, named for the phone function */
+                                     _("Show speed dial in new tabs"),
+                                     _("Show speed dial in newly opened tabs"),
+                                     TRUE,
+    #if GTK_CHECK_VERSION (2, 14, 0)
+                                     flags));
+    #else
+                                     G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+    #endif
+
     g_object_class_install_property (gobject_class,
                                      PROP_DOWNLOAD_FOLDER,
                                      g_param_spec_string (
@@ -582,6 +611,46 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
     #endif
 
+    /**
+     * MidoriWebSettings:ask-for-destination-folder:
+     *
+     * Whether to ask for the destination folder when downloading a file.
+     *
+     * Since: 0.1.7
+     */
+    g_object_class_install_property (gobject_class,
+                                     PROP_ASK_FOR_DESTINATION_FOLDER,
+                                     g_param_spec_boolean (
+                                     "ask-for-destination-folder",
+                                     _("Ask for the destination folder"),
+        _("Whether to ask for the destination folder when downloading a file"),
+                                     FALSE,
+    #if WEBKIT_CHECK_VERSION (1, 1, 3)
+                                     G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+    #else
+                                     G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+    #endif
+
+    /**
+     * MidoriWebSettings:notify-transfer-completed:
+     *
+     * Whether to show a notification when a transfer has been completed.
+     *
+     * Since: 0.1.7
+     */
+    g_object_class_install_property (gobject_class,
+                                     PROP_NOTIFY_TRANSFER_COMPLETED,
+                                     g_param_spec_boolean (
+                                     "notify-transfer-completed",
+                                     _("Notify when a transfer has been completed"),
+        _("Whether to show a notification when a transfer has been completed"),
+                                     TRUE,
+    #if WEBKIT_CHECK_VERSION (1, 1, 3)
+                                     G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+    #else
+                                     G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+    #endif
+
     g_object_class_install_property (gobject_class,
                                      PROP_DOWNLOAD_MANAGER,
                                      g_param_spec_string (
@@ -701,7 +770,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
                                      g_param_spec_boolean (
                                      "open-tabs-next-to-current",
                                      _("Open Tabs next to Current"),
-                                     _("Whether to open new tabs next to the current tab or after the last one"),
+        _("Whether to open new tabs next to the current tab or after the last one"),
                                      TRUE,
                                      flags));
 
@@ -882,6 +951,23 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
                                      _("The allowed size of the cache"),
                                      0, G_MAXINT, 100,
                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+    /**
+     * MidoriWebSettings:clear-private-data:
+     *
+     * The private data selected for deletion.
+     *
+     * Since: 0.1.7
+     */
+    g_object_class_install_property (gobject_class,
+                                     PROP_CLEAR_PRIVATE_DATA,
+                                     g_param_spec_int (
+                                     "clear-private-data",
+                                     _("Clear private data"),
+                                     _("The private data selected for deletion"),
+                                     0, G_MAXINT, 0,
+                                     flags));
+
 }
 
 static void
@@ -889,7 +975,7 @@ notify_default_encoding_cb (GObject*    object,
                             GParamSpec* pspec)
 {
     MidoriWebSettings* web_settings;
-    const gchar* string;
+    gchar* string;
     const gchar* encoding;
 
     web_settings = MIDORI_WEB_SETTINGS (object);
@@ -908,12 +994,14 @@ notify_default_encoding_cb (GObject*    object,
         web_settings->preferred_encoding = MIDORI_ENCODING_WESTERN;
     else
         web_settings->preferred_encoding = MIDORI_ENCODING_CUSTOM;
+    g_free (string);
     g_object_notify (object, "preferred-encoding");
 }
 
 static void
 midori_web_settings_init (MidoriWebSettings* web_settings)
 {
+    web_settings->notify_transfer_completed = TRUE;
     web_settings->download_folder = g_strdup (midori_get_download_dir ());
     web_settings->http_proxy = NULL;
     web_settings->open_popups_in_tabs = TRUE;
@@ -928,6 +1016,20 @@ midori_web_settings_init (MidoriWebSettings* web_settings)
 static void
 midori_web_settings_finalize (GObject* object)
 {
+    MidoriWebSettings* web_settings;
+
+    web_settings = MIDORI_WEB_SETTINGS (object);
+
+    katze_assign (web_settings->toolbar_items, NULL);
+    katze_assign (web_settings->homepage, NULL);
+    katze_assign (web_settings->download_folder, NULL);
+    katze_assign (web_settings->download_manager, NULL);
+    katze_assign (web_settings->text_editor, NULL);
+    katze_assign (web_settings->news_aggregator, NULL);
+    katze_assign (web_settings->location_entry_search, NULL);
+    katze_assign (web_settings->http_proxy, NULL);
+    katze_assign (web_settings->ident_string, NULL);
+
     G_OBJECT_CLASS (midori_web_settings_parent_class)->finalize (object);
 }
 
@@ -1076,9 +1178,18 @@ midori_web_settings_set_property (GObject*      object,
     case PROP_SHOW_CRASH_DIALOG:
         web_settings->show_crash_dialog = g_value_get_boolean (value);
         break;
+    case PROP_SPEED_DIAL_IN_NEW_TABS:
+        web_settings->speed_dial_in_new_tabs = g_value_get_boolean (value);
+        break;
     case PROP_DOWNLOAD_FOLDER:
         katze_assign (web_settings->download_folder, g_value_dup_string (value));
         break;
+    case PROP_ASK_FOR_DESTINATION_FOLDER:
+        web_settings->ask_for_destination_folder = g_value_get_boolean (value);
+        break;
+    case PROP_NOTIFY_TRANSFER_COMPLETED:
+        web_settings->notify_transfer_completed = g_value_get_boolean (value);
+        break;
     case PROP_DOWNLOAD_MANAGER:
         katze_assign (web_settings->download_manager, g_value_dup_string (value));
         break;
@@ -1190,6 +1301,9 @@ midori_web_settings_set_property (GObject*      object,
     case PROP_CACHE_SIZE:
         web_settings->cache_size = g_value_get_int (value);
         break;
+    case PROP_CLEAR_PRIVATE_DATA:
+        web_settings->clear_private_data = g_value_get_int (value);
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
         break;
@@ -1275,9 +1389,18 @@ midori_web_settings_get_property (GObject*    object,
     case PROP_SHOW_CRASH_DIALOG:
         g_value_set_boolean (value, web_settings->show_crash_dialog);
         break;
+    case PROP_SPEED_DIAL_IN_NEW_TABS:
+        g_value_set_boolean (value, web_settings->speed_dial_in_new_tabs);
+        break;
     case PROP_DOWNLOAD_FOLDER:
         g_value_set_string (value, web_settings->download_folder);
         break;
+    case PROP_ASK_FOR_DESTINATION_FOLDER:
+        g_value_set_boolean (value, web_settings->ask_for_destination_folder);
+        break;
+    case PROP_NOTIFY_TRANSFER_COMPLETED:
+        g_value_set_boolean (value, web_settings->notify_transfer_completed);
+        break;
     case PROP_DOWNLOAD_MANAGER:
         g_value_set_string (value, web_settings->download_manager);
         break;
@@ -1319,12 +1442,6 @@ midori_web_settings_get_property (GObject*    object,
         g_value_set_boolean (value, web_settings->open_popups_in_tabs);
         break;
 
-    case PROP_ENFORCE_96_DPI:
-        g_value_set_boolean (value, FALSE);
-        break;
-    case PROP_ENABLE_DEVELOPER_EXTRAS:
-        g_value_set_boolean (value, FALSE);
-        break;
     case PROP_ZOOM_TEXT_AND_IMAGES:
         g_value_set_boolean (value, web_settings->zoom_text_and_images);
         break;
@@ -1374,6 +1491,9 @@ midori_web_settings_get_property (GObject*    object,
     case PROP_CACHE_SIZE:
         g_value_set_int (value, web_settings->cache_size);
         break;
+    case PROP_CLEAR_PRIVATE_DATA:
+        g_value_set_int (value, web_settings->clear_private_data);
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
         break;
index adda646904eb3d60376292b3aeef53710e48c1ed..5bee98b40cedffd02f260b5716ce9c49852c88b8 100644 (file)
@@ -1,5 +1,6 @@
 /*
  Copyright (C) 2007-2009 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
@@ -12,6 +13,8 @@
 #include "sokoke.h"
 #include "midori-stock.h"
 
+#include "compat.h"
+
 #if HAVE_CONFIG_H
     #include <config.h>
 #endif
@@ -93,9 +96,53 @@ error_dialog (const gchar* short_message,
 
 }
 
+/**
+ * sokoke_show_uri:
+ * @screen: a #GdkScreen, or %NULL
+ * @uri: the URI to show
+ * @timestamp: the timestamp of the event
+ * @error: the location of a #GError, or %NULL
+ *
+ * Shows the specified URI with an appropriate application. This
+ * supports xdg-open, exo-open and gnome-open as fallbacks if
+ * GIO doesn't do the trick.
+ *
+ * Return value: %TRUE on success, %FALSE if an error occurred
+ **/
+gboolean
+sokoke_show_uri (GdkScreen*   screen,
+                 const gchar* uri,
+                 guint32      timestamp,
+                 GError**     error)
+{
+    const gchar* fallbacks [] = { "xdg-open", "exo-open", "gnome-open" };
+    gsize i;
+
+    g_return_val_if_fail (GDK_IS_SCREEN (screen) || !screen, FALSE);
+    g_return_val_if_fail (uri != NULL, FALSE);
+    g_return_val_if_fail (!error || !*error, FALSE);
+
+    if (gtk_show_uri (screen, uri, timestamp, error))
+        return TRUE;
+
+    for (i = 0; i < G_N_ELEMENTS (fallbacks); i++)
+    {
+        gchar* command = g_strconcat (fallbacks[i], " ", uri, NULL);
+        gboolean result = g_spawn_command_line_async (command, error);
+        g_free (command);
+        if (result)
+            return TRUE;
+        if (error)
+            *error = NULL;
+    }
+
+    return FALSE;
+}
+
 gboolean
 sokoke_spawn_program (const gchar* command,
-                      const gchar* argument)
+                      const gchar* argument,
+                      gboolean     quote)
 {
     gchar* argument_escaped;
     gchar* command_ready;
@@ -105,7 +152,7 @@ sokoke_spawn_program (const gchar* command,
     g_return_val_if_fail (command != NULL, FALSE);
     g_return_val_if_fail (argument != NULL, FALSE);
 
-    argument_escaped = g_shell_quote (argument);
+    argument_escaped = quote ? g_shell_quote (argument) : g_strdup (argument);
     if (strstr (command, "%s"))
         command_ready = g_strdup_printf (command, argument_escaped);
     else
@@ -175,6 +222,8 @@ sokoke_idn_to_punycode (gchar* uri)
             g_utf8_strncpy (buffer, hostname, offset);
             hostname = buffer;
         }
+        else
+            hostname = g_strdup (hostname);
     }
     else
         hostname = g_strdup (uri);
@@ -213,6 +262,36 @@ sokoke_idn_to_punycode (gchar* uri)
     #endif
 }
 
+/**
+ * sokoke_search_uri:
+ * @uri: a search URI with or without %s
+ * @keywords: keywords
+ *
+ * Takes a search engine URI and inserts the specified
+ * keywords. The @keywords are percent encoded. If the
+ * search URI contains a %s they keywords are inserted
+ * in that place, otherwise appended to the URI.
+ *
+ * Return value: a newly allocated search URI
+ **/
+gchar* sokoke_search_uri (const gchar* uri,
+                          const gchar* keywords)
+{
+    gchar* escaped;
+    gchar* search;
+
+    g_return_val_if_fail (uri != NULL, NULL);
+    g_return_val_if_fail (keywords != NULL, NULL);
+
+    escaped = g_uri_escape_string (keywords, " :/", TRUE);
+    if (strstr (uri, "%s"))
+        search = g_strdup_printf (uri, escaped);
+    else
+        search = g_strconcat (uri, escaped, NULL);
+    g_free (escaped);
+    return search;
+}
+
 gchar*
 sokoke_magic_uri (const gchar* uri,
                   KatzeArray*  search_engines)
@@ -279,13 +358,8 @@ sokoke_magic_uri (const gchar* uri,
     if (parts[0] && parts[1])
         if ((item = katze_array_find_token (search_engines, parts[0])))
         {
-            gchar* uri_ = g_uri_escape_string (parts[1], " :/", TRUE);
             search_uri = katze_item_get_uri (item);
-            if (strstr (search_uri, "%s"))
-                search = g_strdup_printf (search_uri, uri_);
-            else
-                search = g_strconcat (search_uri, uri_, NULL);
-            g_free (uri_);
+            search = sokoke_search_uri (search_uri, parts[1]);
         }
     g_strfreev (parts);
     return search;
@@ -353,8 +427,10 @@ sokoke_get_desktop (void)
         /* Are we running in Xfce? */
         gint result;
         gchar *out = NULL;
+        gchar *err = NULL;
         gboolean success = g_spawn_command_line_sync ("xprop -root _DT_SAVE_MODE",
-            &out, NULL, &result, NULL);
+            &out, &err, &result, NULL);
+        g_free (err);
         if (success && ! result && out != NULL && strstr (out, "xfce4") != NULL)
             desktop = SOKOKE_DESKTOP_XFCE;
         else
@@ -430,34 +506,6 @@ sokoke_xfce_header_new (const gchar* icon,
     return NULL;
 }
 
-GtkWidget*
-sokoke_superuser_warning_new (void)
-{
-    /* Create a horizontal bar with a security warning
-       This returns NULL if the user is no superuser */
-    #if HAVE_UNISTD_H
-    if (G_UNLIKELY (!geteuid ())) /* effective superuser? */
-    {
-        GtkWidget* hbox;
-        GtkWidget* label;
-
-        hbox = gtk_event_box_new ();
-        gtk_widget_modify_bg (hbox, GTK_STATE_NORMAL,
-                              &hbox->style->bg[GTK_STATE_SELECTED]);
-        /* i18n: A superuser, or system administrator, may not be 'root' */
-        label = gtk_label_new (_("Warning: You are using a superuser account!"));
-        gtk_misc_set_padding (GTK_MISC (label), 0, 2);
-        gtk_widget_modify_fg (GTK_WIDGET (label), GTK_STATE_NORMAL,
-            &GTK_WIDGET (label)->style->fg[GTK_STATE_SELECTED]);
-        gtk_widget_show (label);
-        gtk_container_add (GTK_CONTAINER (hbox), GTK_WIDGET (label));
-        gtk_widget_show (hbox);
-        return hbox;
-    }
-    #endif
-    return NULL;
-}
-
 GtkWidget*
 sokoke_hig_frame_new (const gchar* title)
 {
@@ -607,6 +655,25 @@ sokoke_key_file_get_boolean_default (GKeyFile*      key_file,
     return g_key_file_get_boolean (key_file, group, key, error);
 }
 
+gchar**
+sokoke_key_file_get_string_list_default (GKeyFile*     key_file,
+                                         const gchar*  group,
+                                         const gchar*  key,
+                                         gsize*        length,
+                                         gchar**       default_value,
+                                         gsize*        default_length,
+                                         GError*       error)
+{
+    gchar** value = g_key_file_get_string_list (key_file, group, key, length, NULL);
+    if (!value)
+    {
+        value = g_strdupv (default_value);
+        if (length)
+            *length = *default_length;
+    }
+    return value;
+}
+
 gboolean
 sokoke_key_file_save_to_file (GKeyFile*    key_file,
                               const gchar* filename,
@@ -788,7 +855,7 @@ sokoke_register_stock_items (void)
         { STOCK_STYLES,         N_("User_styles"), 0, 0, GTK_STOCK_SELECT_COLOR },
         { STOCK_TAB_NEW,        N_("New _Tab"), 0, 0, GTK_STOCK_ADD },
         { STOCK_TRANSFERS,      N_("_Transfers"), 0, 0, GTK_STOCK_SAVE },
-        { STOCK_PLUGINS,        N_("P_lugins"), 0, 0, GTK_STOCK_CONVERT },
+        { STOCK_PLUGINS,        N_("Netscape p_lugins"), 0, 0, GTK_STOCK_CONVERT },
         { STOCK_USER_TRASH,     N_("_Closed Tabs and Windows"), 0, 0, "gtk-undo-ltr" },
         { STOCK_WINDOW_NEW,     N_("New _Window"), 0, 0, GTK_STOCK_ADD },
     };
@@ -880,3 +947,119 @@ sokoke_remove_path (const gchar* path,
     g_rmdir (path);
     return TRUE;
 }
+
+static void
+res_server_handler_cb (SoupServer*        res_server,
+                       SoupMessage*       msg,
+                       const gchar*       path,
+                       GHashTable*        query,
+                       SoupClientContext* client,
+                       gpointer           data)
+{
+    if (g_str_has_prefix (path, "/res"))
+    {
+        gchar* filename = g_strconcat (DATADIR "/midori", path, NULL);
+        gchar* contents;
+        gsize length;
+
+        if (g_file_get_contents (filename, &contents, &length, NULL))
+        {
+            gchar* content_type = g_content_type_guess (filename, (guchar*)contents,
+                                                        length, NULL);
+            gchar* mime_type = g_content_type_get_mime_type (content_type);
+            g_free (content_type);
+            soup_message_set_response (msg, mime_type, SOUP_MEMORY_TAKE,
+                                       contents, length);
+            g_free (mime_type);
+            soup_message_set_status (msg, 200);
+        }
+        else
+            soup_message_set_status (msg, 404);
+        g_free (filename);
+    }
+    else if (g_str_has_prefix (path, "/stock/"))
+    {
+        GtkIconTheme* icon_theme = gtk_icon_theme_get_default ();
+        const gchar* icon_name = &path[7] ? &path[7] : "";
+        gint icon_size = 22;
+        GdkPixbuf* icon;
+        gchar* contents;
+        gsize length;
+
+        if (g_ascii_isalpha (icon_name[0]))
+            icon_size = strstr (icon_name, "dialog") ? 48 : 22;
+        else if (g_ascii_isdigit (icon_name[0]))
+        {
+            guint i = 0;
+            while (icon_name[i])
+                if (icon_name[i++] == '/')
+                {
+                    gchar* size = g_strndup (icon_name, i - 1);
+                    icon_size = atoi (size);
+                    g_free (size);
+                    icon_name = &icon_name[i];
+                }
+        }
+
+        icon = gtk_icon_theme_load_icon (icon_theme, icon_name,
+            icon_size, 0, NULL);
+        if (!icon)
+            icon = gtk_icon_theme_load_icon (icon_theme, "gtk-missing-image",
+                icon_size, 0, NULL);
+
+        gdk_pixbuf_save_to_buffer (icon, &contents, &length, "png", NULL, NULL);
+        g_object_unref (icon);
+        soup_message_set_response (msg, "image/png", SOUP_MEMORY_TAKE,
+                                   contents, length);
+        soup_message_set_status (msg, 200);
+    }
+    else
+    {
+        soup_message_set_status (msg, 404);
+    }
+}
+
+SoupServer*
+sokoke_get_res_server (void)
+{
+    static SoupServer* res_server = NULL;
+    SoupAddress* addr = NULL;
+
+    if (G_UNLIKELY (!res_server))
+    {
+        addr = soup_address_new ("localhost", SOUP_ADDRESS_ANY_PORT);
+        soup_address_resolve_sync (addr, NULL);
+        res_server = soup_server_new ("interface", addr, NULL);
+        g_object_unref (addr);
+        soup_server_add_handler (res_server, "/",
+                                 res_server_handler_cb, NULL, NULL);
+        soup_server_run_async (res_server);
+    }
+
+    return res_server;
+}
+
+gchar*
+sokoke_replace_variables (const gchar* template,
+                          const gchar* variable_first, ...)
+{
+    gchar* result = g_strdup (template);
+    const gchar* variable;
+
+    va_list args;
+    va_start (args, variable_first);
+
+    for (variable = variable_first; variable; variable = va_arg (args, const gchar*))
+    {
+        const gchar* value = va_arg (args, const gchar*);
+        GRegex* regex = g_regex_new (variable, 0, 0, NULL);
+        gchar* replaced = result;
+        result = g_regex_replace_literal (regex, replaced, -1, 0, value, 0, NULL);
+        g_free (replaced);
+        g_regex_unref (regex);
+    }
+
+    va_end (args);
+
+    return result;
+}
index 0360ab1fa9f5e8ad7bdae1408fa87eef9de743cf..d656410e56b829b477f633c92b478023cf06cfc3 100644 (file)
@@ -1,5 +1,6 @@
 /*
  Copyright (C) 2007-2008 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2009 Dale Whittaker <dayul@users.sf.net>
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
 #include <katze/katze.h>
 
 #include <gtk/gtk.h>
-
+#include <libsoup/soup.h>
 #include <JavaScriptCore/JavaScript.h>
 
 gchar*
-sokoke_js_script_eval (JSContextRef js_context,
-                       const gchar* script,
-                       gchar**      exception);
+sokoke_js_script_eval                   (JSContextRef    js_context,
+                                         const gchar*    script,
+                                         gchar**         exception);
 
 /* Many themes need this hack for small toolbars to work */
 #define GTK_ICON_SIZE_SMALL_TOOLBAR GTK_ICON_SIZE_BUTTON
 
 gboolean
-sokoke_spawn_program                (const gchar* command,
-                                     const gchar* argument);
+sokoke_show_uri                         (GdkScreen*      screen,
+                                         const gchar*    uri,
+                                         guint32         timestamp,
+                                         GError**        error);
+
+gboolean
+sokoke_spawn_program                    (const gchar*    command,
+                                         const gchar*    argument,
+                                         gboolean        quote);
+
+gchar* sokoke_search_uri                (const gchar*    uri,
+                                         const gchar*    keywords);
 
 gchar*
-sokoke_magic_uri                    (const gchar*    uri,
-                                     KatzeArray*     search_engines);
+sokoke_magic_uri                        (const gchar*    uri,
+                                         KatzeArray*     search_engines);
 
 typedef enum {
     SOKOKE_MENU_POSITION_CURSOR = 0,
@@ -41,97 +52,110 @@ typedef enum {
 } SokokeMenuPos;
 
 void
-sokoke_combo_box_add_strings        (GtkComboBox*    combobox,
-                                     const gchar*    label_first,
-                                     ...);
+sokoke_combo_box_add_strings            (GtkComboBox*    combobox,
+                                         const gchar*    label_first,
+                                         ...);
 
 void
-sokoke_widget_set_visible           (GtkWidget*      widget,
-                                     gboolean        visible);
+sokoke_widget_set_visible               (GtkWidget*      widget,
+                                         gboolean        visible);
 
 void
-sokoke_container_show_children      (GtkContainer*   container);
+sokoke_container_show_children          (GtkContainer*   container);
 
 void
-sokoke_widget_popup                 (GtkWidget*      widget,
-                                     GtkMenu*        menu,
-                                     GdkEventButton* event,
-                                     SokokeMenuPos   pos);
+sokoke_widget_popup                     (GtkWidget*      widget,
+                                         GtkMenu*        menu,
+                                         GdkEventButton* event,
+                                         SokokeMenuPos   pos);
 
 GtkWidget*
-sokoke_xfce_header_new              (const gchar*    icon,
-                                     const gchar*    title);
+sokoke_xfce_header_new                  (const gchar*    icon,
+                                         const gchar*    title);
 
 GtkWidget*
-sokoke_superuser_warning_new        (void);
-
-GtkWidget*
-sokoke_hig_frame_new                (const gchar*    title);
+sokoke_hig_frame_new                    (const gchar*    title);
 
 void
-sokoke_widget_set_pango_font_style  (GtkWidget*      widget,
-                                     PangoStyle      style);
+sokoke_widget_set_pango_font_style      (GtkWidget*      widget,
+                                         PangoStyle      style);
 
 void
-sokoke_entry_set_default_text       (GtkEntry*       entry,
-                                     const gchar*    default_text);
+sokoke_entry_set_default_text           (GtkEntry*       entry,
+                                         const gchar*    default_text);
 
 gchar*
-sokoke_key_file_get_string_default  (GKeyFile*       key_file,
-                                     const gchar*    group,
-                                     const gchar*    key,
-                                     const gchar*    default_value,
-                                     GError**        error);
+sokoke_key_file_get_string_default      (GKeyFile*       key_file,
+                                         const gchar*    group,
+                                         const gchar*    key,
+                                         const gchar*    default_value,
+                                         GError**        error);
 
 gint
-sokoke_key_file_get_integer_default  (GKeyFile*      key_file,
-                                      const gchar*   group,
-                                      const gchar*   key,
-                                      const gint     default_value,
-                                      GError**       error);
+sokoke_key_file_get_integer_default     (GKeyFile*       key_file,
+                                         const gchar*    group,
+                                         const gchar*    key,
+                                         const gint      default_value,
+                                         GError**        error);
 
 gdouble
-sokoke_key_file_get_double_default   (GKeyFile*      key_file,
-                                      const gchar*   group,
-                                      const gchar*   key,
-                                      gdouble        default_value,
-                                      GError**       error);
+sokoke_key_file_get_double_default      (GKeyFile*       key_file,
+                                         const gchar*    group,
+                                         const gchar*    key,
+                                         gdouble         default_value,
+                                         GError**        error);
 
 gboolean
-sokoke_key_file_get_boolean_default  (GKeyFile*      key_file,
-                                      const gchar*   group,
-                                      const gchar*   key,
-                                      gboolean       default_value,
-                                      GError**       error);
+sokoke_key_file_get_boolean_default     (GKeyFile*       key_file,
+                                         const gchar*    group,
+                                         const gchar*    key,
+                                         gboolean        default_value,
+                                         GError**        error);
+
+gchar**
+sokoke_key_file_get_string_list_default (GKeyFile*       key_file,
+                                         const gchar*    group,
+                                         const gchar*    key,
+                                         gsize*          length,
+                                         gchar**         default_value,
+                                         gsize*          default_length,
+                                         GError*         error);
 
 gboolean
-sokoke_key_file_save_to_file         (GKeyFile*      key_file,
-                                      const gchar*   filename,
-                                      GError**       error);
+sokoke_key_file_save_to_file            (GKeyFile*       key_file,
+                                         const gchar*    filename,
+                                         GError**        error);
 
 void
-sokoke_widget_get_text_size          (GtkWidget*     widget,
-                                      const gchar*   text,
-                                      gint*          width,
-                                      gint*          height);
+sokoke_widget_get_text_size             (GtkWidget*      widget,
+                                         const gchar*    text,
+                                         gint*           width,
+                                         gint*           height);
 
 GtkWidget*
-sokoke_action_create_popup_menu_item (GtkAction*     action);
+sokoke_action_create_popup_menu_item    (GtkAction*      action);
 
 GtkWidget*
-sokoke_image_menu_item_new_ellipsized (const gchar*  label);
+sokoke_image_menu_item_new_ellipsized   (const gchar*    label);
 
 gint64
-sokoke_time_t_to_julian              (const time_t*  timestamp);
+sokoke_time_t_to_julian                 (const time_t*   timestamp);
 
 void
-sokoke_register_stock_items          (void);
+sokoke_register_stock_items             (void);
 
 const gchar*
-sokoke_set_config_dir                (const gchar* new_config_dir);
+sokoke_set_config_dir                   (const gchar*    new_config_dir);
 
 gboolean
-sokoke_remove_path                   (const gchar* path,
-                                      gboolean     ignore_errors);
+sokoke_remove_path                      (const gchar*    path,
+                                         gboolean        ignore_errors);
+
+SoupServer*
+sokoke_get_res_server                   (void);
+
+gchar*
+sokoke_replace_variables                (const gchar* template,
+                                         const gchar* variable_first, ...);
 
 #endif /* !__SOKOKE_H__ */
index 4faa69e1547775cbae726031687982118a243a7b..8fa52a189ad72113531ac008cb212e6ecf89c0f4 100644 (file)
@@ -527,11 +527,11 @@ midori_addons_finalize (GObject* object)
 }
 
 static gboolean
-_metadata_from_file (const gchar* filename,
-                     GSList**     includes,
-                     GSList**     excludes,
-                     gchar**      name,
-                     gchar**      description)
+js_metadata_from_file (const gchar* filename,
+                       GSList**     includes,
+                       GSList**     excludes,
+                       gchar**      name,
+                       gchar**      description)
 {
     GIOChannel* channel;
     gboolean found_meta;
@@ -601,6 +601,82 @@ _metadata_from_file (const gchar* filename,
     return TRUE;
 }
 
+static gboolean
+css_metadata_from_file (const gchar* filename,
+                        GSList**     includes,
+                        GSList**     excludes)
+{
+    GIOChannel* channel;
+    gchar* line;
+    gchar* rest_of_line;
+
+    if (!g_file_test (filename, G_FILE_TEST_IS_REGULAR | G_FILE_TEST_IS_SYMLINK))
+        return FALSE;
+
+    channel = g_io_channel_new_file (filename, "r", 0);
+    if (!channel)
+        return FALSE;
+
+    while (g_io_channel_read_line (channel, &line, NULL, NULL, NULL)
+           == G_IO_STATUS_NORMAL)
+    {
+        if (g_str_has_prefix (line, "@namespace"))
+            ; /* FIXME: Check "http://www.w3.org/1999/xhtml", skip otherwise */
+        else if (g_str_has_prefix (line, "@-moz-document"))
+        { /* FIXME: We merely look for includes. We should honor blocks. */
+             if (includes)
+             {
+                 gchar** parts;
+                 guint i;
+
+                 rest_of_line = g_strdup (line + strlen ("@-moz-document"));
+                 rest_of_line = g_strstrip (rest_of_line);
+                 parts = g_strsplit (rest_of_line, " ", 0);
+                 i = 0;
+                 while (parts[i])
+                 {
+                     if (g_str_has_prefix (parts[i], "url-prefix("))
+                     {
+                         gchar* value = g_strdup (parts[i] + strlen ("url-prefix("));
+                         guint j;
+
+                         if (value[0] != '\'' && value[0] != '"')
+                         {
+                             /* Wrong syntax, abort */
+                             g_free (value);
+                             g_strfreev (parts);
+                             g_free (line);
+                             g_io_channel_shutdown (channel, false, 0);
+                             g_slist_free (*includes);
+                             g_slist_free (*excludes);
+                             *includes = NULL;
+                             *excludes = NULL;
+                             return FALSE;
+                         }
+                         j = 1;
+                         while (value[j] != '\0')
+                         {
+                             if (value[j] == value[0])
+                                 break;
+                             j++;
+                         }
+                         *includes = g_slist_prepend (*includes, g_strndup (value + 1, j - 1));
+                         g_free (value);
+                     }
+                     /* FIXME: Recognize "domain" */
+                     i++;
+                 }
+                 g_strfreev (parts);
+             }
+        }
+        g_free (line);
+    }
+    g_io_channel_shutdown (channel, false, 0);
+    g_io_channel_unref (channel);
+
+    return TRUE;
+}
+
 static gchar*
 _convert_to_simple_regexp (const gchar* pattern)
 {
@@ -742,6 +818,7 @@ _js_style_from_file (JSContextRef js_context,
     error = NULL;
     if (g_file_get_contents (filename, &style, NULL, &error))
     {
+        guint meta = 0;
         n = strlen (style);
         for (i = 0; i < n; i++)
         {
@@ -751,7 +828,34 @@ _js_style_from_file (JSContextRef js_context,
             /* Change all single quotes to double quotes */
             if (style[i] == '\'')
                 style[i] = '\"';
+            /* Turn metadata we inspected earlier into comments */
+            if (!meta && style[i] == '@')
+            {
+                style[i] = '/';
+                meta++;
+            }
+            else if (meta == 1 && (style[i] == '-' || style[i] == 'n'))
+            {
+                style[i] = '*';
+                meta++;
+            }
+            else if (meta == 2 && style[i] == '{')
+            {
+                style[i - 1] = '*';
+                style[i] = '/';
+                meta++;
+            }
+            else if (meta == 3 && style[i] == '{')
+                meta++;
+            else if (meta == 4 && style[i] == '}')
+                meta--;
+            else if (meta == 3 && style[i] == '}')
+            {
+                style[i] = ' ';
+                meta = 0;
+            }
         }
+
         style_script = g_strdup_printf (
             "window.addEventListener ('DOMContentLoaded',"
             "function () {"
@@ -1031,8 +1135,8 @@ midori_addons_update_elements (MidoriAddons* addons)
         if (addons->kind == MIDORI_ADDON_USER_SCRIPTS)
         {
             name = NULL;
-            if (!_metadata_from_file (fullname, &includes, &excludes,
-                                      &name, &description))
+            if (!js_metadata_from_file (fullname, &includes, &excludes,
+                                        &name, &description))
                 broken = TRUE;
 
             if (name)
@@ -1041,6 +1145,11 @@ midori_addons_update_elements (MidoriAddons* addons)
                 displayname = name;
             }
         }
+        else if (addons->kind == MIDORI_ADDON_USER_STYLES)
+        {
+            if (!css_metadata_from_file (fullname, &includes, &excludes))
+                broken = TRUE;
+        }
 
         element = g_new (struct AddonElement, 1);
         element->name = displayname;
index a1de10d56d076a599f7637d5a58256ac5059cb0b..a6658b9ace69a14e66406077dc3db73741c9e9ee 100644 (file)
@@ -116,10 +116,9 @@ midori_bookmarks_get_stock_id (MidoriViewable* viewable)
 static void
 midori_bookmarks_add_clicked_cb (GtkWidget* toolitem)
 {
-    GtkWidget* browser = gtk_widget_get_toplevel (toolitem);
+    MidoriBrowser* browser = midori_browser_get_for_widget (toolitem);
     /* FIXME: Take selected folder into account */
-    midori_browser_edit_bookmark_dialog_new (MIDORI_BROWSER (browser),
-                                             NULL, TRUE, FALSE);
+    midori_browser_edit_bookmark_dialog_new (browser, NULL, TRUE, FALSE);
 }
 
 static void
@@ -140,9 +139,8 @@ midori_bookmarks_edit_clicked_cb (GtkWidget*       toolitem,
         is_separator = !KATZE_IS_ARRAY (item) && !katze_item_get_uri (item);
         if (!is_separator)
         {
-            GtkWidget* browser = gtk_widget_get_toplevel (toolitem);
-            midori_browser_edit_bookmark_dialog_new (MIDORI_BROWSER (browser),
-                                                     item, FALSE, FALSE);
+            MidoriBrowser* browser = midori_browser_get_for_widget (toolitem);
+            midori_browser_edit_bookmark_dialog_new (browser, item, FALSE, FALSE);
         }
 
         g_object_unref (item);
@@ -177,9 +175,9 @@ midori_bookmarks_delete_clicked_cb (GtkWidget*       toolitem,
 static void
 midori_bookmarks_folder_clicked_cb (GtkWidget* toolitem)
 {
-    GtkWidget* browser = gtk_widget_get_toplevel (toolitem);
+    MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (toolitem));
     /* FIXME: Take selected folder into account */
-    midori_browser_edit_bookmark_dialog_new (MIDORI_BROWSER (browser),
+    midori_browser_edit_bookmark_dialog_new (browser,
                                              NULL, TRUE, TRUE);
 }
 
@@ -614,10 +612,8 @@ midori_bookmarks_row_activated_cb (GtkTreeView*       treeview,
         uri = katze_item_get_uri (item);
         if (uri && *uri)
         {
-            GtkWidget* browser;
-
-            browser = gtk_widget_get_toplevel (GTK_WIDGET (bookmarks));
-            midori_browser_set_current_uri (MIDORI_BROWSER (browser), uri);
+            MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (bookmarks));
+            midori_browser_set_current_uri (browser, uri);
         }
 
         g_object_unref (item);
@@ -664,8 +660,8 @@ midori_bookmarks_open_activate_cb (GtkWidget*       menuitem,
 
     if (uri && *uri)
     {
-        GtkWidget* browser = gtk_widget_get_toplevel (GTK_WIDGET (bookmarks));
-        midori_browser_set_current_uri (MIDORI_BROWSER (browser), uri);
+        MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (bookmarks));
+        midori_browser_set_current_uri (browser, uri);
     }
 }
 
@@ -687,14 +683,14 @@ midori_bookmarks_open_in_tab_activate_cb (GtkWidget*       menuitem,
         {
             if ((uri = katze_item_get_uri (child)) && *uri)
             {
-                GtkWidget* browser;
+                MidoriBrowser* browser;
                 MidoriWebSettings* settings;
 
-                browser = gtk_widget_get_toplevel (GTK_WIDGET (bookmarks));
-                n = midori_browser_add_item (MIDORI_BROWSER (browser), child);
+                browser = midori_browser_get_for_widget (GTK_WIDGET (bookmarks));
+                n = midori_browser_add_item (browser, child);
                 settings = katze_object_get_object (browser, "settings");
                 if (!katze_object_get_boolean (settings, "open-tabs-in-the-background"))
-                    midori_browser_set_current_page (MIDORI_BROWSER (browser), n);
+                    midori_browser_set_current_page (browser, n);
                 g_object_unref (settings);
             }
             i++;
@@ -704,14 +700,14 @@ midori_bookmarks_open_in_tab_activate_cb (GtkWidget*       menuitem,
     {
         if ((uri = katze_item_get_uri (item)) && *uri)
         {
-            GtkWidget* browser;
+            MidoriBrowser* browser;
             MidoriWebSettings* settings;
 
-            browser = gtk_widget_get_toplevel (GTK_WIDGET (bookmarks));
-            n = midori_browser_add_item (MIDORI_BROWSER (browser), item);
+            browser = midori_browser_get_for_widget (GTK_WIDGET (bookmarks));
+            n = midori_browser_add_item (browser, item);
             settings = katze_object_get_object (browser, "settings");
             if (!katze_object_get_boolean (settings, "open-tabs-in-the-background"))
-                midori_browser_set_current_page (MIDORI_BROWSER (browser), n);
+                midori_browser_set_current_page (browser, n);
             g_object_unref (settings);
         }
     }
@@ -729,7 +725,7 @@ midori_bookmarks_open_in_window_activate_cb (GtkWidget*       menuitem,
 
     if (uri && *uri)
     {
-        GtkWidget* browser = gtk_widget_get_toplevel (GTK_WIDGET (bookmarks));
+        MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (bookmarks));
         g_signal_emit_by_name (browser, "new-window", uri);
     }
 }
@@ -746,8 +742,8 @@ midori_bookmarks_edit_activate_cb (GtkWidget*       menuitem,
 
     if (!is_separator)
     {
-        GtkWidget* browser = gtk_widget_get_toplevel (GTK_WIDGET (bookmarks));
-        midori_browser_edit_bookmark_dialog_new (MIDORI_BROWSER (browser), item, FALSE, FALSE);
+        MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (bookmarks));
+        midori_browser_edit_bookmark_dialog_new (browser, item, FALSE, FALSE);
     }
 }
 
@@ -825,12 +821,12 @@ midori_bookmarks_button_release_event_cb (GtkWidget*       widget,
 
             if (uri && *uri)
             {
-                GtkWidget* browser;
+                MidoriBrowser* browser;
                 gint n;
 
-                browser = gtk_widget_get_toplevel (widget);
-                n = midori_browser_add_uri (MIDORI_BROWSER (browser), uri);
-                midori_browser_set_current_page (MIDORI_BROWSER (browser), n);
+                browser = midori_browser_get_for_widget (widget);
+                n = midori_browser_add_uri (browser, uri);
+                midori_browser_set_current_page (browser, n);
             }
         }
         else
index 0f662ca5266e04c1660f976739a3e274905b46b0..f47227fc1b36fcd6ce861e7e3efc247a511b9a75 100644 (file)
@@ -231,8 +231,8 @@ static void
 midori_console_hierarchy_changed_cb (MidoriConsole* console,
                                      GtkWidget*     old_parent)
 {
-    GtkWidget* browser = gtk_widget_get_toplevel (GTK_WIDGET (console));
-    if (GTK_WIDGET_TOPLEVEL (browser))
+    MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (console));
+    if (MIDORI_IS_BROWSER (browser))
         g_signal_connect (browser, "add-tab",
             G_CALLBACK (midori_console_browser_add_tab_cb), console);
 }
index fd4703b3f8d200eddbd653a23bbc9db49e487e46..1b06a72b45416a66ff4cd446e993cd67170ef011 100644 (file)
@@ -199,7 +199,8 @@ midori_extensions_set_property (GObject*      object,
     case PROP_APP:
     {
         KatzeArray* array;
-        guint i, n;
+        MidoriExtension* extension;
+        guint i;
 
         /* FIXME: Handle NULL and subsequent assignments */
         extensions->app = g_value_get_object (value);
@@ -207,10 +208,9 @@ midori_extensions_set_property (GObject*      object,
         g_signal_connect (array, "add-item",
             G_CALLBACK (midori_extensions_add_item_cb), extensions);
 
-        if ((n = katze_array_get_length (array)))
-            for (i = 0; i < n; i++)
-                midori_extensions_add_item_cb (array,
-                    katze_array_get_nth_item (array, i), extensions);
+        i = 0;
+        while ((extension = katze_array_get_nth_item (array, i++)))
+            midori_extensions_add_item_cb (array, extension, extensions);
     }
         break;
     default:
@@ -270,8 +270,11 @@ midori_extensions_treeview_render_text_cb (GtkTreeViewColumn* column,
     g_free (name);
     g_free (version);
     g_free (desc);
-    g_object_set (renderer, "text", text, NULL);
+    g_object_set (renderer, "text", text,
+                  "sensitive", midori_extension_is_active (extension),
+                  NULL);
     g_free (text);
+    g_object_unref (extension);
 }
 
 static void
@@ -299,10 +302,12 @@ midori_extensions_treeview_row_activated_cb (GtkTreeView*       treeview,
             midori_extension_deactivate (extension);
         else
             g_signal_emit_by_name (extension, "activate", extensions->app);
-    gtk_widget_set_sensitive (GTK_WIDGET (button_enable),
-        !midori_extension_is_active (extension));
-    gtk_widget_set_sensitive (GTK_WIDGET (button_disable),
-        midori_extension_is_active (extension));
+        gtk_widget_set_sensitive (GTK_WIDGET (button_enable),
+            !midori_extension_is_active (extension));
+        gtk_widget_set_sensitive (GTK_WIDGET (button_disable),
+            midori_extension_is_active (extension));
+        /* FIXME: Update only the appropriate row */
+        gtk_widget_queue_draw (GTK_WIDGET (treeview));
     }
 }
 
index f528d4d6041f8b589a7354572d165e178f4d3e41..83aa30869d6848ddc1fe81164980f1974c6035ea 100644 (file)
@@ -117,10 +117,9 @@ midori_history_get_stock_id (MidoriViewable* viewable)
 static void
 midori_history_add_clicked_cb (GtkWidget* toolitem)
 {
-    GtkWidget* browser = gtk_widget_get_toplevel (toolitem);
+    MidoriBrowser* browser = midori_browser_get_for_widget (toolitem);
     /* FIXME: Take selected folder into account */
-    midori_browser_edit_bookmark_dialog_new (MIDORI_BROWSER (browser),
-                                             NULL, TRUE, FALSE);
+    midori_browser_edit_bookmark_dialog_new (browser, NULL, TRUE, FALSE);
 }
 
 static void
@@ -152,11 +151,11 @@ static void
 midori_history_clear_clicked_cb (GtkWidget*     toolitem,
                                  MidoriHistory* history)
 {
-    GtkWidget* browser;
+    MidoriBrowser* browser;
     GtkWidget* dialog;
     gint result;
 
-    browser = gtk_widget_get_toplevel (GTK_WIDGET (history));
+    browser = midori_browser_get_for_widget (GTK_WIDGET (history));
     dialog = gtk_message_dialog_new (GTK_WINDOW (browser),
         GTK_DIALOG_DESTROY_WITH_PARENT,
         GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
@@ -275,7 +274,8 @@ midori_history_clear_cb (KatzeArray*    array,
 
 static void
 midori_history_disconnect_folder (MidoriHistory* history,
-                                  KatzeArray*    array)
+                                  KatzeArray*    array,
+                                  gboolean       unref)
 {
     KatzeItem* item;
     guint i;
@@ -293,8 +293,9 @@ midori_history_disconnect_folder (MidoriHistory* history,
     while ((item = katze_array_get_nth_item (array, i++)))
     {
         if (KATZE_IS_ARRAY (item))
-            midori_history_disconnect_folder (history, KATZE_ARRAY (item));
-        g_object_unref (item);
+            midori_history_disconnect_folder (history, KATZE_ARRAY (item), unref);
+        if (unref)
+            g_object_unref (item);
     }
 }
 
@@ -309,6 +310,7 @@ midori_history_add_item_cb (KatzeArray*    array,
 
     g_return_if_fail (KATZE_IS_ARRAY (array));
     g_return_if_fail (KATZE_IS_ITEM (added_item));
+    g_return_if_fail (MIDORI_IS_HISTORY (history));
 
     if (KATZE_IS_ARRAY (added_item))
     {
@@ -392,7 +394,7 @@ midori_history_remove_item_cb (KatzeArray*    array,
     g_assert (KATZE_IS_ITEM (removed_item));
 
     if (KATZE_IS_ARRAY (removed_item))
-        midori_history_disconnect_folder (history, KATZE_ARRAY (removed_item));
+        midori_history_disconnect_folder (history, KATZE_ARRAY (removed_item), TRUE);
 
     model = gtk_tree_view_get_model (GTK_TREE_VIEW (history->treeview));
     midori_history_remove_iter (model, NULL, removed_item);
@@ -424,7 +426,7 @@ midori_history_clear_cb (KatzeArray*    array,
             midori_history_remove_item_cb (array, item, history);
     }
 
-    midori_history_disconnect_folder (history, array);
+    midori_history_disconnect_folder (history, array, TRUE);
 }
 
 static void
@@ -459,7 +461,6 @@ midori_history_insert_item (MidoriHistory* history,
             age = day - pday;
             gtk_tree_store_insert_with_values (treestore, &iter, parent,
                                                0, 0, item, 1, age, -1);
-            g_object_unref (item);
             piter = &iter;
         }
         i = 0;
@@ -481,7 +482,7 @@ midori_history_set_app (MidoriHistory* history,
 
     if (history->array)
     {
-        midori_history_disconnect_folder (history, history->array);
+        midori_history_disconnect_folder (history, history->array, TRUE);
         g_object_unref (history->array);
         model = gtk_tree_view_get_model (GTK_TREE_VIEW (history->treeview));
         gtk_tree_store_clear (GTK_TREE_STORE (model));
@@ -499,7 +500,7 @@ midori_history_set_app (MidoriHistory* history,
 
         model = gtk_tree_view_get_model (GTK_TREE_VIEW (history->treeview));
         midori_history_insert_item (history, GTK_TREE_STORE (model),
-            NULL, KATZE_ITEM (g_object_ref (history->array)), day);
+            NULL, KATZE_ITEM (history->array), day);
     }
 }
 
@@ -597,13 +598,13 @@ midori_history_treeview_render_text_cb (GtkTreeViewColumn* column,
         }
         else if (age > 6)
         {
-            sdate = g_strdup_printf (_("A week ago"));
+            sdate = _("A week ago");
             g_object_set (renderer, "text", sdate, NULL);
-            g_free (sdate);
         }
         else if (age > 1)
         {
-            sdate = g_strdup_printf (_("%d days ago"), (gint)age);
+            sdate = g_strdup_printf (ngettext ("%d day ago",
+                "%d days ago", (gint)age), (gint)age);
             g_object_set (renderer, "text", sdate, NULL);
             g_free (sdate);
         }
@@ -641,10 +642,10 @@ midori_history_row_activated_cb (GtkTreeView*       treeview,
         uri = katze_item_get_uri (item);
         if (uri && *uri)
         {
-            GtkWidget* browser;
+            MidoriBrowser* browser;
 
-            browser = gtk_widget_get_toplevel (GTK_WIDGET (history));
-            midori_browser_set_current_uri (MIDORI_BROWSER (browser), uri);
+            browser = midori_browser_get_for_widget (GTK_WIDGET (history));
+            midori_browser_set_current_uri (browser, uri);
         }
 
         g_object_unref (item);
@@ -691,8 +692,8 @@ midori_history_open_activate_cb (GtkWidget*     menuitem,
 
     if (uri && *uri)
     {
-        GtkWidget* browser = gtk_widget_get_toplevel (GTK_WIDGET (history));
-        midori_browser_set_current_uri (MIDORI_BROWSER (browser), uri);
+        MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (history));
+        midori_browser_set_current_uri (browser, uri);
     }
 }
 
@@ -714,14 +715,14 @@ midori_history_open_in_tab_activate_cb (GtkWidget*     menuitem,
         {
             if ((uri = katze_item_get_uri (child)) && *uri)
             {
-                GtkWidget* browser;
+                MidoriBrowser* browser;
                 MidoriWebSettings* settings;
 
-                browser = gtk_widget_get_toplevel (GTK_WIDGET (history));
-                n = midori_browser_add_item (MIDORI_BROWSER (browser), child);
+                browser = midori_browser_get_for_widget (GTK_WIDGET (history));
+                n = midori_browser_add_item (browser, child);
                 settings = katze_object_get_object (browser, "settings");
                 if (!katze_object_get_boolean (settings, "open-tabs-in-the-background"))
-                    midori_browser_set_current_page (MIDORI_BROWSER (browser), n);
+                    midori_browser_set_current_page (browser, n);
                 g_object_unref (settings);
             }
             i++;
@@ -731,14 +732,14 @@ midori_history_open_in_tab_activate_cb (GtkWidget*     menuitem,
     {
         if ((uri = katze_item_get_uri (item)) && *uri)
         {
-            GtkWidget* browser;
+            MidoriBrowser* browser;
             MidoriWebSettings* settings;
 
-            browser = gtk_widget_get_toplevel (GTK_WIDGET (history));
-            n = midori_browser_add_item (MIDORI_BROWSER (browser), item);
+            browser = midori_browser_get_for_widget (GTK_WIDGET (history));
+            n = midori_browser_add_item (browser, item);
             settings = katze_object_get_object (browser, "settings");
             if (!katze_object_get_boolean (settings, "open-tabs-in-the-background"))
-                midori_browser_set_current_page (MIDORI_BROWSER (browser), n);
+                midori_browser_set_current_page (browser, n);
             g_object_unref (settings);
         }
     }
@@ -756,7 +757,7 @@ midori_history_open_in_window_activate_cb (GtkWidget*     menuitem,
 
     if (uri && *uri)
     {
-        GtkWidget* browser = gtk_widget_get_toplevel (GTK_WIDGET (history));
+        MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (history));
         g_signal_emit_by_name (browser, "new-window", uri);
     }
 }
@@ -773,8 +774,8 @@ midori_history_bookmark_activate_cb (GtkWidget*     menuitem,
 
     if (uri && *uri)
     {
-        GtkWidget* browser = gtk_widget_get_toplevel (GTK_WIDGET (history));
-        midori_browser_edit_bookmark_dialog_new (MIDORI_BROWSER (browser), item, TRUE, FALSE);
+        MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (history));
+        midori_browser_edit_bookmark_dialog_new (browser, item, TRUE, FALSE);
     }
 }
 
@@ -852,12 +853,12 @@ midori_history_button_release_event_cb (GtkWidget*      widget,
 
             if (uri && *uri)
             {
-                GtkWidget* browser;
+                MidoriBrowser* browser;
                 gint n;
 
-                browser = gtk_widget_get_toplevel (widget);
-                n = midori_browser_add_uri (MIDORI_BROWSER (browser), uri);
-                midori_browser_set_current_page (MIDORI_BROWSER (browser), n);
+                browser = midori_browser_get_for_widget (widget);
+                n = midori_browser_add_uri (browser, uri);
+                midori_browser_set_current_page (browser, n);
             }
         }
         else
@@ -967,6 +968,10 @@ midori_history_finalize (GObject* object)
 
     if (history->app)
         g_object_unref (history->app);
+
+    /* FIXME: We don't unref items (last argument is FALSE) because
+       our reference counting is incorrect. */
+    midori_history_disconnect_folder (history, history->array, FALSE);
     g_object_unref (history->array);
 }
 
index f2938164248d603ad96ef6afbf9836de497e8a8e..f8099299254819c387a4ca7c62777c46c58e3a4e 100644 (file)
@@ -84,7 +84,7 @@ midori_plugins_class_init (MidoriPluginsClass* class)
 static const gchar*
 midori_plugins_get_label (MidoriViewable* viewable)
 {
-    return _("Plugins");
+    return _("Netscape plugins");
 }
 
 static const gchar*
@@ -277,6 +277,10 @@ midori_plugins_init (MidoriPlugins* plugins)
                     const gchar* plugin_name;
                     const gchar* plugin_description;
 
+                    /* Ignore files which don't have the correct suffix */
+                    if (!g_str_has_suffix (filename, G_MODULE_SUFFIX))
+                        continue;
+
                     fullname = g_build_filename (plugin_path, filename, NULL);
                     module = g_module_open (fullname, G_MODULE_BIND_LOCAL);
                     g_free (fullname);
index 43434a05bae31b74f0366a878c9ca2d9db1e7770..d2ea03fe840f2fc29d7e7a631cfe153a3f18adb1 100644 (file)
@@ -100,8 +100,23 @@ midori_transfers_button_clear_clicked_cb (GtkToolItem*    toolitem,
 {
     GtkTreeModel* model = gtk_tree_view_get_model (
         GTK_TREE_VIEW (transfers->treeview));
-    /* FIXME: Clear only finished and cancelled downloads */
-    gtk_tree_store_clear (GTK_TREE_STORE (model));
+    GtkTreeIter iter;
+    gint n = 0;
+    while ((gtk_tree_model_iter_nth_child (model, &iter, NULL, n++)))
+    {
+        #if WEBKIT_CHECK_VERSION (1, 1, 3)
+        WebKitDownload* download;
+        WebKitDownloadStatus status;
+
+        gtk_tree_model_get (model, &iter, 1, &download, -1);
+
+        status = webkit_download_get_status (download);
+        if (status == WEBKIT_DOWNLOAD_STATUS_FINISHED
+            || status == WEBKIT_DOWNLOAD_STATUS_CANCELLED)
+            gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
+        g_object_unref (download);
+        #endif
+    }
 }
 
 static GtkWidget*
@@ -173,8 +188,8 @@ midori_transfers_browser_add_download_cb (MidoriBrowser*   browser,
 
     treeview = GTK_TREE_VIEW (transfers->treeview);
     model = gtk_tree_view_get_model (treeview);
-    gtk_tree_store_insert_with_values (GTK_TREE_STORE (model),
-                                       NULL, NULL, G_MAXINT,
+    gtk_list_store_insert_with_values (GTK_LIST_STORE (model),
+                                       NULL, G_MAXINT,
                                        0, NULL, 1, download, -1);
     g_signal_connect (download, "notify::progress",
         G_CALLBACK (midori_transfers_download_notify_progress_cb), transfers);
@@ -326,17 +341,10 @@ midori_transfers_treeview_row_activated_cb (GtkTreeView*       treeview,
             case WEBKIT_DOWNLOAD_STATUS_FINISHED:
             {
                 const gchar* uri;
-                gboolean success;
 
                 uri = webkit_download_get_destination_uri (download);
-                success = gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (
+                sokoke_show_uri (gtk_widget_get_screen (GTK_WIDGET (
                     treeview)), uri, gtk_get_current_event_time (), NULL);
-                if (!success)
-                {
-                    gchar* command = g_strconcat ("exo-open ", uri, NULL);
-                    success = g_spawn_command_line_async (command, NULL);
-                    g_free (command);
-                }
                 break;
             }
             case WEBKIT_DOWNLOAD_STATUS_CANCELLED:
@@ -354,10 +362,13 @@ midori_transfers_hierarchy_changed_cb (MidoriTransfers* transfers,
                                        GtkWidget*       old_parent)
 {
     #if WEBKIT_CHECK_VERSION (1, 1, 3)
-    GtkWidget* browser = gtk_widget_get_toplevel (GTK_WIDGET (transfers));
-    if (GTK_WIDGET_TOPLEVEL (browser))
+    MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (transfers));
+    if (MIDORI_IS_BROWSER (browser))
         g_signal_connect (browser, "add-download",
             G_CALLBACK (midori_transfers_browser_add_download_cb), transfers);
+    if (old_parent)
+        g_signal_handlers_disconnect_by_func (old_parent,
+            midori_transfers_browser_add_download_cb, transfers);
     #endif
 }
 
@@ -368,7 +379,7 @@ midori_transfers_init (MidoriTransfers* transfers)
     GtkTreeViewColumn* column;
     GtkCellRenderer* renderer_pixbuf;
     GtkCellRenderer* renderer_text;
-    GtkTreeStore* treestore = gtk_tree_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_OBJECT);
+    GtkListStore* treestore = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_OBJECT);
     transfers->treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (treestore));
     gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (transfers->treeview), FALSE);
     column = gtk_tree_view_column_new ();
index acd91948d5649c8ff53ad285163a2021cd133a9a..5828681d054b08b9ac47051a40ba319cf7a7e600 100644 (file)
@@ -1,2 +1,2 @@
 # set of available languages (in alphabetic order)
-da de el en_GB es et fi fr gl he hu id it ja nl pl pt_PT ru sv tr uk zh_CN zh_TW
+cs da de el en_GB es et fi fr gl he hu id it ja nl pl pt ro ru sk sv tr uk zh_CN zh_TW
index 3aa6f688d6a86cf80b5a1f287fbcc5b7e5dace14..0b12586efd4374d98b706f1cdee2922fa2635f98 100644 (file)
@@ -24,8 +24,15 @@ katze/katze-utils.c
 katze/katze-item.c
 katze/katze-array.c
 katze/katze-arrayaction.c
+extensions/adblock.c
 extensions/colorful-tabs.c
-extensions/cookie-manager.c
+extensions/cookie-manager/cookie-manager.c
+extensions/cookie-manager/cookie-manager-page.c
+extensions/feed-panel/feed-atom.c
+extensions/feed-panel/feed-panel.c
+extensions/feed-panel/feed-parse.c
+extensions/feed-panel/feed-rss.c
+extensions/feed-panel/main.c
 extensions/mouse-gestures/main.c
 extensions/page-holder.c
 extensions/statusbar-features.c
diff --git a/po/cs.po b/po/cs.po
new file mode 100644 (file)
index 0000000..98cb715
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,2059 @@
+# Czech translations for midori package.
+# Copyright (C) 2008 THE midori'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the home package.
+# David Stancl <dstancl@dstancl.cz> 2009
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: midori 0.1.6\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-10 21:30+0200\n"
+"PO-Revision-Date: 2009-05-10 21:53+0200\n"
+"Last-Translator: David Štancl <dstancl@dstancl.cz>\n"
+"Language-Team: Czech\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: ../data/midori.desktop.in.h:1
+msgid "Lightweight web browser"
+msgstr "Odlehčený prohlížeč"
+
+#: ../data/midori.desktop.in.h:2 ../midori/main.c:1315 ../midori/main.c:1449
+#: ../midori/main.c:1457 ../midori/main.c:1468
+#: ../midori/midori-websettings.c:277
+msgid "Midori"
+msgstr "Midori"
+
+#: ../data/midori.desktop.in.h:3
+msgid "Web Browser"
+msgstr "Internetový prohlížeč"
+
+#: ../midori/main.c:96
+#, c-format
+msgid "The configuration couldn't be loaded: %s\n"
+msgstr "Konfigurace nemůže být načtena: %s\n"
+
+#: ../midori/main.c:151
+#, c-format
+msgid "Value '%s' is invalid for %s"
+msgstr "Hodnota '%s' je pro %s špatná"
+
+#: ../midori/main.c:158 ../midori/main.c:238
+#, c-format
+msgid "Invalid configuration value '%s'"
+msgstr "Nesprávná hodnota '%s' v konfiguraci"
+
+#: ../midori/main.c:350
+#, c-format
+msgid "Failed to open database: %s\n"
+msgstr "Nepodařilo se otevřít databázi: %s\n"
+
+#: ../midori/main.c:382
+#, c-format
+msgid "Failed to execute database statement: %s\n"
+msgstr "Nepodařilo se spustit databázový příkaz: %s\n"
+
+#: ../midori/main.c:436
+#, c-format
+msgid "Failed to remove history item: %s\n"
+msgstr "Nepodařilo se odstranit položku historie: %s\n"
+
+#: ../midori/main.c:460
+#, c-format
+msgid "Failed to clear history: %s\n"
+msgstr "Nepodařilo se smazat historii: %s\n"
+
+#: ../midori/main.c:483 ../midori/main.c:517 ../midori/main.c:533
+#, c-format
+msgid "Failed to add history item: %s\n"
+msgstr "Nepodařilo se přidat položku do historie: %s\n"
+
+#. i18n: Couldn't remove items that are older than n days
+#: ../midori/main.c:712
+#, c-format
+msgid "Failed to remove old history items: %s\n"
+msgstr "Nepodařilo se odstranit staré položky historie: %s\n"
+
+#: ../midori/main.c:741
+#, c-format
+msgid "The configuration couldn't be saved. %s"
+msgstr "Konfigurace nemůže být uložena. %s"
+
+#: ../midori/main.c:770
+#, c-format
+msgid "The search engines couldn't be saved. %s"
+msgstr "Vyhledávací nástroj nemůže být uložen. %s"
+
+#: ../midori/main.c:789 ../midori/main.c:817 ../midori/main.c:846
+#, c-format
+msgid "The bookmarks couldn't be saved. %s"
+msgstr "Záložky nemohou být uloženy. %s"
+
+#. i18n: Trash, or wastebin, containing closed tabs
+#: ../midori/main.c:869 ../midori/main.c:892
+#, c-format
+msgid "The trash couldn't be saved. %s"
+msgstr "Seznam zavřených karet nemůže být uložen. %s"
+
+#: ../midori/main.c:965
+#, c-format
+msgid "The session couldn't be saved. %s"
+msgstr "Sezení nemůže být uloženo. %s"
+
+#: ../midori/main.c:1092
+msgid ""
+"Midori seems to have crashed the last time it was opened. If this happened "
+"repeatedly, try one of the following options to solve the problem."
+msgstr ""
+"Zdá se, že Midori nebylo naposledy řádně ukončeno. Jestliže se to stává "
+"opakovaně, pro odstranění problému zkuste následující možnosti."
+
+#: ../midori/main.c:1107
+msgid "Modify _preferences"
+msgstr "Změnit _nastavení"
+
+#: ../midori/main.c:1111
+msgid "Reset the last _session"
+msgstr "Vymazat poslední _sezení"
+
+#: ../midori/main.c:1116
+msgid "Disable all _extensions"
+msgstr "Zakázat všechna _rozšíření"
+
+#: ../midori/main.c:1315
+msgid "No filename specified"
+msgstr "Nebyl zadán název souboru"
+
+#: ../midori/main.c:1338
+msgid "An unknown error occured."
+msgstr "Nastala neznámá chyba."
+
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "Snímek uložen do %s\n"
+
+#: ../midori/main.c:1391
+msgid "Run ADDRESS as a web application"
+msgstr "Spustit ADDRESS jako webovou aplikaci"
+
+#: ../midori/main.c:1391
+msgid "ADDRESS"
+msgstr "ADDRESS"
+
+#: ../midori/main.c:1393
+msgid "Use FOLDER as configuration folder"
+msgstr "Použít FOLDER jako místo pro uložení konfigurace"
+
+#: ../midori/main.c:1393
+msgid "FOLDER"
+msgstr "FOLDER"
+
+#: ../midori/main.c:1395
+msgid "Run the specified filename as javascript"
+msgstr "Spustit jako javascript"
+
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr "Získat snímek požadovaného URI"
+
+#: ../midori/main.c:1401
+msgid "Display program version"
+msgstr "Zobrazit verzi programu"
+
+#: ../midori/main.c:1403
+msgid "Addresses"
+msgstr "Adresy"
+
+#: ../midori/main.c:1446
+msgid "[Addresses]"
+msgstr "[Adresy]"
+
+#: ../midori/main.c:1469
+msgid "Please report comments, suggestions and bugs to:"
+msgstr "Komentáře, požadavky a chyby posílejte na:"
+
+#: ../midori/main.c:1471
+msgid "Check for new versions at:"
+msgstr "Zjistit nové verze v:"
+
+#: ../midori/main.c:1548
+msgid "The specified configuration folder is invalid."
+msgstr "Vybraný konfigurační adresář je neplatný."
+
+#: ../midori/main.c:1583
+msgid "An instance of Midori is already running but not responding.\n"
+msgstr "Midori sice již běží, ale neodpovídá.\n"
+
+#: ../midori/main.c:1633
+#, c-format
+msgid "The search engines couldn't be loaded. %s\n"
+msgstr "Vyhledávací nástroje nemohou být načteny.%s\n"
+
+#: ../midori/main.c:1645
+#, c-format
+msgid "The bookmarks couldn't be loaded: %s\n"
+msgstr "Záložky nemohou být načteny: %s\n"
+
+#: ../midori/main.c:1660
+#, c-format
+msgid "The session couldn't be loaded: %s\n"
+msgstr "Sezení nemůže být načteno: %s\n"
+
+#: ../midori/main.c:1673
+#, c-format
+msgid "The trash couldn't be loaded: %s\n"
+msgstr "Zavřené karty nemohou být načteny: %s\n"
+
+#: ../midori/main.c:1686
+#, c-format
+msgid "The history couldn't be loaded: %s\n"
+msgstr "Historie nemůže být načtena: %s\n"
+
+#: ../midori/main.c:1698
+msgid "The following errors occured:"
+msgstr "Došlo k následujícím chybám:"
+
+#: ../midori/main.c:1714
+msgid "_Ignore"
+msgstr "_Ignorovat"
+
+#: ../midori/midori-array.c:195
+msgid "File not found."
+msgstr "Soubor nebyl nalezen."
+
+#: ../midori/midori-array.c:203 ../midori/midori-array.c:212
+msgid "Malformed document."
+msgstr "Nesprávný formát dokumentu."
+
+#: ../midori/midori-array.c:338 ../midori/sokoke.c:716
+#, c-format
+msgid "Writing failed."
+msgstr "Nepodařilo se zapsat."
+
+#: ../midori/midori-browser.c:287 ../midori/midori-browser.c:3819
+#: ../midori/midori-browser.c:3825
+msgid "Reload the current page"
+msgstr "Znovu načíst stránku"
+
+#: ../midori/midori-browser.c:298 ../midori/midori-browser.c:3822
+msgid "Stop loading the current page"
+msgstr "Zastavit načítání stránky"
+
+#: ../midori/midori-browser.c:360
+#, c-format
+msgid "%d%% loaded"
+msgstr "%d%% načteno"
+
+#: ../midori/midori-browser.c:385
+#, c-format
+msgid "Unexpected action '%s'."
+msgstr "Neočekávaná akce '%s'."
+
+#: ../midori/midori-browser.c:603
+msgid "New folder"
+msgstr "Nový adresář"
+
+#: ../midori/midori-browser.c:603
+msgid "Edit folder"
+msgstr "Upravit adresář"
+
+#: ../midori/midori-browser.c:605
+msgid "New bookmark"
+msgstr "Nová záložka"
+
+#: ../midori/midori-browser.c:605
+msgid "Edit bookmark"
+msgstr "Upravit záložku"
+
+#: ../midori/midori-browser.c:635
+msgid "_Title:"
+msgstr "_Nadpis:"
+
+#: ../midori/midori-browser.c:648 ../midori/midori-searchaction.c:948
+msgid "_Description:"
+msgstr "_Popis:"
+
+#: ../midori/midori-browser.c:667 ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
+msgid "_Address:"
+msgstr "_Adresa:"
+
+#: ../midori/midori-browser.c:686
+msgid "_Folder:"
+msgstr "_Adresář:"
+
+#: ../midori/midori-browser.c:691 ../midori/midori-browser.c:732
+msgid "Toplevel folder"
+msgstr "Hlavní adresář"
+
+#: ../midori/midori-browser.c:808
+msgid "Save file as"
+msgstr "Uložit soubor jako"
+
+#: ../midori/midori-browser.c:1119
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "Soubor <b>%s</b> byl stažen."
+
+#: ../midori/midori-browser.c:1123
+msgid "Transfer completed"
+msgstr "Přenos dokončen"
+
+#: ../midori/midori-browser.c:1820
+msgid "Open file"
+msgstr "Otevřít soubor"
+
+#: ../midori/midori-browser.c:3152 ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:808
+msgid "Open all in _Tabs"
+msgstr "Otevřít všechny v _kartách"
+
+#: ../midori/midori-browser.c:3159 ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:814 ../extensions/feed-panel/feed-panel.c:542
+msgid "Open in New _Tab"
+msgstr "Otevřít v nové _kartě"
+
+#: ../midori/midori-browser.c:3162 ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:816 ../extensions/feed-panel/feed-panel.c:544
+msgid "Open in New _Window"
+msgstr "Otevřít v novém _okně"
+
+#: ../midori/midori-browser.c:3425
+msgid "Clear Private Data"
+msgstr "Vymazat osobní data"
+
+#: ../midori/midori-browser.c:3428
+msgid "_Clear private data"
+msgstr "_Vymazat osobní data"
+
+#: ../midori/midori-browser.c:3441
+msgid "Clear the following data:"
+msgstr "Vymazat následující data:"
+
+#: ../midori/midori-browser.c:3449 ../midori/midori-preferences.c:669
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "Historie"
+
+#: ../midori/midori-browser.c:3452
+msgid "Cookies"
+msgstr "cookies"
+
+#: ../midori/midori-browser.c:3455
+msgid "'Flash' Cookies"
+msgstr "cookies z flashe"
+
+#: ../midori/midori-browser.c:3458
+msgid "Website icons"
+msgstr "Ikony stránek"
+
+#: ../midori/midori-browser.c:3538
+msgid "A lightweight web browser."
+msgstr "Odlehčený internetový prohlížeč."
+
+#: ../midori/midori-browser.c:3546
+msgid "translator-credits"
+msgstr "David Štancl <dstancl@dstancl.cz>"
+
+#: ../midori/midori-browser.c:3750
+msgid "_File"
+msgstr "_Soubor"
+
+#: ../midori/midori-browser.c:3753
+msgid "Open a new window"
+msgstr "Otevřít nové okno"
+
+#: ../midori/midori-browser.c:3756
+msgid "Open a new tab"
+msgstr "Otevřít novou kartu"
+
+#: ../midori/midori-browser.c:3759
+msgid "Open a file"
+msgstr "Otevřít soubor"
+
+#: ../midori/midori-browser.c:3762
+msgid "Save to a file"
+msgstr "Uložit do souboru"
+
+#: ../midori/midori-browser.c:3764 ../midori/midori-view.c:1256
+msgid "Add to Speed _dial"
+msgstr "Přidat do rychlého _přístupu"
+
+#: ../midori/midori-browser.c:3765
+msgid "Add shortcut to speed dial"
+msgstr "Kliknutím přidáte záložku"
+
+#: ../midori/midori-browser.c:3767
+msgid "_Close Tab"
+msgstr "_Zavřít kartu"
+
+#: ../midori/midori-browser.c:3768
+msgid "Close the current tab"
+msgstr "Zavřít aktivní kartu"
+
+#: ../midori/midori-browser.c:3770
+msgid "C_lose Window"
+msgstr "Za_vřít okno"
+
+#: ../midori/midori-browser.c:3771
+msgid "Close this window"
+msgstr "Zavřít toto okno"
+
+#: ../midori/midori-browser.c:3774
+msgid "Print the current page"
+msgstr "Vytisknout aktuální stránku"
+
+#: ../midori/midori-browser.c:3777
+msgid "Quit the application"
+msgstr "Ukončit aplikaci"
+
+#: ../midori/midori-browser.c:3779
+msgid "_Edit"
+msgstr "_Upravit"
+
+#: ../midori/midori-browser.c:3782
+msgid "Cut the selected text"
+msgstr "Vystříhnout vybraný text"
+
+#: ../midori/midori-browser.c:3785 ../midori/midori-browser.c:3788
+msgid "Copy the selected text"
+msgstr "Zkopírovat vybraný text"
+
+#: ../midori/midori-browser.c:3791
+msgid "Paste text from the clipboard"
+msgstr "Vložit text ze schránky"
+
+#: ../midori/midori-browser.c:3794
+msgid "Delete the selected text"
+msgstr "Smazat vybraný text"
+
+#: ../midori/midori-browser.c:3797
+msgid "Select all text"
+msgstr "Vybrat vše"
+
+#: ../midori/midori-browser.c:3800
+msgid "Find a word or phrase in the page"
+msgstr "Najít slovo nebo frázi na stránce"
+
+#: ../midori/midori-browser.c:3802
+msgid "Find _Next"
+msgstr "Najít _další"
+
+#: ../midori/midori-browser.c:3803
+msgid "Find the next occurrence of a word or phrase"
+msgstr "Najít další výskyt slova nebo fráze"
+
+#: ../midori/midori-browser.c:3805
+msgid "Find _Previous"
+msgstr "Najít _předchozí"
+
+#: ../midori/midori-browser.c:3806
+msgid "Find the previous occurrence of a word or phrase"
+msgstr "Najít předchozí výskyt slova nebo fráze"
+
+#: ../midori/midori-browser.c:3809
+msgid "_Quick Find"
+msgstr "_Rychlé hledání"
+
+#: ../midori/midori-browser.c:3810
+msgid "Quickly jump to a word or phrase"
+msgstr "Okamžitě přeskočit na slovo nebo frázi"
+
+#: ../midori/midori-browser.c:3813
+msgid "Configure the application preferences"
+msgstr "Změnit nastavení aplikace"
+
+#: ../midori/midori-browser.c:3815
+msgid "_View"
+msgstr "_Pohled"
+
+#: ../midori/midori-browser.c:3816
+msgid "_Toolbars"
+msgstr "_Lišty"
+
+#: ../midori/midori-browser.c:3828
+msgid "Increase the zoom level"
+msgstr "Přiblížit"
+
+#: ../midori/midori-browser.c:3831
+msgid "Decrease the zoom level"
+msgstr "Oddálit"
+
+#: ../midori/midori-browser.c:3834
+msgid "Reset the zoom level"
+msgstr "Nastavit původní přiblížení"
+
+#: ../midori/midori-browser.c:3835
+msgid "_Encoding"
+msgstr "_Kódování"
+
+#: ../midori/midori-browser.c:3837
+msgid "_Automatic"
+msgstr "_Automatické"
+
+#: ../midori/midori-browser.c:3840 ../midori/midori-websettings.c:204
+msgid "Chinese (BIG5)"
+msgstr "Čínské (BIG5)"
+
+#: ../midori/midori-browser.c:3843 ../midori/midori-websettings.c:205
+msgid "Japanese (SHIFT_JIS)"
+msgstr "Japonské (SHIFT_JIS)"
+
+#: ../midori/midori-browser.c:3846 ../midori/midori-websettings.c:206
+msgid "Russian (KOI8-R)"
+msgstr "Ruské (KOI8-R)"
+
+#: ../midori/midori-browser.c:3849 ../midori/midori-websettings.c:207
+msgid "Unicode (UTF-8)"
+msgstr "Unicode (UTF-8)"
+
+#: ../midori/midori-browser.c:3852 ../midori/midori-websettings.c:208
+msgid "Western (ISO-8859-1)"
+msgstr "Západní (ISO-8859-1)"
+
+#: ../midori/midori-browser.c:3855 ../midori/midori-websettings.c:209
+#: ../midori/midori-websettings.c:281
+msgid "Custom..."
+msgstr "Vlastní..."
+
+#: ../midori/midori-browser.c:3858 ../midori/midori-view.c:1275
+msgid "View _Source"
+msgstr "Zobrazit zdrojový _kód"
+
+#: ../midori/midori-browser.c:3859
+msgid "View the source code of the page"
+msgstr "Zobrazí zdrojový kód stránky"
+
+#: ../midori/midori-browser.c:3861
+msgid "View Selection Source"
+msgstr "Zobrazit zdrojový kód výběru"
+
+#: ../midori/midori-browser.c:3862
+msgid "View the source code of the selection"
+msgstr "Zobrazit zdrojový kód vybraného textu"
+
+#: ../midori/midori-browser.c:3866
+msgid "Toggle fullscreen view"
+msgstr "Přepnout zobrazení na celou obrazovku"
+
+#: ../midori/midori-browser.c:3868
+msgid "_Go"
+msgstr "_Jít"
+
+#: ../midori/midori-browser.c:3871
+msgid "Go back to the previous page"
+msgstr "Jít zpět (na předchozí stránku)"
+
+#: ../midori/midori-browser.c:3874
+msgid "Go forward to the next page"
+msgstr "Jít vpřed (na následující stránku)"
+
+#: ../midori/midori-browser.c:3877
+msgid "Go to your homepage"
+msgstr "Jít na domovskou stránku"
+
+#: ../midori/midori-browser.c:3879
+msgid "Empty Trash"
+msgstr "Vyprázdnit seznam zavřených karet"
+
+#: ../midori/midori-browser.c:3880
+msgid "Delete the contents of the trash"
+msgstr "Vymaže seznam zavřených karet"
+
+#: ../midori/midori-browser.c:3882 ../midori/midori-view.c:1233
+msgid "Undo Close Tab"
+msgstr "Vrátit zavření karty"
+
+#: ../midori/midori-browser.c:3883
+msgid "Open the last closed tab"
+msgstr "Otevře naposledy zavřenou kartu"
+
+#: ../midori/midori-browser.c:3887 ../panels/midori-bookmarks.c:230
+msgid "Add a new bookmark"
+msgstr "Přidat novou záložku"
+
+#: ../midori/midori-browser.c:3889 ../panels/midori-bookmarks.c:259
+msgid "Add a new folder"
+msgstr "Přidat složku"
+
+#: ../midori/midori-browser.c:3890
+msgid "Add a new bookmark folder"
+msgstr "Přidá novou složku do záložek"
+
+#: ../midori/midori-browser.c:3891
+msgid "_Tools"
+msgstr "Ná_stroje"
+
+#: ../midori/midori-browser.c:3893 ../midori/midori-searchaction.c:493
+msgid "_Manage Search Engines"
+msgstr "Nastavit _vyhledávací nástroje"
+
+#: ../midori/midori-browser.c:3894
+msgid "Add, edit and remove search engines..."
+msgstr "Přidává, upravuje a maže vyhledávací nástroje..."
+
+#: ../midori/midori-browser.c:3897
+msgid "_Clear Private Data"
+msgstr "_Vymazat osobní data"
+
+#: ../midori/midori-browser.c:3898
+msgid "Clear private data..."
+msgstr "Vymaže osobní data..."
+
+#: ../midori/midori-browser.c:3902
+msgid "_Previous Tab"
+msgstr "_Předchozí karta"
+
+#: ../midori/midori-browser.c:3903
+msgid "Switch to the previous tab"
+msgstr "Přepnout na předchozí kartu"
+
+#: ../midori/midori-browser.c:3905
+msgid "_Next Tab"
+msgstr "_Další karta"
+
+#: ../midori/midori-browser.c:3906
+msgid "Switch to the next tab"
+msgstr "Přepnout na další kartu"
+
+#: ../midori/midori-browser.c:3908
+msgid "_Help"
+msgstr "_Nápověda"
+
+#: ../midori/midori-browser.c:3910
+msgid "_Contents"
+msgstr "_Obsah"
+
+#: ../midori/midori-browser.c:3911
+msgid "Show the documentation"
+msgstr "Zobrazit dokumentaci"
+
+#: ../midori/midori-browser.c:3913
+msgid "_Frequent Questions"
+msgstr "Časté _otázky"
+
+#: ../midori/midori-browser.c:3914
+msgid "Show the Frequently Asked Questions"
+msgstr "Zobrazí často kladené otázky (FAQ)"
+
+#: ../midori/midori-browser.c:3916
+msgid "_Report a Bug"
+msgstr "Ohlásit chy_bu"
+
+#: ../midori/midori-browser.c:3917
+msgid "Open Midori's bug tracker"
+msgstr "Otevře stránku pro hlášení chyb"
+
+#: ../midori/midori-browser.c:3920
+msgid "Show information about the program"
+msgstr "Zobrazí informace o programu"
+
+#: ../midori/midori-browser.c:3927
+msgid "P_rivate Browsing"
+msgstr "Sou_kromé prohlížení"
+
+#: ../midori/midori-browser.c:3928
+msgid "Don't save any private data while browsing"
+msgstr "Neukládat při prohlížení žádná data"
+
+#: ../midori/midori-browser.c:3933
+msgid "_Menubar"
+msgstr "_Menu"
+
+#: ../midori/midori-browser.c:3934
+msgid "Show menubar"
+msgstr "Zobrazit menu"
+
+#: ../midori/midori-browser.c:3937
+msgid "_Navigationbar"
+msgstr "_Navigační lišta"
+
+#: ../midori/midori-browser.c:3938
+msgid "Show navigationbar"
+msgstr "Zobrazit navigační lištu"
+
+#: ../midori/midori-browser.c:3941
+msgid "Side_panel"
+msgstr "Boční _panel"
+
+#: ../midori/midori-browser.c:3942
+msgid "Show sidepanel"
+msgstr "Zobrazit boční panel"
+
+#: ../midori/midori-browser.c:3945
+msgid "_Bookmarkbar"
+msgstr "Lišta _záložek"
+
+#: ../midori/midori-browser.c:3946
+msgid "Show bookmarkbar"
+msgstr "Zobrazit lištu se záložkami"
+
+#: ../midori/midori-browser.c:3949
+msgid "_Transferbar"
+msgstr "Stav _přenosu"
+
+#: ../midori/midori-browser.c:3950
+msgid "Show transferbar"
+msgstr "Zobrazit stav přenosu dat"
+
+#: ../midori/midori-browser.c:3953
+msgid "_Statusbar"
+msgstr "_Stavová lišta"
+
+#: ../midori/midori-browser.c:3954
+msgid "Show statusbar"
+msgstr "Zobrazit stavovou lištu"
+
+#: ../midori/midori-browser.c:4389
+msgid "_Separator"
+msgstr "_Oddělovač"
+
+#: ../midori/midori-browser.c:4396
+msgid "_Location..."
+msgstr "U_místění..."
+
+#: ../midori/midori-browser.c:4398
+msgid "Open a particular location"
+msgstr "Otevřít umístění"
+
+#: ../midori/midori-browser.c:4420
+msgid "_Web Search..."
+msgstr "_Hledat na webu..."
+
+#: ../midori/midori-browser.c:4422
+msgid "Run a web search"
+msgstr "Spustí vyhledávání na webu"
+
+#: ../midori/midori-browser.c:4443
+msgid "Reopen a previously closed tab or window"
+msgstr "Znovu otevřít zavřenou kartu nebo okno"
+
+#: ../midori/midori-browser.c:4458
+msgid "_Recently visited pages"
+msgstr "_Naposledy navštívené stránky"
+
+#: ../midori/midori-browser.c:4460
+msgid "Reopen pages that you visited earlier"
+msgstr "Znovu otevře stránky, které jste již navštívili"
+
+#: ../midori/midori-browser.c:4475 ../midori/sokoke.c:872
+msgid "_Bookmarks"
+msgstr "_Záložky"
+
+#: ../midori/midori-browser.c:4477
+msgid "Show the saved bookmarks"
+msgstr "Zobrazit uložené záložky"
+
+#: ../midori/midori-browser.c:4492
+msgid "_Window"
+msgstr "_Okno"
+
+#: ../midori/midori-browser.c:4494
+msgid "Show a list of all open tabs"
+msgstr "Zobrazit seznam všech otevřených karet"
+
+#. i18n: A panel at the bottom, to search text in pages
+#: ../midori/midori-browser.c:4674
+msgid "_Inline Find:"
+msgstr "_Rychlé hledání"
+
+#: ../midori/midori-browser.c:4699
+msgid "Previous"
+msgstr "Předchozí"
+
+#: ../midori/midori-browser.c:4704
+msgid "Next"
+msgstr "Následující"
+
+#: ../midori/midori-browser.c:4709
+msgid "Match Case"
+msgstr "Rozlišovat velikost"
+
+#: ../midori/midori-browser.c:4717
+msgid "Highlight Matches"
+msgstr "Zvýraznit nalezené"
+
+#: ../midori/midori-browser.c:4727
+msgid "Close Findbar"
+msgstr "Zavřít vyhledávací lištu"
+
+#: ../midori/midori-browser.c:4762 ../extensions/cookie-manager.c:821
+msgid "Delete All"
+msgstr "Smazat vše"
+
+#: ../midori/midori-browser.c:5084
+#, c-format
+msgid "Unexpected setting '%s'"
+msgstr "Neočekávané nastavení '%s'"
+
+#: ../midori/midori-panel.c:333
+msgid "Detach chosen panel from the window"
+msgstr "Oddělit vybraný panel od okna"
+
+#: ../midori/midori-panel.c:335
+msgid "Whether to detach the chosen panel from the window"
+msgstr "Z panelu vytvořit samostatné okno"
+
+#: ../midori/midori-panel.c:345 ../midori/midori-websettings.c:535
+msgid "Align sidepanel on the right"
+msgstr "Umístit boční panel vpravo"
+
+#: ../midori/midori-panel.c:347 ../midori/midori-websettings.c:536
+msgid "Whether to align the sidepanel on the right"
+msgstr "Přesunout boční panel na opačnou stranu"
+
+#: ../midori/midori-panel.c:357 ../midori/midori-panel.c:358
+msgid "Close panel"
+msgstr "Zavřít panel"
+
+#: ../midori/midori-websettings.c:187 ../midori/midori-view.c:1999
+#: ../midori/midori-view.c:2176
+msgid "Blank page"
+msgstr "Prázdná stránka"
+
+#: ../midori/midori-websettings.c:188 ../midori/midori-websettings.c:555
+msgid "Homepage"
+msgstr "Domovská stránka"
+
+#: ../midori/midori-websettings.c:189
+msgid "Last open pages"
+msgstr "Naposledy otevřené stránky"
+
+#: ../midori/midori-websettings.c:224
+msgid "New tab"
+msgstr "Nová karta"
+
+#: ../midori/midori-websettings.c:225
+msgid "New window"
+msgstr "Nové okno"
+
+#: ../midori/midori-websettings.c:226
+msgid "Current tab"
+msgstr "Aktuální karta"
+
+#: ../midori/midori-websettings.c:241
+msgid "Default"
+msgstr "Výchozí"
+
+#: ../midori/midori-websettings.c:242
+msgid "Icons"
+msgstr "Ikony"
+
+#: ../midori/midori-websettings.c:243
+msgid "Text"
+msgstr "Text"
+
+#: ../midori/midori-websettings.c:244
+msgid "Both"
+msgstr "Obojí"
+
+#: ../midori/midori-websettings.c:245
+msgid "Both horizontal"
+msgstr "Obojí vedle sebe"
+
+#: ../midori/midori-websettings.c:260
+msgid "All cookies"
+msgstr "Všechna cookies"
+
+#: ../midori/midori-websettings.c:261
+msgid "Session cookies"
+msgstr "Cookies sezení"
+
+#: ../midori/midori-websettings.c:262 ../panels/midori-addons.c:94
+msgid "None"
+msgstr "Žádné"
+
+#: ../midori/midori-websettings.c:278
+msgid "Safari"
+msgstr "Safari"
+
+#: ../midori/midori-websettings.c:279
+msgid "Firefox"
+msgstr "Firefox"
+
+#: ../midori/midori-websettings.c:280
+msgid "Internet Explorer"
+msgstr "Internet Explorer"
+
+#: ../midori/midori-websettings.c:333
+msgid "Remember last window size"
+msgstr "Pamatovat si velikost okna"
+
+#: ../midori/midori-websettings.c:334
+msgid "Whether to save the last window size"
+msgstr "Ukládat rozměry okna?"
+
+#: ../midori/midori-websettings.c:342
+msgid "Last window width"
+msgstr "Šířka okna"
+
+#: ../midori/midori-websettings.c:343
+msgid "The last saved window width"
+msgstr "Naposledy uložená šířka okna"
+
+#: ../midori/midori-websettings.c:351
+msgid "Last window height"
+msgstr "Výška okna"
+
+#: ../midori/midori-websettings.c:352
+msgid "The last saved window height"
+msgstr "Naposledy uložená výška okna"
+
+#: ../midori/midori-websettings.c:377
+msgid "Last panel position"
+msgstr "Poslední pozice panelu"
+
+#: ../midori/midori-websettings.c:378
+msgid "The last saved panel position"
+msgstr "Uložená poslední pozice panelu"
+
+#. i18n: The internal index of the last opened panel
+#: ../midori/midori-websettings.c:387
+msgid "Last panel page"
+msgstr "Poslední otevřená stránka"
+
+#: ../midori/midori-websettings.c:388
+msgid "The last saved panel page"
+msgstr "Uložená stránka"
+
+#: ../midori/midori-websettings.c:396
+msgid "Last Web search"
+msgstr "Rychlé hledání na webu"
+
+#: ../midori/midori-websettings.c:397
+msgid "The last saved Web search"
+msgstr "Uložené poslední vyhledávání na webu"
+
+#: ../midori/midori-websettings.c:406
+msgid "Show Menubar"
+msgstr "Zobrazit menu"
+
+#: ../midori/midori-websettings.c:407
+msgid "Whether to show the menubar"
+msgstr "Zobrazit menu?"
+
+#: ../midori/midori-websettings.c:415
+msgid "Show Navigationbar"
+msgstr "Zobrazit vyhledávání"
+
+#: ../midori/midori-websettings.c:416
+msgid "Whether to show the navigationbar"
+msgstr "Zobrazit lištu vyhledávání?"
+
+#: ../midori/midori-websettings.c:424
+msgid "Show Bookmarkbar"
+msgstr "Zobrazit záložky"
+
+#: ../midori/midori-websettings.c:425
+msgid "Whether to show the bookmarkbar"
+msgstr "Zobrazit lištu se záložkami?"
+
+#: ../midori/midori-websettings.c:433
+msgid "Show Panel"
+msgstr "Zobrazit panel"
+
+#: ../midori/midori-websettings.c:434
+msgid "Whether to show the panel"
+msgstr "Zobrazit panel?"
+
+#: ../midori/midori-websettings.c:449
+msgid "Show Transferbar"
+msgstr "Zobrazit stav přenosu"
+
+#: ../midori/midori-websettings.c:450
+msgid "Whether to show the transferbar"
+msgstr "Zobrazit stav přenosu?"
+
+#: ../midori/midori-websettings.c:458
+msgid "Show Statusbar"
+msgstr "Zobrazit stavový řádek"
+
+#: ../midori/midori-websettings.c:459
+msgid "Whether to show the statusbar"
+msgstr "Zobrazit stavový řádek?"
+
+#: ../midori/midori-websettings.c:468
+msgid "Toolbar Style"
+msgstr "Styl lišty"
+
+#: ../midori/midori-websettings.c:469
+msgid "The style of the toolbar"
+msgstr "Nastaví styl lišty (zobrazení textu a ikon)."
+
+#: ../midori/midori-websettings.c:485
+msgid "Show progress in location entry"
+msgstr "Zobrazit průběh v řádku adresy"
+
+#: ../midori/midori-websettings.c:486
+msgid "Whether to show loading progress in the location entry"
+msgstr "Zobrazovat průběh načítání v řádku s adresou?"
+
+#: ../midori/midori-websettings.c:501
+msgid "Search engines in location completion"
+msgstr "Zobrazovat výsledky hledání při zadávání adresy"
+
+#: ../midori/midori-websettings.c:502
+msgid "Whether to show search engines in the location completion"
+msgstr "Zobrazovat výsledky vyhledávání při zadávání adresy?"
+
+#: ../midori/midori-websettings.c:510
+msgid "Toolbar Items"
+msgstr "Položky nástrojové lišty"
+
+#: ../midori/midori-websettings.c:511
+msgid "The items to show on the toolbar"
+msgstr "Položky, které se budou zobrazovat na nástrojové liště"
+
+#: ../midori/midori-websettings.c:519
+msgid "Compact Sidepanel"
+msgstr "Kompaktní boční panel"
+
+#: ../midori/midori-websettings.c:520
+msgid "Whether to make the sidepanel compact"
+msgstr "Má se zobrazit boční panel kompaktně?"
+
+#: ../midori/midori-websettings.c:545
+msgid "Load on Startup"
+msgstr "Načíst při startu"
+
+#: ../midori/midori-websettings.c:546
+msgid "What to load on startup"
+msgstr "Co načíst při startu"
+
+#: ../midori/midori-websettings.c:556
+msgid "The homepage"
+msgstr "Domovská stránka"
+
+#: ../midori/midori-websettings.c:571
+msgid "Show crash dialog"
+msgstr "Zobrazit dialog po pádu"
+
+#: ../midori/midori-websettings.c:572
+msgid "Show a dialog after Midori crashed"
+msgstr "Zobrazit dialog po pádu Midori"
+
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:588
+msgid "Show speed dial in new tabs"
+msgstr "Zobrazit obsah rychlého přístupu v kartách"
+
+#: ../midori/midori-websettings.c:589
+msgid "Show speed dial in newly opened tabs"
+msgstr "Zobrazí obsah rychlého přístupu v nově otevřených kartách"
+
+#: ../midori/midori-websettings.c:597
+msgid "Download Folder"
+msgstr "Složka pro ukládání"
+
+#: ../midori/midori-websettings.c:598
+msgid "The folder downloaded files are saved to"
+msgstr "Kam se budou ukládat stažené soubory"
+
+#: ../midori/midori-websettings.c:617
+msgid "Ask for the destination folder"
+msgstr "Zeptat se na cílovou složku"
+
+#: ../midori/midori-websettings.c:618
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr "Zda se ptát, kam se bude ukládat"
+
+#: ../midori/midori-websettings.c:637
+msgid "Notify when a transfer has been completed"
+msgstr "Upozornit na dokončení přenosu"
+
+#: ../midori/midori-websettings.c:638
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "Zda zobrazit upozornění při dokončení přenosu"
+
+#: ../midori/midori-websettings.c:650
+msgid "Download Manager"
+msgstr "Správce stahování"
+
+#: ../midori/midori-websettings.c:651
+msgid "An external download manager"
+msgstr "Externí program pro stahování"
+
+#: ../midori/midori-websettings.c:659
+msgid "Text Editor"
+msgstr "Textový editor"
+
+#: ../midori/midori-websettings.c:660
+msgid "An external text editor"
+msgstr "Externí textový editor"
+
+#: ../midori/midori-websettings.c:675
+msgid "News Aggregator"
+msgstr "Čtečka RSS"
+
+#: ../midori/midori-websettings.c:676
+msgid "An external news aggregator"
+msgstr "Externí čtečka zpráv RSS"
+
+#: ../midori/midori-websettings.c:684
+msgid "Location entry Search"
+msgstr "Vyhledávání v adresním řádku"
+
+#: ../midori/midori-websettings.c:685
+msgid "The search to perform inside the location entry"
+msgstr "Vyhledávání použité v řádku s adresou"
+
+#: ../midori/midori-websettings.c:693
+msgid "Preferred Encoding"
+msgstr "Preferované kódování"
+
+#: ../midori/midori-websettings.c:694
+msgid "The preferred character encoding"
+msgstr "Preferované kódování stránek"
+
+#: ../midori/midori-websettings.c:704
+msgid "Always Show Tabbar"
+msgstr "Vždy zobrazovat karty"
+
+#: ../midori/midori-websettings.c:705
+msgid "Always show the tabbar"
+msgstr "Zobrazit karty, i když je jen jedna?"
+
+#: ../midori/midori-websettings.c:713
+msgid "Close Buttons on Tabs"
+msgstr "Ikona zavření karty"
+
+#: ../midori/midori-websettings.c:714
+msgid "Whether tabs have close buttons"
+msgstr "Zobrazovat ikonu pro zavření karty?"
+
+#: ../midori/midori-websettings.c:722
+msgid "Open new pages in"
+msgstr "Otevírat nové stránky v"
+
+#: ../midori/midori-websettings.c:723
+msgid "Where to open new pages"
+msgstr "Kde se budou otevírat nové stránky"
+
+#: ../midori/midori-websettings.c:732
+msgid "Open external pages in"
+msgstr "Otevírat externí stránky v"
+
+#: ../midori/midori-websettings.c:733
+msgid "Where to open externally opened pages"
+msgstr "Kde se budou otevírat externí stránky"
+
+#: ../midori/midori-websettings.c:746
+msgid "Middle click opens Selection"
+msgstr "Kliknutím prostř. tlačítka otevřít vybraný text"
+
+#: ../midori/midori-websettings.c:747
+msgid "Load an address from the selection via middle click"
+msgstr "Prostřední tlačítko myši otevře adresu, která je ve vybraném textu"
+
+#: ../midori/midori-websettings.c:755
+msgid "Open tabs in the background"
+msgstr "Otevírat karty na pozadí"
+
+#: ../midori/midori-websettings.c:756
+msgid "Whether to open new tabs in the background"
+msgstr "Karty se otevírají na pozadí"
+
+#: ../midori/midori-websettings.c:764
+msgid "Open Tabs next to Current"
+msgstr "Otevřít kartu vedle aktivní"
+
+#: ../midori/midori-websettings.c:765
+msgid "Whether to open new tabs next to the current tab or after the last one"
+msgstr "Nová karta se otevře vedle aktivní"
+
+#: ../midori/midori-websettings.c:773
+msgid "Open popups in tabs"
+msgstr "Otevírat vyskakovací okna v kartách"
+
+#: ../midori/midori-websettings.c:774
+msgid "Whether to open popup windows in tabs"
+msgstr "Vyskakovací okno se otevře v nové kartě"
+
+#: ../midori/midori-websettings.c:790
+msgid "Zoom Text and Images"
+msgstr "Zvětšovat text i obrázky"
+
+#: ../midori/midori-websettings.c:791
+msgid "Whether to zoom text and images"
+msgstr "Při přibližování zvětšovat text i obrázky?"
+
+#: ../midori/midori-websettings.c:806
+msgid "Find inline while typing"
+msgstr "Hledat při psaní"
+
+#: ../midori/midori-websettings.c:807
+msgid "Whether to automatically find inline while typing"
+msgstr "Při psaní hledat text?"
+
+#: ../midori/midori-websettings.c:815
+msgid "Accept cookies"
+msgstr "Přijímat cookies"
+
+#: ../midori/midori-websettings.c:816
+msgid "What type of cookies to accept"
+msgstr "Který typ cookies přijímat"
+
+#: ../midori/midori-websettings.c:825
+msgid "Original cookies only"
+msgstr "Původní"
+
+#: ../midori/midori-websettings.c:826
+msgid "Accept cookies from the original website only"
+msgstr "Z původní stránky"
+
+#: ../midori/midori-websettings.c:834
+msgid "Maximum cookie age"
+msgstr "Maximální stáří cookies"
+
+#: ../midori/midori-websettings.c:835
+msgid "The maximum number of days to save cookies for"
+msgstr "Maximální počet dní, po které jsou cookies platná."
+
+#: ../midori/midori-websettings.c:845
+msgid "Remember last visited pages"
+msgstr "Pamatovat si naposledy navštívené stránky"
+
+#: ../midori/midori-websettings.c:846
+msgid "Whether the last visited pages are saved"
+msgstr "Pamatovat si naposledy navštívené stránky?"
+
+#: ../midori/midori-websettings.c:854
+msgid "Maximum history age"
+msgstr "Maximální délka historie"
+
+#: ../midori/midori-websettings.c:855
+msgid "The maximum number of days to save the history for"
+msgstr ""
+"Maximální počet dní, po které se bude uchovávat historie navštívených stránek"
+
+#: ../midori/midori-websettings.c:863
+msgid "Remember last form inputs"
+msgstr "Pamatovat si vložený text"
+
+#: ../midori/midori-websettings.c:864
+msgid "Whether the last form inputs are saved"
+msgstr "Pamatovat si text vložený do vstupních polí?"
+
+#: ../midori/midori-websettings.c:872
+msgid "Remember last downloaded files"
+msgstr "Pamatovat si naposledy stahované soubory"
+
+#: ../midori/midori-websettings.c:873
+msgid "Whether the last downloaded files are saved"
+msgstr "Pamatovat si seznam souborů, které byly stahovány?"
+
+#: ../midori/midori-websettings.c:883
+msgid "Proxy Server"
+msgstr "Proxy server"
+
+#: ../midori/midori-websettings.c:884
+msgid "The proxy server used for HTTP connections"
+msgstr "Nastavení proxy serveru pro HTTP spojení"
+
+#: ../midori/midori-websettings.c:899
+msgid "Detect proxy server automatically"
+msgstr "Zjistit proxy server automaticky"
+
+#: ../midori/midori-websettings.c:900
+msgid "Whether to detect the proxy server automatically from the environment"
+msgstr "Zjistit nastavení proxy serveru automaticky?"
+
+#. i18n: This refers to an application, not the 'user agent' string
+#: ../midori/midori-websettings.c:916
+msgid "Identify as"
+msgstr "Hlásit se jako"
+
+#: ../midori/midori-websettings.c:917
+msgid "What to identify as to web pages"
+msgstr "Jak se hlásit webovým stránkám"
+
+#: ../midori/midori-websettings.c:933
+msgid "Identification string"
+msgstr "Identifikační řetězec"
+
+#: ../midori/midori-websettings.c:934
+msgid "The application identification string"
+msgstr "Identifikační řetězec aplikace"
+
+#: ../midori/midori-websettings.c:942
+msgid "Cache size"
+msgstr "Velikost keše"
+
+#: ../midori/midori-websettings.c:943
+msgid "The allowed size of the cache"
+msgstr "Povolená velikost keše"
+
+#: ../midori/midori-view.c:686
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "Ikona '%s' nemůže být načtena."
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:688 ../midori/midori-view.c:2701
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "Chyba"
+
+#: ../midori/midori-view.c:691
+msgid "Try again"
+msgstr "Zkusit znovu"
+
+#. i18n: The title of the 404 - Not found error page
+#. Error pages are special, we want to try loading the destination
+#. again, not the error page which isn't even a proper page
+#: ../midori/midori-view.c:721 ../midori/midori-view.c:2705
+#, c-format
+msgid "Not found - %s"
+msgstr "Nenalezeno - %s"
+
+#: ../midori/midori-view.c:1095
+msgid "Open _Link"
+msgstr "Otevřít _odkaz"
+
+#: ../midori/midori-view.c:1097
+msgid "Open Link in New _Tab"
+msgstr "Otevřít odkaz v nové _kartě"
+
+#: ../midori/midori-view.c:1114
+msgid "Open Link in New _Window"
+msgstr "Otevřít odkaz v novém _okně"
+
+#: ../midori/midori-view.c:1123
+msgid "_Download Link destination"
+msgstr "_Stáhnout umístění"
+
+#: ../midori/midori-view.c:1129
+msgid "_Save Link destination"
+msgstr "_Uložit umístění"
+
+#: ../midori/midori-view.c:1138
+msgid "Download with Download _Manager"
+msgstr "Stáhnout za použití Download _manageru"
+
+#: ../midori/midori-view.c:1167
+msgid "Search _with"
+msgstr "Hledat _s"
+
+#: ../midori/midori-view.c:1195
+msgid "_Search the Web"
+msgstr "_Hledat na webu"
+
+#: ../midori/midori-view.c:1205
+msgid "Open Address in New _Tab"
+msgstr "Otevřít adresu v nové _kartě"
+
+#: ../midori/midori-view.c:1372
+msgid "Open or download file"
+msgstr "Otevřít nebo stáhnout soubor"
+
+#: ../midori/midori-view.c:1389
+#, c-format
+msgid "File Type: '%s'"
+msgstr "Typ souboru: '%s'"
+
+#: ../midori/midori-view.c:1392
+#, c-format
+msgid "File Type: %s ('%s')"
+msgstr "Typ souboru: %s ('%s')"
+
+#. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
+#: ../midori/midori-view.c:1396
+#, c-format
+msgid "Open %s"
+msgstr "Otevřít %s"
+
+#: ../midori/midori-view.c:1816
+#, c-format
+msgid "Inspect page - %s"
+msgstr "Prohlížení stránky - %s"
+
+#: ../midori/midori-view.c:2001 ../midori/midori-view.c:2002
+msgid "Search"
+msgstr "Najít"
+
+#: ../midori/midori-view.c:2003
+msgid "Click to add a shortcut"
+msgstr "Záložku přidáte kliknutím"
+
+#: ../midori/midori-view.c:2004
+msgid "Enter shortcut address"
+msgstr "Vložte adresu záložky"
+
+#: ../midori/midori-view.c:2005
+msgid "Enter shortcut title"
+msgstr "Vložte název záložky"
+
+#: ../midori/midori-view.c:2006
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "Opravdu chcete smazat tuto záložku?"
+
+#: ../midori/midori-view.c:2038
+#, c-format
+msgid "Document cannot be displayed"
+msgstr "Dokument nemůže být zobrazen"
+
+#: ../midori/midori-view.c:2055
+#, c-format
+msgid "No documentation installed"
+msgstr "Dokumentace není nainstalována"
+
+#: ../midori/midori-preferences.c:91
+#, c-format
+msgid "Preferences for %s"
+msgstr "Nastavení pro %s"
+
+#. Page "General"
+#: ../midori/midori-preferences.c:398
+msgid "General"
+msgstr "Obecné"
+
+#: ../midori/midori-preferences.c:399
+msgid "Startup"
+msgstr "Při spuštění"
+
+#: ../midori/midori-preferences.c:415
+msgid "Use current page as homepage"
+msgstr "Použít stávající stránku jako domovskou"
+
+#: ../midori/midori-preferences.c:425 ../panels/midori-transfers.c:88
+msgid "Transfers"
+msgstr "Přenosy"
+
+#. Page "Appearance"
+#: ../midori/midori-preferences.c:440
+msgid "Appearance"
+msgstr "Vzhled"
+
+#: ../midori/midori-preferences.c:441
+msgid "Font settings"
+msgstr "Nastavení písma"
+
+#: ../midori/midori-preferences.c:443
+msgid "Default Font Family"
+msgstr "Výchozí font"
+
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "Výchozí font pro zobrazení textu"
+
+#: ../midori/midori-preferences.c:450
+msgid "The default font size used to display text"
+msgstr "Velikost textu"
+
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "Výchozí font písma se stejnou šířkou"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr "Font použitý při zobrazování písma se stejnou šířkou písmen"
+
+#: ../midori/midori-preferences.c:458
+msgid "Minimum Font Size"
+msgstr "Minimální velikost textu"
+
+#: ../midori/midori-preferences.c:461
+msgid "The minimum font size used to display text"
+msgstr "Minimální velikost textu, která se použije pro zobrazení"
+
+#: ../midori/midori-preferences.c:468
+msgid "Encoding"
+msgstr "Kódování"
+
+#: ../midori/midori-preferences.c:471
+msgid "The character encoding to use by default"
+msgstr "Kódování, které se použije jako výchozí"
+
+#. Page "Behavior"
+#: ../midori/midori-preferences.c:478
+msgid "Behavior"
+msgstr "Chování"
+
+#: ../midori/midori-preferences.c:479
+msgid "Features"
+msgstr "Rozšíření"
+
+#: ../midori/midori-preferences.c:482 ../extensions/statusbar-features.c:54
+msgid "Load images automatically"
+msgstr "Automaticky načítat obrázky"
+
+#: ../midori/midori-preferences.c:483
+msgid "Load and display images automatically"
+msgstr "Automaticky načítat a zobrazovat obrázky"
+
+#: ../midori/midori-preferences.c:486
+msgid "Shrink images automatically"
+msgstr "Obrázky automaticky zmenšovat"
+
+#: ../midori/midori-preferences.c:487
+msgid "Automatically shrink standalone images to fit"
+msgstr "Automaticky zmenšovat obrázky, aby se vešly"
+
+#: ../midori/midori-preferences.c:490
+msgid "Print background images"
+msgstr "Tisknout obrázky na pozadí"
+
+#: ../midori/midori-preferences.c:491
+msgid "Whether background images should be printed"
+msgstr "Mají být obrázky na pozadí tištěny?"
+
+#: ../midori/midori-preferences.c:494
+msgid "Resizable text areas"
+msgstr "Roztažitelné oblasti pro text"
+
+#: ../midori/midori-preferences.c:495
+msgid "Whether text areas are resizable"
+msgstr "Mohou se pole pro vstup textu roztahovat dle potřeby?"
+
+#: ../midori/midori-preferences.c:498 ../extensions/statusbar-features.c:63
+msgid "Enable scripts"
+msgstr "Povolit skripty"
+
+#: ../midori/midori-preferences.c:499
+msgid "Enable embedded scripting languages"
+msgstr "Povolit vložené skriptové jazyky"
+
+#: ../midori/midori-preferences.c:502 ../extensions/statusbar-features.c:72
+msgid "Enable Netscape plugins"
+msgstr "Povolit pluginy z Netscape (Mozilly)"
+
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "Povolit pluginové objekty prohlížeče Netscape (Mozilla)"
+
+#: ../midori/midori-preferences.c:506
+msgid "Enforce 96 dots per inch"
+msgstr "Vnutit rozlišení 96 bodů/palec"
+
+#: ../midori/midori-preferences.c:507
+msgid "Enforce a video dot density of 96 DPI"
+msgstr "Vnutit rozlišení obrazu 96 bodů na palec"
+
+#: ../midori/midori-preferences.c:510
+msgid "Enable developer tools"
+msgstr "Povolit vývojářské nástroje"
+
+#: ../midori/midori-preferences.c:511
+msgid "Enable special extensions for developers"
+msgstr "Povolit speciální rozšíření pro vývojáře"
+
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "Kontrola pravopisu"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "Povolit kontrolu pravopisu"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "Povolit kontrolu pravopisu při psaní"
+
+#: ../midori/midori-preferences.c:525
+msgid ""
+"A comma separated list of languages to be used for spell checking, for "
+"example \"en_GB,de_DE\""
+msgstr ""
+"Čárkou oddělený seznam jazyků použitých pro kontrolu pravopisu, např. "
+"\"cs_CZ,en_GB\""
+
+#. Page "Interface"
+#: ../midori/midori-preferences.c:530
+msgid "Interface"
+msgstr "Rozhraní"
+
+#: ../midori/midori-preferences.c:531
+msgid "Navigationbar"
+msgstr "Navigační lišta"
+
+#: ../midori/midori-preferences.c:542
+msgid "Browsing"
+msgstr "Prohlížení"
+
+#. Page "Applications"
+#: ../midori/midori-preferences.c:572
+msgid "Applications"
+msgstr "Aplikace"
+
+#: ../midori/midori-preferences.c:573
+msgid "External applications"
+msgstr "Externí aplikace"
+
+#. Page "Network"
+#: ../midori/midori-preferences.c:619 ../midori/midori-preferences.c:620
+msgid "Network"
+msgstr "Síť"
+
+#: ../midori/midori-preferences.c:647
+msgid "MB"
+msgstr "MB"
+
+#. Page "Privacy"
+#: ../midori/midori-preferences.c:652
+msgid "Privacy"
+msgstr "Soukromí"
+
+#: ../midori/midori-preferences.c:653
+msgid "Web Cookies"
+msgstr "Web cookies"
+
+#: ../midori/midori-preferences.c:666 ../midori/midori-preferences.c:676
+msgid "days"
+msgstr "dny"
+
+#: ../midori/midori-searchaction.c:484 ../katze/katze-arrayaction.c:314
+msgid "Empty"
+msgstr "Prázdné"
+
+#: ../midori/midori-searchaction.c:904
+msgid "Add search engine"
+msgstr "Přidat vyhledávací nástroj"
+
+#: ../midori/midori-searchaction.c:904
+msgid "Edit search engine"
+msgstr "Upravit vyhledávací nástroj"
+
+#: ../midori/midori-searchaction.c:932
+msgid "_Name:"
+msgstr "_Název:"
+
+#: ../midori/midori-searchaction.c:976
+msgid "_Icon:"
+msgstr "_Ikona:"
+
+#: ../midori/midori-searchaction.c:990
+msgid "_Token:"
+msgstr "_Zkratka:"
+
+#: ../midori/midori-searchaction.c:1195
+msgid "Manage Search Engines"
+msgstr "Upravit vyhledávací nástroje"
+
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "Použít jako _výchozí"
+
+#: ../midori/sokoke.c:162 ../midori/sokoke.c:174
+msgid "Could not run external program."
+msgstr "Nemohu spustit externí program."
+
+#. i18n: A superuser, or system administrator, may not be 'root'
+#: ../midori/sokoke.c:520
+msgid "Warning: You are using a superuser account!"
+msgstr "Varování: jste přihlášen(a) jako superuživatel (root)!"
+
+#: ../midori/sokoke.c:871
+msgid "_Bookmark"
+msgstr "_Záložky"
+
+#: ../midori/sokoke.c:873
+msgid "_Add Bookmark"
+msgstr "_Přidat záložku"
+
+#: ../midori/sokoke.c:874
+msgid "_Console"
+msgstr "_Konzola"
+
+#: ../midori/sokoke.c:875
+msgid "_Extensions"
+msgstr "_Rozšíření"
+
+#: ../midori/sokoke.c:876
+msgid "_History"
+msgstr "_Historie"
+
+#: ../midori/sokoke.c:877
+msgid "_Homepage"
+msgstr "_Domovská stránka"
+
+#: ../midori/sokoke.c:878
+msgid "_Userscripts"
+msgstr "_Uživatelské skripty"
+
+#: ../midori/sokoke.c:879
+msgid "User_styles"
+msgstr "Uživatelské _styly"
+
+#: ../midori/sokoke.c:880
+msgid "New _Tab"
+msgstr "Nová _karta"
+
+#: ../midori/sokoke.c:881
+msgid "_Transfers"
+msgstr "_Přenosy"
+
+#: ../midori/sokoke.c:882
+msgid "Netscape p_lugins"
+msgstr "Netscape p_luginy"
+
+#: ../midori/sokoke.c:883
+msgid "_Closed Tabs and Windows"
+msgstr "Za_vřené karty a okna"
+
+#: ../midori/sokoke.c:884
+msgid "New _Window"
+msgstr "Nové _okno"
+
+#: ../panels/midori-addons.c:95 ../panels/midori-addons.c:141
+msgid "Userscripts"
+msgstr "Uživatelské skripty"
+
+#: ../panels/midori-addons.c:96 ../panels/midori-addons.c:143
+msgid "Userstyles"
+msgstr "Uživatelské styly"
+
+#: ../panels/midori-addons.c:927 ../panels/midori-extensions.c:144
+msgid "_Enable"
+msgstr "_Povolit"
+
+#: ../panels/midori-addons.c:928 ../panels/midori-extensions.c:145
+msgid "Enable"
+msgstr "Povolit"
+
+#: ../panels/midori-addons.c:937 ../panels/midori-extensions.c:154
+msgid "_Disable"
+msgstr "_Zakázat"
+
+#: ../panels/midori-addons.c:938 ../panels/midori-extensions.c:155
+msgid "Disable"
+msgstr "Zakázat"
+
+#: ../panels/midori-bookmarks.c:107
+msgid "Bookmarks"
+msgstr "Záložky"
+
+#: ../panels/midori-bookmarks.c:238
+msgid "Edit the selected bookmark"
+msgstr "Upravit vybranou záložku"
+
+#: ../panels/midori-bookmarks.c:246
+msgid "Delete the selected bookmark"
+msgstr "Smazat vybranou záložku"
+
+#: ../panels/midori-bookmarks.c:591
+msgid "<i>Separator</i>"
+msgstr "<i>Oddělovač</i>"
+
+#: ../panels/midori-console.c:87
+msgid "Console"
+msgstr "Konzola"
+
+#: ../panels/midori-extensions.c:87
+msgid "Extensions"
+msgstr "Rozšíření"
+
+#: ../panels/midori-history.c:162
+msgid "Are you sure you want to remove all history items?"
+msgstr "Opravdu chcete smazat všechny položky historie?"
+
+#: ../panels/midori-history.c:217
+msgid "Bookmark the selected history item"
+msgstr "Zazáložkovat vybranou položku historie"
+
+#: ../panels/midori-history.c:226
+msgid "Delete the selected history item"
+msgstr "Smazat vybranou položku historie"
+
+#: ../panels/midori-history.c:234
+msgid "Clear the entire history"
+msgstr "Smazat celou historii"
+
+#: ../panels/midori-history.c:599
+msgid "A week ago"
+msgstr "Před týdnem"
+
+#: ../panels/midori-history.c:604
+#, c-format
+msgid "%d day ago"
+msgstr "Před %d dny"
+
+#: ../panels/midori-history.c:605
+#, c-format
+msgid "%d days ago"
+msgstr "Před %d dny"
+
+#: ../panels/midori-history.c:612
+msgid "Today"
+msgstr "Dnes"
+
+#: ../panels/midori-history.c:614
+msgid "Yesterday"
+msgstr "Včera"
+
+#: ../panels/midori-plugins.c:87
+msgid "Netscape plugins"
+msgstr "Netscape pluginy"
+
+#: ../panels/midori-transfers.c:256
+#, c-format
+msgid "%s of %s"
+msgstr "%s z %s"
+
+#: ../katze/katze-http-auth.c:97
+msgid "Authentication Required"
+msgstr "Vyžadována autentikace"
+
+#: ../katze/katze-http-auth.c:113
+msgid ""
+"A username and a password are required\n"
+"to open this location:"
+msgstr "Pro otevření je vyžadováno jméno a heslo:"
+
+#: ../katze/katze-http-auth.c:127
+msgid "Username"
+msgstr "Jméno"
+
+#: ../katze/katze-http-auth.c:138
+msgid "Password"
+msgstr "Heslo"
+
+#: ../katze/katze-throbber.c:828
+#, c-format
+msgid "Named icon '%s' couldn't be loaded"
+msgstr "Ikona '%s' nemůže být načtena"
+
+#: ../katze/katze-throbber.c:841
+#, c-format
+msgid "Stock icon '%s' couldn't be loaded"
+msgstr "Uložená ikona '%s' nemůže být načtena"
+
+#: ../katze/katze-throbber.c:907
+msgid "Animation frames are broken"
+msgstr "Snímky animace jsou porušené"
+
+#: ../katze/katze-utils.c:183 ../katze/katze-utils.c:385
+#, c-format
+msgid "Property '%s' is invalid for %s"
+msgstr "Vlastnost '%s' je pro %s neplatná"
+
+#: ../katze/katze-utils.c:215 ../katze/katze-utils.c:244
+msgid "Choose file"
+msgstr "Vybrat soubor"
+
+#: ../katze/katze-utils.c:230
+msgid "Choose folder"
+msgstr "Vybrat adresář"
+
+#: ../extensions/colorful-tabs.c:115
+msgid "Tint tabs distinctly"
+msgstr "Obarvit karty"
+
+#: ../extensions/colorful-tabs.c:151
+msgid "Colorful Tabs"
+msgstr "Obarvené karty"
+
+#: ../extensions/colorful-tabs.c:152
+msgid "Tint each tab distinctly"
+msgstr "Obarvit každou kartu zvlášť"
+
+#: ../extensions/cookie-manager.c:201
+msgid "At the end of the session"
+msgstr "Na konci sezení"
+
+#: ../extensions/cookie-manager.c:204
+#, c-format
+msgid ""
+"<b>Host</b>: %s\n"
+"<b>Name</b>: %s\n"
+"<b>Value</b>: %s\n"
+"<b>Path</b>: %s\n"
+"<b>Secure</b>: %s\n"
+"<b>Expires</b>: %s"
+msgstr ""
+"<b>Počítač</b>: %s\n"
+"<b>Název</b>: %s\n"
+"<b>Hodnota</b>: %s\n"
+"<b>Cesta</b>: %s\n"
+"<b>Zabezpečené</b>: %s\n"
+"<b>Vyprší</b>: %s"
+
+#: ../extensions/cookie-manager.c:210
+msgid "Yes"
+msgstr "Ano"
+
+#: ../extensions/cookie-manager.c:210
+msgid "No"
+msgstr "Ne"
+
+#: ../extensions/cookie-manager.c:493
+msgid "Do you really want to delete all cookies?"
+msgstr "Opravdu chcete smazat všechna cookies?"
+
+#: ../extensions/cookie-manager.c:495
+msgid "Question"
+msgstr "Dotaz"
+
+#: ../extensions/cookie-manager.c:504
+msgid "Only cookies which match the filter will be deleted."
+msgstr "Budou smazána cookies, která odpovídají filtračnímu řetězci."
+
+#: ../extensions/cookie-manager.c:682
+msgid "Name"
+msgstr "Název"
+
+#: ../extensions/cookie-manager.c:742
+msgid "_Expand All"
+msgstr "Rozbalit _vše"
+
+#: ../extensions/cookie-manager.c:750
+msgid "_Collapse All"
+msgstr "_Sbalit vše"
+
+#: ../extensions/cookie-manager.c:823
+msgid ""
+"Deletes all shown cookies. If a filter is set, only those cookies are "
+"deleted which match the filter."
+msgstr ""
+"Smaže všechna zobrazená cookies. Jestliže je zapnut filtr, jsou smazána jen "
+"ta cookies, která odpovídají."
+
+#: ../extensions/cookie-manager.c:838
+msgid "Expand All"
+msgstr "Rozbalit vše"
+
+#: ../extensions/cookie-manager.c:845
+msgid "Collapse All"
+msgstr "Sbalit vše"
+
+#: ../extensions/cookie-manager.c:876
+msgid "Filter:"
+msgstr "Filtr:"
+
+#: ../extensions/cookie-manager.c:881
+msgid ""
+"Enter a filter string to show only cookies whose name or domain field match "
+"the entered filter"
+msgstr ""
+"Vložte řetězec, podle kterého se budou cookies filtrovat. Filtruje se podle "
+"názvu nebo domény"
+
+#: ../extensions/cookie-manager.c:916 ../extensions/cookie-manager.c:964
+msgid "Cookie Manager"
+msgstr "Správce cookies"
+
+#: ../extensions/cookie-manager.c:948
+msgid "_Cookie Manager"
+msgstr "Správce _cookies"
+
+#: ../extensions/cookie-manager.c:965
+msgid "List, view and delete cookies"
+msgstr "Seznam, detaily a mazání cookies"
+
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr "Chyba při hledání vyžadované položky \"entry\" v XML datech."
+
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr "Chyba při hledání vyžadované položky \"feed\" v XML datech."
+
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "Poslední aktualizace: %s."
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "Kanály"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "Přidat nový kanál"
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "Smazat kanál"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "_Kanály"
+
+#: ../extensions/feed-panel/feed-parse.c:175
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "Chyba při hledání kořenového elementu v XML datech."
+
+#: ../extensions/feed-panel/feed-parse.c:215
+#, c-format
+msgid "Unsupported feed format."
+msgstr "Nepodporovaný formát kanálu."
+
+#: ../extensions/feed-panel/feed-parse.c:245
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "Nepodařilo se načíst XML kanál: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr "Nepodařilo se najít element \"channel\" v RSS XML datech."
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "Nepodporovaná verze RSS."
+
+#: ../extensions/feed-panel/feed-rss.c:144
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "Nepodařilo se najít požadovaný element \"item\" v XML datech."
+
+#: ../extensions/feed-panel/feed-rss.c:229
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr "Nepodařilo se najít požadovaný element \"channel\" v XML datech."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "Kanál '%s' byl již přidán"
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "Chyba při načítání kanálu '%s'"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "Nový kanál"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "Panel kanálů"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Čte Atom/RSS kanály"
+
+#: ../extensions/mouse-gestures/main.c:216
+msgid "Mouse Gestures"
+msgstr "Gesta myší"
+
+#: ../extensions/mouse-gestures/main.c:217
+msgid "Control Midori by moving the mouse"
+msgstr "Ovládat Midori pomocí myši"
+
+#. i18n: A panel showing a user specified web page
+#: ../extensions/page-holder.c:129 ../extensions/page-holder.c:177
+msgid "Pageholder"
+msgstr "Uživatelská stránka"
+
+#: ../extensions/page-holder.c:161
+msgid "_Pageholder"
+msgstr "_Uživatelská stránka"
+
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr "Rozšíření stavové lišty"
+
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr "Jednoduše zapíná a vypíná rozšíření webových stránek"
+
+#~ msgid "P_lugins"
+#~ msgstr "P_luginy"
+
+#~ msgid "Plugins"
+#~ msgstr "Pluginy"
index 07421041c51bd5e31ef0c3425ab4c7f86bfae136..add74e6bac921de0e037190caf2c16945fb8145d 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -5,26 +5,26 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: midori 0.1.5\n"
+"Project-Id-Version: midori 0.1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-22 22:19+0100\n"
-"PO-Revision-Date: 2009-03-28 21:59+0100\n"
+"POT-Creation-Date: 2009-04-19 16:44+0200\n"
+"PO-Revision-Date: 2009-05-02 14:35+0100\n"
 "Last-Translator: Per Kongstad <p_kongstad@op.pl>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #: ../data/midori.desktop.in.h:1
 msgid "Lightweight web browser"
-msgstr "Letvægts-webbrowser"
+msgstr "Letvægtig webbrowser"
 
 #: ../data/midori.desktop.in.h:2
-#: ../midori/main.c:1580
-#: ../midori/main.c:1672
-#: ../midori/main.c:1681
-#: ../midori/main.c:1692
-#: ../midori/midori-websettings.c:269
+#: ../midori/main.c:1288
+#: ../midori/main.c:1388
+#: ../midori/main.c:1396
+#: ../midori/main.c:1407
+#: ../midori/midori-websettings.c:273
 msgid "Midori"
 msgstr "Midori"
 
@@ -32,276 +32,325 @@ msgstr "Midori"
 msgid "Web Browser"
 msgstr "Webbrowser"
 
-#: ../midori/main.c:103
+#: ../midori/main.c:94
 #, c-format
 msgid "The configuration couldn't be loaded: %s\n"
 msgstr "Indstillingen kunne ikke indlæses: %s\n"
 
-#: ../midori/main.c:158
+#: ../midori/main.c:149
 #, c-format
 msgid "Value '%s' is invalid for %s"
 msgstr "Værdien '%s' er ikke gyldig til %s"
 
-#: ../midori/main.c:165
-#: ../midori/main.c:235
+#: ../midori/main.c:156
+#: ../midori/main.c:228
 #, c-format
 msgid "Invalid configuration value '%s'"
 msgstr "Ugyldig indstillingsværdi '%s'"
 
-#: ../midori/main.c:477
-msgid "File not found."
-msgstr "Fil blev ikke fundet."
-
-#: ../midori/main.c:485
-#: ../midori/main.c:494
-msgid "Malformed document."
-msgstr "Misdannet dokument."
-
-#: ../midori/main.c:516
+#: ../midori/main.c:332
 #, c-format
 msgid "Failed to open database: %s\n"
 msgstr "Kunne ikke åbne databasen: %s\n"
 
-#: ../midori/main.c:548
+#: ../midori/main.c:364
 #, c-format
 msgid "Failed to execute database statement: %s\n"
 msgstr "Kunne ikke køre databaseudtryk: %s\n"
 
-#: ../midori/main.c:602
+#: ../midori/main.c:418
 #, c-format
 msgid "Failed to remove history item: %s\n"
 msgstr "Kunne ikke fjerne historikelementet: %s\n"
 
-#: ../midori/main.c:626
+#: ../midori/main.c:442
 #, c-format
 msgid "Failed to clear history: %s\n"
 msgstr "Kunne ikke rydde historikken: %s\n"
 
-#: ../midori/main.c:649
-#: ../midori/main.c:683
-#: ../midori/main.c:699
+#: ../midori/main.c:465
+#: ../midori/main.c:499
+#: ../midori/main.c:515
 #, c-format
 msgid "Failed to add history item: %s\n"
 msgstr "Kunne ikke tilføje historikelementet: %s\n"
 
 #. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:879
+#: ../midori/main.c:694
 #, c-format
 msgid "Failed to remove old history items: %s\n"
 msgstr "Kunne ikke fjerne gamle historikelementer: %s\n"
 
-#: ../midori/main.c:907
+#: ../midori/main.c:722
 #, c-format
 msgid "The configuration couldn't be saved. %s"
 msgstr "Indstillingen kunne ikke gemmes. %s"
 
-#: ../midori/main.c:936
+#: ../midori/main.c:751
 #, c-format
 msgid "The search engines couldn't be saved. %s"
 msgstr "Søgemaskinerne kunne ikke gemmes. %s"
 
-#: ../midori/main.c:1066
-#: ../midori/sokoke.c:617
-#, c-format
-msgid "Writing failed."
-msgstr "Skrivning fejlede."
-
-#: ../midori/main.c:1087
-#: ../midori/main.c:1114
-#: ../midori/main.c:1142
+#: ../midori/main.c:770
+#: ../midori/main.c:798
+#: ../midori/main.c:827
 #, c-format
 msgid "The bookmarks couldn't be saved. %s"
 msgstr "Bogmærkerne kunne ikke gemmes. %s"
 
 #. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:1166
-#: ../midori/main.c:1190
+#: ../midori/main.c:850
+#: ../midori/main.c:873
 #, c-format
 msgid "The trash couldn't be saved. %s"
 msgstr "Papirkurven kunne ikke fyldes. %s"
 
-#: ../midori/main.c:1261
+#: ../midori/main.c:946
 #, c-format
 msgid "The session couldn't be saved. %s"
 msgstr "Sessionen kunne ikke gemmes. %s"
 
-#: ../midori/main.c:1377
+#: ../midori/main.c:1073
 msgid "Midori seems to have crashed the last time it was opened. If this happened repeatedly, try one of the following options to solve the problem."
 msgstr "Midori ser ud til at være gået ned efter det var åbnet sidste gang. Hvis dette er sket gentagne gange, foreslås det at prøve de følgende muligheder for at løse problemet."
 
-#: ../midori/main.c:1392
+#: ../midori/main.c:1088
 msgid "Modify _preferences"
 msgstr "Ændre _indstillinger"
 
-#: ../midori/main.c:1396
+#: ../midori/main.c:1092
 msgid "Reset the last _session"
 msgstr "Nulstil den sidste _session"
 
-#: ../midori/main.c:1401
+#: ../midori/main.c:1097
 msgid "Disable all _extensions"
 msgstr "Slå alle _udvidelser fra"
 
-#: ../midori/main.c:1580
+#: ../midori/main.c:1288
 msgid "No filename specified"
 msgstr "Intet filnavn angivet"
 
-#: ../midori/main.c:1603
-#: ../midori/gjs.c:515
+#: ../midori/main.c:1311
 msgid "An unknown error occured."
 msgstr "En ukendt fejl opstod."
 
-#: ../midori/main.c:1626
+#: ../midori/main.c:1336
+msgid "Run ADDRESS as a web application"
+msgstr "Kør ADRESSE som et webprogram"
+
+#: ../midori/main.c:1336
+msgid "ADDRESS"
+msgstr "ADRESSE"
+
+#: ../midori/main.c:1338
+msgid "Use FOLDER as configuration folder"
+msgstr "Brug MAPPE som en indstillingsmappe"
+
+#: ../midori/main.c:1338
+msgid "FOLDER"
+msgstr "MAPPE"
+
+#: ../midori/main.c:1340
 msgid "Run the specified filename as javascript"
 msgstr "Kør det angivne filnavn som javascript"
 
-#: ../midori/main.c:1628
+#: ../midori/main.c:1342
 msgid "Display program version"
 msgstr "Vis programversion"
 
-#: ../midori/main.c:1630
+#: ../midori/main.c:1344
 msgid "Addresses"
 msgstr "Adresser"
 
-#: ../midori/main.c:1669
+#: ../midori/main.c:1385
 msgid "[Addresses]"
 msgstr "[Adresser]"
 
-#: ../midori/main.c:1693
+#: ../midori/main.c:1408
 msgid "Please report comments, suggestions and bugs to:"
 msgstr "Rapportér venligst kommentarer, forslag og fejl til:"
 
-#: ../midori/main.c:1695
+#: ../midori/main.c:1410
 msgid "Check for new versions at:"
 msgstr "Tjek for nye versioner hos:"
 
-#: ../midori/main.c:1722
+#: ../midori/main.c:1454
+msgid "The specified configuration folder is invalid."
+msgstr "Den angivne indstillingsmappe er ikke gyldig."
+
+#: ../midori/main.c:1489
 msgid "An instance of Midori is already running but not responding.\n"
 msgstr "En instans af Midori kører allerede men reagerer ikke.\n"
 
-#: ../midori/main.c:1772
+#: ../midori/main.c:1539
 #, c-format
 msgid "The search engines couldn't be loaded. %s\n"
 msgstr "Søgemaskinerne kunne ikke indlæses. %s\n"
 
-#: ../midori/main.c:1784
+#: ../midori/main.c:1551
 #, c-format
 msgid "The bookmarks couldn't be loaded: %s\n"
 msgstr "Bogmærkerne kunne ikke indlæses: %s\n"
 
-#: ../midori/main.c:1799
+#: ../midori/main.c:1566
 #, c-format
 msgid "The session couldn't be loaded: %s\n"
 msgstr "Sessionen kunne ikke indlæses: %s\n"
 
-#: ../midori/main.c:1812
+#: ../midori/main.c:1579
 #, c-format
 msgid "The trash couldn't be loaded: %s\n"
 msgstr "Papirkurven kunne ikke indlæses: %s\n"
 
-#: ../midori/main.c:1825
+#: ../midori/main.c:1592
 #, c-format
 msgid "The history couldn't be loaded: %s\n"
 msgstr "Historikken kunne ikke indlæses: %s\n"
 
-#: ../midori/main.c:1837
+#: ../midori/main.c:1604
 msgid "The following errors occured:"
 msgstr "De følgende fejl opstod:"
 
-#: ../midori/main.c:1853
+#: ../midori/main.c:1620
 msgid "_Ignore"
 msgstr "_Ignorér"
 
-#: ../midori/midori-browser.c:278
-#: ../midori/midori-browser.c:3262
-#: ../midori/midori-browser.c:3268
+#: ../midori/midori-array.c:195
+msgid "File not found."
+msgstr "Fil blev ikke fundet."
+
+#: ../midori/midori-array.c:203
+#: ../midori/midori-array.c:212
+msgid "Malformed document."
+msgstr "Misdannet dokument."
+
+#: ../midori/midori-array.c:338
+#: ../midori/sokoke.c:625
+#, c-format
+msgid "Writing failed."
+msgstr "Skrivning fejlede."
+
+#: ../midori/midori-browser.c:280
+#: ../midori/midori-browser.c:3368
+#: ../midori/midori-browser.c:3374
 msgid "Reload the current page"
 msgstr "Genindlæs den nuværende side"
 
-#: ../midori/midori-browser.c:289
-#: ../midori/midori-browser.c:3265
+#: ../midori/midori-browser.c:291
+#: ../midori/midori-browser.c:3371
 msgid "Stop loading the current page"
 msgstr "Stop indlæsning af nuværende side"
 
-#: ../midori/midori-browser.c:351
+#: ../midori/midori-browser.c:353
 #, c-format
 msgid "%d%% loaded"
 msgstr "%d%% indlæst"
 
-#: ../midori/midori-browser.c:376
+#: ../midori/midori-browser.c:378
 #, c-format
 msgid "Unexpected action '%s'."
 msgstr "Uventet handling '%s'."
 
-#: ../midori/midori-browser.c:553
+#: ../midori/midori-browser.c:541
 msgid "New folder"
 msgstr "Ny mappe"
 
-#: ../midori/midori-browser.c:553
+#: ../midori/midori-browser.c:541
 msgid "Edit folder"
 msgstr "Redigér mappe"
 
-#: ../midori/midori-browser.c:555
+#: ../midori/midori-browser.c:543
 msgid "New bookmark"
 msgstr "Nyt bogmærke"
 
-#: ../midori/midori-browser.c:555
+#: ../midori/midori-browser.c:543
 msgid "Edit bookmark"
 msgstr "Redigér bogmærke"
 
-#: ../midori/midori-browser.c:585
+#: ../midori/midori-browser.c:573
 msgid "_Title:"
 msgstr "_Titel:"
 
-#: ../midori/midori-browser.c:598
-#: ../midori/midori-searchaction.c:855
+#: ../midori/midori-browser.c:586
+#: ../midori/midori-searchaction.c:948
 msgid "_Description:"
 msgstr "_Beskrivelse:"
 
-#: ../midori/midori-browser.c:617
-#: ../midori/midori-searchaction.c:869
+#: ../midori/midori-browser.c:605
+#: ../midori/midori-searchaction.c:962
 msgid "_Address:"
 msgstr "_Adresse:"
 
-#: ../midori/midori-browser.c:636
+#: ../midori/midori-browser.c:624
 msgid "_Folder:"
 msgstr "_Mappe:"
 
-#: ../midori/midori-browser.c:641
-#: ../midori/midori-browser.c:682
+#: ../midori/midori-browser.c:629
+#: ../midori/midori-browser.c:670
 msgid "Toplevel folder"
 msgstr "Øverste mappe"
 
-#: ../midori/midori-browser.c:762
+#: ../midori/midori-browser.c:746
 msgid "Save file as"
 msgstr "Gem fil som"
 
-#: ../midori/midori-browser.c:1538
+#: ../midori/midori-browser.c:1523
 msgid "Open file"
 msgstr "Åbn fil"
 
-#: ../midori/midori-browser.c:2837
-#: ../panels/midori-bookmarks.c:776
-#: ../panels/midori-history.c:810
+#: ../midori/midori-browser.c:2803
+#: ../panels/midori-bookmarks.c:782
+#: ../panels/midori-history.c:809
 msgid "Open all in _Tabs"
 msgstr "Åbn alt i  _faneblade"
 
-#: ../midori/midori-browser.c:2844
-#: ../panels/midori-bookmarks.c:782
-#: ../panels/midori-history.c:816
+#: ../midori/midori-browser.c:2810
+#: ../panels/midori-bookmarks.c:788
+#: ../panels/midori-history.c:815
 msgid "Open in New _Tab"
 msgstr "Åbn i nyt _faneblad"
 
-#: ../midori/midori-browser.c:2847
-#: ../panels/midori-bookmarks.c:784
-#: ../panels/midori-history.c:818
+#: ../midori/midori-browser.c:2813
+#: ../panels/midori-bookmarks.c:790
+#: ../panels/midori-history.c:817
 msgid "Open in New _Window"
 msgstr "Åbn i nyt _vindue"
 
+#: ../midori/midori-browser.c:2974
+msgid "Clear Private Data"
+msgstr "Ryd private data"
+
+#: ../midori/midori-browser.c:2977
+msgid "_Clear private data"
+msgstr "_Ryd private data"
+
+#: ../midori/midori-browser.c:2990
+msgid "Clear the following data:"
+msgstr "Ryd de følgende data:"
+
+#: ../midori/midori-browser.c:2998
+#: ../midori/midori-preferences.c:640
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "Historik"
+
 #: ../midori/midori-browser.c:3001
+msgid "Cookies"
+msgstr "Cookies"
+
+#: ../midori/midori-browser.c:3004
+msgid "'Flash' Cookies"
+msgstr "'Flash' cookies"
+
+#: ../midori/midori-browser.c:3007
+msgid "Website icons"
+msgstr "Webstedikoner"
+
+#: ../midori/midori-browser.c:3093
 msgid "A lightweight web browser."
 msgstr "En letvægt-webbrowser."
 
-#: ../midori/midori-browser.c:3009
+#: ../midori/midori-browser.c:3101
 msgid "translator-credits"
 msgstr ""
 "Per Kongstad <p_kongstad@op.pl>\n"
@@ -309,934 +358,990 @@ msgstr ""
 "Dansk-gruppen <dansk@dansk-gruppen.dk>\n"
 "Mere info: http://www.dansk-gruppen.dk"
 
-#: ../midori/midori-browser.c:3196
+#: ../midori/midori-browser.c:3302
 msgid "_File"
 msgstr "_Fil"
 
-#: ../midori/midori-browser.c:3199
+#: ../midori/midori-browser.c:3305
 msgid "Open a new window"
 msgstr "Åbn et nyt vindue"
 
-#: ../midori/midori-browser.c:3202
+#: ../midori/midori-browser.c:3308
 msgid "Open a new tab"
 msgstr "Åbn et nyt faneblad"
 
-#: ../midori/midori-browser.c:3205
+#: ../midori/midori-browser.c:3311
 msgid "Open a file"
 msgstr "Åbn en fil"
 
-#: ../midori/midori-browser.c:3208
+#: ../midori/midori-browser.c:3314
 msgid "Save to a file"
 msgstr "Gem til en fil"
 
-#: ../midori/midori-browser.c:3210
+#: ../midori/midori-browser.c:3316
 msgid "_Close Tab"
 msgstr "_Luk faneblad"
 
-#: ../midori/midori-browser.c:3211
+#: ../midori/midori-browser.c:3317
 msgid "Close the current tab"
 msgstr "Luk nuværende faneblad"
 
-#: ../midori/midori-browser.c:3213
+#: ../midori/midori-browser.c:3319
 msgid "C_lose Window"
 msgstr "Lu_k vinduet"
 
-#: ../midori/midori-browser.c:3214
+#: ../midori/midori-browser.c:3320
 msgid "Close this window"
 msgstr "Luk dette vindue"
 
-#: ../midori/midori-browser.c:3217
+#: ../midori/midori-browser.c:3323
 msgid "Print the current page"
 msgstr "Udskriv nuværende side"
 
-#: ../midori/midori-browser.c:3220
+#: ../midori/midori-browser.c:3326
 msgid "Quit the application"
 msgstr "Afslut programmet"
 
-#: ../midori/midori-browser.c:3222
+#: ../midori/midori-browser.c:3328
 msgid "_Edit"
 msgstr "_Redigér"
 
-#: ../midori/midori-browser.c:3225
+#: ../midori/midori-browser.c:3331
 msgid "Cut the selected text"
 msgstr "Udklip markeret tekst"
 
-#: ../midori/midori-browser.c:3228
-#: ../midori/midori-browser.c:3231
+#: ../midori/midori-browser.c:3334
+#: ../midori/midori-browser.c:3337
 msgid "Copy the selected text"
 msgstr "Kopiér markeret tekst"
 
-#: ../midori/midori-browser.c:3234
+#: ../midori/midori-browser.c:3340
 msgid "Paste text from the clipboard"
 msgstr "Indsæt tekst fra klippebordet"
 
-#: ../midori/midori-browser.c:3237
+#: ../midori/midori-browser.c:3343
 msgid "Delete the selected text"
 msgstr "Slet markeret tekst"
 
-#: ../midori/midori-browser.c:3240
+#: ../midori/midori-browser.c:3346
 msgid "Select all text"
 msgstr "Markér hele teksten"
 
-#: ../midori/midori-browser.c:3243
+#: ../midori/midori-browser.c:3349
 msgid "Find a word or phrase in the page"
 msgstr "Find et ord eller sætning på siden"
 
-#: ../midori/midori-browser.c:3245
+#: ../midori/midori-browser.c:3351
 msgid "Find _Next"
 msgstr "Find _næste"
 
-#: ../midori/midori-browser.c:3246
+#: ../midori/midori-browser.c:3352
 msgid "Find the next occurrence of a word or phrase"
 msgstr "Find næste forekomst af et ord eller sætning"
 
-#: ../midori/midori-browser.c:3248
+#: ../midori/midori-browser.c:3354
 msgid "Find _Previous"
 msgstr "Find _forrige"
 
-#: ../midori/midori-browser.c:3249
+#: ../midori/midori-browser.c:3355
 msgid "Find the previous occurrence of a word or phrase"
 msgstr "Find forrige forekomst af et ord eller sætning"
 
-#: ../midori/midori-browser.c:3252
+#: ../midori/midori-browser.c:3358
 msgid "_Quick Find"
 msgstr "_Find hurtigt"
 
-#: ../midori/midori-browser.c:3253
+#: ../midori/midori-browser.c:3359
 msgid "Quickly jump to a word or phrase"
 msgstr "Hop hurtigt til et ord eller sætning"
 
-#: ../midori/midori-browser.c:3256
+#: ../midori/midori-browser.c:3362
 msgid "Configure the application preferences"
 msgstr "Indstil programindstillingerne"
 
-#: ../midori/midori-browser.c:3258
+#: ../midori/midori-browser.c:3364
 msgid "_View"
 msgstr "_Vis"
 
-#: ../midori/midori-browser.c:3259
+#: ../midori/midori-browser.c:3365
 msgid "_Toolbars"
 msgstr "_Værktøjsbjælker"
 
-#: ../midori/midori-browser.c:3271
+#: ../midori/midori-browser.c:3377
 msgid "Increase the zoom level"
 msgstr "Forøg forstørrelsesniveauet"
 
-#: ../midori/midori-browser.c:3274
+#: ../midori/midori-browser.c:3380
 msgid "Decrease the zoom level"
 msgstr "Formindsk forstørrelsesniveauet"
 
-#: ../midori/midori-browser.c:3277
+#: ../midori/midori-browser.c:3383
 msgid "Reset the zoom level"
 msgstr "Nulstil forstørrelsesniveauet"
 
-#: ../midori/midori-browser.c:3278
+#: ../midori/midori-browser.c:3384
 msgid "_Encoding"
 msgstr "_Kodning"
 
-#: ../midori/midori-browser.c:3280
+#: ../midori/midori-browser.c:3386
 msgid "_Automatic"
 msgstr "_Automatisk"
 
-#: ../midori/midori-browser.c:3283
-#: ../midori/midori-websettings.c:196
+#: ../midori/midori-browser.c:3389
+#: ../midori/midori-websettings.c:200
 msgid "Chinese (BIG5)"
 msgstr "Kinesisk (BIG5)"
 
-#: ../midori/midori-browser.c:3286
-#: ../midori/midori-websettings.c:197
+#: ../midori/midori-browser.c:3392
+#: ../midori/midori-websettings.c:201
 msgid "Japanese (SHIFT_JIS)"
 msgstr "Japansk (SHIFT_JIS)"
 
-#: ../midori/midori-browser.c:3289
-#: ../midori/midori-websettings.c:198
+#: ../midori/midori-browser.c:3395
+#: ../midori/midori-websettings.c:202
 msgid "Russian (KOI8-R)"
 msgstr "Russisk (KOI8-R)"
 
-#: ../midori/midori-browser.c:3292
-#: ../midori/midori-websettings.c:199
+#: ../midori/midori-browser.c:3398
+#: ../midori/midori-websettings.c:203
 msgid "Unicode (UTF-8)"
 msgstr "Unicode (UTF-8)"
 
-#: ../midori/midori-browser.c:3295
-#: ../midori/midori-websettings.c:200
+#: ../midori/midori-browser.c:3401
+#: ../midori/midori-websettings.c:204
 msgid "Western (ISO-8859-1)"
 msgstr "Vestlig (ISO-8859-1)"
 
-#: ../midori/midori-browser.c:3298
-#: ../midori/midori-websettings.c:201
-#: ../midori/midori-websettings.c:273
+#: ../midori/midori-browser.c:3404
+#: ../midori/midori-websettings.c:205
+#: ../midori/midori-websettings.c:277
 msgid "Custom..."
 msgstr "Tilpasset..."
 
-#: ../midori/midori-browser.c:3301
-#: ../midori/midori-view.c:1111
+#: ../midori/midori-browser.c:3407
+#: ../midori/midori-view.c:1138
 msgid "View _Source"
 msgstr "Vis _kilde"
 
-#: ../midori/midori-browser.c:3302
+#: ../midori/midori-browser.c:3408
 msgid "View the source code of the page"
 msgstr "Vis kildekode for siden"
 
-#: ../midori/midori-browser.c:3304
+#: ../midori/midori-browser.c:3410
 msgid "View Selection Source"
 msgstr "Vis kilde for markerede"
 
-#: ../midori/midori-browser.c:3305
+#: ../midori/midori-browser.c:3411
 msgid "View the source code of the selection"
 msgstr "Vis kildekode for markering"
 
-#: ../midori/midori-browser.c:3309
+#: ../midori/midori-browser.c:3415
 msgid "Toggle fullscreen view"
 msgstr "Slå fuldskærmstilstande til/fra"
 
-#: ../midori/midori-browser.c:3311
+#: ../midori/midori-browser.c:3417
 msgid "_Go"
 msgstr "_Gå til"
 
-#: ../midori/midori-browser.c:3314
+#: ../midori/midori-browser.c:3420
 msgid "Go back to the previous page"
 msgstr "Gå til forrige side"
 
-#: ../midori/midori-browser.c:3317
+#: ../midori/midori-browser.c:3423
 msgid "Go forward to the next page"
 msgstr "Gå til næste side"
 
-#: ../midori/midori-browser.c:3320
+#: ../midori/midori-browser.c:3426
 msgid "Go to your homepage"
 msgstr "Gå til din hjemmeside"
 
-#: ../midori/midori-browser.c:3322
+#: ../midori/midori-browser.c:3428
 msgid "Empty Trash"
 msgstr "Tøm papirkurven"
 
-#: ../midori/midori-browser.c:3323
+#: ../midori/midori-browser.c:3429
 msgid "Delete the contents of the trash"
 msgstr "Slet indhold af papirkurven"
 
-#: ../midori/midori-browser.c:3325
-#: ../midori/midori-view.c:1083
+#: ../midori/midori-browser.c:3431
+#: ../midori/midori-view.c:1110
 msgid "Undo Close Tab"
 msgstr "Fortryd luk faneblad"
 
-#: ../midori/midori-browser.c:3326
+#: ../midori/midori-browser.c:3432
 msgid "Open the last closed tab"
 msgstr "Åbn sidste lukkede faneblad"
 
-#: ../midori/midori-browser.c:3330
-#: ../panels/midori-bookmarks.c:228
+#: ../midori/midori-browser.c:3436
+#: ../panels/midori-bookmarks.c:232
 msgid "Add a new bookmark"
 msgstr "Tilføj et nyt bogmærke"
 
-#: ../midori/midori-browser.c:3331
+#: ../midori/midori-browser.c:3438
+#: ../panels/midori-bookmarks.c:261
+msgid "Add a new folder"
+msgstr "Tilføj en ny mappe"
+
+#: ../midori/midori-browser.c:3439
+msgid "Add a new bookmark folder"
+msgstr "Tilføj en ny bogmærkemappe"
+
+#: ../midori/midori-browser.c:3440
 msgid "_Tools"
 msgstr "Værk_tøjer"
 
-#: ../midori/midori-browser.c:3333
-#: ../midori/midori-searchaction.c:464
+#: ../midori/midori-browser.c:3442
+#: ../midori/midori-searchaction.c:493
 msgid "_Manage Search Engines"
 msgstr "_Håndtér søgemaskiner"
 
-#: ../midori/midori-browser.c:3334
+#: ../midori/midori-browser.c:3443
 msgid "Add, edit and remove search engines..."
 msgstr "Tilføj, redigér og fjern søgemaskiner..."
 
-#: ../midori/midori-browser.c:3338
+#: ../midori/midori-browser.c:3446
+msgid "_Clear Private Data"
+msgstr "_Ryd private data"
+
+#: ../midori/midori-browser.c:3447
+msgid "Clear private data..."
+msgstr "Ryd private data..."
+
+#: ../midori/midori-browser.c:3451
 msgid "_Previous Tab"
 msgstr "_Forrige faneblad"
 
-#: ../midori/midori-browser.c:3339
+#: ../midori/midori-browser.c:3452
 msgid "Switch to the previous tab"
 msgstr "Skift til det forrige faneblad"
 
-#: ../midori/midori-browser.c:3341
+#: ../midori/midori-browser.c:3454
 msgid "_Next Tab"
 msgstr "_Næste faneblad"
 
-#: ../midori/midori-browser.c:3342
+#: ../midori/midori-browser.c:3455
 msgid "Switch to the next tab"
 msgstr "Skift til det næste faneblad"
 
-#: ../midori/midori-browser.c:3344
+#: ../midori/midori-browser.c:3457
 msgid "_Help"
 msgstr "_Hjælp"
 
-#: ../midori/midori-browser.c:3346
+#: ../midori/midori-browser.c:3459
 msgid "_Contents"
 msgstr "_Indhold"
 
-#: ../midori/midori-browser.c:3347
+#: ../midori/midori-browser.c:3460
 msgid "Show the documentation"
 msgstr "Vis dokumentationen"
 
-#: ../midori/midori-browser.c:3349
+#: ../midori/midori-browser.c:3462
 msgid "_Frequent Questions"
 msgstr "_Ofte stillede spørgsmål"
 
-#: ../midori/midori-browser.c:3350
+#: ../midori/midori-browser.c:3463
 msgid "Show the Frequently Asked Questions"
 msgstr "Vis ofte stillede spørgsmål"
 
-#: ../midori/midori-browser.c:3352
+#: ../midori/midori-browser.c:3465
 msgid "_Report a Bug"
 msgstr "_Rapportér en fejl"
 
-#: ../midori/midori-browser.c:3353
+#: ../midori/midori-browser.c:3466
 msgid "Open Midori's bug tracker"
 msgstr "Åbn Midoris fejlsystem"
 
-#: ../midori/midori-browser.c:3356
+#: ../midori/midori-browser.c:3469
 msgid "Show information about the program"
 msgstr "Vis information om dette program"
 
-#: ../midori/midori-browser.c:3363
+#: ../midori/midori-browser.c:3476
 msgid "P_rivate Browsing"
 msgstr "P_rivat browsing"
 
-#: ../midori/midori-browser.c:3364
+#: ../midori/midori-browser.c:3477
 msgid "Don't save any private data while browsing"
 msgstr "Undlad at gemme private data under browsing"
 
-#: ../midori/midori-browser.c:3369
+#: ../midori/midori-browser.c:3482
 msgid "_Menubar"
 msgstr "_Menubjælke"
 
-#: ../midori/midori-browser.c:3370
+#: ../midori/midori-browser.c:3483
 msgid "Show menubar"
 msgstr "Vis menubjælke"
 
-#: ../midori/midori-browser.c:3373
+#: ../midori/midori-browser.c:3486
 msgid "_Navigationbar"
 msgstr "_Navigeringsbjælke"
 
-#: ../midori/midori-browser.c:3374
+#: ../midori/midori-browser.c:3487
 msgid "Show navigationbar"
 msgstr "Vis navigeringsbjælke"
 
-#: ../midori/midori-browser.c:3377
+#: ../midori/midori-browser.c:3490
 msgid "Side_panel"
 msgstr "Side_panel"
 
-#: ../midori/midori-browser.c:3378
+#: ../midori/midori-browser.c:3491
 msgid "Show sidepanel"
 msgstr "Vis sidepanel"
 
-#: ../midori/midori-browser.c:3381
+#: ../midori/midori-browser.c:3494
 msgid "_Bookmarkbar"
 msgstr "_Bogmærkebjælke"
 
-#: ../midori/midori-browser.c:3382
+#: ../midori/midori-browser.c:3495
 msgid "Show bookmarkbar"
 msgstr "Vis bogmærkebjælke"
 
-#: ../midori/midori-browser.c:3385
+#: ../midori/midori-browser.c:3498
 msgid "_Transferbar"
 msgstr "_Overførselsstatus"
 
-#: ../midori/midori-browser.c:3386
+#: ../midori/midori-browser.c:3499
 msgid "Show transferbar"
 msgstr "Vis overførselsstatus"
 
-#: ../midori/midori-browser.c:3389
+#: ../midori/midori-browser.c:3502
 msgid "_Statusbar"
 msgstr "_Statusbjælke"
 
-#: ../midori/midori-browser.c:3390
+#: ../midori/midori-browser.c:3503
 msgid "Show statusbar"
 msgstr "Vis statusbjælke"
 
-#: ../midori/midori-browser.c:3821
+#: ../midori/midori-browser.c:3937
 msgid "_Separator"
 msgstr "_Separator"
 
-#: ../midori/midori-browser.c:3828
+#: ../midori/midori-browser.c:3944
 msgid "_Location..."
 msgstr "_Sted..."
 
-#: ../midori/midori-browser.c:3830
+#: ../midori/midori-browser.c:3946
 msgid "Open a particular location"
 msgstr "Åbn et særligt sted"
 
-#: ../midori/midori-browser.c:3854
+#: ../midori/midori-browser.c:3970
 msgid "_Web Search..."
 msgstr "_Websøgning..."
 
-#: ../midori/midori-browser.c:3856
+#: ../midori/midori-browser.c:3972
 msgid "Run a web search"
 msgstr "Kør en websøgnig"
 
-#: ../midori/midori-browser.c:3875
+#: ../midori/midori-browser.c:3993
 msgid "Reopen a previously closed tab or window"
 msgstr "Genåbn et tidligere lukket faneblad eller vindue"
 
-#: ../midori/midori-browser.c:3888
+#: ../midori/midori-browser.c:4006
 msgid "_Recently visited pages"
 msgstr "_Nyligt besøgte sider"
 
-#: ../midori/midori-browser.c:3890
+#: ../midori/midori-browser.c:4008
 msgid "Reopen pages that you visited earlier"
 msgstr "Genåbn sider som du tidligere har besøgt"
 
-#: ../midori/midori-browser.c:3903
-#: ../midori/sokoke.c:772
+#: ../midori/midori-browser.c:4021
+#: ../midori/sokoke.c:781
 msgid "_Bookmarks"
 msgstr "_Bogmærker"
 
-#: ../midori/midori-browser.c:3905
+#: ../midori/midori-browser.c:4023
 msgid "Show the saved bookmarks"
 msgstr "Vis de gemte bogmærker"
 
-#: ../midori/midori-browser.c:3918
+#: ../midori/midori-browser.c:4036
 msgid "_Window"
 msgstr "Vin_due"
 
-#: ../midori/midori-browser.c:3920
+#: ../midori/midori-browser.c:4038
 msgid "Show a list of all open tabs"
 msgstr "Vis en liste med alle åbne faneblade"
 
 #. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:4085
+#: ../midori/midori-browser.c:4205
 msgid "_Inline Find:"
 msgstr "_Indlejret søgning:"
 
-#: ../midori/midori-browser.c:4110
+#: ../midori/midori-browser.c:4230
 msgid "Previous"
 msgstr "Forrige"
 
-#: ../midori/midori-browser.c:4115
+#: ../midori/midori-browser.c:4235
 msgid "Next"
 msgstr "Næste"
 
-#: ../midori/midori-browser.c:4120
+#: ../midori/midori-browser.c:4240
 msgid "Match Case"
 msgstr "Versalfølsom"
 
-#: ../midori/midori-browser.c:4128
+#: ../midori/midori-browser.c:4248
 msgid "Highlight Matches"
 msgstr "Fremhæv fundne"
 
-#: ../midori/midori-browser.c:4138
+#: ../midori/midori-browser.c:4258
 msgid "Close Findbar"
 msgstr "Luk søgebjælke"
 
-#: ../midori/midori-browser.c:4444
+#: ../midori/midori-browser.c:4598
 #, c-format
 msgid "Unexpected setting '%s'"
 msgstr "Uventet indstilling '%s'"
 
-#: ../midori/midori-panel.c:229
-#: ../midori/midori-websettings.c:511
+#: ../midori/midori-panel.c:309
+msgid "Detach chosen panel from the window"
+msgstr "Frigør valgte panel fra vinduet"
+
+#: ../midori/midori-panel.c:311
+msgid "Whether to detach the chosen panel from the window"
+msgstr "Om det valgte panel skal frigøres fra vinduet"
+
+#: ../midori/midori-panel.c:321
+#: ../midori/midori-websettings.c:531
 msgid "Align sidepanel on the right"
 msgstr "Opstil sidepanel til højre"
 
-#: ../midori/midori-panel.c:231
-#: ../midori/midori-websettings.c:512
+#: ../midori/midori-panel.c:323
+#: ../midori/midori-websettings.c:532
 msgid "Whether to align the sidepanel on the right"
 msgstr "Om sidepanelet skal være opstilles til højre"
 
-#: ../midori/midori-panel.c:241
-#: ../midori/midori-panel.c:242
+#: ../midori/midori-panel.c:333
+#: ../midori/midori-panel.c:334
 msgid "Close panel"
 msgstr "Luk panel"
 
-#: ../midori/midori-websettings.c:179
-#: ../midori/midori-view.c:1888
+#: ../midori/midori-websettings.c:183
+#: ../midori/midori-view.c:1949
 msgid "Blank page"
 msgstr "Blank side"
 
-#: ../midori/midori-websettings.c:180
-#: ../midori/midori-websettings.c:531
+#: ../midori/midori-websettings.c:184
+#: ../midori/midori-websettings.c:551
 msgid "Homepage"
 msgstr "Hjemmeside"
 
-#: ../midori/midori-websettings.c:181
+#: ../midori/midori-websettings.c:185
 msgid "Last open pages"
 msgstr "Sidste åbne sider"
 
-#: ../midori/midori-websettings.c:216
+#: ../midori/midori-websettings.c:220
 msgid "New tab"
 msgstr "Nyt faneblad"
 
-#: ../midori/midori-websettings.c:217
+#: ../midori/midori-websettings.c:221
 msgid "New window"
 msgstr "Nyt vindue"
 
-#: ../midori/midori-websettings.c:218
+#: ../midori/midori-websettings.c:222
 msgid "Current tab"
 msgstr "Nuværende faneblad"
 
-#: ../midori/midori-websettings.c:233
+#: ../midori/midori-websettings.c:237
 msgid "Default"
 msgstr "Standard"
 
-#: ../midori/midori-websettings.c:234
+#: ../midori/midori-websettings.c:238
 msgid "Icons"
 msgstr "Ikoner"
 
-#: ../midori/midori-websettings.c:235
+#: ../midori/midori-websettings.c:239
 msgid "Text"
 msgstr "Tekst"
 
-#: ../midori/midori-websettings.c:236
+#: ../midori/midori-websettings.c:240
 msgid "Both"
 msgstr "Begge"
 
-#: ../midori/midori-websettings.c:237
+#: ../midori/midori-websettings.c:241
 msgid "Both horizontal"
 msgstr "Begge vandrette"
 
-#: ../midori/midori-websettings.c:252
+#: ../midori/midori-websettings.c:256
 msgid "All cookies"
 msgstr "Alle cookies"
 
-#: ../midori/midori-websettings.c:253
+#: ../midori/midori-websettings.c:257
 msgid "Session cookies"
 msgstr "Session-cookies"
 
-#: ../midori/midori-websettings.c:254
+#: ../midori/midori-websettings.c:258
 #: ../panels/midori-addons.c:94
 msgid "None"
 msgstr "Ingen"
 
-#: ../midori/midori-websettings.c:270
+#: ../midori/midori-websettings.c:274
 msgid "Safari"
 msgstr "Safari"
 
-#: ../midori/midori-websettings.c:271
+#: ../midori/midori-websettings.c:275
 msgid "Firefox"
 msgstr "Firefox"
 
-#: ../midori/midori-websettings.c:272
+#: ../midori/midori-websettings.c:276
 msgid "Internet Explorer"
 msgstr "Internet Explorer"
 
-#: ../midori/midori-websettings.c:325
+#: ../midori/midori-websettings.c:329
 msgid "Remember last window size"
 msgstr "Husk sidste vinduesstørrelse"
 
-#: ../midori/midori-websettings.c:326
+#: ../midori/midori-websettings.c:330
 msgid "Whether to save the last window size"
 msgstr "Skal sidste vinduesstørrelse gemmes"
 
-#: ../midori/midori-websettings.c:334
+#: ../midori/midori-websettings.c:338
 msgid "Last window width"
 msgstr "Sidste vinduesbredde"
 
-#: ../midori/midori-websettings.c:335
+#: ../midori/midori-websettings.c:339
 msgid "The last saved window width"
 msgstr "Sidste gemte vinduesbredde"
 
-#: ../midori/midori-websettings.c:343
+#: ../midori/midori-websettings.c:347
 msgid "Last window height"
 msgstr "Sidste vindueshøjde"
 
-#: ../midori/midori-websettings.c:344
+#: ../midori/midori-websettings.c:348
 msgid "The last saved window height"
 msgstr "Sidste gemte vindueshøjde"
 
-#: ../midori/midori-websettings.c:369
+#: ../midori/midori-websettings.c:373
 msgid "Last panel position"
 msgstr "Sidste panelplacering"
 
-#: ../midori/midori-websettings.c:370
+#: ../midori/midori-websettings.c:374
 msgid "The last saved panel position"
 msgstr "Sidste gemte panelplacering"
 
 #. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:379
+#: ../midori/midori-websettings.c:383
 msgid "Last panel page"
 msgstr "Sidste panelside"
 
-#: ../midori/midori-websettings.c:380
+#: ../midori/midori-websettings.c:384
 msgid "The last saved panel page"
 msgstr "Sidste gemte panelside"
 
-#: ../midori/midori-websettings.c:388
+#: ../midori/midori-websettings.c:392
 msgid "Last Web search"
 msgstr "Sidste websøgning"
 
-#: ../midori/midori-websettings.c:389
+#: ../midori/midori-websettings.c:393
 msgid "The last saved Web search"
 msgstr "Den sidste gemte websøgning"
 
-#: ../midori/midori-websettings.c:398
+#: ../midori/midori-websettings.c:402
 msgid "Show Menubar"
 msgstr "Vis menubjælke"
 
-#: ../midori/midori-websettings.c:399
+#: ../midori/midori-websettings.c:403
 msgid "Whether to show the menubar"
 msgstr "Om menubjælke vises"
 
-#: ../midori/midori-websettings.c:407
+#: ../midori/midori-websettings.c:411
 msgid "Show Navigationbar"
 msgstr "Vis navigeringsbjælke"
 
-#: ../midori/midori-websettings.c:408
+#: ../midori/midori-websettings.c:412
 msgid "Whether to show the navigationbar"
 msgstr "Om navigeringsbjælke vises"
 
-#: ../midori/midori-websettings.c:416
+#: ../midori/midori-websettings.c:420
 msgid "Show Bookmarkbar"
 msgstr "Vis bogmærkebjælke"
 
-#: ../midori/midori-websettings.c:417
+#: ../midori/midori-websettings.c:421
 msgid "Whether to show the bookmarkbar"
 msgstr "Om bogmærkebjælke vises"
 
-#: ../midori/midori-websettings.c:425
+#: ../midori/midori-websettings.c:429
 msgid "Show Panel"
 msgstr "Vis panel"
 
-#: ../midori/midori-websettings.c:426
+#: ../midori/midori-websettings.c:430
 msgid "Whether to show the panel"
 msgstr "Om panel vises"
 
-#: ../midori/midori-websettings.c:441
+#: ../midori/midori-websettings.c:445
 msgid "Show Transferbar"
 msgstr "Vis overførselsstatus"
 
-#: ../midori/midori-websettings.c:442
+#: ../midori/midori-websettings.c:446
 msgid "Whether to show the transferbar"
 msgstr "Om overførselsstatus skal vises"
 
-#: ../midori/midori-websettings.c:450
+#: ../midori/midori-websettings.c:454
 msgid "Show Statusbar"
 msgstr "Vis statusbjælke"
 
-#: ../midori/midori-websettings.c:451
+#: ../midori/midori-websettings.c:455
 msgid "Whether to show the statusbar"
 msgstr "Om statusbjælke vises"
 
-#: ../midori/midori-websettings.c:460
+#: ../midori/midori-websettings.c:464
 msgid "Toolbar Style"
 msgstr "Værktøjsbjælkestil"
 
-#: ../midori/midori-websettings.c:461
+#: ../midori/midori-websettings.c:465
 msgid "The style of the toolbar"
 msgstr "Stilen for værktøjsbjælke"
 
-#: ../midori/midori-websettings.c:477
+#: ../midori/midori-websettings.c:481
 msgid "Show progress in location entry"
 msgstr "Vis fremgang i placeringindgang"
 
-#: ../midori/midori-websettings.c:478
+#: ../midori/midori-websettings.c:482
 msgid "Whether to show loading progress in the location entry"
 msgstr "Om visning af indlæsningsfremgang i placeringsindgang"
 
-#: ../midori/midori-websettings.c:486
+#: ../midori/midori-websettings.c:497
+msgid "Search engines in location completion"
+msgstr "Vis søgemaskiner i adresseudfyldelse"
+
+#: ../midori/midori-websettings.c:498
+msgid "Whether to show search engines in the location completion"
+msgstr "Om søgemaskiner skal vises i adresseudfyldelsen"
+
+#: ../midori/midori-websettings.c:506
 msgid "Toolbar Items"
 msgstr "Værktøjsbjælkes elementer"
 
-#: ../midori/midori-websettings.c:487
+#: ../midori/midori-websettings.c:507
 msgid "The items to show on the toolbar"
 msgstr "Elementer der vises på værktøjsbjælken"
 
-#: ../midori/midori-websettings.c:495
+#: ../midori/midori-websettings.c:515
 msgid "Compact Sidepanel"
 msgstr "Kompakt sidepanel"
 
-#: ../midori/midori-websettings.c:496
+#: ../midori/midori-websettings.c:516
 msgid "Whether to make the sidepanel compact"
 msgstr "Om sidepanelet skal være kompakt"
 
-#: ../midori/midori-websettings.c:521
+#: ../midori/midori-websettings.c:541
 msgid "Load on Startup"
 msgstr "Indlæs ved opstart"
 
-#: ../midori/midori-websettings.c:522
+#: ../midori/midori-websettings.c:542
 msgid "What to load on startup"
 msgstr "Hvad der skal indlæses under opstart"
 
-#: ../midori/midori-websettings.c:532
+#: ../midori/midori-websettings.c:552
 msgid "The homepage"
 msgstr "Hjemmesiden"
 
-#: ../midori/midori-websettings.c:547
+#: ../midori/midori-websettings.c:567
 msgid "Show crash dialog"
 msgstr "Vis nedbrudsdialog"
 
-#: ../midori/midori-websettings.c:548
+#: ../midori/midori-websettings.c:568
 msgid "Show a dialog after Midori crashed"
 msgstr "Vis en dialog efter nedbrud af Midori"
 
-#: ../midori/midori-websettings.c:556
+#: ../midori/midori-websettings.c:576
 msgid "Download Folder"
 msgstr "Nedhentning-mappen"
 
-#: ../midori/midori-websettings.c:557
+#: ../midori/midori-websettings.c:577
 msgid "The folder downloaded files are saved to"
 msgstr "Mappen hvor nedhentede filer skal gemmes"
 
-#: ../midori/midori-websettings.c:569
+#: ../midori/midori-websettings.c:589
 msgid "Download Manager"
 msgstr "Håndtering af hentning"
 
-#: ../midori/midori-websettings.c:570
+#: ../midori/midori-websettings.c:590
 msgid "An external download manager"
 msgstr "En ekstern håndtering for nedhentning"
 
-#: ../midori/midori-websettings.c:578
+#: ../midori/midori-websettings.c:598
 msgid "Text Editor"
 msgstr "Tekstbehandler"
 
-#: ../midori/midori-websettings.c:579
+#: ../midori/midori-websettings.c:599
 msgid "An external text editor"
 msgstr "En ekstern tekstbehandler"
 
-#: ../midori/midori-websettings.c:587
+#: ../midori/midori-websettings.c:614
+msgid "News Aggregator"
+msgstr "Nyhedssamler"
+
+#: ../midori/midori-websettings.c:615
+msgid "An external news aggregator"
+msgstr "En ekstern nyhedssamler"
+
+#: ../midori/midori-websettings.c:623
 msgid "Location entry Search"
 msgstr "Søg for stedindgang"
 
-#: ../midori/midori-websettings.c:588
+#: ../midori/midori-websettings.c:624
 msgid "The search to perform inside the location entry"
 msgstr "Søgningen som skal foretages i placeringsindgang"
 
-#: ../midori/midori-websettings.c:596
+#: ../midori/midori-websettings.c:632
 msgid "Preferred Encoding"
 msgstr "Foretrukne tegnsæt"
 
-#: ../midori/midori-websettings.c:597
+#: ../midori/midori-websettings.c:633
 msgid "The preferred character encoding"
 msgstr "Foretrukne tegnsæt"
 
-#: ../midori/midori-websettings.c:607
+#: ../midori/midori-websettings.c:643
 msgid "Always Show Tabbar"
 msgstr "Vis altid fanebladsbjælke"
 
-#: ../midori/midori-websettings.c:608
+#: ../midori/midori-websettings.c:644
 msgid "Always show the tabbar"
 msgstr "Vis altid fanebladsbjælken"
 
-#: ../midori/midori-websettings.c:616
+#: ../midori/midori-websettings.c:652
 msgid "Close Buttons on Tabs"
 msgstr "Lukkeknapper på faneblade"
 
-#: ../midori/midori-websettings.c:617
+#: ../midori/midori-websettings.c:653
 msgid "Whether tabs have close buttons"
 msgstr "Om faneblade har lukkeknapper"
 
-#: ../midori/midori-websettings.c:625
+#: ../midori/midori-websettings.c:661
 msgid "Open new pages in"
 msgstr "Åbn nye vinduer i"
 
-#: ../midori/midori-websettings.c:626
+#: ../midori/midori-websettings.c:662
 msgid "Where to open new pages"
 msgstr "Hvor skal nye sider åbnes"
 
-#: ../midori/midori-websettings.c:635
+#: ../midori/midori-websettings.c:671
 msgid "Open external pages in"
 msgstr "Åbn eksterne sider i"
 
-#: ../midori/midori-websettings.c:636
+#: ../midori/midori-websettings.c:672
 msgid "Where to open externally opened pages"
 msgstr "Hvor skal eksterne sider åbnes"
 
-#: ../midori/midori-websettings.c:649
+#: ../midori/midori-websettings.c:685
 msgid "Middle click opens Selection"
 msgstr "Midterklik åbner for markering"
 
-#: ../midori/midori-websettings.c:650
+#: ../midori/midori-websettings.c:686
 msgid "Load an address from the selection via middle click"
 msgstr "Indlæs en adresse fra markeringen med midterklik"
 
-#: ../midori/midori-websettings.c:658
+#: ../midori/midori-websettings.c:694
 msgid "Open tabs in the background"
 msgstr "Åbn faneblade i baggrunden"
 
-#: ../midori/midori-websettings.c:659
+#: ../midori/midori-websettings.c:695
 msgid "Whether to open new tabs in the background"
 msgstr "Om nye faneblade skal åbnes i baggrunden"
 
-#: ../midori/midori-websettings.c:667
+#: ../midori/midori-websettings.c:703
 msgid "Open Tabs next to Current"
 msgstr "Åbn faneblad ved siden af nuværende"
 
-#: ../midori/midori-websettings.c:668
+#: ../midori/midori-websettings.c:704
 msgid "Whether to open new tabs next to the current tab or after the last one"
 msgstr "Om åbning af faneblade skal ske ved siden af nuværende eller efter sidste faneblad"
 
-#: ../midori/midori-websettings.c:676
+#: ../midori/midori-websettings.c:712
 msgid "Open popups in tabs"
 msgstr "Åbn pop op i faneblade"
 
-#: ../midori/midori-websettings.c:677
+#: ../midori/midori-websettings.c:713
 msgid "Whether to open popup windows in tabs"
 msgstr "Om pop op-vinduer skal åbnes i faneblade"
 
-#: ../midori/midori-websettings.c:693
+#: ../midori/midori-websettings.c:729
 msgid "Zoom Text and Images"
 msgstr "Zoom tekst og billeder"
 
-#: ../midori/midori-websettings.c:694
+#: ../midori/midori-websettings.c:730
 msgid "Whether to zoom text and images"
 msgstr "Om zoom af tekst og billeder"
 
-#: ../midori/midori-websettings.c:709
+#: ../midori/midori-websettings.c:745
 msgid "Find inline while typing"
 msgstr "Find indlejret mens du taster"
 
-#: ../midori/midori-websettings.c:710
+#: ../midori/midori-websettings.c:746
 msgid "Whether to automatically find inline while typing"
 msgstr "Om indlejret skal findes automatisk, mens du taster"
 
-#: ../midori/midori-websettings.c:718
+#: ../midori/midori-websettings.c:754
 msgid "Accept cookies"
 msgstr "Tillad cookies"
 
-#: ../midori/midori-websettings.c:719
+#: ../midori/midori-websettings.c:755
 msgid "What type of cookies to accept"
 msgstr "Hvilke typer af cookes skal tillades"
 
-#: ../midori/midori-websettings.c:728
+#: ../midori/midori-websettings.c:764
 msgid "Original cookies only"
 msgstr "Kun for originale cookies"
 
-#: ../midori/midori-websettings.c:729
+#: ../midori/midori-websettings.c:765
 msgid "Accept cookies from the original website only"
-msgstr "Tillad kun cookies fra original web-side"
+msgstr "Tillad kun cookies fra original websted"
 
-#: ../midori/midori-websettings.c:737
+#: ../midori/midori-websettings.c:773
 msgid "Maximum cookie age"
 msgstr "Maksimal cookie-levetid"
 
-#: ../midori/midori-websettings.c:738
+#: ../midori/midori-websettings.c:774
 msgid "The maximum number of days to save cookies for"
 msgstr "Maksimal antal dage cookies skal gemmes"
 
-#: ../midori/midori-websettings.c:748
+#: ../midori/midori-websettings.c:784
 msgid "Remember last visited pages"
 msgstr "Husk sidste besøgte sider"
 
-#: ../midori/midori-websettings.c:749
+#: ../midori/midori-websettings.c:785
 msgid "Whether the last visited pages are saved"
 msgstr "Om sidste besøgte sider skal gemmes"
 
-#: ../midori/midori-websettings.c:757
+#: ../midori/midori-websettings.c:793
 msgid "Maximum history age"
 msgstr "Maksimal historik-levetid"
 
-#: ../midori/midori-websettings.c:758
+#: ../midori/midori-websettings.c:794
 msgid "The maximum number of days to save the history for"
 msgstr "Maksimale antal dage som historik skal gemmes"
 
-#: ../midori/midori-websettings.c:766
+#: ../midori/midori-websettings.c:802
 msgid "Remember last form inputs"
 msgstr "Husk sidste formularindtastninger"
 
-#: ../midori/midori-websettings.c:767
+#: ../midori/midori-websettings.c:803
 msgid "Whether the last form inputs are saved"
 msgstr "Om sidste formularindtastninger skal gemmes"
 
-#: ../midori/midori-websettings.c:775
+#: ../midori/midori-websettings.c:811
 msgid "Remember last downloaded files"
 msgstr "Husk sidste hentede filer"
 
-#: ../midori/midori-websettings.c:776
+#: ../midori/midori-websettings.c:812
 msgid "Whether the last downloaded files are saved"
 msgstr "Om sidste hentede filer skal gemmes"
 
-#: ../midori/midori-websettings.c:786
+#: ../midori/midori-websettings.c:822
 msgid "Proxy Server"
 msgstr "Proxyserver"
 
-#: ../midori/midori-websettings.c:787
+#: ../midori/midori-websettings.c:823
 msgid "The proxy server used for HTTP connections"
 msgstr "Proxyserveren som bruges til HTTP-forbindelser"
 
-#: ../midori/midori-websettings.c:802
+#: ../midori/midori-websettings.c:838
 msgid "Detect proxy server automatically"
 msgstr "Genkend automatisk proxyserver"
 
-#: ../midori/midori-websettings.c:803
+#: ../midori/midori-websettings.c:839
 msgid "Whether to detect the proxy server automatically from the environment"
 msgstr "Om proxyserveren genkendes automatisk fra miljøet"
 
 #. i18n: This refers to an application, not the 'user agent' string
-#: ../midori/midori-websettings.c:819
+#: ../midori/midori-websettings.c:855
 msgid "Identify as"
 msgstr "Identificér som"
 
-#: ../midori/midori-websettings.c:820
+#: ../midori/midori-websettings.c:856
 msgid "What to identify as to web pages"
 msgstr "Hvad skal genkendes som web-sider"
 
-#: ../midori/midori-websettings.c:836
+#: ../midori/midori-websettings.c:872
 msgid "Identification string"
 msgstr "Identifikationsstreng"
 
-#: ../midori/midori-websettings.c:837
+#: ../midori/midori-websettings.c:873
 msgid "The application identification string"
 msgstr "Programmets identifikationsstreng"
 
-#: ../midori/midori-websettings.c:845
+#: ../midori/midori-websettings.c:881
 msgid "Cache size"
 msgstr "Størrelse af mellemlager"
 
-#: ../midori/midori-websettings.c:846
+#: ../midori/midori-websettings.c:882
 msgid "The allowed size of the cache"
 msgstr "Den tilladte størrelse af mellemlager"
 
 #. i18n: The title of the 404 - Not found error page
-#: ../midori/midori-view.c:656
+#. Error pages are special, we want to try loading the destination
+#. again, not the error page which isn't even a proper page
+#: ../midori/midori-view.c:637
+#: ../midori/midori-view.c:2473
 #, c-format
 msgid "Not found - %s"
 msgstr "Ikke fundet - %s"
 
-#: ../midori/midori-view.c:988
+#: ../midori/midori-view.c:976
 msgid "Open _Link"
 msgstr "Åbn _henvisning"
 
-#: ../midori/midori-view.c:990
+#: ../midori/midori-view.c:978
 msgid "Open Link in New _Tab"
 msgstr "Åbn henvisning i nyt _faneblad"
 
-#: ../midori/midori-view.c:1007
+#: ../midori/midori-view.c:995
 msgid "Open Link in New _Window"
 msgstr "Åbn henvisning i nyt _vindue"
 
-#: ../midori/midori-view.c:1016
-#: ../midori/midori-view.c:1030
+#: ../midori/midori-view.c:1004
 msgid "_Download Link destination"
 msgstr "_Hent henvisningsadressen"
 
-#: ../midori/midori-view.c:1022
+#: ../midori/midori-view.c:1010
 msgid "_Save Link destination"
 msgstr "_Gem henvisningsadresse"
 
-#: ../midori/midori-view.c:1053
+#: ../midori/midori-view.c:1019
+msgid "Download with Download _Manager"
+msgstr "Hent med nedhentnings_håndtering"
+
+#: ../midori/midori-view.c:1048
+msgid "Search _with"
+msgstr "Søg _med"
+
+#: ../midori/midori-view.c:1076
 msgid "_Search the Web"
 msgstr "_Søg internettet"
 
-#: ../midori/midori-view.c:1062
+#: ../midori/midori-view.c:1086
 msgid "Open Address in New _Tab"
 msgstr "Åbn adresse i nyt _faneblad"
 
-#: ../midori/midori-view.c:1201
+#: ../midori/midori-view.c:1234
 msgid "Open or download file"
 msgstr "Åbn eller hent fil"
 
-#: ../midori/midori-view.c:1210
+#: ../midori/midori-view.c:1251
+#, c-format
+msgid "File Type: '%s'"
+msgstr "Filtype: '%s'"
+
+#: ../midori/midori-view.c:1254
 #, c-format
 msgid "File Type: %s ('%s')"
 msgstr "Filtype: %s ('%s')"
 
 #. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
-#: ../midori/midori-view.c:1214
+#: ../midori/midori-view.c:1258
 #, c-format
 msgid "Open %s"
 msgstr "Åbn %s"
 
-#: ../midori/midori-view.c:1610
+#: ../midori/midori-view.c:1661
 #, c-format
 msgid "Inspect page - %s"
 msgstr "Undersøg side - %s"
 
-#: ../midori/midori-view.c:1755
+#: ../midori/midori-view.c:1806
 #, c-format
 msgid "Document cannot be displayed"
 msgstr "Dokument kan ikke vises"
 
-#: ../midori/midori-view.c:1771
+#: ../midori/midori-view.c:1822
 #, c-format
 msgid "No documentation installed"
 msgstr "Ingen dokumentation installeret"
@@ -1265,259 +1370,246 @@ msgid "Transfers"
 msgstr "Overførsler"
 
 #. Page "Appearance"
-#: ../midori/midori-preferences.c:462
+#: ../midori/midori-preferences.c:475
 msgid "Appearance"
 msgstr "Udseende"
 
-#: ../midori/midori-preferences.c:463
+#: ../midori/midori-preferences.c:476
 msgid "Font settings"
 msgstr "Indstillinger for skrifttype"
 
-#: ../midori/midori-preferences.c:465
+#: ../midori/midori-preferences.c:478
 msgid "Default Font Family"
 msgstr "Standard for skrifttypefamilie"
 
-#: ../midori/midori-preferences.c:471
+#: ../midori/midori-preferences.c:484
 msgid "The default font size used to display text"
 msgstr "Størrelse af standardskriftstype er brugt til at vise tekst"
 
-#: ../midori/midori-preferences.c:474
+#: ../midori/midori-preferences.c:487
 msgid "Minimum Font Size"
 msgstr "Minimal skriftstørrelse"
 
-#: ../midori/midori-preferences.c:477
+#: ../midori/midori-preferences.c:490
 msgid "The minimum font size used to display text"
 msgstr "Minimum størrelse af skrifttype til at vise tekst"
 
-#: ../midori/midori-preferences.c:484
+#: ../midori/midori-preferences.c:497
 msgid "Encoding"
 msgstr "Tegnsæt"
 
-#: ../midori/midori-preferences.c:487
+#: ../midori/midori-preferences.c:500
 msgid "The character encoding to use by default"
 msgstr "Tegnsæt som bruges standard"
 
 #. Page "Behavior"
-#: ../midori/midori-preferences.c:494
+#: ../midori/midori-preferences.c:507
 msgid "Behavior"
 msgstr "Opførsel"
 
-#: ../midori/midori-preferences.c:495
+#: ../midori/midori-preferences.c:508
 msgid "Features"
 msgstr "Funktionalitet"
 
-#: ../midori/midori-preferences.c:498
-#: ../extensions/statusbar-features.c:42
+#: ../midori/midori-preferences.c:511
+#: ../extensions/statusbar-features.c:54
 msgid "Load images automatically"
 msgstr "Indlæs billeder automatisk"
 
-#: ../midori/midori-preferences.c:499
+#: ../midori/midori-preferences.c:512
 msgid "Load and display images automatically"
 msgstr "Indlæs og vis billeder automatisk"
 
-#: ../midori/midori-preferences.c:502
+#: ../midori/midori-preferences.c:515
 msgid "Shrink images automatically"
 msgstr "Formindsk billeder automatisk"
 
-#: ../midori/midori-preferences.c:503
+#: ../midori/midori-preferences.c:516
 msgid "Automatically shrink standalone images to fit"
 msgstr "Minimér enkeltstående billeder til at passe"
 
-#: ../midori/midori-preferences.c:506
+#: ../midori/midori-preferences.c:519
 msgid "Print background images"
 msgstr "Udskriv baggrundsbilleder"
 
-#: ../midori/midori-preferences.c:507
+#: ../midori/midori-preferences.c:520
 msgid "Whether background images should be printed"
 msgstr "Om baggrundsbilleder skal udskrives"
 
-#: ../midori/midori-preferences.c:510
+#: ../midori/midori-preferences.c:523
 msgid "Resizable text areas"
 msgstr "Justerbare tekstområder"
 
-#: ../midori/midori-preferences.c:511
+#: ../midori/midori-preferences.c:524
 msgid "Whether text areas are resizable"
 msgstr "Om tekstområder kan ændre størrelse"
 
-#: ../midori/midori-preferences.c:514
-#: ../extensions/statusbar-features.c:49
+#: ../midori/midori-preferences.c:527
+#: ../extensions/statusbar-features.c:63
 msgid "Enable scripts"
 msgstr "Brug skripter"
 
-#: ../midori/midori-preferences.c:515
+#: ../midori/midori-preferences.c:528
 msgid "Enable embedded scripting languages"
 msgstr "Slå indlejret skriptsprog til"
 
-#: ../midori/midori-preferences.c:518
-#: ../extensions/statusbar-features.c:56
+#: ../midori/midori-preferences.c:531
+#: ../extensions/statusbar-features.c:72
 msgid "Enable plugins"
 msgstr "Slå udvidelsesmoduler til"
 
-#: ../midori/midori-preferences.c:519
+#: ../midori/midori-preferences.c:532
 msgid "Enable embedded plugin objects"
 msgstr "Slå indlejrede udvidelsesobjekter til"
 
-#: ../midori/midori-preferences.c:522
+#: ../midori/midori-preferences.c:535
 msgid "Enforce 96 dots per inch"
 msgstr "Gennemtving 96 dots per tomme"
 
-#: ../midori/midori-preferences.c:523
+#: ../midori/midori-preferences.c:536
 msgid "Enforce a video dot density of 96 DPI"
 msgstr "Gennemtving tæthed af videopunkt på 96 DPI"
 
-#: ../midori/midori-preferences.c:526
+#: ../midori/midori-preferences.c:539
 msgid "Enable developer tools"
 msgstr "Brug udvikler-værktøjer"
 
-#: ../midori/midori-preferences.c:527
+#: ../midori/midori-preferences.c:540
 msgid "Enable special extensions for developers"
 msgstr "Slå specielle udvidelser til udviklere til"
 
 #. Page "Interface"
-#: ../midori/midori-preferences.c:539
+#: ../midori/midori-preferences.c:548
 msgid "Interface"
 msgstr "Grænseflade"
 
-#: ../midori/midori-preferences.c:540
+#: ../midori/midori-preferences.c:549
 msgid "Navigationbar"
 msgstr "Navigeringsbjælke"
 
-#: ../midori/midori-preferences.c:549
+#: ../midori/midori-preferences.c:560
 msgid "Browsing"
 msgstr "Browsing"
 
 #. Page "Network"
-#: ../midori/midori-preferences.c:579
-#: ../midori/midori-preferences.c:580
+#: ../midori/midori-preferences.c:590
+#: ../midori/midori-preferences.c:591
 msgid "Network"
 msgstr "Netværk"
 
-#: ../midori/midori-preferences.c:607
+#: ../midori/midori-preferences.c:618
 msgid "MB"
 msgstr "MB"
 
 #. Page "Privacy"
-#: ../midori/midori-preferences.c:612
+#: ../midori/midori-preferences.c:623
 msgid "Privacy"
 msgstr "Beskyttelse af privatliv"
 
-#: ../midori/midori-preferences.c:613
+#: ../midori/midori-preferences.c:624
 msgid "Web Cookies"
 msgstr "Web-cookies"
 
-#: ../midori/midori-preferences.c:626
-#: ../midori/midori-preferences.c:636
+#: ../midori/midori-preferences.c:637
+#: ../midori/midori-preferences.c:647
 msgid "days"
 msgstr "dage"
 
-#: ../midori/midori-preferences.c:629
-#: ../panels/midori-history.c:104
-msgid "History"
-msgstr "Historik"
-
-#: ../midori/midori-searchaction.c:455
+#: ../midori/midori-searchaction.c:484
 #: ../katze/katze-arrayaction.c:277
 msgid "Empty"
 msgstr "Tom"
 
-#: ../midori/midori-searchaction.c:811
+#: ../midori/midori-searchaction.c:904
 msgid "Add search engine"
 msgstr "Tilføj søgemaskine"
 
-#: ../midori/midori-searchaction.c:811
+#: ../midori/midori-searchaction.c:904
 msgid "Edit search engine"
 msgstr "Redigér søgemaskine"
 
-#: ../midori/midori-searchaction.c:839
+#: ../midori/midori-searchaction.c:932
 msgid "_Name:"
 msgstr "_Navn:"
 
-#: ../midori/midori-searchaction.c:883
+#: ../midori/midori-searchaction.c:976
 msgid "_Icon:"
 msgstr "_Ikon:"
 
-#: ../midori/midori-searchaction.c:897
+#: ../midori/midori-searchaction.c:990
 msgid "_Token:"
 msgstr "_Symbol:"
 
-#: ../midori/midori-searchaction.c:1077
+#: ../midori/midori-searchaction.c:1195
 msgid "Manage Search Engines"
 msgstr "Håndtér søgemaskiner"
 
-#: ../midori/sokoke.c:109
-#: ../midori/sokoke.c:121
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "Brug som _standard"
+
+#: ../midori/sokoke.c:117
+#: ../midori/sokoke.c:129
 msgid "Could not run external program."
 msgstr "Kunne ikke køre eksternt program."
 
 #. i18n: A superuser, or system administrator, may not be 'root'
-#: ../midori/sokoke.c:440
+#: ../midori/sokoke.c:448
 msgid "Warning: You are using a superuser account!"
 msgstr "Advarsel: Du bruger en superbruger-konto!"
 
-#: ../midori/sokoke.c:771
+#: ../midori/sokoke.c:780
 msgid "_Bookmark"
 msgstr "_Bogmærke"
 
-#: ../midori/sokoke.c:773
+#: ../midori/sokoke.c:782
 msgid "_Add Bookmark"
 msgstr "_Tilføj bogmærke"
 
-#: ../midori/sokoke.c:774
+#: ../midori/sokoke.c:783
 msgid "_Console"
 msgstr "_Konsol"
 
-#: ../midori/sokoke.c:775
+#: ../midori/sokoke.c:784
 msgid "_Extensions"
 msgstr "_Udvidelser"
 
-#: ../midori/sokoke.c:776
+#: ../midori/sokoke.c:785
 msgid "_History"
 msgstr "Hi_storik"
 
-#: ../midori/sokoke.c:777
+#: ../midori/sokoke.c:786
 msgid "_Homepage"
 msgstr "_Hjemmeside"
 
-#: ../midori/sokoke.c:778
+#: ../midori/sokoke.c:787
 msgid "_Userscripts"
 msgstr "Brugerskri_pter"
 
-#: ../midori/sokoke.c:779
+#: ../midori/sokoke.c:788
 msgid "User_styles"
 msgstr "Bruger_grænseflader"
 
-#: ../midori/sokoke.c:780
+#: ../midori/sokoke.c:789
 msgid "New _Tab"
 msgstr "Nyt _faneblad"
 
-#: ../midori/sokoke.c:781
+#: ../midori/sokoke.c:790
 msgid "_Transfers"
 msgstr "_Overførsler"
 
-#: ../midori/sokoke.c:782
+#: ../midori/sokoke.c:791
+msgid "P_lugins"
+msgstr "Udvidelses_moduler"
+
+#: ../midori/sokoke.c:792
 msgid "_Closed Tabs and Windows"
 msgstr "_Lukkede faneblade og vinduer"
 
-#: ../midori/sokoke.c:783
+#: ../midori/sokoke.c:793
 msgid "New _Window"
 msgstr "Nyt _vindue"
 
-#: ../midori/gjs.c:743
-#: ../midori/gjs.c:833
-#, c-format
-msgid "%s has no property '%s'"
-msgstr "%s har ingen egenskab '%s'"
-
-#: ../midori/gjs.c:879
-#, c-format
-msgid "%s cannot be assigned to %s.%s"
-msgstr "%s kan ikke blive tildelt til %s.%s"
-
-#: ../midori/gjs.c:889
-#, c-format
-msgid "%s.%s cannot be accessed"
-msgstr "%s.%s kan ikke tilgås"
-
 #: ../panels/midori-addons.c:95
 #: ../panels/midori-addons.c:141
 msgid "Userscripts"
@@ -1528,43 +1620,39 @@ msgstr "Brugerskripter"
 msgid "Userstyles"
 msgstr "Brugerstile"
 
-#: ../panels/midori-addons.c:922
+#: ../panels/midori-addons.c:927
 #: ../panels/midori-extensions.c:144
 msgid "_Enable"
 msgstr "_Slå til"
 
-#: ../panels/midori-addons.c:923
+#: ../panels/midori-addons.c:928
 #: ../panels/midori-extensions.c:145
 msgid "Enable"
 msgstr "Slå til"
 
-#: ../panels/midori-addons.c:932
+#: ../panels/midori-addons.c:937
 #: ../panels/midori-extensions.c:154
 msgid "_Disable"
 msgstr "_Slå fra"
 
-#: ../panels/midori-addons.c:933
+#: ../panels/midori-addons.c:938
 #: ../panels/midori-extensions.c:155
 msgid "Disable"
 msgstr "Slå fra"
 
-#: ../panels/midori-bookmarks.c:103
+#: ../panels/midori-bookmarks.c:107
 msgid "Bookmarks"
 msgstr "Bogmærker"
 
-#: ../panels/midori-bookmarks.c:236
+#: ../panels/midori-bookmarks.c:240
 msgid "Edit the selected bookmark"
 msgstr "Redigér det valgte bogmærke"
 
-#: ../panels/midori-bookmarks.c:244
+#: ../panels/midori-bookmarks.c:248
 msgid "Delete the selected bookmark"
 msgstr "Slet det valgte bogmærke"
 
-#: ../panels/midori-bookmarks.c:257
-msgid "Add a new folder"
-msgstr "Tilføj en ny mappe"
-
-#: ../panels/midori-bookmarks.c:589
+#: ../panels/midori-bookmarks.c:593
 msgid "<i>Separator</i>"
 msgstr "<i>Separator</i>"
 
@@ -1576,42 +1664,41 @@ msgstr "Konsol"
 msgid "Extensions"
 msgstr "Udvidelser"
 
-#: ../panels/midori-history.c:159
+#: ../panels/midori-history.c:163
 msgid "Are you sure you want to remove all history items?"
 msgstr "Er du sikker på, at du ønsker at fjerne alle historikelementer?"
 
-#: ../panels/midori-history.c:216
+#: ../panels/midori-history.c:218
 msgid "Bookmark the selected history item"
 msgstr "Bogmærk det valgte historikelement"
 
-#: ../panels/midori-history.c:225
+#: ../panels/midori-history.c:227
 msgid "Delete the selected history item"
 msgstr "Slet det valgte historikelement"
 
-#: ../panels/midori-history.c:233
+#: ../panels/midori-history.c:235
 msgid "Clear the entire history"
 msgstr "Ryd hele historikken"
 
-#: ../panels/midori-history.c:603
+#: ../panels/midori-history.c:600
 #, c-format
 msgid "A week ago"
 msgstr "For en uge siden"
 
-#: ../panels/midori-history.c:609
+#: ../panels/midori-history.c:606
 #, c-format
 msgid "%d days ago"
 msgstr "For %d dage siden"
 
-#: ../panels/midori-history.c:616
+#: ../panels/midori-history.c:613
 msgid "Today"
 msgstr "I dag"
 
-#: ../panels/midori-history.c:618
+#: ../panels/midori-history.c:615
 msgid "Yesterday"
 msgstr "I går"
 
 #: ../panels/midori-plugins.c:87
-#: ../extensions/statusbar-features.c:54
 msgid "Plugins"
 msgstr "Udvidelsesmoduler"
 
@@ -1654,59 +1741,150 @@ msgstr "Lagerikon '%s' kunne ikke indlæses"
 msgid "Animation frames are broken"
 msgstr "Animeringsrammer er ødelagt"
 
-#: ../katze/katze-utils.c:180
-#: ../katze/katze-utils.c:389
+#: ../katze/katze-utils.c:183
+#: ../katze/katze-utils.c:395
 #, c-format
 msgid "Property '%s' is invalid for %s"
 msgstr "Egenskab '%s' er ikke gyldig for %s"
 
-#: ../katze/katze-utils.c:209
-#: ../katze/katze-utils.c:248
+#: ../katze/katze-utils.c:215
+#: ../katze/katze-utils.c:254
 msgid "Choose file"
 msgstr "Vælg fil"
 
-#: ../katze/katze-utils.c:229
+#: ../katze/katze-utils.c:235
 msgid "Choose folder"
 msgstr "Vælg mappe"
 
-#: ../extensions/colorful-tabs.c:97
+#: ../extensions/colorful-tabs.c:104
 msgid "Tint tabs distinctly"
 msgstr "Ton faneblade tydeligt"
 
-#: ../extensions/colorful-tabs.c:133
+#: ../extensions/colorful-tabs.c:140
 msgid "Colorful Tabs"
 msgstr "Farvefulde faneblade"
 
-#: ../extensions/colorful-tabs.c:134
+#: ../extensions/colorful-tabs.c:141
 msgid "Tint each tab distinctly"
 msgstr "Ton hvert faneblad tydeligt"
 
-#: ../extensions/mouse-gestures/main.c:176
+#: ../extensions/cookie-manager.c:201
+msgid "At the end of the session"
+msgstr "Ved afslutningen af sessionen"
+
+#: ../extensions/cookie-manager.c:204
+#, c-format
+msgid ""
+"<b>Host</b>: %s\n"
+"<b>Name</b>: %s\n"
+"<b>Value</b>: %s\n"
+"<b>Path</b>: %s\n"
+"<b>Secure</b>: %s\n"
+"<b>Expires</b>: %s"
+msgstr ""
+"<b>Vært</b>: %s\n"
+"<b>Navn</b>: %s\n"
+"<b>Værdi</b>: %s\n"
+"<b>Sti</b>: %s\n"
+"<b>Sikker</b>: %s\n"
+"<b>Udløber</b>: %s"
+
+#: ../extensions/cookie-manager.c:210
+msgid "Yes"
+msgstr "Ja"
+
+#: ../extensions/cookie-manager.c:210
+msgid "No"
+msgstr "Nej"
+
+#: ../extensions/cookie-manager.c:491
+msgid "Do you really want to delete all cookies?"
+msgstr "Er du sikker på, at du ønsker at fjerne alle cookies?"
+
+#: ../extensions/cookie-manager.c:493
+msgid "Question"
+msgstr "Spørgsmål"
+
+#: ../extensions/cookie-manager.c:501
+msgid "Only the visible cookies are deleted which match the entered filter string."
+msgstr "Kun de synlige cookies, som passer med den indtastede filterstreng, er slettet."
+
+#: ../extensions/cookie-manager.c:679
+msgid "Name"
+msgstr "Navn"
+
+#: ../extensions/cookie-manager.c:739
+msgid "_Expand All"
+msgstr "_Udfold alle"
+
+#: ../extensions/cookie-manager.c:747
+msgid "_Collapse All"
+msgstr "_Fold alle"
+
+#: ../extensions/cookie-manager.c:818
+msgid "Delete All"
+msgstr "Slet alle"
+
+#: ../extensions/cookie-manager.c:820
+msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
+msgstr "Slet alle viste cookies. Hvis filter er indstillet, vil kun de cookies, som passer til filteret, blive slettet."
+
+#: ../extensions/cookie-manager.c:835
+msgid "Expand All"
+msgstr "Udfold alle"
+
+#: ../extensions/cookie-manager.c:842
+msgid "Collapse All"
+msgstr "Fold alle"
+
+#: ../extensions/cookie-manager.c:873
+msgid "Filter:"
+msgstr "Filter:"
+
+#: ../extensions/cookie-manager.c:878
+msgid "Enter a filter string to show only cookies whose name or domain field match the entered filter"
+msgstr "Indtast en filterstreng for at vise kun cookies hvis navn eller domænefelt passer til det indtastede filter"
+
+#: ../extensions/cookie-manager.c:913
+#: ../extensions/cookie-manager.c:961
+msgid "Cookie Manager"
+msgstr "Cookiehåndtering"
+
+#: ../extensions/cookie-manager.c:945
+msgid "_Cookie Manager"
+msgstr "_Cookiehåndtering"
+
+#: ../extensions/cookie-manager.c:962
+msgid "List, view and delete cookies"
+msgstr "Vis, gennemse og slet cookies"
+
+#: ../extensions/mouse-gestures/main.c:216
 msgid "Mouse Gestures"
 msgstr "Musebevægelser"
 
-#: ../extensions/mouse-gestures/main.c:177
+#: ../extensions/mouse-gestures/main.c:217
 msgid "Control Midori by moving the mouse"
 msgstr "Styr Midori ved at flytte musen"
 
 #. i18n: A panel showing a user specified web page
-#: ../extensions/page-holder.c:116
-#: ../extensions/page-holder.c:153
+#: ../extensions/page-holder.c:129
+#: ../extensions/page-holder.c:177
 msgid "Pageholder"
 msgstr "Sideholder"
 
-#: ../extensions/page-holder.c:137
+#: ../extensions/page-holder.c:161
 msgid "_Pageholder"
 msgstr "_Sideholder"
 
-#: ../extensions/statusbar-features.c:40
-msgid "Images"
-msgstr "Billeder"
-
-#: ../extensions/statusbar-features.c:47
-msgid "Scripts"
-msgstr "Skripter"
-
+#~ msgid "%s has no property '%s'"
+#~ msgstr "%s har ingen egenskab '%s'"
+#~ msgid "%s cannot be assigned to %s.%s"
+#~ msgstr "%s kan ikke blive tildelt til %s.%s"
+#~ msgid "%s.%s cannot be accessed"
+#~ msgstr "%s.%s kan ikke tilgås"
+#~ msgid "Images"
+#~ msgstr "Billeder"
+#~ msgid "Scripts"
+#~ msgstr "Skripter"
 #~ msgid "Source"
 #~ msgstr "Kilde"
-
index 6daa9d24a473ed5ef22f2bf02b09ccddcf0ecf9d..b77bdf8d660c64dc6399234e509ed0e58e3fe1fc 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: midori 0.1.5\n"
+"Project-Id-Version: midori 0.1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 16:44+0200\n"
-"PO-Revision-Date: 2009-04-19 15:34+0100\n"
+"POT-Creation-Date: 2009-05-25 18:05+0200\n"
+"PO-Revision-Date: 2009-04-30 00:15+0100\n"
 "Last-Translator: Christian Dywan <christian@twotoasts.de>\n"
 "Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -21,9 +21,9 @@ msgstr ""
 msgid "Lightweight web browser"
 msgstr "Schlanker Internetbetrachter"
 
-#: ../data/midori.desktop.in.h:2 ../midori/main.c:1288 ../midori/main.c:1388
-#: ../midori/main.c:1396 ../midori/main.c:1407
-#: ../midori/midori-websettings.c:273
+#: ../data/midori.desktop.in.h:2 ../midori/main.c:1315 ../midori/main.c:1449
+#: ../midori/main.c:1457 ../midori/main.c:1468
+#: ../midori/midori-websettings.c:281
 msgid "Midori"
 msgstr "Midori"
 
@@ -31,79 +31,79 @@ msgstr "Midori"
 msgid "Web Browser"
 msgstr "Internetbetrachter"
 
-#: ../midori/main.c:94
+#: ../midori/main.c:96
 #, c-format
 msgid "The configuration couldn't be loaded: %s\n"
 msgstr "Die Konfiguration konnte nicht geladen werden: %s\n"
 
-#: ../midori/main.c:149
+#: ../midori/main.c:151
 #, c-format
 msgid "Value '%s' is invalid for %s"
 msgstr "Wert »%s« ist ungültig für %s"
 
-#: ../midori/main.c:156 ../midori/main.c:228
+#: ../midori/main.c:158 ../midori/main.c:238
 #, c-format
 msgid "Invalid configuration value '%s'"
 msgstr "Ungültiger Einstellungswert »%s«"
 
-#: ../midori/main.c:332
+#: ../midori/main.c:350
 #, c-format
 msgid "Failed to open database: %s\n"
 msgstr "Datenbank konnte nicht geöffnet werden: %s\n"
 
-#: ../midori/main.c:364
+#: ../midori/main.c:382
 #, c-format
 msgid "Failed to execute database statement: %s\n"
 msgstr "Datenbankabfrage konnte nicht ausgeführt werden: %s\n"
 
-#: ../midori/main.c:418
+#: ../midori/main.c:436
 #, c-format
 msgid "Failed to remove history item: %s\n"
 msgstr "Verlaufseintrag konnte nicht entfernt werden: %s\n"
 
-#: ../midori/main.c:442
+#: ../midori/main.c:460
 #, c-format
 msgid "Failed to clear history: %s\n"
 msgstr "Verlaufseintrag konnte nicht entfernt werden: %s\n"
 
-#: ../midori/main.c:465 ../midori/main.c:499 ../midori/main.c:515
+#: ../midori/main.c:483 ../midori/main.c:517 ../midori/main.c:533
 #, c-format
 msgid "Failed to add history item: %s\n"
 msgstr "Verlaufseintrag konnte nicht entfernt werden: %s\n"
 
 #. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:694
+#: ../midori/main.c:712
 #, c-format
 msgid "Failed to remove old history items: %s\n"
 msgstr "Verlaufseintrag konnte nicht entfernt werden: %s\n"
 
-#: ../midori/main.c:722
+#: ../midori/main.c:741
 #, c-format
 msgid "The configuration couldn't be saved. %s"
 msgstr "Die Konfiguration konnte nicht geladen werden. %s"
 
-#: ../midori/main.c:751
+#: ../midori/main.c:770
 #, c-format
 msgid "The search engines couldn't be saved. %s"
 msgstr "Die Suchmaschinen konnten nicht geladen werden. %s"
 
-#: ../midori/main.c:770 ../midori/main.c:798 ../midori/main.c:827
+#: ../midori/main.c:789 ../midori/main.c:817 ../midori/main.c:846
 #, c-format
 msgid "The bookmarks couldn't be saved. %s"
 msgstr "Die Lesezeichen konnten nicht geladen werden. %s"
 
 #. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:850 ../midori/main.c:873
+#: ../midori/main.c:869 ../midori/main.c:892
 #, c-format
 msgid "The trash couldn't be saved. %s"
 msgstr "Der Papierkorb konnte nicht gespeichert werden. %s"
 
-#: ../midori/main.c:946
+#: ../midori/main.c:965
 #, c-format
 msgid "The session couldn't be saved. %s"
 msgstr "Die Sitzung konnte nicht geladen werden. %s"
 
-#: ../midori/main.c:1073
+#: ../midori/main.c:1092
 msgid ""
 "Midori seems to have crashed the last time it was opened. If this happened "
 "repeatedly, try one of the following options to solve the problem."
@@ -111,104 +111,113 @@ msgstr ""
 "Midori ist offenbar abgestürzt nachdem es das letzte Mal geöffnet wurde. "
 "Probieren Sie folgende Möglichkeiten falls dies vermehrt vorkommt."
 
-#: ../midori/main.c:1088
+#: ../midori/main.c:1107
 msgid "Modify _preferences"
 msgstr "_Einstellungen bearbeiten"
 
-#: ../midori/main.c:1092
+#: ../midori/main.c:1111
 msgid "Reset the last _session"
 msgstr "Die letzte _Sitzung zurücksetzen"
 
-#: ../midori/main.c:1097
+#: ../midori/main.c:1116
 msgid "Disable all _extensions"
 msgstr "Alle Er_weiterungen ausschalten"
 
-#: ../midori/main.c:1288
+#: ../midori/main.c:1315
 msgid "No filename specified"
 msgstr "Kein Dateiname angegeben"
 
-#: ../midori/main.c:1311
+#: ../midori/main.c:1338
 msgid "An unknown error occured."
 msgstr "Ein unbekannter Fehler ist aufgetreten."
 
-#: ../midori/main.c:1336
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "Schnappschuss gespeichert: %s\n"
+
+#: ../midori/main.c:1391
 msgid "Run ADDRESS as a web application"
 msgstr "ADRESSE als Internetanwendung starten"
 
-#: ../midori/main.c:1336
+#: ../midori/main.c:1391
 msgid "ADDRESS"
 msgstr "ADRESSE"
 
-#: ../midori/main.c:1338
+#: ../midori/main.c:1393
 msgid "Use FOLDER as configuration folder"
 msgstr "ORDNER als Konfigurationsordner benutzen"
 
-#: ../midori/main.c:1338
+#: ../midori/main.c:1393
 msgid "FOLDER"
 msgstr "ORDNER"
 
-#: ../midori/main.c:1340
+#: ../midori/main.c:1395
 msgid "Run the specified filename as javascript"
 msgstr "Angegebenen Dateinamen als Javaskript ausführen"
 
-#: ../midori/main.c:1342
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr "Schnappschuss der angegebenen URI aufnehmen"
+
+#: ../midori/main.c:1401
 msgid "Display program version"
 msgstr "Programmversion anzeigen"
 
-#: ../midori/main.c:1344
+#: ../midori/main.c:1403
 msgid "Addresses"
 msgstr "Adressen"
 
-#: ../midori/main.c:1385
+#: ../midori/main.c:1446
 msgid "[Addresses]"
 msgstr "[Adressen]"
 
-#: ../midori/main.c:1408
+#: ../midori/main.c:1469
 msgid "Please report comments, suggestions and bugs to:"
 msgstr "Kommentare, Vorschläge und Fehlerberichte senden an:"
 
-#: ../midori/main.c:1410
+#: ../midori/main.c:1471
 msgid "Check for new versions at:"
 msgstr "Informieren Sie sich über neue Versionen unter:"
 
-#: ../midori/main.c:1454
+#: ../midori/main.c:1548
 msgid "The specified configuration folder is invalid."
 msgstr "Der angegebene Konfigurationsordner konnte nicht geladen werden."
 
-#: ../midori/main.c:1489
+#: ../midori/main.c:1583
 msgid "An instance of Midori is already running but not responding.\n"
 msgstr "Eine Instanz von Midori läuft bereits, reagiert aber nicht.\n"
 
-#: ../midori/main.c:1539
+#: ../midori/main.c:1633
 #, c-format
 msgid "The search engines couldn't be loaded. %s\n"
 msgstr "Die Suchmaschinen konnten nicht geladen werden. %s\n"
 
-#: ../midori/main.c:1551
+#: ../midori/main.c:1645
 #, c-format
 msgid "The bookmarks couldn't be loaded: %s\n"
 msgstr "Die Lesezeichen konnten nicht geladen werden: %s\n"
 
-#: ../midori/main.c:1566
+#: ../midori/main.c:1660
 #, c-format
 msgid "The session couldn't be loaded: %s\n"
 msgstr "Die Sitzung konnte nicht geladen werden: %s\n"
 
-#: ../midori/main.c:1579
+#: ../midori/main.c:1673
 #, c-format
 msgid "The trash couldn't be loaded: %s\n"
 msgstr "Der Papierkorb konnte nicht geladen werden: %s\n"
 
-#: ../midori/main.c:1592
+#: ../midori/main.c:1686
 #, c-format
 msgid "The history couldn't be loaded: %s\n"
 msgstr "Der Verlauf konnte nicht geladen werden: %s\n"
 
-#: ../midori/main.c:1604
+#: ../midori/main.c:1698
 msgid "The following errors occured:"
 msgstr "Folgende Fehler sind aufgetreten:"
 
-#: ../midori/main.c:1620
+#: ../midori/main.c:1714
 msgid "_Ignore"
 msgstr "_Ignorieren"
 
@@ -220,1092 +229,1181 @@ msgstr "Datei nicht gefunden."
 msgid "Malformed document."
 msgstr "Fehlerhaftes Dokument"
 
-#: ../midori/midori-array.c:338 ../midori/sokoke.c:625
+#: ../midori/midori-array.c:338 ../midori/sokoke.c:692
 #, c-format
 msgid "Writing failed."
 msgstr "Schreiben fehlgeschlagen."
 
-#: ../midori/midori-browser.c:280 ../midori/midori-browser.c:3368
-#: ../midori/midori-browser.c:3374
+#: ../midori/midori-browser.c:297 ../midori/midori-browser.c:3965
+#: ../midori/midori-browser.c:3971
 msgid "Reload the current page"
 msgstr "Diese Seite neu laden"
 
-#: ../midori/midori-browser.c:291 ../midori/midori-browser.c:3371
+#: ../midori/midori-browser.c:308 ../midori/midori-browser.c:3968
 msgid "Stop loading the current page"
 msgstr "Laden dieser Seite abbrechen"
 
-#: ../midori/midori-browser.c:353
+#: ../midori/midori-browser.c:370
 #, c-format
 msgid "%d%% loaded"
 msgstr "%d%% geladen"
 
-#: ../midori/midori-browser.c:378
+#: ../midori/midori-browser.c:395
 #, c-format
 msgid "Unexpected action '%s'."
 msgstr "Unerwartete Aktion »%s«."
 
-#: ../midori/midori-browser.c:541
+#: ../midori/midori-browser.c:637
 msgid "New folder"
 msgstr "Neuer Ordner"
 
-#: ../midori/midori-browser.c:541
+#: ../midori/midori-browser.c:637
 msgid "Edit folder"
 msgstr "Ordner bearbeiten"
 
-#: ../midori/midori-browser.c:543
+#: ../midori/midori-browser.c:639
 msgid "New bookmark"
 msgstr "Neues Lesezeichen"
 
-#: ../midori/midori-browser.c:543
+#: ../midori/midori-browser.c:639
 msgid "Edit bookmark"
 msgstr "Lesezeichen bearbeiten"
 
-#: ../midori/midori-browser.c:573
+#: ../midori/midori-browser.c:669
 msgid "_Title:"
 msgstr "_Titel:"
 
-#: ../midori/midori-browser.c:586 ../midori/midori-searchaction.c:948
+#: ../midori/midori-browser.c:682 ../midori/midori-searchaction.c:948
 msgid "_Description:"
 msgstr "_Beschreibung:"
 
-#: ../midori/midori-browser.c:605 ../midori/midori-searchaction.c:962
+#: ../midori/midori-browser.c:701 ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
 msgid "_Address:"
 msgstr "_Adresse:"
 
-#: ../midori/midori-browser.c:624
+#: ../midori/midori-browser.c:720
 msgid "_Folder:"
 msgstr "_Ordner:"
 
-#: ../midori/midori-browser.c:629 ../midori/midori-browser.c:670
+#: ../midori/midori-browser.c:725 ../midori/midori-browser.c:766
 msgid "Toplevel folder"
 msgstr "Oberster Ordner"
 
-#: ../midori/midori-browser.c:746
+#: ../midori/midori-browser.c:842
 msgid "Save file as"
 msgstr "Datei speichern unter"
 
-#: ../midori/midori-browser.c:1523
+#: ../midori/midori-browser.c:1174
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "Die Datei <b>%s</b> wurde heruntergeladen."
+
+#: ../midori/midori-browser.c:1178
+msgid "Transfer completed"
+msgstr "Übertragung abgeschlossen"
+
+#: ../midori/midori-browser.c:1888
 msgid "Open file"
 msgstr "Datei öffnen"
 
-#: ../midori/midori-browser.c:2803 ../panels/midori-bookmarks.c:782
-#: ../panels/midori-history.c:809
+#: ../midori/midori-browser.c:3242 ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:811
 msgid "Open all in _Tabs"
 msgstr "Alle in neuen _Reitern öffnen"
 
-#: ../midori/midori-browser.c:2810 ../panels/midori-bookmarks.c:788
-#: ../panels/midori-history.c:815
+#: ../midori/midori-browser.c:3249 ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:817 ../extensions/feed-panel/feed-panel.c:542
 msgid "Open in New _Tab"
 msgstr "In neuem _Reiter öffnen"
 
-#: ../midori/midori-browser.c:2813 ../panels/midori-bookmarks.c:790
-#: ../panels/midori-history.c:817
+#: ../midori/midori-browser.c:3252 ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:819 ../extensions/feed-panel/feed-panel.c:544
 msgid "Open in New _Window"
 msgstr "In neuem _Fenster öffnen"
 
-#: ../midori/midori-browser.c:2974
+#: ../midori/midori-browser.c:3551
 msgid "Clear Private Data"
 msgstr "Private Daten löschen"
 
-#: ../midori/midori-browser.c:2977
+#: ../midori/midori-browser.c:3554
 msgid "_Clear private data"
 msgstr "_Private Daten löschen"
 
-#: ../midori/midori-browser.c:2990
+#: ../midori/midori-browser.c:3567
 msgid "Clear the following data:"
 msgstr "Folgende Daten löschen:"
 
-#: ../midori/midori-browser.c:2998 ../midori/midori-preferences.c:640
+#: ../midori/midori-browser.c:3575 ../midori/midori-preferences.c:670
 #: ../panels/midori-history.c:108
 msgid "History"
 msgstr "Verlauf"
 
-#: ../midori/midori-browser.c:3001
+#: ../midori/midori-browser.c:3580
 msgid "Cookies"
 msgstr "Benutzerprofile/ Cookies"
 
-#: ../midori/midori-browser.c:3004
+#: ../midori/midori-browser.c:3585
 msgid "'Flash' Cookies"
 msgstr "«Flash» Cookies"
 
-#: ../midori/midori-browser.c:3007
+#: ../midori/midori-browser.c:3590
 msgid "Website icons"
 msgstr "Symbole von Internetseiten"
 
-#: ../midori/midori-browser.c:3093
+#: ../midori/midori-browser.c:3596 ../midori/sokoke.c:859
+msgid "_Closed Tabs and Windows"
+msgstr "_Geschlossene Reiter und Fenster"
+
+#: ../midori/midori-browser.c:3677
 msgid "A lightweight web browser."
 msgstr "Ein schlanker Internetbetrachter."
 
-#: ../midori/midori-browser.c:3101
+#: ../midori/midori-browser.c:3685
 msgid "translator-credits"
 msgstr ""
 "Enrico Tröger <enrico.troeger@uvena.de>\n"
 "Christian Dywan <christian@twotoasts.de>"
 
-#: ../midori/midori-browser.c:3302
+#: ../midori/midori-browser.c:3899
 msgid "_File"
 msgstr "_Datei"
 
-#: ../midori/midori-browser.c:3305
+#: ../midori/midori-browser.c:3902
 msgid "Open a new window"
 msgstr "Ein neues Fenster öffnen"
 
-#: ../midori/midori-browser.c:3308
+#: ../midori/midori-browser.c:3905
 msgid "Open a new tab"
 msgstr "Einen neuen Reiter öffnen"
 
-#: ../midori/midori-browser.c:3311
+#: ../midori/midori-browser.c:3908
 msgid "Open a file"
 msgstr "Eine Datei öffnen"
 
-#: ../midori/midori-browser.c:3314
+#: ../midori/midori-browser.c:3911
 msgid "Save to a file"
 msgstr "In Datei speichern"
 
-#: ../midori/midori-browser.c:3316
+#: ../midori/midori-browser.c:3913 ../midori/midori-view.c:1337
+msgid "Add to Speed _dial"
+msgstr "Zu Schnell_wahl hinzufügen"
+
+#: ../midori/midori-browser.c:3914
+msgid "Add shortcut to speed dial"
+msgstr "Eine Verknüpfung zur Schnellwahl hinzufügen"
+
+#: ../midori/midori-browser.c:3916
 msgid "_Close Tab"
 msgstr "Reiter s_chließen"
 
-#: ../midori/midori-browser.c:3317
+#: ../midori/midori-browser.c:3917
 msgid "Close the current tab"
 msgstr "Den aktuellen Reiter schließen"
 
-#: ../midori/midori-browser.c:3319
+#: ../midori/midori-browser.c:3919
 msgid "C_lose Window"
 msgstr "_Fenster schließen"
 
-#: ../midori/midori-browser.c:3320
+#: ../midori/midori-browser.c:3920
 msgid "Close this window"
 msgstr "Dieses Fenster schließen"
 
-#: ../midori/midori-browser.c:3323
+#: ../midori/midori-browser.c:3923
 msgid "Print the current page"
 msgstr "Aktuelle Seite ausdrucken"
 
-#: ../midori/midori-browser.c:3326
+#: ../midori/midori-browser.c:3926
 msgid "Quit the application"
 msgstr "Programm beenden"
 
-#: ../midori/midori-browser.c:3328
+#: ../midori/midori-browser.c:3928
 msgid "_Edit"
 msgstr "_Bearbeiten"
 
-#: ../midori/midori-browser.c:3331
+#: ../midori/midori-browser.c:3931
 msgid "Cut the selected text"
 msgstr "Markierten Text ausschneiden"
 
-#: ../midori/midori-browser.c:3334 ../midori/midori-browser.c:3337
+#: ../midori/midori-browser.c:3934 ../midori/midori-browser.c:3937
 msgid "Copy the selected text"
 msgstr "Markierten Text kopieren"
 
-#: ../midori/midori-browser.c:3340
+#: ../midori/midori-browser.c:3940
 msgid "Paste text from the clipboard"
 msgstr "Text aus der Zwischenablage einfügen"
 
-#: ../midori/midori-browser.c:3343
+#: ../midori/midori-browser.c:3943
 msgid "Delete the selected text"
 msgstr "Markierten Text löschen"
 
-#: ../midori/midori-browser.c:3346
+#: ../midori/midori-browser.c:3946
 msgid "Select all text"
 msgstr "Gesamten Text auswählen"
 
-#: ../midori/midori-browser.c:3349
+#: ../midori/midori-browser.c:3949
 msgid "Find a word or phrase in the page"
 msgstr "Finde ein Wort oder einen Satz auf der Seite"
 
-#: ../midori/midori-browser.c:3351
+#: ../midori/midori-browser.c:3951
 msgid "Find _Next"
 msgstr "_Nächstes suchen"
 
-#: ../midori/midori-browser.c:3352
+#: ../midori/midori-browser.c:3952
 msgid "Find the next occurrence of a word or phrase"
 msgstr "Finde das nächste Auftreten eines Wortes oder Satzes"
 
-#: ../midori/midori-browser.c:3354
+#: ../midori/midori-browser.c:3954
 msgid "Find _Previous"
 msgstr "_Vorheriges suchen"
 
-#: ../midori/midori-browser.c:3355
+#: ../midori/midori-browser.c:3955
 msgid "Find the previous occurrence of a word or phrase"
 msgstr "Finde das voherige Auftreten eines Wortes oder Satzes"
 
-#: ../midori/midori-browser.c:3358
-msgid "_Quick Find"
-msgstr "_Schnellsuche"
-
-#: ../midori/midori-browser.c:3359
-msgid "Quickly jump to a word or phrase"
-msgstr "Schnell zu einem Wort oder Satz springen"
-
-#: ../midori/midori-browser.c:3362
+#: ../midori/midori-browser.c:3959
 msgid "Configure the application preferences"
 msgstr "Anwedungseinstellungen anpassen"
 
-#: ../midori/midori-browser.c:3364
+#: ../midori/midori-browser.c:3961
 msgid "_View"
 msgstr "_Ansicht"
 
-#: ../midori/midori-browser.c:3365
+#: ../midori/midori-browser.c:3962
 msgid "_Toolbars"
 msgstr "_Werkzeugleisten"
 
-#: ../midori/midori-browser.c:3377
+#: ../midori/midori-browser.c:3974
 msgid "Increase the zoom level"
 msgstr "Erhöhe die Vergrößerungsstufe"
 
-#: ../midori/midori-browser.c:3380
+#: ../midori/midori-browser.c:3977
 msgid "Decrease the zoom level"
 msgstr "Verringere die Vergrößerungsstufe"
 
-#: ../midori/midori-browser.c:3383
+#: ../midori/midori-browser.c:3980
 msgid "Reset the zoom level"
 msgstr "Setzte die Vergrößerungsstufe zurück"
 
-#: ../midori/midori-browser.c:3384
+#: ../midori/midori-browser.c:3981
 msgid "_Encoding"
 msgstr "_Zeichensatz"
 
-#: ../midori/midori-browser.c:3386
+#: ../midori/midori-browser.c:3983
 msgid "_Automatic"
 msgstr "_Automatisch"
 
-#: ../midori/midori-browser.c:3389 ../midori/midori-websettings.c:200
+#: ../midori/midori-browser.c:3986 ../midori/midori-websettings.c:208
 msgid "Chinese (BIG5)"
 msgstr "Chinesisch (BIG5)"
 
-#: ../midori/midori-browser.c:3392 ../midori/midori-websettings.c:201
+#: ../midori/midori-browser.c:3989 ../midori/midori-websettings.c:209
 msgid "Japanese (SHIFT_JIS)"
 msgstr "Japanisch (SHIFT_JIS)"
 
-#: ../midori/midori-browser.c:3395 ../midori/midori-websettings.c:202
+#: ../midori/midori-browser.c:3992 ../midori/midori-websettings.c:210
 msgid "Russian (KOI8-R)"
 msgstr "Russisch (KOI8-R)"
 
-#: ../midori/midori-browser.c:3398 ../midori/midori-websettings.c:203
+#: ../midori/midori-browser.c:3995 ../midori/midori-websettings.c:211
 msgid "Unicode (UTF-8)"
 msgstr "Unicode (UTF-8)"
 
-#: ../midori/midori-browser.c:3401 ../midori/midori-websettings.c:204
+#: ../midori/midori-browser.c:3998 ../midori/midori-websettings.c:212
 msgid "Western (ISO-8859-1)"
 msgstr "Westlich (ISO-8859-1)"
 
-#: ../midori/midori-browser.c:3404 ../midori/midori-websettings.c:205
-#: ../midori/midori-websettings.c:277
+#: ../midori/midori-browser.c:4001 ../midori/midori-websettings.c:213
+#: ../midori/midori-websettings.c:285
 msgid "Custom..."
 msgstr "Benutzerdefiniert…"
 
-#: ../midori/midori-browser.c:3407 ../midori/midori-view.c:1138
+#: ../midori/midori-browser.c:4004 ../midori/midori-view.c:1356
 msgid "View _Source"
 msgstr "_Quelltext anzeigen"
 
-#: ../midori/midori-browser.c:3408
+#: ../midori/midori-browser.c:4005
 msgid "View the source code of the page"
 msgstr "Zeige den Quelltext der Seite an"
 
-#: ../midori/midori-browser.c:3410
+#: ../midori/midori-browser.c:4007
 msgid "View Selection Source"
 msgstr "Quelltext der Markierung anzeigen"
 
-#: ../midori/midori-browser.c:3411
+#: ../midori/midori-browser.c:4008
 msgid "View the source code of the selection"
 msgstr "Zeige den Quelltext der Markierung an"
 
-#: ../midori/midori-browser.c:3415
+#: ../midori/midori-browser.c:4012
 msgid "Toggle fullscreen view"
 msgstr "Vollbildmodus ein-/ ausschalten"
 
-#: ../midori/midori-browser.c:3417
+#: ../midori/midori-browser.c:4014
 msgid "_Go"
 msgstr "_Gehe zu"
 
-#: ../midori/midori-browser.c:3420
+#: ../midori/midori-browser.c:4017
 msgid "Go back to the previous page"
 msgstr "Gehe zur voherigen Seite zurück"
 
-#: ../midori/midori-browser.c:3423
+#: ../midori/midori-browser.c:4020
 msgid "Go forward to the next page"
 msgstr "Gehe weiter zur nächsten Seite"
 
-#: ../midori/midori-browser.c:3426
+#: ../midori/midori-browser.c:4023
 msgid "Go to your homepage"
 msgstr "Gehe zu Deiner Startseite"
 
-#: ../midori/midori-browser.c:3428
+#: ../midori/midori-browser.c:4025
 msgid "Empty Trash"
 msgstr "Papierkorb leeren"
 
-#: ../midori/midori-browser.c:3429
+#: ../midori/midori-browser.c:4026
 msgid "Delete the contents of the trash"
 msgstr "Inhalt des Papierkorbs löschen"
 
-#: ../midori/midori-browser.c:3431 ../midori/midori-view.c:1110
+#: ../midori/midori-browser.c:4028 ../midori/midori-view.c:1314
 msgid "Undo Close Tab"
 msgstr "Reiter zurückholen"
 
-#: ../midori/midori-browser.c:3432
+#: ../midori/midori-browser.c:4029
 msgid "Open the last closed tab"
 msgstr "Zuletzt geschlossenen Reiter öffnen"
 
-#: ../midori/midori-browser.c:3436 ../panels/midori-bookmarks.c:232
+#: ../midori/midori-browser.c:4033 ../panels/midori-bookmarks.c:230
 msgid "Add a new bookmark"
 msgstr "Ein neues Lesezeichen hinzufügen"
 
-#: ../midori/midori-browser.c:3438 ../panels/midori-bookmarks.c:261
+#: ../midori/midori-browser.c:4035 ../panels/midori-bookmarks.c:259
 msgid "Add a new folder"
 msgstr "Einen neuen Ordner hinzufügen"
 
-#: ../midori/midori-browser.c:3439
+#: ../midori/midori-browser.c:4036
 msgid "Add a new bookmark folder"
 msgstr "Einen neuen Lesezeichenordner hinzufügen"
 
-#: ../midori/midori-browser.c:3440
+#: ../midori/midori-browser.c:4037
 msgid "_Tools"
 msgstr "_Extras"
 
-#: ../midori/midori-browser.c:3442 ../midori/midori-searchaction.c:493
+#: ../midori/midori-browser.c:4039 ../midori/midori-searchaction.c:493
 msgid "_Manage Search Engines"
 msgstr "_Suchmaschinen verwalten"
 
-#: ../midori/midori-browser.c:3443
+#: ../midori/midori-browser.c:4040
 msgid "Add, edit and remove search engines..."
 msgstr "Suchmaschinen hinzufügen, bearbeiten und löschen…"
 
-#: ../midori/midori-browser.c:3446
+#: ../midori/midori-browser.c:4043
 msgid "_Clear Private Data"
 msgstr "_Private Daten löschen"
 
-#: ../midori/midori-browser.c:3447
+#: ../midori/midori-browser.c:4044
 msgid "Clear private data..."
 msgstr "Private Daten löschen..."
 
-#: ../midori/midori-browser.c:3451
+#: ../midori/midori-browser.c:4048
 msgid "_Previous Tab"
 msgstr "_Vorheriger Reiter"
 
-#: ../midori/midori-browser.c:3452
+#: ../midori/midori-browser.c:4049
 msgid "Switch to the previous tab"
 msgstr "Zum voherigen Reiter wechseln"
 
-#: ../midori/midori-browser.c:3454
+#: ../midori/midori-browser.c:4051
 msgid "_Next Tab"
 msgstr "_Nächster Reiter"
 
-#: ../midori/midori-browser.c:3455
+#: ../midori/midori-browser.c:4052
 msgid "Switch to the next tab"
 msgstr "Zum nächsten Reiter wechseln"
 
-#: ../midori/midori-browser.c:3457
+#: ../midori/midori-browser.c:4054
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: ../midori/midori-browser.c:3459
+#: ../midori/midori-browser.c:4056
 msgid "_Contents"
 msgstr "_Inhalt"
 
-#: ../midori/midori-browser.c:3460
+#: ../midori/midori-browser.c:4057
 msgid "Show the documentation"
 msgstr "Zeige die Dokumentation"
 
-#: ../midori/midori-browser.c:3462
+#: ../midori/midori-browser.c:4059
 msgid "_Frequent Questions"
 msgstr "_Häufige Fragen"
 
-#: ../midori/midori-browser.c:3463
+#: ../midori/midori-browser.c:4060
 msgid "Show the Frequently Asked Questions"
 msgstr "Häufig gestellte Fragen anzeigen"
 
-#: ../midori/midori-browser.c:3465
+#: ../midori/midori-browser.c:4062
 msgid "_Report a Bug"
 msgstr "Fehler _berichten"
 
-#: ../midori/midori-browser.c:3466
+#: ../midori/midori-browser.c:4063
 msgid "Open Midori's bug tracker"
 msgstr "Midoris Fehlerverfolgung öffnen"
 
-#: ../midori/midori-browser.c:3469
+#: ../midori/midori-browser.c:4066
 msgid "Show information about the program"
 msgstr "Zeige Informationen über das Programm"
 
-#: ../midori/midori-browser.c:3476
+#: ../midori/midori-browser.c:4073
 msgid "P_rivate Browsing"
 msgstr "_Privat navigieren"
 
-#: ../midori/midori-browser.c:3477
+#: ../midori/midori-browser.c:4074
 msgid "Don't save any private data while browsing"
 msgstr "Keinerlei private Daten während des Navigierens speichern"
 
-#: ../midori/midori-browser.c:3482
+#: ../midori/midori-browser.c:4079
 msgid "_Menubar"
 msgstr "_Menüleiste"
 
-#: ../midori/midori-browser.c:3483
+#: ../midori/midori-browser.c:4080
 msgid "Show menubar"
 msgstr "Menüleiste anzeigen"
 
-#: ../midori/midori-browser.c:3486
+#: ../midori/midori-browser.c:4083
 msgid "_Navigationbar"
 msgstr "_Navigationsleiste"
 
-#: ../midori/midori-browser.c:3487
+#: ../midori/midori-browser.c:4084
 msgid "Show navigationbar"
 msgstr "Navigationsleiste anzeigen"
 
-#: ../midori/midori-browser.c:3490
+#: ../midori/midori-browser.c:4087
 msgid "Side_panel"
 msgstr "Seiten_leiste"
 
-#: ../midori/midori-browser.c:3491
+#: ../midori/midori-browser.c:4088
 msgid "Show sidepanel"
 msgstr "Seitenleiste anzeigen"
 
-#: ../midori/midori-browser.c:3494
+#: ../midori/midori-browser.c:4091
 msgid "_Bookmarkbar"
 msgstr "_Lesezeichenleiste"
 
-#: ../midori/midori-browser.c:3495
+#: ../midori/midori-browser.c:4092
 msgid "Show bookmarkbar"
 msgstr "Lesezeichenleiste anzeigen"
 
-#: ../midori/midori-browser.c:3498
+#: ../midori/midori-browser.c:4095
 msgid "_Transferbar"
 msgstr "_Übertragungsleiste"
 
-#: ../midori/midori-browser.c:3499
+#: ../midori/midori-browser.c:4096
 msgid "Show transferbar"
 msgstr "Übertragungsleiste anzeigen"
 
-#: ../midori/midori-browser.c:3502
+#: ../midori/midori-browser.c:4099
 msgid "_Statusbar"
 msgstr "_Statusleiste"
 
-#: ../midori/midori-browser.c:3503
+#: ../midori/midori-browser.c:4100
 msgid "Show statusbar"
 msgstr "Statusleiste anzeigen"
 
-#: ../midori/midori-browser.c:3937
+#: ../midori/midori-browser.c:4534
 msgid "_Separator"
 msgstr "_Trennlinie"
 
-#: ../midori/midori-browser.c:3944
+#: ../midori/midori-browser.c:4541
 msgid "_Location..."
 msgstr "_Ort…"
 
-#: ../midori/midori-browser.c:3946
+#: ../midori/midori-browser.c:4543
 msgid "Open a particular location"
 msgstr "Öffne einen bestimmten Ort"
 
-#: ../midori/midori-browser.c:3970
+#: ../midori/midori-browser.c:4565
 msgid "_Web Search..."
 msgstr "Im _Netz suchen…"
 
-#: ../midori/midori-browser.c:3972
+#: ../midori/midori-browser.c:4567
 msgid "Run a web search"
 msgstr "Starte eine Suche im Netz"
 
-#: ../midori/midori-browser.c:3993
+#: ../midori/midori-browser.c:4588
 msgid "Reopen a previously closed tab or window"
 msgstr "Reiter oder Fenster zurückholen"
 
-#: ../midori/midori-browser.c:4006
+#: ../midori/midori-browser.c:4603
 msgid "_Recently visited pages"
 msgstr "_Zuletzt besuchte Seiten"
 
-#: ../midori/midori-browser.c:4008
+#: ../midori/midori-browser.c:4605
 msgid "Reopen pages that you visited earlier"
 msgstr "Bereits besuchte Seiten erneut öffnen"
 
-#: ../midori/midori-browser.c:4021 ../midori/sokoke.c:781
+#: ../midori/midori-browser.c:4620 ../midori/sokoke.c:848
 msgid "_Bookmarks"
 msgstr "_Lesezeichen"
 
-#: ../midori/midori-browser.c:4023
+#: ../midori/midori-browser.c:4622
 msgid "Show the saved bookmarks"
 msgstr "Die gespeicherten Lesezeichen anzeigen"
 
-#: ../midori/midori-browser.c:4036
+#: ../midori/midori-browser.c:4637
 msgid "_Window"
 msgstr "_Fenster"
 
-#: ../midori/midori-browser.c:4038
+#: ../midori/midori-browser.c:4639
 msgid "Show a list of all open tabs"
 msgstr "Zeige eine Übersicht aller offenen Reiter"
 
 #. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:4205
+#: ../midori/midori-browser.c:4814
 msgid "_Inline Find:"
 msgstr "_Inkrementelle Suche:"
 
-#: ../midori/midori-browser.c:4230
+#: ../midori/midori-browser.c:4839
 msgid "Previous"
 msgstr "Zurück"
 
-#: ../midori/midori-browser.c:4235
+#: ../midori/midori-browser.c:4844
 msgid "Next"
 msgstr "Weiter"
 
-#: ../midori/midori-browser.c:4240
+#: ../midori/midori-browser.c:4849
 msgid "Match Case"
 msgstr "Groß-/ Kleinschreibung"
 
-#: ../midori/midori-browser.c:4248
+#: ../midori/midori-browser.c:4857
 msgid "Highlight Matches"
 msgstr "Treffer hervorheben"
 
-#: ../midori/midori-browser.c:4258
+#: ../midori/midori-browser.c:4867
 msgid "Close Findbar"
 msgstr "Suchleiste schließen"
 
-#: ../midori/midori-browser.c:4598
+#: ../midori/midori-browser.c:4902
+#: ../extensions/cookie-manager/cookie-manager-page.c:129
+msgid "Delete All"
+msgstr "Alle löschen"
+
+#: ../midori/midori-browser.c:5224
 #, c-format
 msgid "Unexpected setting '%s'"
 msgstr "Unerwartete Einstellung »%s«"
 
-#: ../midori/midori-panel.c:309
+#: ../midori/midori-panel.c:333
 msgid "Detach chosen panel from the window"
 msgstr "Gewählte Leiste vom Fenster ablösen"
 
-#: ../midori/midori-panel.c:311
+#: ../midori/midori-panel.c:335
 msgid "Whether to detach the chosen panel from the window"
 msgstr "Die gewählte Seitenleiste vom Fenster ablösen"
 
-#: ../midori/midori-panel.c:321 ../midori/midori-websettings.c:531
+#: ../midori/midori-panel.c:345 ../midori/midori-websettings.c:539
 msgid "Align sidepanel on the right"
 msgstr "Seitenleiste rechts anordnen"
 
-#: ../midori/midori-panel.c:323 ../midori/midori-websettings.c:532
+#: ../midori/midori-panel.c:347 ../midori/midori-websettings.c:540
 msgid "Whether to align the sidepanel on the right"
 msgstr "Die Seitenleiste auf der rechten Seite anordnen"
 
-#: ../midori/midori-panel.c:333 ../midori/midori-panel.c:334
+#: ../midori/midori-panel.c:357 ../midori/midori-panel.c:358
 msgid "Close panel"
 msgstr "Leiste schließen"
 
-#: ../midori/midori-websettings.c:183 ../midori/midori-view.c:1949
+#: ../midori/midori-websettings.c:191 ../midori/midori-view.c:2250
 msgid "Blank page"
 msgstr "Leere Seite"
 
-#: ../midori/midori-websettings.c:184 ../midori/midori-websettings.c:551
+#: ../midori/midori-websettings.c:192 ../midori/midori-websettings.c:559
 msgid "Homepage"
 msgstr "Startseite"
 
-#: ../midori/midori-websettings.c:185
+#: ../midori/midori-websettings.c:193
 msgid "Last open pages"
 msgstr "Zuletzt geöffnete Seiten"
 
-#: ../midori/midori-websettings.c:220
+#: ../midori/midori-websettings.c:228
 msgid "New tab"
 msgstr "Neuer Reiter"
 
-#: ../midori/midori-websettings.c:221
+#: ../midori/midori-websettings.c:229
 msgid "New window"
 msgstr "Neues Fenster"
 
-#: ../midori/midori-websettings.c:222
+#: ../midori/midori-websettings.c:230
 msgid "Current tab"
 msgstr "Aktueller Reiter"
 
-#: ../midori/midori-websettings.c:237
+#: ../midori/midori-websettings.c:245
 msgid "Default"
 msgstr "Standard"
 
-#: ../midori/midori-websettings.c:238
+#: ../midori/midori-websettings.c:246
 msgid "Icons"
 msgstr "Symbole"
 
-#: ../midori/midori-websettings.c:239
+#: ../midori/midori-websettings.c:247
 msgid "Text"
 msgstr "Text"
 
-#: ../midori/midori-websettings.c:240
+#: ../midori/midori-websettings.c:248
 msgid "Both"
 msgstr "Beides"
 
-#: ../midori/midori-websettings.c:241
+#: ../midori/midori-websettings.c:249
 msgid "Both horizontal"
 msgstr "Beides horizontal"
 
-#: ../midori/midori-websettings.c:256
+#: ../midori/midori-websettings.c:264
 msgid "All cookies"
 msgstr "Alle Profildateien"
 
-#: ../midori/midori-websettings.c:257
+#: ../midori/midori-websettings.c:265
 msgid "Session cookies"
 msgstr "Sitzungsprofile"
 
-#: ../midori/midori-websettings.c:258 ../panels/midori-addons.c:94
+#: ../midori/midori-websettings.c:266 ../panels/midori-addons.c:94
 msgid "None"
 msgstr "Keine"
 
-#: ../midori/midori-websettings.c:274
+#: ../midori/midori-websettings.c:282
 msgid "Safari"
 msgstr "Safari"
 
-#: ../midori/midori-websettings.c:275
+#: ../midori/midori-websettings.c:283
 msgid "Firefox"
 msgstr "Firefox"
 
-#: ../midori/midori-websettings.c:276
+#: ../midori/midori-websettings.c:284
 msgid "Internet Explorer"
 msgstr "Internet Explorer"
 
-#: ../midori/midori-websettings.c:329
+#: ../midori/midori-websettings.c:337
 msgid "Remember last window size"
 msgstr "Letzte Fenstergröße merken"
 
-#: ../midori/midori-websettings.c:330
+#: ../midori/midori-websettings.c:338
 msgid "Whether to save the last window size"
 msgstr "Die letzte Fenstergröße speichern oder nicht"
 
-#: ../midori/midori-websettings.c:338
+#: ../midori/midori-websettings.c:346
 msgid "Last window width"
 msgstr "Letzte Fensterbreite"
 
-#: ../midori/midori-websettings.c:339
+#: ../midori/midori-websettings.c:347
 msgid "The last saved window width"
 msgstr "Die zuletzt gespeicherte Fensterbreite"
 
-#: ../midori/midori-websettings.c:347
+#: ../midori/midori-websettings.c:355
 msgid "Last window height"
 msgstr "Letzte Fensterhöhe"
 
-#: ../midori/midori-websettings.c:348
+#: ../midori/midori-websettings.c:356
 msgid "The last saved window height"
 msgstr "Die zuletzt gespeicherte Fensterhöhe"
 
-#: ../midori/midori-websettings.c:373
+#: ../midori/midori-websettings.c:381
 msgid "Last panel position"
 msgstr "Letzte Leistenposition"
 
-#: ../midori/midori-websettings.c:374
+#: ../midori/midori-websettings.c:382
 msgid "The last saved panel position"
 msgstr "Die zuletzt gespeicherte Leistenposition"
 
 #. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:383
+#: ../midori/midori-websettings.c:391
 msgid "Last panel page"
 msgstr "Letzte Leistenseite"
 
-#: ../midori/midori-websettings.c:384
+#: ../midori/midori-websettings.c:392
 msgid "The last saved panel page"
 msgstr "Die zuletzt gespeicherte Leistenseite"
 
-#: ../midori/midori-websettings.c:392
+#: ../midori/midori-websettings.c:400
 msgid "Last Web search"
 msgstr "Letzte Suche im Netz"
 
-#: ../midori/midori-websettings.c:393
+#: ../midori/midori-websettings.c:401
 msgid "The last saved Web search"
 msgstr "Die zuletzt gespeicherte Suche im Netz"
 
-#: ../midori/midori-websettings.c:402
+#: ../midori/midori-websettings.c:410
 msgid "Show Menubar"
 msgstr "Menüleiste anzeigen"
 
-#: ../midori/midori-websettings.c:403
+#: ../midori/midori-websettings.c:411
 msgid "Whether to show the menubar"
 msgstr "Die Menüleiste anzeigen oder verbergen"
 
-#: ../midori/midori-websettings.c:411
+#: ../midori/midori-websettings.c:419
 msgid "Show Navigationbar"
 msgstr "Navigationsleiste anzeigen"
 
-#: ../midori/midori-websettings.c:412
+#: ../midori/midori-websettings.c:420
 msgid "Whether to show the navigationbar"
 msgstr "Die Navigationsleiste anzeigen oder verbergen"
 
-#: ../midori/midori-websettings.c:420
+#: ../midori/midori-websettings.c:428
 msgid "Show Bookmarkbar"
 msgstr "Lesezeichenleiste anzeigen"
 
-#: ../midori/midori-websettings.c:421
+#: ../midori/midori-websettings.c:429
 msgid "Whether to show the bookmarkbar"
 msgstr "Die Lesezeichenleiste anzeigen oder verbergen"
 
-#: ../midori/midori-websettings.c:429
+#: ../midori/midori-websettings.c:437
 msgid "Show Panel"
 msgstr "Leiste anzeigen"
 
-#: ../midori/midori-websettings.c:430
+#: ../midori/midori-websettings.c:438
 msgid "Whether to show the panel"
 msgstr "Die Leiste anzeigen oder verbergen"
 
-#: ../midori/midori-websettings.c:445
+#: ../midori/midori-websettings.c:453
 msgid "Show Transferbar"
 msgstr "Übertragungsleiste anzeigen"
 
-#: ../midori/midori-websettings.c:446
+#: ../midori/midori-websettings.c:454
 msgid "Whether to show the transferbar"
 msgstr "Die Übertragungsleiste anzeigen oder verbergen"
 
-#: ../midori/midori-websettings.c:454
+#: ../midori/midori-websettings.c:462
 msgid "Show Statusbar"
 msgstr "Statusleiste anzeigen"
 
-#: ../midori/midori-websettings.c:455
+#: ../midori/midori-websettings.c:463
 msgid "Whether to show the statusbar"
 msgstr "Die Statusleiste anzeigen oder verbergen"
 
-#: ../midori/midori-websettings.c:464
+#: ../midori/midori-websettings.c:472
 msgid "Toolbar Style"
 msgstr "Werkzeugleistenstil"
 
-#: ../midori/midori-websettings.c:465
+#: ../midori/midori-websettings.c:473
 msgid "The style of the toolbar"
 msgstr "Der Stil der Werkzeugleiste"
 
-#: ../midori/midori-websettings.c:481
+#: ../midori/midori-websettings.c:489
 msgid "Show progress in location entry"
 msgstr "Fortschritt im Adressfeld anzeigen"
 
-#: ../midori/midori-websettings.c:482
+#: ../midori/midori-websettings.c:490
 msgid "Whether to show loading progress in the location entry"
 msgstr "Aktuellen Ladefortschritt im Adressfeld anzeigen"
 
-#: ../midori/midori-websettings.c:497
+#: ../midori/midori-websettings.c:505
 msgid "Search engines in location completion"
 msgstr "Suchmaschinen in Vervollständigung"
 
-#: ../midori/midori-websettings.c:498
+#: ../midori/midori-websettings.c:506
 msgid "Whether to show search engines in the location completion"
-msgstr "Verfügbare Suchmaschinen in der Adressvervollständigung  anzeigen"
+msgstr "Verfügbare Suchmaschinen in der Adressvervollständigung anzeigen"
 
-#: ../midori/midori-websettings.c:506
+#: ../midori/midori-websettings.c:514
 msgid "Toolbar Items"
 msgstr "Werkzeugleistenelemente"
 
-#: ../midori/midori-websettings.c:507
+#: ../midori/midori-websettings.c:515
 msgid "The items to show on the toolbar"
 msgstr "Die in der Werkzeugleiste anzuzeigenden Elemente"
 
-#: ../midori/midori-websettings.c:515
+#: ../midori/midori-websettings.c:523
 msgid "Compact Sidepanel"
 msgstr "Kompakte Seitenleiste"
 
-#: ../midori/midori-websettings.c:516
+#: ../midori/midori-websettings.c:524
 msgid "Whether to make the sidepanel compact"
 msgstr "Die Seitenleiste anzeigen oder verbergen"
 
-#: ../midori/midori-websettings.c:541
+#: ../midori/midori-websettings.c:549
 msgid "Load on Startup"
 msgstr "Beim Programmstart öffnen"
 
-#: ../midori/midori-websettings.c:542
+#: ../midori/midori-websettings.c:550
 msgid "What to load on startup"
 msgstr "Was beim Programmstart geöffnet werden soll"
 
-#: ../midori/midori-websettings.c:552
+#: ../midori/midori-websettings.c:560
 msgid "The homepage"
 msgstr "Die Startseite"
 
-#: ../midori/midori-websettings.c:567
+#: ../midori/midori-websettings.c:575
 msgid "Show crash dialog"
 msgstr "Absturzdialog anzeigen"
 
-#: ../midori/midori-websettings.c:568
+#: ../midori/midori-websettings.c:576
 msgid "Show a dialog after Midori crashed"
 msgstr "Absturzdialog anzeigen nachdem Midori abgestürzt ist"
 
-#: ../midori/midori-websettings.c:576
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:592
+msgid "Show speed dial in new tabs"
+msgstr "Schnellwahl in neuen Reitern anzeigen"
+
+#: ../midori/midori-websettings.c:593
+msgid "Show speed dial in newly opened tabs"
+msgstr "Schnellwahl in neu geöffneten Reitern anzeigen"
+
+#: ../midori/midori-websettings.c:605
 msgid "Download Folder"
 msgstr "Dateispeicherordner"
 
-#: ../midori/midori-websettings.c:577
+#: ../midori/midori-websettings.c:606
 msgid "The folder downloaded files are saved to"
 msgstr "Der Ordner, in dem heruntergeladene Dateien gespeichert werden"
 
-#: ../midori/midori-websettings.c:589
+#: ../midori/midori-websettings.c:625
+msgid "Ask for the destination folder"
+msgstr "Nach dem Zielordner fragen"
+
+#: ../midori/midori-websettings.c:626
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr "Beim Herunterladen einer Datei nach dem Zielordner fragen"
+
+#: ../midori/midori-websettings.c:645
+msgid "Notify when a transfer has been completed"
+msgstr "Benachrichtigen bei Abschluss einer Übertragung"
+
+#: ../midori/midori-websettings.c:646
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr ""
+"Eine Benachrichtigung anzeigen wenn eine Übertragung abgeschlossen wurde"
+
+#: ../midori/midori-websettings.c:658
 msgid "Download Manager"
 msgstr "Übertragungsmanager"
 
-#: ../midori/midori-websettings.c:590
+#: ../midori/midori-websettings.c:659
 msgid "An external download manager"
 msgstr "Ein externer Übertragungsmanager"
 
-#: ../midori/midori-websettings.c:598
+#: ../midori/midori-websettings.c:667
 msgid "Text Editor"
 msgstr "Texteditor"
 
-#: ../midori/midori-websettings.c:599
+#: ../midori/midori-websettings.c:668
 msgid "An external text editor"
 msgstr "Ein externer Texteditor"
 
-#: ../midori/midori-websettings.c:614
+#: ../midori/midori-websettings.c:683
 msgid "News Aggregator"
 msgstr "Nachrichtenaggregator"
 
-#: ../midori/midori-websettings.c:615
+#: ../midori/midori-websettings.c:684
 msgid "An external news aggregator"
 msgstr "Ein externer Nachrichtenaggregator"
 
-#: ../midori/midori-websettings.c:623
+#: ../midori/midori-websettings.c:692
 msgid "Location entry Search"
 msgstr "Adressfeldsuche"
 
-#: ../midori/midori-websettings.c:624
+#: ../midori/midori-websettings.c:693
 msgid "The search to perform inside the location entry"
 msgstr "Die Suche, die über das Adressfeld ausgeführt wird"
 
-#: ../midori/midori-websettings.c:632
+#: ../midori/midori-websettings.c:701
 msgid "Preferred Encoding"
 msgstr "Bevorzugter Zeichensatz"
 
-#: ../midori/midori-websettings.c:633
+#: ../midori/midori-websettings.c:702
 msgid "The preferred character encoding"
 msgstr "Der bevorzugte Zeichensatz"
 
-#: ../midori/midori-websettings.c:643
+#: ../midori/midori-websettings.c:712
 msgid "Always Show Tabbar"
 msgstr "Reiterleiste immer anzeigen"
 
-#: ../midori/midori-websettings.c:644
+#: ../midori/midori-websettings.c:713
 msgid "Always show the tabbar"
 msgstr "Die Reiterleiste immer anzeigen"
 
-#: ../midori/midori-websettings.c:652
+#: ../midori/midori-websettings.c:721
 msgid "Close Buttons on Tabs"
 msgstr "Schließenschaltflächen auf Reitern"
 
-#: ../midori/midori-websettings.c:653
+#: ../midori/midori-websettings.c:722
 msgid "Whether tabs have close buttons"
 msgstr "Schließenschaltflächen auf Reitern anzeigen oder verbergen"
 
-#: ../midori/midori-websettings.c:661
+#: ../midori/midori-websettings.c:730
 msgid "Open new pages in"
 msgstr "Öffne neue Seiten in"
 
-#: ../midori/midori-websettings.c:662
+#: ../midori/midori-websettings.c:731
 msgid "Where to open new pages"
 msgstr "Wo neue Seiten geöffnet werden sollen"
 
-#: ../midori/midori-websettings.c:671
+#: ../midori/midori-websettings.c:740
 msgid "Open external pages in"
 msgstr "Öffne Seiten von außerhalb in"
 
-#: ../midori/midori-websettings.c:672
+#: ../midori/midori-websettings.c:741
 msgid "Where to open externally opened pages"
 msgstr "Wo Seiten von außerhalb geöffnet werden sollen"
 
-#: ../midori/midori-websettings.c:685
+#: ../midori/midori-websettings.c:754
 msgid "Middle click opens Selection"
 msgstr "Mittelklick öffnet Markierung"
 
-#: ../midori/midori-websettings.c:686
+#: ../midori/midori-websettings.c:755
 msgid "Load an address from the selection via middle click"
 msgstr "Lade eine markierte Adresse mit der mittleren Maustaste"
 
-#: ../midori/midori-websettings.c:694
+#: ../midori/midori-websettings.c:763
 msgid "Open tabs in the background"
 msgstr "Reiter im Hintergrund öffnen"
 
-#: ../midori/midori-websettings.c:695
+#: ../midori/midori-websettings.c:764
 msgid "Whether to open new tabs in the background"
 msgstr "Neue Reiter im Hintergrund öffnen"
 
-#: ../midori/midori-websettings.c:703
+#: ../midori/midori-websettings.c:772
 msgid "Open Tabs next to Current"
 msgstr "Reiter neben aktuellem öffnen"
 
-#: ../midori/midori-websettings.c:704
+#: ../midori/midori-websettings.c:773
 msgid "Whether to open new tabs next to the current tab or after the last one"
 msgstr "Neue Reiter neben dem aktuellen Reiter oder nach dem letzten öffnen"
 
-#: ../midori/midori-websettings.c:712
+#: ../midori/midori-websettings.c:781
 msgid "Open popups in tabs"
 msgstr "Aufklappfenster in Reitern öffnen"
 
-#: ../midori/midori-websettings.c:713
+#: ../midori/midori-websettings.c:782
 msgid "Whether to open popup windows in tabs"
 msgstr "Aufklappfenster in neuen Reitern öffnen"
 
-#: ../midori/midori-websettings.c:729
+#: ../midori/midori-websettings.c:798
 msgid "Zoom Text and Images"
 msgstr "Text und Bilder vergrößern"
 
-#: ../midori/midori-websettings.c:730
+#: ../midori/midori-websettings.c:799
 msgid "Whether to zoom text and images"
 msgstr "Ob Text und Bilder gleichermaßen vergrößert werden sollen"
 
-#: ../midori/midori-websettings.c:745
+#: ../midori/midori-websettings.c:814
 msgid "Find inline while typing"
 msgstr "Inkrementelle Suche beim Eintippen"
 
-#: ../midori/midori-websettings.c:746
+#: ../midori/midori-websettings.c:815
 msgid "Whether to automatically find inline while typing"
 msgstr "Ob die inkrementelle Suche automatisch beim Eintippen starten soll"
 
-#: ../midori/midori-websettings.c:754
+#: ../midori/midori-websettings.c:823
 msgid "Accept cookies"
 msgstr "Cookies annehmen"
 
-#: ../midori/midori-websettings.c:755
+#: ../midori/midori-websettings.c:824
 msgid "What type of cookies to accept"
 msgstr "Welche Art von Profildateien (Cookies) angenommen werden"
 
-#: ../midori/midori-websettings.c:764
+#: ../midori/midori-websettings.c:833
 msgid "Original cookies only"
 msgstr "Nur ursprüngliche Profildateien"
 
-#: ../midori/midori-websettings.c:765
+#: ../midori/midori-websettings.c:834
 msgid "Accept cookies from the original website only"
 msgstr "Nur Profildateien von der ursprünglichen Seite annehmen"
 
-#: ../midori/midori-websettings.c:773
+#: ../midori/midori-websettings.c:842
 msgid "Maximum cookie age"
 msgstr "Maximales Alter von Cookiedaten"
 
-#: ../midori/midori-websettings.c:774
+#: ../midori/midori-websettings.c:843
 msgid "The maximum number of days to save cookies for"
 msgstr "Die maximale Anzahl an Tagen, für die Profildateien gespeichert werden"
 
-#: ../midori/midori-websettings.c:784
+#: ../midori/midori-websettings.c:853
 msgid "Remember last visited pages"
 msgstr "Zuletzt besuchte Seiten merken"
 
-#: ../midori/midori-websettings.c:785
+#: ../midori/midori-websettings.c:854
 msgid "Whether the last visited pages are saved"
 msgstr "Die zuletzt besuchten Seiten speichern"
 
-#: ../midori/midori-websettings.c:793
+#: ../midori/midori-websettings.c:862
 msgid "Maximum history age"
 msgstr "Maximales Verlaufsalter"
 
-#: ../midori/midori-websettings.c:794
+#: ../midori/midori-websettings.c:863
 msgid "The maximum number of days to save the history for"
 msgstr "Die maximale Anzahl an Tagen, für die der Verlauf gepseichert wird"
 
-#: ../midori/midori-websettings.c:802
+#: ../midori/midori-websettings.c:871
 msgid "Remember last form inputs"
 msgstr "Zuletzt eingegebene Formulareingaben merken"
 
-#: ../midori/midori-websettings.c:803
+#: ../midori/midori-websettings.c:872
 msgid "Whether the last form inputs are saved"
 msgstr "Die letzten Formulareingaben speichern"
 
-#: ../midori/midori-websettings.c:811
+#: ../midori/midori-websettings.c:880
 msgid "Remember last downloaded files"
 msgstr "Zuletzt heruntergeladene Dateien merken"
 
-#: ../midori/midori-websettings.c:812
+#: ../midori/midori-websettings.c:881
 msgid "Whether the last downloaded files are saved"
 msgstr "Die zuletzt heruntegeladenen Dateien speichern"
 
-#: ../midori/midori-websettings.c:822
+#: ../midori/midori-websettings.c:891
 msgid "Proxy Server"
 msgstr "Zwischenrechner (Proxy)"
 
-#: ../midori/midori-websettings.c:823
+#: ../midori/midori-websettings.c:892
 msgid "The proxy server used for HTTP connections"
 msgstr "Der Zwischenrechner für HTTP-Verbindungen"
 
-#: ../midori/midori-websettings.c:838
+#: ../midori/midori-websettings.c:907
 msgid "Detect proxy server automatically"
 msgstr "Proxyrechner automatisch erkennen"
 
-#: ../midori/midori-websettings.c:839
+#: ../midori/midori-websettings.c:908
 msgid "Whether to detect the proxy server automatically from the environment"
 msgstr "Zwischenrechner automatisch über die Umgebung erkennen"
 
 #. i18n: This refers to an application, not the 'user agent' string
-#: ../midori/midori-websettings.c:855
+#: ../midori/midori-websettings.c:924
 msgid "Identify as"
 msgstr "Ausgeben als"
 
-#: ../midori/midori-websettings.c:856
+#: ../midori/midori-websettings.c:925
 msgid "What to identify as to web pages"
 msgstr "Wie gegenüber Seiten im Internet identifiziert werden soll"
 
-#: ../midori/midori-websettings.c:872
+#: ../midori/midori-websettings.c:941
 msgid "Identification string"
 msgstr "Identifikationskennung"
 
-#: ../midori/midori-websettings.c:873
+#: ../midori/midori-websettings.c:942
 msgid "The application identification string"
 msgstr "Die Identifikationskennung der Anwedung"
 
-#: ../midori/midori-websettings.c:881
+#: ../midori/midori-websettings.c:950
 msgid "Cache size"
 msgstr "Zwischenspeichergröße"
 
-#: ../midori/midori-websettings.c:882
+#: ../midori/midori-websettings.c:951
 msgid "The allowed size of the cache"
 msgstr "Die erlaubte Zwischenspeichergröße"
 
+#: ../midori/midori-websettings.c:966
+msgid "Clear private data"
+msgstr "Private Daten löschen"
+
+#: ../midori/midori-websettings.c:967
+msgid "The private data selected for deletion"
+msgstr "Zum Löschen ausgewählte private Daten"
+
+#: ../midori/midori-view.c:740
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "Die Seite «%s» konnte nicht geladen werden."
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:742 ../midori/midori-view.c:2773
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "Fehler"
+
+#: ../midori/midori-view.c:745
+msgid "Try again"
+msgstr "Erneut versuchen"
+
 #. i18n: The title of the 404 - Not found error page
 #. Error pages are special, we want to try loading the destination
 #. again, not the error page which isn't even a proper page
-#: ../midori/midori-view.c:637 ../midori/midori-view.c:2473
+#: ../midori/midori-view.c:775 ../midori/midori-view.c:2777
 #, c-format
 msgid "Not found - %s"
 msgstr "Nicht gefunden - %s"
 
-#: ../midori/midori-view.c:976
+#: ../midori/midori-view.c:1176
 msgid "Open _Link"
 msgstr "Verweis ö_ffnen"
 
-#: ../midori/midori-view.c:978
+#: ../midori/midori-view.c:1178
 msgid "Open Link in New _Tab"
 msgstr "Verweis in neuem _Reiter öffnen"
 
-#: ../midori/midori-view.c:995
+#: ../midori/midori-view.c:1195
 msgid "Open Link in New _Window"
 msgstr "Verweis in neuem _Fenster öffnen"
 
-#: ../midori/midori-view.c:1004
+#: ../midori/midori-view.c:1204
 msgid "_Download Link destination"
 msgstr "Verweisziel herunter_laden"
 
-#: ../midori/midori-view.c:1010
+#: ../midori/midori-view.c:1210
 msgid "_Save Link destination"
 msgstr "Verweisziel _speichern"
 
-#: ../midori/midori-view.c:1019
+#: ../midori/midori-view.c:1219
 msgid "Download with Download _Manager"
 msgstr "Mit Übertragungs_manager herunterladen"
 
-#: ../midori/midori-view.c:1048
+#: ../midori/midori-view.c:1248
 msgid "Search _with"
 msgstr "Suchen _mit"
 
-#: ../midori/midori-view.c:1076
+#: ../midori/midori-view.c:1276
 msgid "_Search the Web"
 msgstr "Im Netz _suchen"
 
-#: ../midori/midori-view.c:1086
+#: ../midori/midori-view.c:1286
 msgid "Open Address in New _Tab"
 msgstr "Adresse in neuem _Reiter öffnen"
 
-#: ../midori/midori-view.c:1234
+#: ../midori/midori-view.c:1453
 msgid "Open or download file"
 msgstr "Datei öffnen oder herunterladen"
 
-#: ../midori/midori-view.c:1251
+#: ../midori/midori-view.c:1470
 #, c-format
 msgid "File Type: '%s'"
 msgstr "Dateityp: «%s»"
 
-#: ../midori/midori-view.c:1254
+#: ../midori/midori-view.c:1473
 #, c-format
 msgid "File Type: %s ('%s')"
 msgstr "Dateityp: %s («%s»)"
 
 #. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
-#: ../midori/midori-view.c:1258
+#: ../midori/midori-view.c:1477
 #, c-format
 msgid "Open %s"
 msgstr "%s öffnen"
 
-#: ../midori/midori-view.c:1661
+#: ../midori/midori-view.c:1886
 #, c-format
 msgid "Inspect page - %s"
 msgstr "Seite untersuchen - %s"
 
-#: ../midori/midori-view.c:1806
+#: ../midori/midori-view.c:2076
+msgid "Speed dial"
+msgstr "Schnellwahl"
+
+#: ../midori/midori-view.c:2077
+msgid "Click to add a shortcut"
+msgstr "Klicken um eine Verknüpfung hinzuzufügen"
+
+#: ../midori/midori-view.c:2078
+msgid "Enter shortcut address"
+msgstr "Ziel der Verknüpfung eingeben"
+
+#: ../midori/midori-view.c:2079
+msgid "Enter shortcut title"
+msgstr "Titel der Verknüpfung eingeben"
+
+#: ../midori/midori-view.c:2080
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "Sind Sie sicher, dass Sie diese Verknüpfung löschen wollen?"
+
+#: ../midori/midori-view.c:2110
 #, c-format
 msgid "Document cannot be displayed"
 msgstr "Dokument kann nicht angezeigt werden"
 
-#: ../midori/midori-view.c:1822
+#: ../midori/midori-view.c:2127
 #, c-format
 msgid "No documentation installed"
 msgstr "Keine Dokumentation installiert"
@@ -1328,152 +1426,194 @@ msgstr "Programmstart"
 msgid "Use current page as homepage"
 msgstr "Aktuelle Seite als Startseite benutzen"
 
-#: ../midori/midori-preferences.c:423 ../panels/midori-transfers.c:88
+#: ../midori/midori-preferences.c:425 ../panels/midori-transfers.c:88
 msgid "Transfers"
 msgstr "Übertragungen"
 
 #. Page "Appearance"
-#: ../midori/midori-preferences.c:475
+#: ../midori/midori-preferences.c:440
 msgid "Appearance"
 msgstr "Erscheinungsbild"
 
-#: ../midori/midori-preferences.c:476
+#: ../midori/midori-preferences.c:441
 msgid "Font settings"
 msgstr "Schrifteinstellungen"
 
-#: ../midori/midori-preferences.c:478
+#: ../midori/midori-preferences.c:443
 msgid "Default Font Family"
 msgstr "Standardschriftart"
 
-#: ../midori/midori-preferences.c:484
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "Die Standardschriftgröße, in der Text angezeigt wird"
+
+#: ../midori/midori-preferences.c:450
 msgid "The default font size used to display text"
 msgstr "Die Standardschriftgröße, in der Text angezeigt wird"
 
-#: ../midori/midori-preferences.c:487
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "Dicktengleiche Schriftart"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr "Die Schriftart, in der dicktengleicher Text angezeigt wird"
+
+#: ../midori/midori-preferences.c:458
 msgid "Minimum Font Size"
 msgstr "Mindestschriftgröße"
 
-#: ../midori/midori-preferences.c:490
+#: ../midori/midori-preferences.c:461
 msgid "The minimum font size used to display text"
 msgstr "Die Mindestschriftgröße, in der Text angezeigt wird"
 
-#: ../midori/midori-preferences.c:497
+#: ../midori/midori-preferences.c:468
 msgid "Encoding"
 msgstr "Zeichensatz"
 
-#: ../midori/midori-preferences.c:500
+#: ../midori/midori-preferences.c:471
 msgid "The character encoding to use by default"
 msgstr "Der voreingestellte Zeichensatz"
 
 #. Page "Behavior"
-#: ../midori/midori-preferences.c:507
+#: ../midori/midori-preferences.c:478
 msgid "Behavior"
 msgstr "Verhalten"
 
-#: ../midori/midori-preferences.c:508
+#: ../midori/midori-preferences.c:479
 msgid "Features"
 msgstr "Inhalte"
 
-#: ../midori/midori-preferences.c:511 ../extensions/statusbar-features.c:54
+#: ../midori/midori-preferences.c:482 ../extensions/statusbar-features.c:72
 msgid "Load images automatically"
 msgstr "Bilder automatisch laden"
 
-#: ../midori/midori-preferences.c:512
+#: ../midori/midori-preferences.c:483
 msgid "Load and display images automatically"
 msgstr "Bilder automatisch laden und anzeigen"
 
-#: ../midori/midori-preferences.c:515
+#: ../midori/midori-preferences.c:486
 msgid "Shrink images automatically"
 msgstr "Bilder automatisch verkleinern"
 
-#: ../midori/midori-preferences.c:516
+#: ../midori/midori-preferences.c:487
 msgid "Automatically shrink standalone images to fit"
 msgstr "Einzelne Bilder automatisch angemessen verkleinern"
 
-#: ../midori/midori-preferences.c:519
+#: ../midori/midori-preferences.c:490
 msgid "Print background images"
 msgstr "Hintergrundbilder drucken"
 
-#: ../midori/midori-preferences.c:520
+#: ../midori/midori-preferences.c:491
 msgid "Whether background images should be printed"
 msgstr "Sollen Hintergrundbilder gedruckt werden oder nicht"
 
-#: ../midori/midori-preferences.c:523
+#: ../midori/midori-preferences.c:494
 msgid "Resizable text areas"
 msgstr "Vergrößerbare Textfelder"
 
-#: ../midori/midori-preferences.c:524
+#: ../midori/midori-preferences.c:495
 msgid "Whether text areas are resizable"
 msgstr "Sollen Textfelder vergrößerbar sein oder nicht"
 
-#: ../midori/midori-preferences.c:527 ../extensions/statusbar-features.c:63
+#: ../midori/midori-preferences.c:498 ../extensions/statusbar-features.c:84
 msgid "Enable scripts"
 msgstr "Skripte einschalten"
 
-#: ../midori/midori-preferences.c:528
+#: ../midori/midori-preferences.c:499
 msgid "Enable embedded scripting languages"
 msgstr "Eingebettete Skriptsprachen einschalten"
 
-#: ../midori/midori-preferences.c:531 ../extensions/statusbar-features.c:72
-msgid "Enable plugins"
-msgstr "Zusatzmodule einschalten"
+#: ../midori/midori-preferences.c:502 ../extensions/statusbar-features.c:96
+msgid "Enable Netscape plugins"
+msgstr "Netscape-Module einschalten"
 
-#: ../midori/midori-preferences.c:532
-msgid "Enable embedded plugin objects"
-msgstr "Eingebettete Zusatzmodule einschalten"
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "Eingebettete Netscape-Module einschalten"
 
-#: ../midori/midori-preferences.c:535
+#: ../midori/midori-preferences.c:506
 msgid "Enforce 96 dots per inch"
 msgstr "Erzwinge 96 Punkte pro Zoll"
 
-#: ../midori/midori-preferences.c:536
+#: ../midori/midori-preferences.c:507
 msgid "Enforce a video dot density of 96 DPI"
 msgstr "Erzwinge eine Punktdichte von 96 DPI"
 
-#: ../midori/midori-preferences.c:539
+#: ../midori/midori-preferences.c:510
 msgid "Enable developer tools"
 msgstr "Entwicklerwerkzeuge einschalten"
 
-#: ../midori/midori-preferences.c:540
+#: ../midori/midori-preferences.c:511
 msgid "Enable special extensions for developers"
 msgstr "Besondere Erweiterungen für Entwickler einschalten"
 
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "Rechtschreibprüfung"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "Rechtschreibprüfung einschalten"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "Rechtschreibprüfung beim Eintippen einschalten"
+
+#. i18n: The example should be adjusted to contain a good local default
+#: ../midori/midori-preferences.c:526
+msgid ""
+"A comma separated list of languages to be used for spell checking, for "
+"example \"en_GB,de_DE\""
+msgstr ""
+"Eine durch Kommas getrennte Liste von Sprachen, die für die "
+"Rechtschreibprüfung benutzt werden sollen, zum Beispiel «en_GB,de_DE»"
+
 #. Page "Interface"
-#: ../midori/midori-preferences.c:548
+#: ../midori/midori-preferences.c:531
 msgid "Interface"
 msgstr "Oberfläche"
 
-#: ../midori/midori-preferences.c:549
+#: ../midori/midori-preferences.c:532
 msgid "Navigationbar"
 msgstr "Navigationsleiste"
 
-#: ../midori/midori-preferences.c:560
+#: ../midori/midori-preferences.c:543
 msgid "Browsing"
 msgstr "Navigation"
 
+#. Page "Applications"
+#: ../midori/midori-preferences.c:573
+msgid "Applications"
+msgstr "Anwendungen"
+
+#: ../midori/midori-preferences.c:574
+msgid "External applications"
+msgstr "Externe Anwendungen"
+
 #. Page "Network"
-#: ../midori/midori-preferences.c:590 ../midori/midori-preferences.c:591
+#: ../midori/midori-preferences.c:620 ../midori/midori-preferences.c:621
 msgid "Network"
 msgstr "Netzwerk"
 
-#: ../midori/midori-preferences.c:618
+#: ../midori/midori-preferences.c:648
 msgid "MB"
 msgstr "MB"
 
 #. Page "Privacy"
-#: ../midori/midori-preferences.c:623
+#: ../midori/midori-preferences.c:653
 msgid "Privacy"
 msgstr "Privatssphäre"
 
-#: ../midori/midori-preferences.c:624
+#: ../midori/midori-preferences.c:654
 msgid "Web Cookies"
 msgstr "Benutzerprofile"
 
-#: ../midori/midori-preferences.c:637 ../midori/midori-preferences.c:647
+#: ../midori/midori-preferences.c:667 ../midori/midori-preferences.c:677
 msgid "days"
 msgstr "Tage"
 
-#: ../midori/midori-searchaction.c:484 ../katze/katze-arrayaction.c:277
+#: ../midori/midori-searchaction.c:484 ../katze/katze-arrayaction.c:331
 msgid "Empty"
 msgstr "Leer"
 
@@ -1505,64 +1645,55 @@ msgstr "Suchmaschinen verwalten"
 msgid "Use as _default"
 msgstr "Als _Standard"
 
-#: ../midori/sokoke.c:117 ../midori/sokoke.c:129
+#: ../midori/sokoke.c:164 ../midori/sokoke.c:176
 msgid "Could not run external program."
 msgstr "Konnte externes Programm nicht ausführen."
 
-#. i18n: A superuser, or system administrator, may not be 'root'
-#: ../midori/sokoke.c:448
-msgid "Warning: You are using a superuser account!"
-msgstr "Warnung: Sie benutzen ein Administratorkonto!"
-
-#: ../midori/sokoke.c:780
+#: ../midori/sokoke.c:847
 msgid "_Bookmark"
 msgstr "_Lesezeichen"
 
-#: ../midori/sokoke.c:782
+#: ../midori/sokoke.c:849
 msgid "_Add Bookmark"
 msgstr "Lesezeichen _hinzufügen"
 
-#: ../midori/sokoke.c:783
+#: ../midori/sokoke.c:850
 msgid "_Console"
 msgstr "_Konsole"
 
-#: ../midori/sokoke.c:784
+#: ../midori/sokoke.c:851
 msgid "_Extensions"
 msgstr "_Erweiterungen"
 
-#: ../midori/sokoke.c:785
+#: ../midori/sokoke.c:852
 msgid "_History"
 msgstr "_Verlauf"
 
-#: ../midori/sokoke.c:786
+#: ../midori/sokoke.c:853
 msgid "_Homepage"
 msgstr "_Startseite"
 
-#: ../midori/sokoke.c:787
+#: ../midori/sokoke.c:854
 msgid "_Userscripts"
 msgstr "_Benutzerskripte"
 
-#: ../midori/sokoke.c:788
+#: ../midori/sokoke.c:855
 msgid "User_styles"
 msgstr "Benutzer_stile"
 
-#: ../midori/sokoke.c:789
+#: ../midori/sokoke.c:856
 msgid "New _Tab"
 msgstr "Neuer _Reiter"
 
-#: ../midori/sokoke.c:790
+#: ../midori/sokoke.c:857
 msgid "_Transfers"
 msgstr "Über_tragungen"
 
-#: ../midori/sokoke.c:791
-msgid "P_lugins"
-msgstr "Zusatz_module"
+#: ../midori/sokoke.c:858
+msgid "Netscape p_lugins"
+msgstr "Netscape-Module"
 
-#: ../midori/sokoke.c:792
-msgid "_Closed Tabs and Windows"
-msgstr "_Geschlossene Reiter und Fenster"
-
-#: ../midori/sokoke.c:793
+#: ../midori/sokoke.c:860
 msgid "New _Window"
 msgstr "Neues _Fenster"
 
@@ -1574,19 +1705,19 @@ msgstr "Benutzerskripte"
 msgid "Userstyles"
 msgstr "Benutzerstile"
 
-#: ../panels/midori-addons.c:927 ../panels/midori-extensions.c:144
+#: ../panels/midori-addons.c:1031 ../panels/midori-extensions.c:144
 msgid "_Enable"
 msgstr "_Einschalten"
 
-#: ../panels/midori-addons.c:928 ../panels/midori-extensions.c:145
+#: ../panels/midori-addons.c:1032 ../panels/midori-extensions.c:145
 msgid "Enable"
 msgstr "_Einschalten"
 
-#: ../panels/midori-addons.c:937 ../panels/midori-extensions.c:154
+#: ../panels/midori-addons.c:1041 ../panels/midori-extensions.c:154
 msgid "_Disable"
 msgstr "_Auschalten"
 
-#: ../panels/midori-addons.c:938 ../panels/midori-extensions.c:155
+#: ../panels/midori-addons.c:1042 ../panels/midori-extensions.c:155
 msgid "Disable"
 msgstr "_Auschalten"
 
@@ -1594,15 +1725,15 @@ msgstr "_Auschalten"
 msgid "Bookmarks"
 msgstr "Lesezeichen"
 
-#: ../panels/midori-bookmarks.c:240
+#: ../panels/midori-bookmarks.c:238
 msgid "Edit the selected bookmark"
 msgstr "Markiertes Lesezeichen bearbeiten"
 
-#: ../panels/midori-bookmarks.c:248
+#: ../panels/midori-bookmarks.c:246
 msgid "Delete the selected bookmark"
 msgstr "Markiertes Lesezeichen löschen"
 
-#: ../panels/midori-bookmarks.c:593
+#: ../panels/midori-bookmarks.c:591
 msgid "<i>Separator</i>"
 msgstr "<i>Trennlinie</i>"
 
@@ -1614,45 +1745,46 @@ msgstr "Konsole"
 msgid "Extensions"
 msgstr "Erweiterungen"
 
-#: ../panels/midori-history.c:163
+#: ../panels/midori-history.c:162
 msgid "Are you sure you want to remove all history items?"
 msgstr "Sind Sie sicher, dass alle Verlaufseinträge entfernt werden sollen?"
 
-#: ../panels/midori-history.c:218
+#: ../panels/midori-history.c:217
 msgid "Bookmark the selected history item"
 msgstr "Lesezeichen für ausgewählten Verlaufseintrag hinzufügen"
 
-#: ../panels/midori-history.c:227
+#: ../panels/midori-history.c:226
 msgid "Delete the selected history item"
 msgstr "Ausgewählten Verlaufseintrag löschen"
 
-#: ../panels/midori-history.c:235
+#: ../panels/midori-history.c:234
 msgid "Clear the entire history"
 msgstr "Den gesamten Verlauf löschen"
 
-#: ../panels/midori-history.c:600
-#, c-format
+#: ../panels/midori-history.c:602
 msgid "A week ago"
 msgstr "Vor einer Woche"
 
-#: ../panels/midori-history.c:606
+#: ../panels/midori-history.c:607
 #, c-format
-msgid "%d days ago"
-msgstr "vor %d Tagen"
+msgid "%d day ago"
+msgid_plural "%d days ago"
+msgstr[0] "Vor %d Tag"
+msgstr[1] "Vor %d Tagen"
 
-#: ../panels/midori-history.c:613
+#: ../panels/midori-history.c:615
 msgid "Today"
 msgstr "Heute"
 
-#: ../panels/midori-history.c:615
+#: ../panels/midori-history.c:617
 msgid "Yesterday"
 msgstr "Gestern"
 
 #: ../panels/midori-plugins.c:87
-msgid "Plugins"
-msgstr "Zusatzmodule"
+msgid "Netscape plugins"
+msgstr "Netscape-Module"
 
-#: ../panels/midori-transfers.c:256
+#: ../panels/midori-transfers.c:271
 #, c-format
 msgid "%s of %s"
 msgstr "%s von %s"
@@ -1691,36 +1823,94 @@ msgstr "Das Bestandssymbol »%s« konnte nicht geladen werden"
 msgid "Animation frames are broken"
 msgstr "Animationsbilder sind fehlerhaft"
 
-#: ../katze/katze-utils.c:183 ../katze/katze-utils.c:395
+#: ../katze/katze-utils.c:183 ../katze/katze-utils.c:385
 #, c-format
 msgid "Property '%s' is invalid for %s"
 msgstr "Eigenschaft »%s« ist ungültig für %s"
 
-#: ../katze/katze-utils.c:215 ../katze/katze-utils.c:254
+#: ../katze/katze-utils.c:215 ../katze/katze-utils.c:244
 msgid "Choose file"
 msgstr "Datei wählen"
 
-#: ../katze/katze-utils.c:235
+#: ../katze/katze-utils.c:230
 msgid "Choose folder"
 msgstr "Dateispeicherordner auswählen"
 
-#: ../extensions/colorful-tabs.c:104
+#: ../extensions/adblock.c:78
+msgid "Configure Advertisement filters"
+msgstr "Werbefilter einstellen"
+
+#: ../extensions/adblock.c:214
+msgid "Configure _Advertisement filters..."
+msgstr "Werbefilter einstellen..."
+
+#: ../extensions/adblock.c:374
+msgid "Advertisement blocker"
+msgstr "Werbeblocker"
+
+#: ../extensions/adblock.c:375
+msgid "Block advertisements according to a filter list"
+msgstr "Werbung an Hand einer Filterliste blockieren"
+
+#: ../extensions/colorful-tabs.c:115
 msgid "Tint tabs distinctly"
 msgstr "Reiter unterschiedlich einfärben"
 
-#: ../extensions/colorful-tabs.c:140
+#: ../extensions/colorful-tabs.c:151
 msgid "Colorful Tabs"
 msgstr "Farbige Reiter"
 
-#: ../extensions/colorful-tabs.c:141
+#: ../extensions/colorful-tabs.c:152
 msgid "Tint each tab distinctly"
 msgstr "Alle Reiter unterschiedlich einfärben"
 
-#: ../extensions/cookie-manager.c:201
+#: ../extensions/cookie-manager/cookie-manager.c:105
+msgid "_Cookie Manager"
+msgstr "_Cookieverwaltung"
+
+#: ../extensions/cookie-manager/cookie-manager.c:121
+#: ../extensions/cookie-manager/cookie-manager-page.c:83
+msgid "Cookie Manager"
+msgstr "Cookieverwaltung"
+
+#: ../extensions/cookie-manager/cookie-manager.c:122
+msgid "List, view and delete cookies"
+msgstr "Profildateien auflisten, anzeigen und löschen"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:131
+msgid ""
+"Deletes all shown cookies. If a filter is set, only those cookies are "
+"deleted which match the filter."
+msgstr ""
+"Sichtbare Profildateien löschen. Wenn ein Filter gesetzt ist werden nur jene "
+"Einträge gelöscht, die auf den Filter passen"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:146
+msgid "Expand All"
+msgstr "Alle ausklappen"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:153
+msgid "Collapse All"
+msgstr "Alle einklappen"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:474
+msgid "Do you really want to delete all cookies?"
+msgstr "Sind Sie sicher, dass alle Profildateien entfernt werden sollen?"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:476
+msgid "Question"
+msgstr "Frage"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:485
+msgid "Only cookies which match the filter will be deleted."
+msgstr ""
+"Nur Profildateien, die auf den eigegebenen Filter passen, werden gelöscht."
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:553
 msgid "At the end of the session"
 msgstr "Am Ende der Sitzung"
 
-#: ../extensions/cookie-manager.c:204
+#: ../extensions/cookie-manager/cookie-manager-page.c:556
 #, c-format
 msgid ""
 "<b>Host</b>: %s\n"
@@ -1737,66 +1927,31 @@ msgstr ""
 "Sicher: %s\n"
 "Verfällt: %s"
 
-#: ../extensions/cookie-manager.c:210
+#: ../extensions/cookie-manager/cookie-manager-page.c:562
 msgid "Yes"
 msgstr "Ja"
 
-#: ../extensions/cookie-manager.c:210
+#: ../extensions/cookie-manager/cookie-manager-page.c:562
 msgid "No"
 msgstr "Nein"
 
-#: ../extensions/cookie-manager.c:491
-msgid "Do you really want to delete all cookies?"
-msgstr "Sind Sie sicher, dass alle Profildateien entfernt werden sollen?"
-
-#: ../extensions/cookie-manager.c:493
-msgid "Question"
-msgstr "Frage"
-
-#: ../extensions/cookie-manager.c:501
-msgid ""
-"Only the visible cookies are deleted which match the entered filter string."
-msgstr ""
-"Nur die sichtbaren Profildateien, die auf den eigegebenen Filter passen, "
-"werden gelöscht."
-
-#: ../extensions/cookie-manager.c:679
+#: ../extensions/cookie-manager/cookie-manager-page.c:819
 msgid "Name"
 msgstr "Name"
 
-#: ../extensions/cookie-manager.c:739
+#: ../extensions/cookie-manager/cookie-manager-page.c:884
 msgid "_Expand All"
 msgstr "Alle _ausklappen"
 
-#: ../extensions/cookie-manager.c:747
+#: ../extensions/cookie-manager/cookie-manager-page.c:892
 msgid "_Collapse All"
 msgstr "Alle _einklappen"
 
-#: ../extensions/cookie-manager.c:818
-msgid "Delete All"
-msgstr "Alle löschen"
-
-#: ../extensions/cookie-manager.c:820
-msgid ""
-"Deletes all shown cookies. If a filter is set, only those cookies are "
-"deleted which match the filter."
-msgstr ""
-"Sichtbare Profildateien löschen. Wenn ein Filter gesetzt ist werden nur jene "
-"Einträge gelöscht, die auf den Filter passen"
-
-#: ../extensions/cookie-manager.c:835
-msgid "Expand All"
-msgstr "Alle ausklappen"
-
-#: ../extensions/cookie-manager.c:842
-msgid "Collapse All"
-msgstr "Alle einklappen"
-
-#: ../extensions/cookie-manager.c:873
+#: ../extensions/cookie-manager/cookie-manager-page.c:942
 msgid "Filter:"
 msgstr "Filter:"
 
-#: ../extensions/cookie-manager.c:878
+#: ../extensions/cookie-manager/cookie-manager-page.c:947
 msgid ""
 "Enter a filter string to show only cookies whose name or domain field match "
 "the entered filter"
@@ -1804,23 +1959,99 @@ msgstr ""
 "Gib einen Filter ein, um nur Profildateien anzuzeigen, deren Name oder "
 "Domöne auf den eingegebenen Filter passt."
 
-#: ../extensions/cookie-manager.c:913 ../extensions/cookie-manager.c:961
-msgid "Cookie Manager"
-msgstr "Cookieverwaltung"
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr ""
+"Die für Atom benötigten \"entry\"-Elemente wurden im XML nicht gefunden."
 
-#: ../extensions/cookie-manager.c:945
-msgid "_Cookie Manager"
-msgstr "_Cookieverwaltung"
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr ""
+"Die für Atom benötigten \"feed\"-Elemente wurden im XML nicht gefunden."
 
-#: ../extensions/cookie-manager.c:962
-msgid "List, view and delete cookies"
-msgstr "Profildateien auflisten, anzeigen und löschen"
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "Zuletzt aktualisiert: %s."
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "Nachrichtenquellen"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "Eine neue Nachrichtenquelle hinzufügen"
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "Nachrichtenquelle löschen"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "_Nachrichtenquellen (Feeds)"
+
+#: ../extensions/feed-panel/feed-parse.c:185
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "Das Basiselement wurde im XML der Nachrichtenquelle nicht gefunden."
+
+#: ../extensions/feed-panel/feed-parse.c:225
+#, c-format
+msgid "Unsupported feed format."
+msgstr "Nicht unterstütztes Quellenformat."
+
+#: ../extensions/feed-panel/feed-parse.c:255
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "XML-Quelle konnte nicht ausgelesen werden: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr ""
+"Die für Atom benötigten \"channel\"-Elemente wurden im XML nicht gefunden."
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "Nicht unterstützte RSS-Version gefunden."
+
+#: ../extensions/feed-panel/feed-rss.c:148
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "Die für RSS benötigten \"item\"-Elemente wurden im XML nicht gefunden."
+
+#: ../extensions/feed-panel/feed-rss.c:248
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr ""
+"Die für RSS benötigten \"channel\"-Elemente wurden im XML nicht gefunden."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "Nachrichtenquelle «%s» ist bereits vorhanden"
 
-#: ../extensions/mouse-gestures/main.c:216
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "Fehler beim Laden der Nachrichtenquelle «%s»"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "Neue Nachrichtenquelle"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "Nachrichtenquellenleiste"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Atom-/ RSS-Quellen (Feeds) lesen"
+
+#: ../extensions/mouse-gestures/main.c:244
 msgid "Mouse Gestures"
 msgstr "Mausgesten"
 
-#: ../extensions/mouse-gestures/main.c:217
+#: ../extensions/mouse-gestures/main.c:245
 msgid "Control Midori by moving the mouse"
 msgstr "Steuere Midori durch Bewegen der Maus"
 
@@ -1833,20 +2064,25 @@ msgstr "Seitenhalter"
 msgid "_Pageholder"
 msgstr "_Seitenhalter"
 
-#~ msgid "Images"
-#~ msgstr "Bilder"
+#: ../extensions/statusbar-features.c:130
+msgid "Statusbar Features"
+msgstr "Funktionen in der Statusleiste"
+
+#: ../extensions/statusbar-features.c:131
+msgid "Easily toggle features on web pages on and off"
+msgstr "Funktionen auf Internetseiten leicht an- und abstellen"
 
-#~ msgid "Scripts"
-#~ msgstr "Skripte"
+#~ msgid "_Quick Find"
+#~ msgstr "_Schnellsuche"
 
-#~ msgid "%s has no property '%s'"
-#~ msgstr "%s hat keine Eigenschaft »%s«"
+#~ msgid "Quickly jump to a word or phrase"
+#~ msgstr "Schnell zu einem Wort oder Satz springen"
 
-#~ msgid "%s cannot be assigned to %s.%s"
-#~ msgstr "%s kann %s.%s nicht zugewiesen werden"
+#~ msgid "Search"
+#~ msgstr "Suchen"
 
-#~ msgid "%s.%s cannot be accessed"
-#~ msgstr "Auf %s.%s kann nicht zugegriffen werden"
+#~ msgid "Warning: You are using a superuser account!"
+#~ msgstr "Warnung: Sie benutzen ein Administratorkonto!"
 
-#~ msgid "Source"
-#~ msgstr "Quelltext"
+#~ msgid "%d days ago"
+#~ msgstr "Vor %d Tagen"
index 16c511511c1aa0a55b7a583998f8e7dbb2a04a49..2594c8626dbfcea3c344e85bfbac981422ae947f 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -1,13 +1,13 @@
 # Greek translations for midori package.
 # Copyright (C) 2008 THE midori'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the midori package.
-# Evaggelos Balaskas <ebalaskas@ebalaskas.gr> 2008
+# Evaggelos Balaskas <ebalaskas@ebalaskas.gr> 2008-2009
 msgid ""
 msgstr ""
-"Project-Id-Version: midori 0.1.1\n"
+"Project-Id-Version: midori 0.1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-06 05:50+0100\n"
-"PO-Revision-Date: 2008-12-06 09:57+0200\n"
+"POT-Creation-Date: 2009-05-10 16:06+0200\n"
+"PO-Revision-Date: 2009-05-26 22:23+0200\n"
 "Last-Translator: Evaggelos Balaskas <ebalaskas@ebalaskas.gr>\n"
 "Language-Team: Greek <nls@tux.hellug.gr>\n"
 "MIME-Version: 1.0\n"
@@ -16,1291 +16,1779 @@ msgstr ""
 "X-Generator: Lokalize 0.2\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../midori.desktop.in.h:1
+#: ../data/midori.desktop.in.h:1
 msgid "Lightweight web browser"
 msgstr "Ελαφρύς περιηγητής ιστού"
 
-#: ../midori.desktop.in.h:2 ../midori/main.c:1338 ../midori/main.c:1347
-#: ../midori/main.c:1370 ../midori/main.c:1394
+#: ../data/midori.desktop.in.h:2
+#: ../midori/main.c:1315
+#: ../midori/main.c:1449
+#: ../midori/main.c:1457
+#: ../midori/main.c:1468
+#: ../midori/midori-websettings.c:277
 msgid "Midori"
 msgstr "Μιντόρι"
 
-#: ../midori.desktop.in.h:3
+#: ../data/midori.desktop.in.h:3
 msgid "Web Browser"
 msgstr "Περιηγητής Ιστού"
 
-#: ../midori/main.c:86
-msgid "_Bookmark"
-msgstr "_Σελιδοδείκτης"
-
-#: ../midori/main.c:87 ../midori/midori-browser.c:3744
-msgid "_Bookmarks"
-msgstr "_Σελιδοδείκτες"
-
-#: ../midori/main.c:88
-msgid "_Add Bookmark"
-msgstr "_Προσθήκη σελιδοδείκτη"
-
-#: ../midori/main.c:89
-msgid "_Console"
-msgstr "_Τερματικό"
-
-#: ../midori/main.c:90
-msgid "_Extensions"
-msgstr "_Επεκτάσεις"
-
-#: ../midori/main.c:91
-msgid "_History"
-msgstr "_Ιστορικό"
-
-#: ../midori/main.c:92
-msgid "_Homepage"
-msgstr "_Αρχική σελίδα"
-
-#: ../midori/main.c:93
-msgid "_Userscripts"
-msgstr "_Σενάρια χρήστη"
-
-#: ../midori/main.c:94
-msgid "User_styles"
-msgstr "_Θέματα χρήστη"
-
-#: ../midori/main.c:95
-msgid "New _Tab"
-msgstr "Νέα _καρτέλα"
-
 #: ../midori/main.c:96
-msgid "_Transfers"
-msgstr "_Μεταφορές"
-
-#: ../midori/main.c:97
-msgid "_Closed Tabs and Windows"
-msgstr "_Κλείσιμο των καρτέλων και των παραθύρων"
-
-#: ../midori/main.c:98
-msgid "New _Window"
-msgstr "Νέο _παράθυρο"
-
-#: ../midori/main.c:143
 #, c-format
 msgid "The configuration couldn't be loaded: %s\n"
 msgstr "Οι ρυθμίσεις δεν μπορούν να φορτωθούν: %s\n"
 
-#: ../midori/main.c:198
+#: ../midori/main.c:151
 #, c-format
 msgid "Value '%s' is invalid for %s"
 msgstr "Η τιμή '%s' δεν είναι έγκυρη για το %s"
 
-#: ../midori/main.c:205 ../midori/main.c:275
+#: ../midori/main.c:158
+#: ../midori/main.c:238
 #, c-format
 msgid "Invalid configuration value '%s'"
 msgstr "Μη έγκυρη τιμή ρύθμισης '%s'"
 
-#: ../midori/main.c:532
-msgid "File not found."
-msgstr "Το αρχείο δεν βρέθηκε."
-
-#: ../midori/main.c:540 ../midori/main.c:549
-msgid "Malformed document."
-msgstr "Κακοσχηματισμένο έγγραφο."
-
-#: ../midori/main.c:571 ../midori/main.c:603
+#: ../midori/main.c:350
 #, c-format
 msgid "Failed to open database: %s\n"
 msgstr "Αποτυχία κατά το άνοιγμα της βάσης: %s\n"
 
-#: ../midori/main.c:657
+#: ../midori/main.c:382
+#, c-format
+msgid "Failed to execute database statement: %s\n"
+msgstr "Αποτυχία κατά την εκτέλεση της δήλωσης στην βάση: %s\n"
+
+#: ../midori/main.c:436
 #, c-format
 msgid "Failed to remove history item: %s\n"
 msgstr "Αποτυχία στην διαγραφή του αντικειμένου από το ιστορικό: %s\n"
 
-#: ../midori/main.c:681
+#: ../midori/main.c:460
 #, c-format
 msgid "Failed to clear history: %s\n"
 msgstr "Αποτυχία στον καθαρισμό του ιστορικού: %s\n"
 
-#: ../midori/main.c:714 ../midori/main.c:728
+#: ../midori/main.c:483
+#: ../midori/main.c:517
+#: ../midori/main.c:533
 #, c-format
 msgid "Failed to add history item: %s\n"
 msgstr "Αποτυχία στην προσθήκη ενός αντικειμένου στο ιστορικό: %s\n"
 
 #. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:844
+#: ../midori/main.c:712
 #, c-format
 msgid "Failed to remove old history items: %s\n"
 msgstr "Αποτυχία στην διαγραφή των παλιών αντικειμένων από το ιστορικό: %s\n"
 
-#: ../midori/main.c:976 ../midori/sokoke.c:459
+#: ../midori/main.c:741
 #, c-format
-msgid "Writing failed."
-msgstr "Î\91Ï\80οÏ\84Ï\85Ï\87ία ÎµÎ³Î³Ï\81αÏ\86ήÏ\82."
+msgid "The configuration couldn't be saved. %s"
+msgstr "Î\9fι Ï\81Ï\85θμίÏ\83ειÏ\82 Î´ÎµÎ½ Î¼Ï\80οÏ\81οÏ\8dν Î½Î± Î±Ï\80οθηκεÏ\85Ï\84οÏ\8dν. %s"
 
-#: ../midori/main.c:1000 ../midori/midori-preferences.c:350
-msgid "Transfers"
-msgstr "Μεταφορές"
+#: ../midori/main.c:770
+#, c-format
+msgid "The search engines couldn't be saved. %s"
+msgstr "Οι μηχανές αναζήτησης δεν μπορούν να αποθηκευτούν. %s"
 
-#: ../midori/main.c:1040
+#: ../midori/main.c:789
+#: ../midori/main.c:817
+#: ../midori/main.c:846
+#, c-format
+msgid "The bookmarks couldn't be saved. %s"
+msgstr "Οι σελιδοδείκτες δεν μπορούν να αποθηκευτούν. %s"
+
+#. i18n: Trash, or wastebin, containing closed tabs
+#: ../midori/main.c:869
+#: ../midori/main.c:892
+#, c-format
+msgid "The trash couldn't be saved. %s"
+msgstr "Τα απορρίμματα δεν μπορούν να αποθηκευτούν. %s"
+
+#: ../midori/main.c:965
 #, c-format
 msgid "The session couldn't be saved. %s"
 msgstr "Η συνεδρία δεν μπορεί να αποθηκευτεί. %s"
 
-#: ../midori/main.c:1297
+#: ../midori/main.c:1092
+msgid "Midori seems to have crashed the last time it was opened. If this happened repeatedly, try one of the following options to solve the problem."
+msgstr "Το μιντόρι φαίνεται ότι κρέμασε την τελευταία φορά που άνοιξε. Εάν αυτό συνεχίζει επανειλημμένα δοκιμάστε μία από τις παρακάτω επιλογές για να επιλύσετε το πρόβλημα."
+
+#: ../midori/main.c:1107
+msgid "Modify _preferences"
+msgstr "Τροποποίηση _προτιμήσεων"
+
+#: ../midori/main.c:1111
+msgid "Reset the last _session"
+msgstr "Επαναφορά της τελευταίας σ_υνεδρίας"
+
+#: ../midori/main.c:1116
+msgid "Disable all _extensions"
+msgstr "Απενεργοποίηση όλων των επ_εκτάσεων"
+
+#: ../midori/main.c:1315
+msgid "No filename specified"
+msgstr "Δεν ορίστηκε όνομα αρχείου"
+
+#: ../midori/main.c:1338
+msgid "An unknown error occured."
+msgstr "Συνέβει ένα άγνωστο σφάλμα."
+
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "Το στιγμιότυπο αποθηκεύτηκε στο: %s\n"
+
+#: ../midori/main.c:1391
+msgid "Run ADDRESS as a web application"
+msgstr "Άνοιγμα της διεύθυνσης ως διαδικτυακή εφαρμογή"
+
+#: ../midori/main.c:1391
+msgid "ADDRESS"
+msgstr "Διεύθυνση"
+
+#: ../midori/main.c:1393
+msgid "Use FOLDER as configuration folder"
+msgstr "Χρήση φακέλου ως φάκελος ρύθμισης"
+
+#: ../midori/main.c:1393
+msgid "FOLDER"
+msgstr "ΦΑΚΕΛΟΣ"
+
+#: ../midori/main.c:1395
 msgid "Run the specified filename as javascript"
 msgstr "Τρέξε το συγκεκριμένο όνομα αρχείου ως javascript"
 
-#: ../midori/main.c:1299
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr "Αποθήκευση του συγκεκριμένου URI"
+
+#: ../midori/main.c:1401
 msgid "Display program version"
 msgstr "Προβολή έκδοσης προγράμματος"
 
-#: ../midori/main.c:1301
-msgid "URIs"
-msgstr "URIs"
+#: ../midori/main.c:1403
+msgid "Addresses"
+msgstr "Διευθύνσεις"
 
-#: ../midori/main.c:1335
-msgid "[URIs]"
-msgstr "[URIs]"
+#: ../midori/main.c:1446
+msgid "[Addresses]"
+msgstr "[Διευθύνσεις"
 
-#: ../midori/main.c:1371
+#: ../midori/main.c:1469
 msgid "Please report comments, suggestions and bugs to:"
 msgstr "Παρακαλώ αναφέρατε σχόλια, προτάσεις και σφάλματα στο:"
 
-#: ../midori/main.c:1373
+#: ../midori/main.c:1471
 msgid "Check for new versions at:"
 msgstr "Έλεγχος για νέα έκδοση στο:"
 
-#: ../midori/main.c:1394
-msgid "No filename specified"
-msgstr "Î\94εν Î¿Ï\81ίÏ\83Ï\84ηκε Ï\8cνομα Î±Ï\81Ï\87είοÏ\85"
+#: ../midori/main.c:1548
+msgid "The specified configuration folder is invalid."
+msgstr "Î\97 Ï\83Ï\85γκεκÏ\81ιμένη Ï\81Ï\8dθμιÏ\83η Ï\86ακέλοÏ\85 ÎµÎ¯Î½Î±Î¹ Î¬ÎºÏ\85Ï\81η."
 
-#: ../midori/main.c:1411
-#, c-format
+#: ../midori/main.c:1583
 msgid "An instance of Midori is already running but not responding.\n"
 msgstr "Όλα τα στιγμιότυπα του Μιντόρι τρέχουν ήδη αλλά δεν ανταποκρίνονται.\n"
 
-#: ../midori/main.c:1447
+#: ../midori/main.c:1633
+#, c-format
+msgid "The search engines couldn't be loaded. %s\n"
+msgstr "Οι μηχανές αναζήτησης δεν μπορούν να φορτωθούν. %s\n"
+
+#: ../midori/main.c:1645
 #, c-format
 msgid "The bookmarks couldn't be loaded: %s\n"
 msgstr "Οι σελιδοδείκτες δεν μπορούν να φορτωθούν: %s\n"
 
-#: ../midori/main.c:1463
+#: ../midori/main.c:1660
 #, c-format
 msgid "The session couldn't be loaded: %s\n"
 msgstr "Η συνεδρία δεν μπορεί να φορτωθεί: %s\n"
 
-#: ../midori/main.c:1477
+#: ../midori/main.c:1673
 #, c-format
 msgid "The trash couldn't be loaded: %s\n"
-msgstr "Τα απορρίματα δεν μπορούν να φορτωθούν: %s\n"
+msgstr "Τα Î±Ï\80οÏ\81Ï\81ίμμαÏ\84α Î´ÎµÎ½ Î¼Ï\80οÏ\81οÏ\8dν Î½Î± Ï\86οÏ\81Ï\84Ï\89θοÏ\8dν: %s\n"
 
-#: ../midori/main.c:1491
+#: ../midori/main.c:1686
 #, c-format
 msgid "The history couldn't be loaded: %s\n"
 msgstr "Το ιστορικό δεν μπορεί να φορτωθεί: %s\n"
 
-#: ../midori/main.c:1504
+#: ../midori/main.c:1698
 msgid "The following errors occured:"
 msgstr "Δημιουργήθηκαν τα ακόλουθα σφάλματα:"
 
-#: ../midori/main.c:1520
+#: ../midori/main.c:1714
 msgid "_Ignore"
 msgstr "Α_γνόησε"
 
-#: ../midori/main.c:1688
-#, c-format
-msgid "The search engines couldn't be saved. %s"
-msgstr "Οι μηχανές αναζήτησης δεν μπορούν να αποθηκευτούν. %s"
-
-#: ../midori/main.c:1698
-#, c-format
-msgid "The bookmarks couldn't be saved. %s"
-msgstr "Οι σελιδοδείκτες δεν μπορούν να αποθηκευτούν. %s"
+#: ../midori/midori-array.c:195
+msgid "File not found."
+msgstr "Το αρχείο δεν βρέθηκε."
 
-#: ../midori/main.c:1707
-#, c-format
-msgid "The trash couldn't be saved. %s"
-msgstr "Τα Î±Ï\80οÏ\81Ï\81ίμαÏ\84α Î´ÎµÎ½ Î¼Ï\80οÏ\81οÏ\8dν Î½Î± Î±Ï\80οθηκεÏ\85Ï\84οÏ\8dν. %s"
+#: ../midori/midori-array.c:203
+#: ../midori/midori-array.c:212
+msgid "Malformed document."
+msgstr "Î\9aακοÏ\83Ï\87ημαÏ\84ιÏ\83μένο Î­Î³Î³Ï\81αÏ\86ο."
 
-#: ../midori/main.c:1715
+#: ../midori/midori-array.c:338
+#: ../midori/sokoke.c:716
 #, c-format
-msgid "The configuration couldn't be saved. %s"
-msgstr "Î\9fι Ï\81Ï\85θμίÏ\83ειÏ\82 Î´ÎµÎ½ Î¼Ï\80οÏ\81οÏ\8dν Î½Î± Î±Ï\80οθηκεÏ\85Ï\84οÏ\8dν. %s"
+msgid "Writing failed."
+msgstr "Î\91Ï\80οÏ\84Ï\85Ï\87ία ÎµÎ³Î³Ï\81αÏ\86ήÏ\82."
 
-#: ../midori/midori-browser.c:249 ../midori/midori-browser.c:3130
-#: ../midori/midori-browser.c:3136
+#: ../midori/midori-browser.c:287
+#: ../midori/midori-browser.c:3819
+#: ../midori/midori-browser.c:3825
 msgid "Reload the current page"
 msgstr "Ανανέωση της τρέχουσας σελίδας"
 
-#: ../midori/midori-browser.c:261 ../midori/midori-browser.c:3133
+#: ../midori/midori-browser.c:298
+#: ../midori/midori-browser.c:3822
 msgid "Stop loading the current page"
 msgstr "Σταμάτημα φόρτωσης της τρέχουσας σελίδας"
 
-#: ../midori/midori-browser.c:319
+#: ../midori/midori-browser.c:360
 #, c-format
 msgid "%d%% loaded"
 msgstr "%d%% φορτώθηκε"
 
-#: ../midori/midori-browser.c:342
+#: ../midori/midori-browser.c:385
 #, c-format
 msgid "Unexpected action '%s'."
 msgstr "Αναπάντεχη ενέργεια '%s'."
 
-#: ../midori/midori-browser.c:508
+#: ../midori/midori-browser.c:603
+msgid "New folder"
+msgstr "Νέος φάκελος"
+
+#: ../midori/midori-browser.c:603
+msgid "Edit folder"
+msgstr "Επεξεργασία φακέλου"
+
+#: ../midori/midori-browser.c:605
 msgid "New bookmark"
 msgstr "Νέος σελιδοδείκτης"
 
-#: ../midori/midori-browser.c:508
+#: ../midori/midori-browser.c:605
 msgid "Edit bookmark"
 msgstr "Επεξεργασία σελιδοδείκτη"
 
-#: ../midori/midori-browser.c:530
+#: ../midori/midori-browser.c:635
 msgid "_Title:"
 msgstr "_Τίτλος:"
 
-#: ../midori/midori-browser.c:543 ../midori/midori-searchaction.c:841
+#: ../midori/midori-browser.c:648
+#: ../midori/midori-searchaction.c:948
 msgid "_Description:"
 msgstr "_Περιγραφή:"
 
-#: ../midori/midori-browser.c:562 ../midori/midori-searchaction.c:855
-msgid "_URL:"
+#: ../midori/midori-browser.c:667
+#: ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
+msgid "_Address:"
 msgstr "_Διεύθυνση:"
 
-#: ../midori/midori-browser.c:578
+#: ../midori/midori-browser.c:686
 msgid "_Folder:"
 msgstr "_Φάκελος:"
 
-#: ../midori/midori-browser.c:582
-msgid "Root"
-msgstr "Ρίζα"
+#: ../midori/midori-browser.c:691
+#: ../midori/midori-browser.c:732
+msgid "Toplevel folder"
+msgstr "Αρχικός φάκελος"
 
-#: ../midori/midori-browser.c:668
+#: ../midori/midori-browser.c:808
 msgid "Save file as"
 msgstr "Αποθήκευση αρχείου ως"
 
-#: ../midori/midori-browser.c:1248
+#: ../midori/midori-browser.c:1119
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "Το αρχείο <b>%s</b> έχει κατέβει."
+
+#: ../midori/midori-browser.c:1123
+msgid "Transfer completed"
+msgstr "Η μεταφορά ολοκληρώθηκε"
+
+#: ../midori/midori-browser.c:1820
 msgid "Open file"
 msgstr "Άνοιγμα αρχείου"
 
-#: ../midori/midori-browser.c:2328
+#: ../midori/midori-browser.c:3152
+#: ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:808
+msgid "Open all in _Tabs"
+msgstr "Άνοιγμα όλων σε _καρτέλες"
+
+#: ../midori/midori-browser.c:3159
+#: ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:814
+#: ../extensions/feed-panel/feed-panel.c:542
 msgid "Open in New _Tab"
 msgstr "Άνοιγμα σε νέα_καρτέλα"
 
-#: ../midori/midori-browser.c:2330
+#: ../midori/midori-browser.c:3162
+#: ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:816
+#: ../extensions/feed-panel/feed-panel.c:544
 msgid "Open in New _Window"
-msgstr "Î\86νοιγμα Ï\83ε Î½Î­Î¿ _Ï\80αÏ\81αθÏ\8dρο"
+msgstr "Î\86νοιγμα Ï\83ε Î½Î­Î¿ _Ï\80αÏ\81άθÏ\85ρο"
 
-#: ../midori/midori-browser.c:2601
-msgid "<i>Separator</i>"
-msgstr "Î\94ιαÏ\87Ï\89Ï\81ιÏ\83Ï\84ικÏ\8c"
+#: ../midori/midori-browser.c:3425
+msgid "Clear Private Data"
+msgstr "Î\9aαθαÏ\81ιÏ\83μÏ\8cÏ\82 Ï\80Ï\81οÏ\83Ï\89Ï\80ικÏ\8eν Î´ÎµÎ´Î¿Î¼Î­Î½Ï\89ν"
 
-#: ../midori/midori-browser.c:2712
-#, c-format
-msgid "A week ago"
-msgstr "Μια βδομάδα πριν"
+#: ../midori/midori-browser.c:3428
+msgid "_Clear private data"
+msgstr "_Καθαρισμός προσωπικών δεδομένων"
 
-#: ../midori/midori-browser.c:2718
-#, c-format
-msgid "%d days ago"
-msgstr "%d μέρες πριν"
+#: ../midori/midori-browser.c:3441
+msgid "Clear the following data:"
+msgstr "Καθαρισμός των παρακάτω δεδομένων:"
 
-#: ../midori/midori-browser.c:2725
-msgid "Today"
-msgstr "Σήμερα"
+#: ../midori/midori-browser.c:3449
+#: ../midori/midori-preferences.c:669
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "Ιστορικό"
 
-#: ../midori/midori-browser.c:2727
-msgid "Yesterday"
-msgstr "Χτές"
+#: ../midori/midori-browser.c:3452
+msgid "Cookies"
+msgstr "Cookies"
+
+#: ../midori/midori-browser.c:3455
+msgid "'Flash' Cookies"
+msgstr "Άδειασμα των cookies"
 
-#: ../midori/midori-browser.c:2816
+#: ../midori/midori-browser.c:3458
+msgid "Website icons"
+msgstr "Εικονίδια ιστότοπων"
+
+#: ../midori/midori-browser.c:3538
 msgid "A lightweight web browser."
 msgstr "Ένας ελαφρύς περιηγητής ιστού"
 
-#: ../midori/midori-browser.c:2824
+#: ../midori/midori-browser.c:3546
 msgid "translator-credits"
 msgstr "Ευάγγελος Μπαλάσκας <ebalaskas@ebalaskas.gr> 2008"
 
-#: ../midori/midori-browser.c:2958
-msgid "Are you sure you want to remove all history items?"
-msgstr ""
-"Είστε σίγουροι ότι θέλετε να διαγράψετε όλα τα αντικείμενα του ιστορικού;"
-
-#: ../midori/midori-browser.c:3064
+#: ../midori/midori-browser.c:3750
 msgid "_File"
 msgstr "_Αρχείο"
 
-#: ../midori/midori-browser.c:3067
+#: ../midori/midori-browser.c:3753
 msgid "Open a new window"
 msgstr "Άνοιγμα ενός νέου παραθύρου"
 
-#: ../midori/midori-browser.c:3070
+#: ../midori/midori-browser.c:3756
 msgid "Open a new tab"
 msgstr "Άνοιγμα μίας νέας καρτέλας"
 
-#: ../midori/midori-browser.c:3073
+#: ../midori/midori-browser.c:3759
 msgid "Open a file"
 msgstr "Άνοιγμα αρχείου"
 
-#: ../midori/midori-browser.c:3076
+#: ../midori/midori-browser.c:3762
 msgid "Save to a file"
 msgstr "Αποθήκευση σε αρχείου"
 
-#: ../midori/midori-browser.c:3078
+#: ../midori/midori-browser.c:3764
+#: ../midori/midori-view.c:1256
+msgid "Add to Speed _dial"
+msgstr "Προσθήκη σε γρήγορη σ_ύνδεση"
+
+#: ../midori/midori-browser.c:3765
+msgid "Add shortcut to speed dial"
+msgstr "Προσθήκη συντόμευσης σε γρήγορη σύνδεση"
+
+#: ../midori/midori-browser.c:3767
 msgid "_Close Tab"
 msgstr "_Κλείσιμο καρτέλας"
 
-#: ../midori/midori-browser.c:3079
+#: ../midori/midori-browser.c:3768
 msgid "Close the current tab"
 msgstr "Κλείσιμο της τρέχουσας καρτέλας"
 
-#: ../midori/midori-browser.c:3081
+#: ../midori/midori-browser.c:3770
 msgid "C_lose Window"
 msgstr "Κ_λείσιμο παραθύρου"
 
-#: ../midori/midori-browser.c:3082
+#: ../midori/midori-browser.c:3771
 msgid "Close this window"
 msgstr "Κλείσιμο αυτού του παραθύρου"
 
-#: ../midori/midori-browser.c:3085
+#: ../midori/midori-browser.c:3774
 msgid "Print the current page"
 msgstr "Εκτύπωση της τρέχουσας σελίδας"
 
-#: ../midori/midori-browser.c:3088
+#: ../midori/midori-browser.c:3777
 msgid "Quit the application"
 msgstr "Έξοδος από την εφαρμογή"
 
-#: ../midori/midori-browser.c:3090
+#: ../midori/midori-browser.c:3779
 msgid "_Edit"
 msgstr "_Επεξεργασία"
 
-#: ../midori/midori-browser.c:3093
+#: ../midori/midori-browser.c:3782
 msgid "Cut the selected text"
 msgstr "Αποκοπή επιλεγμένου κειμένου"
 
-#: ../midori/midori-browser.c:3096 ../midori/midori-browser.c:3099
+#: ../midori/midori-browser.c:3785
+#: ../midori/midori-browser.c:3788
 msgid "Copy the selected text"
 msgstr "Αντιγραφή επιλεγμένου κειμένου"
 
-#: ../midori/midori-browser.c:3102
+#: ../midori/midori-browser.c:3791
 msgid "Paste text from the clipboard"
 msgstr "Επικόλληση κειμένου από το πρόχειρο"
 
-#: ../midori/midori-browser.c:3105
+#: ../midori/midori-browser.c:3794
 msgid "Delete the selected text"
 msgstr "Διαγραφή του επιλεγμένου κειμένου"
 
-#: ../midori/midori-browser.c:3108
+#: ../midori/midori-browser.c:3797
 msgid "Select all text"
 msgstr "Επιλογή όλου του κειμένου"
 
-#: ../midori/midori-browser.c:3111
+#: ../midori/midori-browser.c:3800
 msgid "Find a word or phrase in the page"
 msgstr "Αναζήτηση μίας λέξης ή φράσης στην σελίδα"
 
-#: ../midori/midori-browser.c:3113
+#: ../midori/midori-browser.c:3802
 msgid "Find _Next"
 msgstr "Εύρεση επ_όμενο"
 
-#: ../midori/midori-browser.c:3114
+#: ../midori/midori-browser.c:3803
 msgid "Find the next occurrence of a word or phrase"
 msgstr "Εύρεση της επόμενης ύπαρξης της λέξης ή της φράσης"
 
-#: ../midori/midori-browser.c:3116
+#: ../midori/midori-browser.c:3805
 msgid "Find _Previous"
 msgstr "Εύρεση _προηγούμενο"
 
-#: ../midori/midori-browser.c:3117
+#: ../midori/midori-browser.c:3806
 msgid "Find the previous occurrence of a word or phrase"
 msgstr "Εύρεση της προηγούμενης ύπαρξης της λέξης ή της φράσης"
 
-#: ../midori/midori-browser.c:3120
+#: ../midori/midori-browser.c:3809
 msgid "_Quick Find"
 msgstr "_Έξοδος αναζήτησης"
 
-#: ../midori/midori-browser.c:3121
+#: ../midori/midori-browser.c:3810
 msgid "Quickly jump to a word or phrase"
 msgstr "Γρήγορα μεταπήδησε στον λέξη ή στην φράση"
 
-#: ../midori/midori-browser.c:3124
+#: ../midori/midori-browser.c:3813
 msgid "Configure the application preferences"
 msgstr "Παραμετροποίηση των ρυθμίσεων της εφαρμογής"
 
-#: ../midori/midori-browser.c:3126
+#: ../midori/midori-browser.c:3815
 msgid "_View"
 msgstr "_Εμφάνιση"
 
-#: ../midori/midori-browser.c:3127
+#: ../midori/midori-browser.c:3816
 msgid "_Toolbars"
 msgstr "_Εργαλειοθήκες"
 
-#: ../midori/midori-browser.c:3139
+#: ../midori/midori-browser.c:3828
 msgid "Increase the zoom level"
 msgstr "Αύξηση του επίπεδου εστίασης"
 
-#: ../midori/midori-browser.c:3142
+#: ../midori/midori-browser.c:3831
 msgid "Decrease the zoom level"
 msgstr "Μείωση του επιπέδου εστίασης"
 
-#: ../midori/midori-browser.c:3145
+#: ../midori/midori-browser.c:3834
 msgid "Reset the zoom level"
 msgstr "Επαναφορά του επιπέδου εστίασης"
 
-#: ../midori/midori-browser.c:3147 ../midori/midori-view.c:998
+#: ../midori/midori-browser.c:3835
+msgid "_Encoding"
+msgstr "_Κωδικοποίηση"
+
+#: ../midori/midori-browser.c:3837
+msgid "_Automatic"
+msgstr "_Αυτόματα"
+
+#: ../midori/midori-browser.c:3840
+#: ../midori/midori-websettings.c:204
+msgid "Chinese (BIG5)"
+msgstr "Κινέζικα (BIG5)"
+
+#: ../midori/midori-browser.c:3843
+#: ../midori/midori-websettings.c:205
+msgid "Japanese (SHIFT_JIS)"
+msgstr "Ιαπωνικά (SHIFT_JIS)"
+
+#: ../midori/midori-browser.c:3846
+#: ../midori/midori-websettings.c:206
+msgid "Russian (KOI8-R)"
+msgstr "Ρωσικά (KOI8-R)"
+
+#: ../midori/midori-browser.c:3849
+#: ../midori/midori-websettings.c:207
+msgid "Unicode (UTF-8)"
+msgstr "Unicode (UTF-8)"
+
+#: ../midori/midori-browser.c:3852
+#: ../midori/midori-websettings.c:208
+msgid "Western (ISO-8859-1)"
+msgstr "Δυτικά (ISO-8859-1)"
+
+#: ../midori/midori-browser.c:3855
+#: ../midori/midori-websettings.c:209
+#: ../midori/midori-websettings.c:281
+msgid "Custom..."
+msgstr "Προσαρμογή..."
+
+#: ../midori/midori-browser.c:3858
+#: ../midori/midori-view.c:1275
 msgid "View _Source"
 msgstr "Προβολή _κώδικα"
 
-#: ../midori/midori-browser.c:3148
+#: ../midori/midori-browser.c:3859
 msgid "View the source code of the page"
 msgstr "Προβολή του πηγαίου κώδικα αυτής της σελίδας"
 
-#: ../midori/midori-browser.c:3150
+#: ../midori/midori-browser.c:3861
 msgid "View Selection Source"
 msgstr "Προβολή του επιλεγμένου κώδικα"
 
-#: ../midori/midori-browser.c:3151
+#: ../midori/midori-browser.c:3862
 msgid "View the source code of the selection"
 msgstr "Προβολή του πηγαίου κώδικα του επιλεγμένου"
 
-#: ../midori/midori-browser.c:3155
+#: ../midori/midori-browser.c:3866
 msgid "Toggle fullscreen view"
 msgstr "Εναλλαγή σε πλήρη οθόνη"
 
-#: ../midori/midori-browser.c:3157
+#: ../midori/midori-browser.c:3868
 msgid "_Go"
 msgstr "_Μετάβαση"
 
-#: ../midori/midori-browser.c:3160
+#: ../midori/midori-browser.c:3871
 msgid "Go back to the previous page"
 msgstr "Μετάβαση στην προηγούμενη σελίδα"
 
-#: ../midori/midori-browser.c:3163
+#: ../midori/midori-browser.c:3874
 msgid "Go forward to the next page"
 msgstr "Μετάβαση στην επόμενη σελίδα"
 
-#: ../midori/midori-browser.c:3166
+#: ../midori/midori-browser.c:3877
 msgid "Go to your homepage"
 msgstr "Μετάβαση στην αρχική σελίδα"
 
-#: ../midori/midori-browser.c:3168
+#: ../midori/midori-browser.c:3879
 msgid "Empty Trash"
 msgstr "Άδειασμα αποριμμάτων"
 
-#: ../midori/midori-browser.c:3169
+#: ../midori/midori-browser.c:3880
 msgid "Delete the contents of the trash"
 msgstr "Διαγραφή των περιεχομένων των απορριμάτων"
 
-#: ../midori/midori-browser.c:3171 ../midori/midori-view.c:970
+#: ../midori/midori-browser.c:3882
+#: ../midori/midori-view.c:1233
 msgid "Undo Close Tab"
 msgstr "Αναίρεση κλείσιμο καρτέλας"
 
-#: ../midori/midori-browser.c:3172
+#: ../midori/midori-browser.c:3883
 msgid "Open the last closed tab"
 msgstr "Άνοιγμα της τελευταίας καρτέλας που έκλεισε"
 
-#: ../midori/midori-browser.c:3176
+#: ../midori/midori-browser.c:3887
+#: ../panels/midori-bookmarks.c:230
 msgid "Add a new bookmark"
 msgstr "Προσθήκη ενός νέου σελιδοδείκτη"
 
-#: ../midori/midori-browser.c:3179
-msgid "Edit the selected bookmark"
-msgstr "Επεξεργασία του επιλεγμένου σελιδοδείκτη"
-
-#: ../midori/midori-browser.c:3182
-msgid "Delete the selected bookmark"
-msgstr "Διαγραφή του επιλεγμένου σελιδοδείκτη"
-
-#: ../midori/midori-browser.c:3185
-msgid "Delete the selected history item"
-msgstr "Διαγραφή του επιλεγμένου αντικειμένου από το ιστορικό"
-
-#: ../midori/midori-browser.c:3188
-msgid "Clear the entire history"
-msgstr "Καθαρισμός ολόκληρου του ιστορικού"
+#: ../midori/midori-browser.c:3889
+#: ../panels/midori-bookmarks.c:259
+msgid "Add a new folder"
+msgstr "Προσθήκη ενός νέου φακέλου"
 
-#: ../midori/midori-browser.c:3191
-msgid "Bookmark the selected history item"
-msgstr "ΣελιδοÏ\80οίηÏ\83ε Ï\84ο ÎµÏ\80ιλεγμένο Î±Î½Ï\84ικείμενο Ï\84οÏ\85 Î¹Ï\83Ï\84οÏ\81ικοÏ\8d"
+#: ../midori/midori-browser.c:3890
+msgid "Add a new bookmark folder"
+msgstr "ΠÏ\81οÏ\83θήκη ÎµÎ½Ï\8cÏ\82 Î½Î­Î¿Ï\85 Ï\86ακέλοÏ\85 Ï\83ελιδοδεικÏ\84Ï\8eν"
 
-#: ../midori/midori-browser.c:3193
+#: ../midori/midori-browser.c:3891
 msgid "_Tools"
 msgstr "_Εργαλεία"
 
-#: ../midori/midori-browser.c:3195 ../midori/midori-searchaction.c:465
+#: ../midori/midori-browser.c:3893
+#: ../midori/midori-searchaction.c:493
 msgid "_Manage Search Engines"
 msgstr "_Διαχείριση των μηχανών αναζήτησης"
 
-#: ../midori/midori-browser.c:3196
+#: ../midori/midori-browser.c:3894
 msgid "Add, edit and remove search engines..."
-msgstr "Προσθήξη, επεξεργασία και διαγραφή των μηχανών αναζήτησης..."
+msgstr "Προσθήκη, επεξεργασία και διαγραφή των μηχανών αναζήτησης..."
+
+#: ../midori/midori-browser.c:3897
+msgid "_Clear Private Data"
+msgstr "_Καθαρισμός προσωπικών δεδομένων"
+
+#: ../midori/midori-browser.c:3898
+msgid "Clear private data..."
+msgstr "Καθαρισμός προσωπικών δεδομένων..."
 
-#: ../midori/midori-browser.c:3200
+#: ../midori/midori-browser.c:3902
 msgid "_Previous Tab"
 msgstr "_Προηγούμενη καρτέλα"
 
-#: ../midori/midori-browser.c:3201
+#: ../midori/midori-browser.c:3903
 msgid "Switch to the previous tab"
 msgstr "Μετάβαση στην προηγούμενη καρτέλα"
 
-#: ../midori/midori-browser.c:3203
+#: ../midori/midori-browser.c:3905
 msgid "_Next Tab"
 msgstr "Επόμε_νη καρτέλα"
 
-#: ../midori/midori-browser.c:3204
+#: ../midori/midori-browser.c:3906
 msgid "Switch to the next tab"
 msgstr "Μετάβαση στην επόμενη καρτέλα"
 
-#: ../midori/midori-browser.c:3206
+#: ../midori/midori-browser.c:3908
 msgid "_Help"
 msgstr "_Βοήθεια"
 
-#: ../midori/midori-browser.c:3208
+#: ../midori/midori-browser.c:3910
 msgid "_Contents"
 msgstr "_Περιεχόμενα"
 
-#: ../midori/midori-browser.c:3209
+#: ../midori/midori-browser.c:3911
 msgid "Show the documentation"
 msgstr "Εμφάνιση της τεκμηρίωσης"
 
-#: ../midori/midori-browser.c:3211
-msgid "_Frequent questions"
-msgstr "υχνές ερωτήσεις"
+#: ../midori/midori-browser.c:3913
+msgid "_Frequent Questions"
+msgstr "Σ_υχνές ερωτήσεις"
 
-#: ../midori/midori-browser.c:3212
+#: ../midori/midori-browser.c:3914
 msgid "Show the Frequently Asked Questions"
-msgstr "Î\95μÏ\86άνιÏ\83η Ï\84Ï\89ν Ï\83Ï\85Ï\87νÏ\8eν Î±Ï\80ανÏ\84ημένων ερωτήσεων"
+msgstr "Î\95μÏ\86άνιÏ\83η Ï\84Ï\89ν Ï\80ιο Ï\83Ï\85Ï\87νά ÎµÏ\81Ï\89Ï\84ηθένÏ\84ων ερωτήσεων"
 
-#: ../midori/midori-browser.c:3214
-msgid "_Report a bug"
-msgstr "Αποστολή α_ναφοράς σφάλματος"
+#: ../midori/midori-browser.c:3916
+msgid "_Report a Bug"
+msgstr "Α_ναφορά σφάλματος"
 
-#: ../midori/midori-browser.c:3215
+#: ../midori/midori-browser.c:3917
 msgid "Open Midori's bug tracker"
 msgstr "Άνοιγμα καταγραφής σφαλμάτων midori"
 
-#: ../midori/midori-browser.c:3218
+#: ../midori/midori-browser.c:3920
 msgid "Show information about the program"
 msgstr "Εμφάνιση πληροφοριών σχετικά με την εφαρμογή"
 
-#: ../midori/midori-browser.c:3225
+#: ../midori/midori-browser.c:3927
 msgid "P_rivate Browsing"
 msgstr "Π_ροσωπική περιήγηση"
 
-#: ../midori/midori-browser.c:3226
+#: ../midori/midori-browser.c:3928
 msgid "Don't save any private data while browsing"
 msgstr "Να μην γίνει αποθήκευση προσωπικών δεδομένων κατά την περιήγηση"
 
-#: ../midori/midori-browser.c:3231
+#: ../midori/midori-browser.c:3933
 msgid "_Menubar"
 msgstr "_Μπάρα μενού"
 
-#: ../midori/midori-browser.c:3232
+#: ../midori/midori-browser.c:3934
 msgid "Show menubar"
 msgstr "Προβολή μπάρας μενού"
 
-#: ../midori/midori-browser.c:3235
+#: ../midori/midori-browser.c:3937
 msgid "_Navigationbar"
 msgstr "_Μπάρα περιήγησης"
 
-#: ../midori/midori-browser.c:3236
+#: ../midori/midori-browser.c:3938
 msgid "Show navigationbar"
 msgstr "Εμφάνιση περιήγησης"
 
-#: ../midori/midori-browser.c:3239
+#: ../midori/midori-browser.c:3941
 msgid "Side_panel"
 msgstr "Πλαϊνό _ταμπλό"
 
-#: ../midori/midori-browser.c:3240
+#: ../midori/midori-browser.c:3942
 msgid "Show sidepanel"
 msgstr "Εμφάνιση πλαϊνού ταμπλό"
 
-#: ../midori/midori-browser.c:3243
+#: ../midori/midori-browser.c:3945
 msgid "_Bookmarkbar"
 msgstr "_Μπάρα σελιδοδείκτη"
 
-#: ../midori/midori-browser.c:3244
+#: ../midori/midori-browser.c:3946
 msgid "Show bookmarkbar"
 msgstr "Εμφάνιση μπάρα σελιδοδείκτη"
 
-#: ../midori/midori-browser.c:3247
+#: ../midori/midori-browser.c:3949
 msgid "_Transferbar"
 msgstr "_Μπάρα μεταφορών"
 
-#: ../midori/midori-browser.c:3248
+#: ../midori/midori-browser.c:3950
 msgid "Show transferbar"
 msgstr "Εμφάνιση μπάρα μεταφορών"
 
-#: ../midori/midori-browser.c:3251
+#: ../midori/midori-browser.c:3953
 msgid "_Statusbar"
 msgstr "_Γραμμή κατάστασης"
 
-#: ../midori/midori-browser.c:3252
+#: ../midori/midori-browser.c:3954
 msgid "Show statusbar"
 msgstr "Εμφάνιση γραμμής κατάστασης"
 
-#: ../midori/midori-browser.c:3669
+#: ../midori/midori-browser.c:4389
+msgid "_Separator"
+msgstr "_Διαχωριστής"
+
+#: ../midori/midori-browser.c:4396
 msgid "_Location..."
 msgstr "_Τοποθεσία:"
 
-#: ../midori/midori-browser.c:3671
+#: ../midori/midori-browser.c:4398
 msgid "Open a particular location"
 msgstr "Άνοιγμα συγκεκριμένης τοποθεσίας"
 
-#: ../midori/midori-browser.c:3695
+#: ../midori/midori-browser.c:4420
 msgid "_Web Search..."
 msgstr "_Αναζήτηση ιστού..."
 
-#: ../midori/midori-browser.c:3697
+#: ../midori/midori-browser.c:4422
 msgid "Run a web search"
 msgstr "Εκκίνηση μίας αναζήτησης ιστού"
 
-#: ../midori/midori-browser.c:3716
+#: ../midori/midori-browser.c:4443
 msgid "Reopen a previously closed tab or window"
 msgstr "Ξανα-άνοιγμα προηγούμενης καρτέλας ή παράθυρο που έχει κλείσει"
 
-#: ../midori/midori-browser.c:3729
+#: ../midori/midori-browser.c:4458
 msgid "_Recently visited pages"
 msgstr "_Πρόσφατες επισκεπτόμενες σελίδες "
 
-#: ../midori/midori-browser.c:3731
+#: ../midori/midori-browser.c:4460
 msgid "Reopen pages that you visited earlier"
-msgstr "Ξανα-άνοιγμα σελίδεων που έχετε επισκεφτεί νωρίτερα"
+msgstr "Ξανα-άνοιγμα σελίδων που επισκεφτήκατε νωρίτερα"
+
+#: ../midori/midori-browser.c:4475
+#: ../midori/sokoke.c:872
+msgid "_Bookmarks"
+msgstr "_Σελιδοδείκτες"
 
-#: ../midori/midori-browser.c:3746
+#: ../midori/midori-browser.c:4477
 msgid "Show the saved bookmarks"
 msgstr "Εμφάνιση των αποθηκευμένων σελιδοδεικτών"
 
-#: ../midori/midori-browser.c:3759
+#: ../midori/midori-browser.c:4492
 msgid "_Window"
 msgstr "_Παράθυρο"
 
-#: ../midori/midori-browser.c:3761
+#: ../midori/midori-browser.c:4494
 msgid "Show a list of all open tabs"
 msgstr "Εμφάνιση μίας λίστας με όλα τις ανοιχτές καρτέλες"
 
-#: ../midori/midori-browser.c:3883
-msgid "Bookmarks"
-msgstr "Σελιδοδείκτες"
+#. i18n: A panel at the bottom, to search text in pages
+#: ../midori/midori-browser.c:4674
+msgid "_Inline Find:"
+msgstr "Ε_νσωματωμένη αναζήτηση:"
 
-#: ../midori/midori-browser.c:3926 ../midori/midori-preferences.c:517
-msgid "History"
-msgstr "Î\99Ï\83Ï\84οÏ\81ικÏ\8c"
+#: ../midori/midori-browser.c:4699
+msgid "Previous"
+msgstr "ΠÏ\81οηγοÏ\8dμενο"
 
-#. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:3969
-msgid "_Inline find:"
-msgstr "Εν_σωματωμένη εύρεση:"
+#: ../midori/midori-browser.c:4704
+msgid "Next"
+msgstr "Επόμενο"
 
-#: ../midori/midori-browser.c:4004
+#: ../midori/midori-browser.c:4709
 msgid "Match Case"
 msgstr "Ταίριασμα πεζών"
 
-#: ../midori/midori-browser.c:4012
+#: ../midori/midori-browser.c:4717
 msgid "Highlight Matches"
 msgstr "Τονισμός των ταιριασμάτων"
 
-#: ../midori/midori-browser.c:4021
+#: ../midori/midori-browser.c:4727
 msgid "Close Findbar"
 msgstr "Κλείσιμο μπάρας εύρεσης"
 
-#: ../midori/midori-browser.c:4262
+#: ../midori/midori-browser.c:4762
+#: ../extensions/cookie-manager.c:821
+msgid "Delete All"
+msgstr "Διαγραφή όλων"
+
+#: ../midori/midori-browser.c:5084
 #, c-format
 msgid "Unexpected setting '%s'"
 msgstr "Αναπάντεχη ρύθμιση '%s'"
 
-#: ../midori/midori-panel.c:223 ../midori/midori-panel.c:224
+#: ../midori/midori-panel.c:333
+msgid "Detach chosen panel from the window"
+msgstr "Αποσύνδεση επιλεγμένου ταμπλό από το παράθυρο"
+
+#: ../midori/midori-panel.c:335
+msgid "Whether to detach the chosen panel from the window"
+msgstr "Εάν θα αποσυνδέεται το επιλεγμένο ταμπλό από το παράθυρο"
+
+#: ../midori/midori-panel.c:345
+#: ../midori/midori-websettings.c:535
+msgid "Align sidepanel on the right"
+msgstr "Ευθυγράμμιση πλαϊνού ταμπλό στα δεξιά"
+
+#: ../midori/midori-panel.c:347
+#: ../midori/midori-websettings.c:536
+msgid "Whether to align the sidepanel on the right"
+msgstr "Εάν θα ευθυγραμμίζεται το πλαϊνό ταμπλό στα δεξιά"
+
+#: ../midori/midori-panel.c:357
+#: ../midori/midori-panel.c:358
 msgid "Close panel"
 msgstr "Κλείσιμο ταμπλού"
 
-#: ../midori/midori-websettings.c:131 ../midori/midori-view.c:1635
+#: ../midori/midori-websettings.c:187
+#: ../midori/midori-view.c:1999
+#: ../midori/midori-view.c:2176
 msgid "Blank page"
 msgstr "Κενή σελίδα"
 
-#: ../midori/midori-websettings.c:132 ../midori/midori-websettings.c:387
+#: ../midori/midori-websettings.c:188
+#: ../midori/midori-websettings.c:555
 msgid "Homepage"
 msgstr "Αρχική σελίδα"
 
-#: ../midori/midori-websettings.c:133
+#: ../midori/midori-websettings.c:189
 msgid "Last open pages"
 msgstr "Άνοιγμα τελευταίων σελίδων"
 
-#: ../midori/midori-websettings.c:148
-msgid "Chinese (BIG5)"
-msgstr "Κινέζικα (BIG5)"
-
-#: ../midori/midori-websettings.c:149
-msgid "Japanese (SHIFT_JIS)"
-msgstr "Ιαπωνικά (SHIFT_JIS)"
-
-#: ../midori/midori-websettings.c:150
-msgid "Russian (KOI8-R)"
-msgstr "Ρωσικά (KOI8-R)"
-
-#: ../midori/midori-websettings.c:151
-msgid "Unicode (UTF-8)"
-msgstr "Unicode (UTF-8)"
-
-#: ../midori/midori-websettings.c:152
-msgid "Western (ISO-8859-1)"
-msgstr "Δυτικά (ISO-8859-1)"
-
-#: ../midori/midori-websettings.c:153
-msgid "Custom..."
-msgstr "Προσαρμογή..."
-
-#: ../midori/midori-websettings.c:168
+#: ../midori/midori-websettings.c:224
 msgid "New tab"
 msgstr "Νέα καρτέλα"
 
-#: ../midori/midori-websettings.c:169
+#: ../midori/midori-websettings.c:225
 msgid "New window"
 msgstr "Νέο παράθυρο"
 
-#: ../midori/midori-websettings.c:170
+#: ../midori/midori-websettings.c:226
 msgid "Current tab"
 msgstr "Τρέχον καρτέλα"
 
-#: ../midori/midori-websettings.c:185
+#: ../midori/midori-websettings.c:241
 msgid "Default"
 msgstr "Προκαθορισμένο"
 
-#: ../midori/midori-websettings.c:186
+#: ../midori/midori-websettings.c:242
 msgid "Icons"
 msgstr "Εικονίδια"
 
-#: ../midori/midori-websettings.c:187
+#: ../midori/midori-websettings.c:243
 msgid "Text"
 msgstr "Κείμενο"
 
-#: ../midori/midori-websettings.c:188
+#: ../midori/midori-websettings.c:244
 msgid "Both"
 msgstr "Και τα δύο"
 
-#: ../midori/midori-websettings.c:189
+#: ../midori/midori-websettings.c:245
 msgid "Both horizontal"
 msgstr "Και τα δύο οριζόντια"
 
-#: ../midori/midori-websettings.c:204
+#: ../midori/midori-websettings.c:260
 msgid "All cookies"
 msgstr "Όλα τα cookies"
 
-#: ../midori/midori-websettings.c:205
+#: ../midori/midori-websettings.c:261
 msgid "Session cookies"
 msgstr "Cookies συνεδρίας"
 
-#: ../midori/midori-websettings.c:206 ../panels/midori-addons.c:97
+#: ../midori/midori-websettings.c:262
+#: ../panels/midori-addons.c:94
 msgid "None"
 msgstr "Κανένα"
 
-#: ../midori/midori-websettings.c:246
+#: ../midori/midori-websettings.c:278
+msgid "Safari"
+msgstr "Safari"
+
+#: ../midori/midori-websettings.c:279
+msgid "Firefox"
+msgstr "Firefox"
+
+#: ../midori/midori-websettings.c:280
+msgid "Internet Explorer"
+msgstr "Internet Explorer"
+
+#: ../midori/midori-websettings.c:333
 msgid "Remember last window size"
 msgstr "Απομνημόνευση μεγέθους τελευταίου παραθύρου"
 
-#: ../midori/midori-websettings.c:247
+#: ../midori/midori-websettings.c:334
 msgid "Whether to save the last window size"
-msgstr "Î\91Ï\80οθήκεÏ\85Ï\83η Ï\84οÏ\85 Î¼ÎµÎ³Î­Î¸Î¿Ï\85Ï\82 Ï\84οÏ\85 Ï\84ελεÏ\85Ï\84αίοÏ\85 Ï\80αÏ\81αθÏ\8dÏ\81οÏ\85 Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± Î­Ï\87ει"
+msgstr "Î\95άν Î¸Î± Î±Ï\80οθηκεÏ\8dεÏ\84αι Ï\84ο Î¼Î­Î³ÎµÎ¸Î¿Ï\82 Ï\84οÏ\85 Ï\84ελεÏ\85Ï\84αίοÏ\85 Ï\80αÏ\81αθÏ\8dÏ\81οÏ\85"
 
-#: ../midori/midori-websettings.c:255
+#: ../midori/midori-websettings.c:342
 msgid "Last window width"
 msgstr "Πλάτος τελευταίου παραθύρου"
 
-#: ../midori/midori-websettings.c:256
+#: ../midori/midori-websettings.c:343
 msgid "The last saved window width"
 msgstr "Το τελευταίο αποθηκευμένο πλάτος παραθύρου"
 
-#: ../midori/midori-websettings.c:264
+#: ../midori/midori-websettings.c:351
 msgid "Last window height"
 msgstr "Ύψος τελευταίου παραθύρου"
 
-#: ../midori/midori-websettings.c:265
+#: ../midori/midori-websettings.c:352
 msgid "The last saved window height"
 msgstr "Το τελευταίο ύψος αποθηκευμένου παραθύρου"
 
-#: ../midori/midori-websettings.c:273
+#: ../midori/midori-websettings.c:377
 msgid "Last panel position"
 msgstr "Θέση τελευταίου ταμπλό"
 
-#: ../midori/midori-websettings.c:274
+#: ../midori/midori-websettings.c:378
 msgid "The last saved panel position"
 msgstr "Η τελευταία αποθηκευμένη θέση ταμπλό"
 
 #. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:283
+#: ../midori/midori-websettings.c:387
 msgid "Last panel page"
 msgstr "Τελευταία σελίδα ταμπλό"
 
-#: ../midori/midori-websettings.c:284
+#: ../midori/midori-websettings.c:388
 msgid "The last saved panel page"
 msgstr "Η τελευταία αποθηκευμένη σελίδα ταμπλό"
 
-#: ../midori/midori-websettings.c:292
+#: ../midori/midori-websettings.c:396
 msgid "Last Web search"
 msgstr "Τελευταία αναζήτηση ιστού"
 
-#: ../midori/midori-websettings.c:293
+#: ../midori/midori-websettings.c:397
 msgid "The last saved Web search"
 msgstr "Η τελευταία αποθηκευμένη αναζήτηση ιστού"
 
-#: ../midori/midori-websettings.c:302
+#: ../midori/midori-websettings.c:406
 msgid "Show Menubar"
 msgstr "Εμφάνιση γραμμής μενού"
 
-#: ../midori/midori-websettings.c:303
+#: ../midori/midori-websettings.c:407
 msgid "Whether to show the menubar"
-msgstr "Î\95μÏ\86άνιÏ\83η Ï\84ηÏ\82 Î¼Ï\80άÏ\81αÏ\82 Î¼ÎµÎ½Î¿Ï\8d Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¸Î± Ï\86αίνεÏ\84αι Î· Î¼Ï\80άÏ\81α Ï\84οÏ\85 Î¼ÎµÎ½Î¿Ï\8d"
 
-#: ../midori/midori-websettings.c:311
+#: ../midori/midori-websettings.c:415
 msgid "Show Navigationbar"
 msgstr "Εμφάνιση της γραμμής πλοήγησης"
 
-#: ../midori/midori-websettings.c:312
+#: ../midori/midori-websettings.c:416
 msgid "Whether to show the navigationbar"
-msgstr "Î\95μÏ\86άνιÏ\83η Ï\84ηÏ\82 Î³Ï\81αμμήÏ\82 Ï\80λοήγηÏ\83ηÏ\82 Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¸Î± Ï\86αίνεÏ\84αι Î· Î³Ï\81αμμή Ï\80λοήγηÏ\83ηÏ\82"
 
-#: ../midori/midori-websettings.c:320
+#: ../midori/midori-websettings.c:424
 msgid "Show Bookmarkbar"
 msgstr "Εμφάνιση μπάρας σελιδοδεικτών"
 
-#: ../midori/midori-websettings.c:321
+#: ../midori/midori-websettings.c:425
 msgid "Whether to show the bookmarkbar"
-msgstr "Î\95μÏ\86άνιÏ\83η Î¼Ï\80άÏ\81αÏ\82 Ï\83ελιλοδεικÏ\84Ï\8eν Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¸Î± Ï\86αίνεÏ\84αι Î· Î¼Ï\80άÏ\81α Ï\84Ï\89ν Ï\83ελιλοδεικÏ\84Ï\8eν"
 
-#: ../midori/midori-websettings.c:329
+#: ../midori/midori-websettings.c:433
 msgid "Show Panel"
 msgstr "Εμφάνιση ταμπλό"
 
-#: ../midori/midori-websettings.c:330
+#: ../midori/midori-websettings.c:434
 msgid "Whether to show the panel"
-msgstr "Î\95μÏ\86άνιÏ\83η Ï\84αμÏ\80λÏ\8c Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¸Î± Ï\86αίνεÏ\84αι Ï\84ο Ï\84αμÏ\80λÏ\8c"
 
-#: ../midori/midori-websettings.c:338
+#: ../midori/midori-websettings.c:449
+msgid "Show Transferbar"
+msgstr "Εμφάνιση μπάρας μεταφορών"
+
+#: ../midori/midori-websettings.c:450
+msgid "Whether to show the transferbar"
+msgstr "Εάν θα φαίνεται η μπάρα μεταφορών"
+
+#: ../midori/midori-websettings.c:458
 msgid "Show Statusbar"
 msgstr "Εμφάνιση γραμμής κατάστασης"
 
-#: ../midori/midori-websettings.c:339
+#: ../midori/midori-websettings.c:459
 msgid "Whether to show the statusbar"
-msgstr "Î\95μÏ\86άνιÏ\83η Î³Ï\81αμμήÏ\82 ÎºÎ±Ï\84άÏ\83Ï\84αÏ\83ηÏ\82 Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¸Î± Ï\86αίνεÏ\84αι Î· Î³Ï\81αμμή ÎºÎ±Ï\84άÏ\83Ï\84αÏ\83ηÏ\82"
 
-#: ../midori/midori-websettings.c:348
+#: ../midori/midori-websettings.c:468
 msgid "Toolbar Style"
 msgstr "Στυλ εργαλειοθήκης"
 
-#: ../midori/midori-websettings.c:349
+#: ../midori/midori-websettings.c:469
 msgid "The style of the toolbar"
 msgstr "Το στυλ της εργαλειοθήκης"
 
-#: ../midori/midori-websettings.c:358
+#: ../midori/midori-websettings.c:485
+msgid "Show progress in location entry"
+msgstr "Να εμφανίζεται η πρόοδος στην τοποθεσίας εισαγωγής"
+
+#: ../midori/midori-websettings.c:486
+msgid "Whether to show loading progress in the location entry"
+msgstr "Εάν θα εμφανίζεται η φόρτωση προόδου στην τοποθεσία εισαγωγής"
+
+#: ../midori/midori-websettings.c:501
+msgid "Search engines in location completion"
+msgstr "Μηχανές αναζήτησης στην τοποθεσία συμπλήρωσης"
+
+#: ../midori/midori-websettings.c:502
+msgid "Whether to show search engines in the location completion"
+msgstr "Εάν θα φαίνονται οι μηχανές αναζήτησης στην τοποθεσία συμπλήρωσης"
+
+#: ../midori/midori-websettings.c:510
 msgid "Toolbar Items"
 msgstr "Αντικείμενα εργαλειοθήκης"
 
-#: ../midori/midori-websettings.c:359
+#: ../midori/midori-websettings.c:511
 msgid "The items to show on the toolbar"
-msgstr "Τι Î±Î½Ï\84ικειμένα να εμφανίζονται στην εργαλειοθήκη"
+msgstr "Τι Î±Î½Ï\84ικείμενα να εμφανίζονται στην εργαλειοθήκη"
 
-#: ../midori/midori-websettings.c:367
+#: ../midori/midori-websettings.c:519
 msgid "Compact Sidepanel"
 msgstr "Σύμπτυξη πλαϊνού ταμπλό"
 
-#: ../midori/midori-websettings.c:368
+#: ../midori/midori-websettings.c:520
 msgid "Whether to make the sidepanel compact"
-msgstr "Î\94ημιοÏ\85Ï\81γία Ï\83Ï\8dμÏ\80Ï\84Ï\85ξηÏ\82 Ï\80λαÏ\8aνοÏ\8d Ï\84αμÏ\80λÏ\8c Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¸Î± Î³Î¯Î½ÎµÎ¹ Ï\83Ï\8dμÏ\80Ï\84Ï\85ξη Ï\84οÏ\85 Ï\80λαÏ\8aνοÏ\8d Ï\84αμÏ\80λÏ\8c"
 
-#: ../midori/midori-websettings.c:377
+#: ../midori/midori-websettings.c:545
 msgid "Load on Startup"
 msgstr "Να φορτώνεται στην εκκίνηση"
 
-#: ../midori/midori-websettings.c:378
+#: ../midori/midori-websettings.c:546
 msgid "What to load on startup"
 msgstr "Τι να φορτώνει κατά την εκκίνηση"
 
-#: ../midori/midori-websettings.c:388
+#: ../midori/midori-websettings.c:556
 msgid "The homepage"
 msgstr "Η αρχική σελίδα"
 
-#: ../midori/midori-websettings.c:396
+#: ../midori/midori-websettings.c:571
+msgid "Show crash dialog"
+msgstr "Εμφάνιση παραθύρου αποτυχίας"
+
+#: ../midori/midori-websettings.c:572
+msgid "Show a dialog after Midori crashed"
+msgstr "Εμφάνιση διαλόγου μετά από αποτυχία"
+
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:588
+msgid "Show speed dial in new tabs"
+msgstr "Εμφάνιση γρήγορης σύνδεσης σε νέες καρτέλες"
+
+#: ../midori/midori-websettings.c:589
+msgid "Show speed dial in newly opened tabs"
+msgstr "Εμφάνιση γρήγορης σύνδεσης στις νέες ανοιχτές καρτέλες"
+
+#: ../midori/midori-websettings.c:597
 msgid "Download Folder"
 msgstr "Φάκελος μεταφορών"
 
-#: ../midori/midori-websettings.c:397
+#: ../midori/midori-websettings.c:598
 msgid "The folder downloaded files are saved to"
 msgstr "Ο κατάλογος στον οποίο αποθηκεύονται τα αρχεία που κατεβαίνουν"
 
-#: ../midori/midori-websettings.c:405
+#: ../midori/midori-websettings.c:617
+msgid "Ask for the destination folder"
+msgstr "Ερώτηση για τον κατάλογο αποθήκευσης"
+
+#: ../midori/midori-websettings.c:618
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr "Εάν θα ρωτάει για τον κατάλογο αποθήκευσης όταν κατεβαίνει ένα αρχείο"
+
+#: ../midori/midori-websettings.c:637
+msgid "Notify when a transfer has been completed"
+msgstr "Ειδοποίηση όταν μία μεταφορά έχει ολοκληρωθεί"
+
+#: ../midori/midori-websettings.c:638
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "Εάν θα εμφανίζεται μία ειδοποίηση όταν ολοκληρωθεί μία μεταφορά"
+
+#: ../midori/midori-websettings.c:650
 msgid "Download Manager"
 msgstr "Διαχειριστής μεταφορών"
 
-#: ../midori/midori-websettings.c:406
+#: ../midori/midori-websettings.c:651
 msgid "An external download manager"
 msgstr "Εξωτερικός διαχειριστής μεταφορών"
 
-#: ../midori/midori-websettings.c:414
+#: ../midori/midori-websettings.c:659
 msgid "Text Editor"
 msgstr "Κειμενογράφος"
 
-#: ../midori/midori-websettings.c:415
+#: ../midori/midori-websettings.c:660
 msgid "An external text editor"
 msgstr "Εξωτερικός κειμενογράφος"
 
-#: ../midori/midori-websettings.c:423
+#: ../midori/midori-websettings.c:675
+msgid "News Aggregator"
+msgstr "Διαχειριστής νέων"
+
+#: ../midori/midori-websettings.c:676
+msgid "An external news aggregator"
+msgstr "Εξωτερικός διαχειριστής νέων"
+
+#: ../midori/midori-websettings.c:684
 msgid "Location entry Search"
 msgstr "Διεύθυνση για αναζήτηση"
 
-#: ../midori/midori-websettings.c:424
+#: ../midori/midori-websettings.c:685
 msgid "The search to perform inside the location entry"
 msgstr "Η αναζήτηση να πραγματοποιηθεί εσωτερικά της τοποθεσίας εισαγωγής"
 
-#: ../midori/midori-websettings.c:432
+#: ../midori/midori-websettings.c:693
 msgid "Preferred Encoding"
 msgstr "Προτιμώμενη κωδικοποίηση"
 
-#: ../midori/midori-websettings.c:433
+#: ../midori/midori-websettings.c:694
 msgid "The preferred character encoding"
 msgstr "Η προτιμώμενη κωδικοποίηση χαρακτήρων"
 
-#: ../midori/midori-websettings.c:443
+#: ../midori/midori-websettings.c:704
 msgid "Always Show Tabbar"
 msgstr "Εμφάνιση πάντα της γραμμής καρτέλων"
 
-#: ../midori/midori-websettings.c:444
+#: ../midori/midori-websettings.c:705
 msgid "Always show the tabbar"
-msgstr "Î\95μÏ\86άνιÏ\83η Ï\80άνÏ\84α Ï\84ηÏ\82 Î³Ï\81αμμήÏ\82 ÎºÎ±Ï\81Ï\84έλÏ\89ν"
+msgstr "Î\95μÏ\86άνιÏ\83η Ï\80άνÏ\84α Ï\84ηÏ\82 Î¼Ï\80άÏ\81αÏ\82 Î¼Îµ Ï\84ιÏ\82 ÎºÎ±Ï\81Ï\84έλεÏ\82"
 
-#: ../midori/midori-websettings.c:452
+#: ../midori/midori-websettings.c:713
 msgid "Close Buttons on Tabs"
-msgstr "Κουμπιά κλεισίματος σε καρτέλες"
+msgstr "Κουμπιά κλεισίματος στις καρτέλες"
 
-#: ../midori/midori-websettings.c:453
+#: ../midori/midori-websettings.c:714
 msgid "Whether tabs have close buttons"
-msgstr "Î\9fι ÎºÎ±Ï\81Ï\84έλεÏ\82 Î­Ï\87οÏ\85ν ÎºÎ¿Ï\85μÏ\80ιά ÎºÎ»ÎµÎ¹Ï\83ίμαÏ\84οÏ\82 Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¿Î¹ ÎºÎ±Ï\81Ï\84έλεÏ\82 Î¸Î± Î­Ï\87οÏ\85ν ÎºÎ¿Ï\85μÏ\80ί ÎºÎ»ÎµÎ¹Ï\83ίμαÏ\84οÏ\82"
 
-#: ../midori/midori-websettings.c:462
+#: ../midori/midori-websettings.c:722
 msgid "Open new pages in"
 msgstr "Άνοιγμα νέων σελίδων σε"
 
-#: ../midori/midori-websettings.c:463
+#: ../midori/midori-websettings.c:723
 msgid "Where to open new pages"
 msgstr "Που να ανοίγουν οι νέες σελίδες"
 
-#: ../midori/midori-websettings.c:473
+#: ../midori/midori-websettings.c:732
 msgid "Open external pages in"
 msgstr "Άνοιγμα εξωτερικών σελίδων σε"
 
-#: ../midori/midori-websettings.c:474
+#: ../midori/midori-websettings.c:733
 msgid "Where to open externally opened pages"
 msgstr "Που να ανοίγουν οι εξωτερικές ανοιγμένες σελίδες"
 
-#: ../midori/midori-websettings.c:483
+#: ../midori/midori-websettings.c:746
 msgid "Middle click opens Selection"
 msgstr "Το μεσαίο κλικ ανοίγει την Επιλογή"
 
-#: ../midori/midori-websettings.c:484
-msgid "Load an URL from the selection via middle click"
-msgstr "ΦÏ\8cÏ\81Ï\84Ï\89Ï\83η ÎµÎ½Ï\8cÏ\82 URL από την επιλογή μέσω του μεσαίου κλικ"
+#: ../midori/midori-websettings.c:747
+msgid "Load an address from the selection via middle click"
+msgstr "ΦÏ\8cÏ\81Ï\84Ï\89Ï\83η Î¼Î¯Î±Ï\82 Î´Î¹ÎµÏ\8dθÏ\85νÏ\83ηÏ\82 από την επιλογή μέσω του μεσαίου κλικ"
 
-#: ../midori/midori-websettings.c:492
+#: ../midori/midori-websettings.c:755
 msgid "Open tabs in the background"
-msgstr "Άνοιγμα καρτέλων στο παρασκήνιο"
+msgstr "Άνοιγμα των καρτελών στο παρασκήνιο"
 
-#: ../midori/midori-websettings.c:493
+#: ../midori/midori-websettings.c:756
 msgid "Whether to open new tabs in the background"
-msgstr "Î\86νοιγμα Î½Î­Ï\89ν ÎºÎ±Ï\81Ï\84έλÏ\89ν Ï\83Ï\84ο Ï\80αÏ\81αÏ\83κήνιο Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¸Î± Î±Î½Î¿Î¯Î³Î¿Î½Ï\84αι Î½Î­ÎµÏ\82 ÎºÎ±Ï\81Ï\84έλεÏ\82 Ï\83Ï\84ο Ï\80αÏ\81αÏ\83κήνιο"
 
-#: ../midori/midori-websettings.c:501
+#: ../midori/midori-websettings.c:764
 msgid "Open Tabs next to Current"
-msgstr "Άνοιγμα καρτέλων δίπλα στο τρέχων"
+msgstr "Άνοιγμα των καρτελών δίπλα στο τρέχων"
 
-#: ../midori/midori-websettings.c:502
+#: ../midori/midori-websettings.c:765
 msgid "Whether to open new tabs next to the current tab or after the last one"
-msgstr ""
-"Άνοιγμα νέων καρτέλων δίπλα στην τρέχων καρτέλα ή πίσω από το τελευταίο όπως "
-"και να 'χει"
+msgstr "Εάν θα ανοίγονται νέες καρτέλες δίπλα στην τρέχουσα καρτέλα ή μετά την τελευταία"
 
-#: ../midori/midori-websettings.c:510
+#: ../midori/midori-websettings.c:773
 msgid "Open popups in tabs"
 msgstr "Άνοιγμα αναδυόμενων παραθύρων σε καρτέλες"
 
-#: ../midori/midori-websettings.c:511
+#: ../midori/midori-websettings.c:774
 msgid "Whether to open popup windows in tabs"
-msgstr "Άνοιγμα αναδυόμενων παραθύρων σε καρτέλες όπως και να 'χει"
+msgstr "Εάν θα ανοίγονται τα αναδυόμενα παράθυρα σε καρτέλες"
+
+#: ../midori/midori-websettings.c:790
+msgid "Zoom Text and Images"
+msgstr "Εστίαση κειμένου και εικόνων"
+
+#: ../midori/midori-websettings.c:791
+msgid "Whether to zoom text and images"
+msgstr "Εάν θα εστιάζεται το κείμενο και οι εικόνες"
+
+#: ../midori/midori-websettings.c:806
+msgid "Find inline while typing"
+msgstr "Ενσωματωμένη εύρεση κατά την πληκτρολόγηση"
 
-#: ../midori/midori-websettings.c:537
+#: ../midori/midori-websettings.c:807
+msgid "Whether to automatically find inline while typing"
+msgstr "Εάν θα γίνεται αυτόματη ενσωματωμένη αναζήτηση κατά την πληκτρολόγηση"
+
+#: ../midori/midori-websettings.c:815
 msgid "Accept cookies"
 msgstr "Αποδοχή cookies"
 
-#: ../midori/midori-websettings.c:538
+#: ../midori/midori-websettings.c:816
 msgid "What type of cookies to accept"
 msgstr "Τι τύπο cookies να γίνονται αποδεκτά"
 
-#: ../midori/midori-websettings.c:547
+#: ../midori/midori-websettings.c:825
 msgid "Original cookies only"
-msgstr "ΠÏ\81Ï\89Ï\84Ï\8cÏ\84Ï\85Ï\80α cookies Î¼Ï\8cνο"
+msgstr "Î\9cÏ\8cνο Ï\80Ï\81Ï\89Ï\84Ï\8cÏ\84Ï\85Ï\80α cookies"
 
-#: ../midori/midori-websettings.c:548
+#: ../midori/midori-websettings.c:826
 msgid "Accept cookies from the original website only"
 msgstr "Αποδοχή cookies μόνο από πρωτότυπους ιστότοπους"
 
-#: ../midori/midori-websettings.c:556
+#: ../midori/midori-websettings.c:834
 msgid "Maximum cookie age"
 msgstr "Μέγιστος χρόνος cookie"
 
-#: ../midori/midori-websettings.c:557
+#: ../midori/midori-websettings.c:835
 msgid "The maximum number of days to save cookies for"
-msgstr "Το Î¼Î­Î³Î¹Ï\83Ï\84ο Ï\83ε Î¼Î­Ï\81εÏ\82 Î³Î¹Î± Î½Î± Î±Ï\80οθηκεÏ\8dονÏ\84αι Ï\84α cookies "
+msgstr "Î\9f Î¼Î­Î³Î¹Ï\83Ï\84οÏ\82 Ï\87Ï\81Ï\8cνοÏ\82 Ï\83ε Î¼Î­Ï\81εÏ\82 Î³Î¹Î± Ï\84ην Î±Ï\80οθήκεÏ\85Ï\83η Ï\84Ï\89ν cookies"
 
-#: ../midori/midori-websettings.c:567
+#: ../midori/midori-websettings.c:845
 msgid "Remember last visited pages"
 msgstr "Απομνημόνευση των τελευταίων επισκεπτόμενων σελίδων"
 
-#: ../midori/midori-websettings.c:568
+#: ../midori/midori-websettings.c:846
 msgid "Whether the last visited pages are saved"
-msgstr "Î\91Ï\80ομνημÏ\8cνεÏ\85Ï\83η Ï\84Ï\89ν Ï\84ελεÏ\85Ï\84αίÏ\89ν ÎµÏ\80ιÏ\83κεÏ\80Ï\84Ï\8cμενÏ\89ν Ï\83ελίδÏ\89ν Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¸Î± Î±Ï\80οθηκεÏ\8dονÏ\84αι Î¿Î¹ Ï\84ελεÏ\85Ï\84αίεÏ\82 ÎµÏ\80ιÏ\83κεÏ\80Ï\84Ï\8cμενεÏ\82 Ï\83ελίδεÏ\82"
 
-#: ../midori/midori-websettings.c:576
+#: ../midori/midori-websettings.c:854
 msgid "Maximum history age"
 msgstr "Μέγιστο χρόνος ιστορικού"
 
-#: ../midori/midori-websettings.c:577
+#: ../midori/midori-websettings.c:855
 msgid "The maximum number of days to save the history for"
 msgstr "Ο μέγιστος χρόνος σε μέρες για την αποθήκευση του ιστορικού"
 
-#: ../midori/midori-websettings.c:585
+#: ../midori/midori-websettings.c:863
 msgid "Remember last form inputs"
 msgstr "Απομνημόνευση των τελευταίων εισαγωγών"
 
-#: ../midori/midori-websettings.c:586
+#: ../midori/midori-websettings.c:864
 msgid "Whether the last form inputs are saved"
-msgstr "Î\91Ï\80ομνημÏ\8cνεÏ\85Ï\83η Ï\84Ï\89ν Ï\84ελεÏ\85Ï\84αίÏ\89ν ÎµÎ¹Ï\83αγÏ\89γÏ\8eν Ï\8cÏ\80Ï\89Ï\82 ÎºÎ±Î¹ Î½Î± 'Ï\87ει"
+msgstr "Î\95άν Î¸Î± Î±Ï\80οθηκεÏ\8dονÏ\84αι Î¿Î¹ Ï\84ελεÏ\85Ï\84αίεÏ\82 ÎµÎ¹Ï\83αγÏ\89γέÏ\82 Ï\86οÏ\81μÏ\8eν"
 
-#: ../midori/midori-websettings.c:594
+#: ../midori/midori-websettings.c:872
 msgid "Remember last downloaded files"
 msgstr "Απομνημόνευση των τελευταίων αρχείων που κατέβηκαν"
 
-#: ../midori/midori-websettings.c:595
+#: ../midori/midori-websettings.c:873
 msgid "Whether the last downloaded files are saved"
-msgstr "Που αποθηκεύτηκαν τα τελευταία αρχεία που κατέβηκαν"
+msgstr "Εάν θα αποθηκεύονται τα τελευταία αρχεία που κατέβηκαν"
+
+#: ../midori/midori-websettings.c:883
+msgid "Proxy Server"
+msgstr "Διακομιστής μεσολάβησης"
 
-#: ../midori/midori-websettings.c:605
-msgid "HTTP Proxy"
-msgstr "Î\9cεÏ\83ολαβηÏ\84ήÏ\82 http"
+#: ../midori/midori-websettings.c:884
+msgid "The proxy server used for HTTP connections"
+msgstr "Î\9f Î¼ÎµÏ\83ολαβηÏ\84ήÏ\82 Ï\87Ï\81ηÏ\83ιμοÏ\80οιείÏ\84αι Î³Î¹Î± http Ï\83Ï\85νδέÏ\83ειÏ\82"
 
-#: ../midori/midori-websettings.c:606
-msgid "The proxy used for HTTP connections"
-msgstr "ΧÏ\81ηÏ\83ιμοÏ\80οιείÏ\84αι Î¼ÎµÏ\83ολαβηÏ\84ήÏ\82 Î³Î¹Î± http Ï\83Ï\85νδέÏ\83εις"
+#: ../midori/midori-websettings.c:899
+msgid "Detect proxy server automatically"
+msgstr "Î\91Ï\85Ï\84Ï\8cμαÏ\84η ÎµÏ\8dÏ\81εÏ\83η Î´Î¹Î±ÎºÎ¿Î¼Î¹Ï\83Ï\84ή Î¼ÎµÏ\83ολάβηÏ\83ης"
 
-#: ../midori/midori-websettings.c:614
+#: ../midori/midori-websettings.c:900
+msgid "Whether to detect the proxy server automatically from the environment"
+msgstr "Εάν θα εντοπίζεται αυτόματα από το περιβάλλον ο διακομιστής μεσολάβησης"
+
+#. i18n: This refers to an application, not the 'user agent' string
+#: ../midori/midori-websettings.c:916
+msgid "Identify as"
+msgstr "Αναγνώριση ως"
+
+#: ../midori/midori-websettings.c:917
+msgid "What to identify as to web pages"
+msgstr "Με τι να αναγνωρίζεται στις σελίδες ιστού"
+
+#: ../midori/midori-websettings.c:933
+msgid "Identification string"
+msgstr "Αλφαριθμητικό αναγνώρισης"
+
+#: ../midori/midori-websettings.c:934
+msgid "The application identification string"
+msgstr "Το αλφαριθμητικό αναγνώρισης της εφαρμογής"
+
+#: ../midori/midori-websettings.c:942
 msgid "Cache size"
 msgstr "Μέγεθος προσωρινής μνήμης"
 
-#: ../midori/midori-websettings.c:615
+#: ../midori/midori-websettings.c:943
 msgid "The allowed size of the cache"
 msgstr "Το επιτρεπόμενο μέγεθος της προσωρινής  μνήμης"
 
+#: ../midori/midori-view.c:686
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "Η σελίδα '%s' δεν μπορεί να φορτωθεί."
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:688
+#: ../midori/midori-view.c:2701
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "Σφάλμα"
+
+#: ../midori/midori-view.c:691
+msgid "Try again"
+msgstr "Δοκιμάστε ξανά"
+
 #. i18n: The title of the 404 - Not found error page
-#: ../midori/midori-view.c:632
+#. Error pages are special, we want to try loading the destination
+#. again, not the error page which isn't even a proper page
+#: ../midori/midori-view.c:721
+#: ../midori/midori-view.c:2705
 #, c-format
 msgid "Not found - %s"
 msgstr "Δεν βρέθηκε - %s"
 
-#: ../midori/midori-view.c:902
+#: ../midori/midori-view.c:1095
+msgid "Open _Link"
+msgstr "Άνοιγμα _συνδέσμου"
+
+#: ../midori/midori-view.c:1097
 msgid "Open Link in New _Tab"
 msgstr "Άνοιγμα συνδέσμου σε νέα κ_αρτέλα"
 
-#: ../midori/midori-view.c:925
-msgid "_Save Link destination"
-msgstr "Î\91Ï\80_οθήκεÏ\85Ï\83η Ï\83Ï\85νδέÏ\83μοÏ\85 Ï\80Ï\81οοÏ\81ιÏ\83μοÏ\8d"
+#: ../midori/midori-view.c:1114
+msgid "Open Link in New _Window"
+msgstr "Î\86νοιγμα Ï\83Ï\85νδέÏ\83μοÏ\85 Ï\83ε Î½Î­Î¿ _Ï\80αÏ\81αθÏ\8dÏ\81ο"
 
-#: ../midori/midori-view.c:933
+#: ../midori/midori-view.c:1123
 msgid "_Download Link destination"
 msgstr "Κ_ατέβασμα συνδέσμου προορισμού"
 
-#: ../midori/midori-view.c:955
-msgid "Open URL in New _Tab"
-msgstr "Άνοιγμα URL σε νέα κ_αρτέλα"
+#: ../midori/midori-view.c:1129
+msgid "_Save Link destination"
+msgstr "Απ_οθήκευση συνδέσμου προορισμού"
+
+#: ../midori/midori-view.c:1138
+msgid "Download with Download _Manager"
+msgstr "Κατέβασμα με τον διαχειριστή μεταφορών"
+
+#: ../midori/midori-view.c:1167
+msgid "Search _with"
+msgstr "Αναζήτηση _με"
+
+#: ../midori/midori-view.c:1195
+msgid "_Search the Web"
+msgstr "_Αναζήτηση στον ιστό"
+
+#: ../midori/midori-view.c:1205
+msgid "Open Address in New _Tab"
+msgstr "Άνοιγμα διεύθυνσης σε νέα_καρτέλα"
+
+#: ../midori/midori-view.c:1372
+msgid "Open or download file"
+msgstr "Άνοιγμα ή κατέβασμα αρχείου"
+
+#: ../midori/midori-view.c:1389
+#, c-format
+msgid "File Type: '%s'"
+msgstr "Τύπος αρχείου: '%s'"
+
+#: ../midori/midori-view.c:1392
+#, c-format
+msgid "File Type: %s ('%s')"
+msgstr "Τύπος αρχείου: %s ('%s')"
+
+#. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
+#: ../midori/midori-view.c:1396
+#, c-format
+msgid "Open %s"
+msgstr "Άνοιγμα %s"
 
-#: ../midori/midori-view.c:1365
+#: ../midori/midori-view.c:1816
 #, c-format
 msgid "Inspect page - %s"
 msgstr "Εξέταση σελίδα -%s"
 
-#: ../midori/midori-view.c:1503
-msgid "Source"
-msgstr "Πηγή"
+#: ../midori/midori-view.c:2001
+#: ../midori/midori-view.c:2002
+msgid "Search"
+msgstr "Αναζήτηση"
+
+#: ../midori/midori-view.c:2003
+msgid "Click to add a shortcut"
+msgstr "Κάντε click για προσθήκη συντόμευσης"
+
+#: ../midori/midori-view.c:2004
+msgid "Enter shortcut address"
+msgstr "Εισάγεται διεύθυνση συντόμευσης"
+
+#: ../midori/midori-view.c:2005
+msgid "Enter shortcut title"
+msgstr "Εισάγετε τίτλο συντόμευσης"
 
-#: ../midori/midori-view.c:1527
+#: ../midori/midori-view.c:2006
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή την συντόμευση;"
+
+#: ../midori/midori-view.c:2038
+#, c-format
+msgid "Document cannot be displayed"
+msgstr "Το αρχείο δεν μπορεί να εμφανιστεί"
+
+#: ../midori/midori-view.c:2055
 #, c-format
 msgid "No documentation installed"
 msgstr "Δεν έχει εγκατασταθεί τεκμηρίωση"
 
-#: ../midori/midori-preferences.c:87
+#: ../midori/midori-preferences.c:91
 #, c-format
 msgid "Preferences for %s"
 msgstr "Προτιμήσεις για %s"
 
 #. Page "General"
-#: ../midori/midori-preferences.c:338
+#: ../midori/midori-preferences.c:398
 msgid "General"
 msgstr "Γενικά"
 
-#: ../midori/midori-preferences.c:339
+#: ../midori/midori-preferences.c:399
 msgid "Startup"
 msgstr "Εκκίνηση"
 
+#: ../midori/midori-preferences.c:415
+msgid "Use current page as homepage"
+msgstr "Τρέχουσα σελίδα ως αρχική"
+
+#: ../midori/midori-preferences.c:425
+#: ../panels/midori-transfers.c:88
+msgid "Transfers"
+msgstr "Μεταφορές"
+
 #. Page "Appearance"
-#: ../midori/midori-preferences.c:386
+#: ../midori/midori-preferences.c:440
 msgid "Appearance"
 msgstr "Εμφάνιση"
 
-#: ../midori/midori-preferences.c:387
+#: ../midori/midori-preferences.c:441
 msgid "Font settings"
 msgstr "Ρυθμίσεις γραμματοσειράς"
 
-#: ../midori/midori-preferences.c:389
+#: ../midori/midori-preferences.c:443
 msgid "Default Font Family"
 msgstr "Προεπιλεγμένη οικογένεια γραμματοσειράς"
 
-#: ../midori/midori-preferences.c:397
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "Η προκαθορισμένη οικογένεια γραμματοσειράς χρησιμοποιείται για την εμφάνιση του κειμένου"
+
+#: ../midori/midori-preferences.c:450
+msgid "The default font size used to display text"
+msgstr "Το προκαθορισμένο μέγεθος γραμματοσειράς για την εμφάνιση του κειμένου"
+
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "Σταθερού-μεγέθους οικογένεια γραμματοσειράς"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr "Η οικογένεια γραμματοσειράς χρησιμοποιείται για την εμφάνιση σταθερού μεγέθους κειμένου"
+
+#: ../midori/midori-preferences.c:458
 msgid "Minimum Font Size"
 msgstr "Ελάχιστο μέγεθος γραμματοσειράς"
 
+#: ../midori/midori-preferences.c:461
+msgid "The minimum font size used to display text"
+msgstr "Το ελάχιστο μέγεθος γραμματοσειράς για την εμφάνιση του κειμένου"
+
+#: ../midori/midori-preferences.c:468
+msgid "Encoding"
+msgstr "Κωδικοποίηση"
+
+#: ../midori/midori-preferences.c:471
+msgid "The character encoding to use by default"
+msgstr "Η προτιμώμενη κωδικοποίηση χαρακτήρων προς χρήση"
+
 #. Page "Behavior"
-#: ../midori/midori-preferences.c:407
+#: ../midori/midori-preferences.c:478
 msgid "Behavior"
 msgstr "Συμπεριφορά"
 
-#: ../midori/midori-preferences.c:408
+#: ../midori/midori-preferences.c:479
 msgid "Features"
 msgstr "Χαρακτηριστικά"
 
-#: ../midori/midori-preferences.c:411 ../extensions/statusbar-features.c:32
+#: ../midori/midori-preferences.c:482
+#: ../extensions/statusbar-features.c:54
 msgid "Load images automatically"
 msgstr "Αυτόματη φόρτωση εικόνων"
 
-#: ../midori/midori-preferences.c:414
+#: ../midori/midori-preferences.c:483
+msgid "Load and display images automatically"
+msgstr "Αυτόματη φόρτωση και εμφάνιση εικόνων"
+
+#: ../midori/midori-preferences.c:486
 msgid "Shrink images automatically"
 msgstr "Αυτόματη σμίκρυνσης εικόνων"
 
-#: ../midori/midori-preferences.c:417
+#: ../midori/midori-preferences.c:487
+msgid "Automatically shrink standalone images to fit"
+msgstr "Αυτόματη σμίκρυνση αυτόνομων εικόνων για ταίριασμα"
+
+#: ../midori/midori-preferences.c:490
 msgid "Print background images"
 msgstr "Εκτύπωση εικόνων παρασκηνίου"
 
-#: ../midori/midori-preferences.c:420
+#: ../midori/midori-preferences.c:491
+msgid "Whether background images should be printed"
+msgstr "Εάν θα τυπώνονται οι εικόνες παρασκηνίου"
+
+#: ../midori/midori-preferences.c:494
 msgid "Resizable text areas"
 msgstr "Αυξομείωση περιοχών κειμένου"
 
-#: ../midori/midori-preferences.c:423 ../extensions/statusbar-features.c:39
+#: ../midori/midori-preferences.c:495
+msgid "Whether text areas are resizable"
+msgstr "Εάν οι περιοχές κειμένου μπορούν να αλλάζουν μέγεθος"
+
+#: ../midori/midori-preferences.c:498
+#: ../extensions/statusbar-features.c:63
 msgid "Enable scripts"
 msgstr "Ενεργοποίηση σεναρίων"
 
-#: ../midori/midori-preferences.c:426 ../extensions/statusbar-features.c:46
-msgid "Enable plugins"
-msgstr "Ενεργοποίηση αρθρωμάτων"
+#: ../midori/midori-preferences.c:499
+msgid "Enable embedded scripting languages"
+msgstr "Ενεργοποίηση ενσωματωμένων γλωσσών κειμένου"
+
+#: ../midori/midori-preferences.c:502
+#: ../extensions/statusbar-features.c:72
+msgid "Enable Netscape plugins"
+msgstr "Ενεργοποίηση αρθρωμάτων netscape"
 
-#: ../midori/midori-preferences.c:429
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "Ενεργοποίηση ενσωματωμένων αρθρωμάτων netscape"
+
+#: ../midori/midori-preferences.c:506
+msgid "Enforce 96 dots per inch"
+msgstr "Επιβολή 96 dots ανά ίντσα"
+
+#: ../midori/midori-preferences.c:507
+msgid "Enforce a video dot density of 96 DPI"
+msgstr "Επιβολή της πυκνότητας βίντεο dot στα 96DPI"
+
+#: ../midori/midori-preferences.c:510
 msgid "Enable developer tools"
 msgstr "Ενεργοποίηση εργαλείων ανάπτυξης"
 
+#: ../midori/midori-preferences.c:511
+msgid "Enable special extensions for developers"
+msgstr "Ενεργοποίηση συγκεκριμένων επεκτάσεων για προγραμματιστές"
+
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "Ορθογραφία πληκτρολόγησης"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "Ενεργοποίηση ορθογραφίας"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "Ενεργοποίηση ορθογραφίας κατά την πληκτρολόγηση"
+
+#: ../midori/midori-preferences.c:525
+msgid "A comma separated list of languages to be used for spell checking, for example \"en_GB,de_DE\""
+msgstr "Μία διαχωρισμένη λίστα με τις γλώσσες που μπορείτε να χρησιμοποιήσετε κατά την ορθογραφία πληκτρολόγησης, για παράδειγμα \"en_GB,de_DE\""
+
 #. Page "Interface"
-#: ../midori/midori-preferences.c:437
+#: ../midori/midori-preferences.c:530
 msgid "Interface"
 msgstr "Διεπαφή"
 
-#: ../midori/midori-preferences.c:438
+#: ../midori/midori-preferences.c:531
 msgid "Navigationbar"
-msgstr "Î\93Ï\81αμμή Ï\80λοηγήσης"
+msgstr "Î\93Ï\81αμμή Ï\80λοήγησης"
 
-#: ../midori/midori-preferences.c:453
+#: ../midori/midori-preferences.c:542
 msgid "Browsing"
 msgstr "Περιήγηση"
 
-#: ../midori/midori-preferences.c:480 ../midori/midori-preferences.c:481
+#. Page "Applications"
+#: ../midori/midori-preferences.c:572
+msgid "Applications"
+msgstr "Εφαρμογές"
+
+#: ../midori/midori-preferences.c:573
+msgid "External applications"
+msgstr "Εξωτερικές εφαρμογές"
+
+#. Page "Network"
+#: ../midori/midori-preferences.c:619
+#: ../midori/midori-preferences.c:620
 msgid "Network"
 msgstr "Δίκτυο"
 
-#: ../midori/midori-preferences.c:492
+#: ../midori/midori-preferences.c:647
 msgid "MB"
 msgstr "ΜΒ"
 
 #. Page "Privacy"
-#: ../midori/midori-preferences.c:498
+#: ../midori/midori-preferences.c:652
 msgid "Privacy"
 msgstr "Προσωπικό απόρρητο"
 
-#: ../midori/midori-preferences.c:500
+#: ../midori/midori-preferences.c:653
 msgid "Web Cookies"
 msgstr "Cookies ιστού"
 
-#: ../midori/midori-preferences.c:513 ../midori/midori-preferences.c:524
+#: ../midori/midori-preferences.c:666
+#: ../midori/midori-preferences.c:676
 msgid "days"
 msgstr "ημέρες"
 
-#: ../midori/midori-searchaction.c:456 ../katze/katze-arrayaction.c:273
+#: ../midori/midori-searchaction.c:484
+#: ../katze/katze-arrayaction.c:314
 msgid "Empty"
 msgstr "Άδειο"
 
-#: ../midori/midori-searchaction.c:797
+#: ../midori/midori-searchaction.c:904
 msgid "Add search engine"
 msgstr "Προσθήκη μηχανής αναζήτησης"
 
-#: ../midori/midori-searchaction.c:797
+#: ../midori/midori-searchaction.c:904
 msgid "Edit search engine"
 msgstr "Επεξεργασία μηχανής αναζήτησης"
 
-#: ../midori/midori-searchaction.c:825
+#: ../midori/midori-searchaction.c:932
 msgid "_Name:"
 msgstr "_Όνομα:"
 
-#: ../midori/midori-searchaction.c:869
-msgid "_Icon (name or file):"
-msgstr "Ει_κονίδιο (όνομα ή αρχείο):"
+#: ../midori/midori-searchaction.c:976
+msgid "_Icon:"
+msgstr "_Εικονίδιο:"
 
-#: ../midori/midori-searchaction.c:883
+#: ../midori/midori-searchaction.c:990
 msgid "_Token:"
 msgstr "_Μορφότυπο:"
 
-#: ../midori/midori-searchaction.c:1060
-msgid "Manage search engines"
-msgstr "Διαχείριση μηχανών αναζήτησης"
+#: ../midori/midori-searchaction.c:1195
+msgid "Manage Search Engines"
+msgstr "Διαχείριση των μηχανών αναζήτησης"
+
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "Χρήση ως _προκαθορισμένο"
 
-#: ../midori/sokoke.c:63 ../midori/sokoke.c:75
+#: ../midori/sokoke.c:162
+#: ../midori/sokoke.c:174
 msgid "Could not run external program."
 msgstr "Δεν μπορεί να εκτελεστεί το εξωτερικό πρόγραμμα."
 
-#: ../midori/sokoke.c:282
+#. i18n: A superuser, or system administrator, may not be 'root'
+#: ../midori/sokoke.c:520
 msgid "Warning: You are using a superuser account!"
 msgstr "Προειδοποίηση: Χρησιμοποιείται λογαριασμό με δικαιώματα διαχειριστή"
 
-#: ../midori/gjs.c:514
-msgid "An unknown error occured."
-msgstr "Συνέβει ένα άγνωστο σφάλμα."
+#: ../midori/sokoke.c:871
+msgid "_Bookmark"
+msgstr "_Σελιδοδείκτης"
 
-#: ../midori/gjs.c:742 ../midori/gjs.c:832
-#, c-format
-msgid "%s has no property '%s'"
-msgstr "%s δεν έχει ιδιότητα '%s'"
+#: ../midori/sokoke.c:873
+msgid "_Add Bookmark"
+msgstr "_Προσθήκη σελιδοδείκτη"
 
-#: ../midori/gjs.c:878
-#, c-format
-msgid "%s cannot be assigned to %s.%s"
-msgstr "%s δεν μπορεί να οριστεί στο %s.%s"
+#: ../midori/sokoke.c:874
+msgid "_Console"
+msgstr "_Τερματικό"
 
-#: ../midori/gjs.c:888
-#, c-format
-msgid "%s.%s cannot be accessed"
-msgstr "%s.%s δεν μποορεί να προσπελαστεί"
+#: ../midori/sokoke.c:875
+msgid "_Extensions"
+msgstr "_Επεκτάσεις"
+
+#: ../midori/sokoke.c:876
+msgid "_History"
+msgstr "_Ιστορικό"
+
+#: ../midori/sokoke.c:877
+msgid "_Homepage"
+msgstr "_Αρχική σελίδα"
+
+#: ../midori/sokoke.c:878
+msgid "_Userscripts"
+msgstr "_Σενάρια χρήστη"
+
+#: ../midori/sokoke.c:879
+msgid "User_styles"
+msgstr "_Θέματα χρήστη"
+
+#: ../midori/sokoke.c:880
+msgid "New _Tab"
+msgstr "Νέα _καρτέλα"
+
+#: ../midori/sokoke.c:881
+msgid "_Transfers"
+msgstr "_Μεταφορές"
+
+#: ../midori/sokoke.c:882
+msgid "Netscape p_lugins"
+msgstr "Α_ρθρωμάτων netscape"
+
+#: ../midori/sokoke.c:883
+msgid "_Closed Tabs and Windows"
+msgstr "_Κλείσιμο των καρτέλων και των παραθύρων"
+
+#: ../midori/sokoke.c:884
+msgid "New _Window"
+msgstr "Νέο _παράθυρο"
 
-#: ../panels/midori-addons.c:98 ../panels/midori-addons.c:144
+#: ../panels/midori-addons.c:95
+#: ../panels/midori-addons.c:141
 msgid "Userscripts"
 msgstr "Σενάρια χρηστών"
 
-#: ../panels/midori-addons.c:99 ../panels/midori-addons.c:146
+#: ../panels/midori-addons.c:96
+#: ../panels/midori-addons.c:143
 msgid "Userstyles"
 msgstr "Θέματα χρήστη"
 
-#: ../panels/midori-addons.c:1006 ../panels/midori-extensions.c:144
+#: ../panels/midori-addons.c:927
+#: ../panels/midori-extensions.c:144
 msgid "_Enable"
 msgstr "_Ενεργοποίηση"
 
-#: ../panels/midori-addons.c:1015 ../panels/midori-extensions.c:153
+#: ../panels/midori-addons.c:928
+#: ../panels/midori-extensions.c:145
+msgid "Enable"
+msgstr "Ενεργοποίηση"
+
+#: ../panels/midori-addons.c:937
+#: ../panels/midori-extensions.c:154
 msgid "_Disable"
 msgstr "_Απενεργοποίηση"
 
+#: ../panels/midori-addons.c:938
+#: ../panels/midori-extensions.c:155
+msgid "Disable"
+msgstr "Απενεργοποίηση"
+
+#: ../panels/midori-bookmarks.c:107
+msgid "Bookmarks"
+msgstr "Σελιδοδείκτες"
+
+#: ../panels/midori-bookmarks.c:238
+msgid "Edit the selected bookmark"
+msgstr "Επεξεργασία του επιλεγμένου σελιδοδείκτη"
+
+#: ../panels/midori-bookmarks.c:246
+msgid "Delete the selected bookmark"
+msgstr "Διαγραφή του επιλεγμένου σελιδοδείκτη"
+
+#: ../panels/midori-bookmarks.c:591
+msgid "<i>Separator</i>"
+msgstr "<i>Διαχωριστικό</i>"
+
 #: ../panels/midori-console.c:87
 msgid "Console"
 msgstr "Τερματικό"
@@ -1309,50 +1797,340 @@ msgstr "Τερματικό"
 msgid "Extensions"
 msgstr "Επεκτάσεις"
 
+#: ../panels/midori-history.c:162
+msgid "Are you sure you want to remove all history items?"
+msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε όλα τα αντικείμενα του ιστορικού;"
+
+#: ../panels/midori-history.c:217
+msgid "Bookmark the selected history item"
+msgstr "Σελιδοποίησε το επιλεγμένο αντικείμενο του ιστορικού"
+
+#: ../panels/midori-history.c:226
+msgid "Delete the selected history item"
+msgstr "Διαγραφή του επιλεγμένου αντικειμένου από το ιστορικό"
+
+#: ../panels/midori-history.c:234
+msgid "Clear the entire history"
+msgstr "Καθαρισμός ολόκληρου του ιστορικού"
+
+#: ../panels/midori-history.c:599
+msgid "A week ago"
+msgstr "Μια βδομάδα πριν"
+
+#: ../panels/midori-history.c:604
+#, c-format
+msgid "%d day ago"
+msgstr "%d μέρες πριν"
+
+#: ../panels/midori-history.c:605
+#, c-format
+msgid "%d days ago"
+msgstr "%d μέρες πριν"
+
+#: ../panels/midori-history.c:612
+msgid "Today"
+msgstr "Σήμερα"
+
+#: ../panels/midori-history.c:614
+msgid "Yesterday"
+msgstr "Χθες"
+
+#: ../panels/midori-plugins.c:87
+msgid "Netscape plugins"
+msgstr "Αρθρωμάτων netscape"
+
+#: ../panels/midori-transfers.c:256
+#, c-format
+msgid "%s of %s"
+msgstr "%s από %s"
+
+#: ../katze/katze-http-auth.c:97
+msgid "Authentication Required"
+msgstr "Απαιτείται αυθεντικοποίηση"
+
+#: ../katze/katze-http-auth.c:113
+msgid ""
+"A username and a password are required\n"
+"to open this location:"
+msgstr ""
+"Απαιτείται ένα όνομα χρήσης και ένα συνθηματικό\n"
+"για το άνοιγμα της τοποθεσίας:"
+
+#: ../katze/katze-http-auth.c:127
+msgid "Username"
+msgstr "Όνομα χρήσης"
+
+#: ../katze/katze-http-auth.c:138
+msgid "Password"
+msgstr "Συνθηματικό"
+
 #: ../katze/katze-throbber.c:828
 #, c-format
 msgid "Named icon '%s' couldn't be loaded"
-msgstr "Το εικονίδο Named '%s' δεν μπορεί να φορτωθεί"
+msgstr "Το ÎµÎ¹ÎºÎ¿Î½Î¯Î´Î¹Î¿ Named '%s' Î´ÎµÎ½ Î¼Ï\80οÏ\81εί Î½Î± Ï\86οÏ\81Ï\84Ï\89θεί"
 
 #: ../katze/katze-throbber.c:841
 #, c-format
 msgid "Stock icon '%s' couldn't be loaded"
-msgstr "Το εικονίδο Stock '%s' δεν μπορεί να φορτωθεί"
+msgstr "Το ÎµÎ¹ÎºÎ¿Î½Î¯Î´Î¹Î¿ Stock '%s' Î´ÎµÎ½ Î¼Ï\80οÏ\81εί Î½Î± Ï\86οÏ\81Ï\84Ï\89θεί"
 
 #: ../katze/katze-throbber.c:907
 msgid "Animation frames are broken"
 msgstr "Τα κινούμενα γραφικά πλαίσια δεν λειτουργούν"
 
-#: ../katze/katze-utils.c:154 ../katze/katze-utils.c:352
+#: ../katze/katze-utils.c:183
+#: ../katze/katze-utils.c:385
 #, c-format
 msgid "Property '%s' is invalid for %s"
 msgstr "Η ιδιότητα '%s' δεν είναι έγκυρη για το %s"
 
-#: ../katze/katze-utils.c:178 ../katze/katze-utils.c:217
+#: ../katze/katze-utils.c:215
+#: ../katze/katze-utils.c:244
 msgid "Choose file"
 msgstr "Επιλογή αρχείου"
 
-#: ../katze/katze-utils.c:198
+#: ../katze/katze-utils.c:230
 msgid "Choose folder"
 msgstr "Επιλογή φακέλου"
 
+#: ../extensions/colorful-tabs.c:115
+msgid "Tint tabs distinctly"
+msgstr "Ευκρινές αποχρώσεις καρτελών"
+
+#: ../extensions/colorful-tabs.c:151
+msgid "Colorful Tabs"
+msgstr "Χρωματιστές καρτέλες"
+
+#: ../extensions/colorful-tabs.c:152
+msgid "Tint each tab distinctly"
+msgstr "Ευκρινές αποχρώσεις σε κάθε καρτέλα"
+
+#: ../extensions/cookie-manager.c:201
+msgid "At the end of the session"
+msgstr "Στο τέλος της συνεδρίας"
+
+#: ../extensions/cookie-manager.c:204
+#, c-format
+msgid ""
+"<b>Host</b>: %s\n"
+"<b>Name</b>: %s\n"
+"<b>Value</b>: %s\n"
+"<b>Path</b>: %s\n"
+"<b>Secure</b>: %s\n"
+"<b>Expires</b>: %s"
+msgstr ""
+"<b>Διακομιστής</b>: %s\n"
+"<b>Όνομα</b>: %s\n"
+"<b>Τιμή</b>: %s\n"
+"<b>Διαδρομή</b>: %s\n"
+"<b>Ασφάλεια</b>: %s\n"
+"<b>Λήγει</b>: %s"
+
+#: ../extensions/cookie-manager.c:210
+msgid "Yes"
+msgstr "Ναι"
+
+#: ../extensions/cookie-manager.c:210
+msgid "No"
+msgstr "Όχι"
+
+#: ../extensions/cookie-manager.c:493
+msgid "Do you really want to delete all cookies?"
+msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε όλα τα cookies;"
+
+#: ../extensions/cookie-manager.c:495
+msgid "Question"
+msgstr "Ερώτηση"
+
+#: ../extensions/cookie-manager.c:504
+msgid "Only cookies which match the filter will be deleted."
+msgstr "Μόνο τα cookies που ταιριάζουν στο φίλτρο θα διαγραφούν."
+
+#: ../extensions/cookie-manager.c:682
+msgid "Name"
+msgstr "Όνομα"
+
+#: ../extensions/cookie-manager.c:742
+msgid "_Expand All"
+msgstr "_Ανάπτυξη όλων"
+
+#: ../extensions/cookie-manager.c:750
+msgid "_Collapse All"
+msgstr "_Μάζεμα όλων"
+
+#: ../extensions/cookie-manager.c:823
+msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
+msgstr "Διαγράφει όλα τα cookies που φαίνονται. Εάν ένα φίλτρο έχει δοθεί, μόνο τα cookies που ταιριάζουν στο φίλτρο θα διαγραφούν."
+
+#: ../extensions/cookie-manager.c:838
+msgid "Expand All"
+msgstr "Ανάπτυξη όλων"
+
+#: ../extensions/cookie-manager.c:845
+msgid "Collapse All"
+msgstr "Μάζεμα όλων"
+
+#: ../extensions/cookie-manager.c:876
+msgid "Filter:"
+msgstr "Φίλτρο:"
+
+#: ../extensions/cookie-manager.c:881
+msgid "Enter a filter string to show only cookies whose name or domain field match the entered filter"
+msgstr "Εισαγωγή ενός αλφαριθμητικού φίλτρου για να φαίνονται μόνο τα cookies που το όνομα ή το πεδίο τομέα ταιριάζει με το φίλτρο που εισάγεται"
+
+#: ../extensions/cookie-manager.c:916
+#: ../extensions/cookie-manager.c:964
+msgid "Cookie Manager"
+msgstr "Διαχειριστής cookie"
+
+#: ../extensions/cookie-manager.c:948
+msgid "_Cookie Manager"
+msgstr "_Διαχειριστής cookie"
+
+#: ../extensions/cookie-manager.c:965
+msgid "List, view and delete cookies"
+msgstr "Λίστα, εμφάνιση και διαγραφή cookies"
+
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr "Αποτυχία εύρεσης απαιτούμενου στοιχείου Atom \"entry\" στα δεδομένα XML."
+
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr "Αποτυχία εύρεσης απαιτούμενου στοιχείου Atom \"feed\" στα δεδομένα XML."
+
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "Τελευταία ενημέρωση: %s."
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "Ροές νέων"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "Προσθήκη ενός νέας ροής"
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "Διαγραφή ροής"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "_Ροές"
+
+#: ../extensions/feed-panel/feed-parse.c:175
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "Αποτυχία εύρεσης root στοιχείου στα δεδομένα XML ροής."
+
+#: ../extensions/feed-panel/feed-parse.c:215
+#, c-format
+msgid "Unsupported feed format."
+msgstr "Μορφή ροής που δεν υποστηρίζεται"
+
+#: ../extensions/feed-panel/feed-parse.c:245
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "Αποτυχία επεξεργασίας της XML ροής: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr "Αποτυχία εύρεσης στοιχείου \"channel\" στα δεδομένα RSS XML."
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "Βρέθηκε έκδοση RSS που δεν υποστηρίζεται."
+
+#: ../extensions/feed-panel/feed-rss.c:144
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "Αποτυχία εύρεσης απαιτούμενου στοιχείου RSS \"item\" στα XML δεδομένα."
+
+#: ../extensions/feed-panel/feed-rss.c:229
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr "Αποτυχία εύρεσης απαιτούμενου στοιχείου RSS \"channel\" στα XML δεδομένα."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "Η ροή '%s' ήδη υπάρχει"
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "Σφάλμα κατά την φόρτωση ροής '%s'"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "Νέα ροή"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "Ταμπλό ροής"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Ανάγνωση Atom / RSS ροών"
+
+#: ../extensions/mouse-gestures/main.c:216
+msgid "Mouse Gestures"
+msgstr "Κινήσεις ποντικιού"
+
+#: ../extensions/mouse-gestures/main.c:217
+msgid "Control Midori by moving the mouse"
+msgstr "Χειρισμός του midori μετακινώντας το ποντίκι"
+
 #. i18n: A panel showing a user specified web page
-#: ../extensions/page-holder.c:109 ../extensions/page-holder.c:144
+#: ../extensions/page-holder.c:129
+#: ../extensions/page-holder.c:177
 msgid "Pageholder"
 msgstr "Αποθήκευση Σελίδων"
 
-#: ../extensions/page-holder.c:128
+#: ../extensions/page-holder.c:161
 msgid "_Pageholder"
 msgstr "_Αποθήκευση σελίδων"
 
-#: ../extensions/statusbar-features.c:30
-msgid "Images"
-msgstr "Εικόνες"
-
-#: ../extensions/statusbar-features.c:37
-msgid "Scripts"
-msgstr "Σενάρια"
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr "Γραμμή κατάστασης χαρακτηριστικών"
+
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr "Εύκολη εναλλαγή χαρακτηριστικών στις ιστοσελίδες ενεργοποίηση και απενεργοποίηση"
+
+#~ msgid "P_lugins"
+#~ msgstr "Αρ_θρώματα"
+#~ msgid "Plugins"
+#~ msgstr "Αρθρώματα"
+#~ msgid "URIs"
+#~ msgstr "URIs"
+#~ msgid "[URIs]"
+#~ msgstr "[URIs]"
+#~ msgid "_URL:"
+#~ msgstr "_Διεύθυνση:"
+#~ msgid "Root"
+#~ msgstr "Ρίζα"
+#~ msgid "HTTP Proxy"
+#~ msgstr "Μεσολαβητής http"
+#~ msgid "Open URL in New _Tab"
+#~ msgstr "Άνοιγμα URL σε νέα κ_αρτέλα"
+#~ msgid "Source"
+#~ msgstr "Πηγή"
+#~ msgid "_Icon (name or file):"
+#~ msgstr "Ει_κονίδιο (όνομα ή αρχείο):"
+#~ msgid "Manage search engines"
+#~ msgstr "Διαχείριση μηχανών αναζήτησης"
+#~ msgid "%s has no property '%s'"
+#~ msgstr "%s δεν έχει ιδιότητα '%s'"
+#~ msgid "%s cannot be assigned to %s.%s"
+#~ msgstr "%s δεν μπορεί να οριστεί στο %s.%s"
+#~ msgid "%s.%s cannot be accessed"
+#~ msgstr "%s.%s δεν μπορεί να προσπελαστεί"
+#~ msgid "Images"
+#~ msgstr "Εικόνες"
+#~ msgid "Scripts"
+#~ msgstr "Σενάρια"
 
-#: ../extensions/statusbar-features.c:44
-msgid "Plugins"
-msgstr "Αρθρώματα"
index a089e1a60a206ee284cc68199f0d722030384bb9..8f8389880e6e7149fab903c638b804de5bd5c2a7 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -7,14 +7,13 @@
 # Elega <elega@elega.com.ar> 2009
 # Guillermo Iguarán <tronador@cuteam.org> 2009
 #
-
 msgid ""
 msgstr ""
-"Project-Id-Version: midori 0.1.5\n"
+"Project-Id-Version: midori 0.1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-01 20:25+0100\n"
-"PO-Revision-Date: 2009-03-29 16:02-0500\n"
-"Last-Translator: Guillermo Iguarán <tronador@cuteam.org>\n"
+"POT-Creation-Date: 2009-05-10 16:06+0200\n"
+"PO-Revision-Date: 2009-05-20 19:21-0300\n"
+"Last-Translator: elega <elega@elega.com.ar>\n"
 "Language-Team: GALPon MiniNo <mbouzada@gmail.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -25,11 +24,11 @@ msgid "Lightweight web browser"
 msgstr "Navegador ligero"
 
 #: ../data/midori.desktop.in.h:2
-#: ../midori/main.c:1950
-#: ../midori/main.c:2056
-#: ../midori/main.c:2065
-#: ../midori/main.c:2076
-#: ../midori/midori-websettings.c:259
+#: ../midori/main.c:1315
+#: ../midori/main.c:1449
+#: ../midori/main.c:1457
+#: ../midori/main.c:1468
+#: ../midori/midori-websettings.c:277
 msgid "Midori"
 msgstr "Midori"
 
@@ -37,356 +36,346 @@ msgstr "Midori"
 msgid "Web Browser"
 msgstr "Navegador"
 
-#: ../midori/main.c:90
-msgid "_Bookmark"
-msgstr "_Marcador"
-
-#: ../midori/main.c:91
-#: ../midori/midori-browser.c:3830
-msgid "_Bookmarks"
-msgstr "_Marcadores"
-
-#: ../midori/main.c:92
-msgid "_Add Bookmark"
-msgstr "_Añadir Marcador"
-
-#: ../midori/main.c:93
-msgid "_Console"
-msgstr "_Consola"
-
-#: ../midori/main.c:94
-msgid "_Extensions"
-msgstr "_Extensiones"
-
-#: ../midori/main.c:95
-msgid "_History"
-msgstr "_Historial"
-
 #: ../midori/main.c:96
-msgid "_Homepage"
-msgstr "_Página de inicio"
-
-#: ../midori/main.c:97
-msgid "_Userscripts"
-msgstr "_Scripts de usuario"
-
-#: ../midori/main.c:98
-msgid "User_styles"
-msgstr "_Estilos de usuario"
-
-#: ../midori/main.c:99
-msgid "New _Tab"
-msgstr "Nueva _pestaña"
-
-#: ../midori/main.c:100
-msgid "_Transfers"
-msgstr "_Transferencias"
-
-#: ../midori/main.c:101
-msgid "_Closed Tabs and Windows"
-msgstr "_Pestañas y ventanas cerradas"
-
-#: ../midori/main.c:102
-msgid "New _Window"
-msgstr "Nueva _ventana"
-
-#: ../midori/main.c:158
 #, c-format
 msgid "The configuration couldn't be loaded: %s\n"
 msgstr "No se pudo cargar la configuración: %s\n"
 
-#: ../midori/main.c:213
+#: ../midori/main.c:151
 #, c-format
 msgid "Value '%s' is invalid for %s"
 msgstr "El valor «%s» no es válido para %s"
 
-#: ../midori/main.c:220
-#: ../midori/main.c:290
+#: ../midori/main.c:158
+#: ../midori/main.c:238
 #, c-format
 msgid "Invalid configuration value '%s'"
 msgstr "Valor de configuración inválido «%s»"
 
-#: ../midori/main.c:532
-msgid "File not found."
-msgstr "Archivo no encontrado."
-
-#: ../midori/main.c:540
-#: ../midori/main.c:549
-msgid "Malformed document."
-msgstr "Documento defectuoso."
-
-#: ../midori/main.c:571
+#: ../midori/main.c:350
 #, c-format
 msgid "Failed to open database: %s\n"
 msgstr "No se ha podido abrir la base de datos: %s\n"
 
-#: ../midori/main.c:603
+#: ../midori/main.c:382
 #, c-format
 msgid "Failed to execute database statement: %s\n"
 msgstr "No se ha podido ejecutar sentencia en base de datos: %s\n"
 
-#: ../midori/main.c:657
+#: ../midori/main.c:436
 #, c-format
 msgid "Failed to remove history item: %s\n"
 msgstr "No se ha podido quitar los elementos del historial: %s\n"
 
-#: ../midori/main.c:681
+#: ../midori/main.c:460
 #, c-format
 msgid "Failed to clear history: %s\n"
 msgstr "No se ha podido vaciar el historial: %s\n"
 
-#: ../midori/main.c:704
-#: ../midori/main.c:738
-#: ../midori/main.c:754
+#: ../midori/main.c:483
+#: ../midori/main.c:517
+#: ../midori/main.c:533
 #, c-format
 msgid "Failed to add history item: %s\n"
 msgstr "No se ha podido añadir un elemento al historial: %s\n"
 
 #. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:934
+#: ../midori/main.c:712
 #, c-format
 msgid "Failed to remove old history items: %s\n"
 msgstr "No se ha podido quitar elementos antiguos del historial: %s\n"
 
-#: ../midori/main.c:962
+#: ../midori/main.c:741
 #, c-format
 msgid "The configuration couldn't be saved. %s"
 msgstr "No se pudo guardar la configuración. %s"
 
-#: ../midori/main.c:991
+#: ../midori/main.c:770
 #, c-format
 msgid "The search engines couldn't be saved. %s"
 msgstr "No se pudo guardar los motores de búsqueda. %s"
 
-#: ../midori/main.c:1121
-#: ../midori/sokoke.c:531
-#, c-format
-msgid "Writing failed."
-msgstr "Falló la escritura."
-
-#: ../midori/main.c:1142
-#: ../midori/main.c:1169
-#: ../midori/main.c:1197
+#: ../midori/main.c:789
+#: ../midori/main.c:817
+#: ../midori/main.c:846
 #, c-format
 msgid "The bookmarks couldn't be saved. %s"
 msgstr "No se pudieron guardar los marcadores. %s"
 
 #. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:1221
-#: ../midori/main.c:1245
+#: ../midori/main.c:869
+#: ../midori/main.c:892
 #, c-format
 msgid "The trash couldn't be saved. %s"
 msgstr "No se pudo guardar la papelera. %s"
 
-#: ../midori/main.c:1271
-#: ../midori/midori-preferences.c:386
-msgid "Transfers"
-msgstr "Transferencias"
-
-#: ../midori/main.c:1312
+#: ../midori/main.c:965
 #, c-format
 msgid "The session couldn't be saved. %s"
 msgstr "No se pudo guardar la sesión. %s"
 
-#: ../midori/main.c:1636
-msgid "Authentication Required"
-msgstr "Se requiere autentificación"
-
-#: ../midori/main.c:1652
-msgid ""
-"A username and a password are required\n"
-"to open this location:"
-msgstr ""
-"Nombre de usuario y contraseña son requeridos\n"
-"para abrir ésta ubicación:"
-
-#: ../midori/main.c:1666
-msgid "Username"
-msgstr "Nombre de usuario"
-
-#: ../midori/main.c:1677
-msgid "Password"
-msgstr "Contraseña"
-
-#: ../midori/main.c:1783
+#: ../midori/main.c:1092
 msgid "Midori seems to have crashed the last time it was opened. If this happened repeatedly, try one of the following options to solve the problem."
 msgstr "Parece que Midori se cerró insperadamente la última vez. Si esto sucede repetidamente, pruebe una de las siguientes opciones para resolver el problema."
 
-#: ../midori/main.c:1798
+#: ../midori/main.c:1107
 msgid "Modify _preferences"
 msgstr "Modificar _preferencias"
 
-#: ../midori/main.c:1802
+#: ../midori/main.c:1111
 msgid "Reset the last _session"
 msgstr "Restaurar la última _sesión"
 
-#: ../midori/main.c:1807
+#: ../midori/main.c:1116
 msgid "Disable all _extensions"
 msgstr "Deshabilitar todas las _extensiones"
 
-#: ../midori/main.c:1950
+#: ../midori/main.c:1315
 msgid "No filename specified"
 msgstr "No se especificó el nombre del archivo"
 
-#: ../midori/main.c:1982
-#: ../midori/gjs.c:514
+#: ../midori/main.c:1338
 msgid "An unknown error occured."
 msgstr "Se produjo un error desconocido."
 
-#: ../midori/main.c:2005
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "Captura guardada en: %s\n"
+
+#: ../midori/main.c:1391
+msgid "Run ADDRESS as a web application"
+msgstr "Ejecutar DIRECCIÓN como una aplicación de internet"
+
+#: ../midori/main.c:1391
+msgid "ADDRESS"
+msgstr "DIRECCIÓN"
+
+#: ../midori/main.c:1393
+msgid "Use FOLDER as configuration folder"
+msgstr "Utilizar CARPETA como carpeta de configuración"
+
+#: ../midori/main.c:1393
+msgid "FOLDER"
+msgstr "CARPETA"
+
+#: ../midori/main.c:1395
 msgid "Run the specified filename as javascript"
 msgstr "Ejecute el nombre de archivo especificado como javascript"
 
-#: ../midori/main.c:2007
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr "Tomar una captura de la URL especificada"
+
+#: ../midori/main.c:1401
 msgid "Display program version"
 msgstr "Mostrar la versión del programa"
 
-#: ../midori/main.c:2009
+#: ../midori/main.c:1403
 msgid "Addresses"
 msgstr "Direcciones"
 
-#: ../midori/main.c:2053
+#: ../midori/main.c:1446
 msgid "[Addresses]"
 msgstr "[Direcciones]"
 
-#: ../midori/main.c:2077
+#: ../midori/main.c:1469
 msgid "Please report comments, suggestions and bugs to:"
 msgstr "Por favor envíe comentarios, sugerencias y errores a:"
 
-#: ../midori/main.c:2079
+#: ../midori/main.c:1471
 msgid "Check for new versions at:"
 msgstr "Buscar nuevas versiones en:"
 
-#: ../midori/main.c:2106
+#: ../midori/main.c:1548
+msgid "The specified configuration folder is invalid."
+msgstr "La carpeta de configuración especificada no es válida."
+
+#: ../midori/main.c:1583
 msgid "An instance of Midori is already running but not responding.\n"
 msgstr "Una instancia de Midori ya se está ejecutando pero no responde.\n"
 
-#: ../midori/main.c:2184
+#: ../midori/main.c:1633
 #, c-format
 msgid "The search engines couldn't be loaded. %s\n"
 msgstr "No se pudieron cargar los motores de búsqueda. %s\n"
 
-#: ../midori/main.c:2196
+#: ../midori/main.c:1645
 #, c-format
 msgid "The bookmarks couldn't be loaded: %s\n"
 msgstr "Los marcadores no pudieron ser cargados: %s\n"
 
-#: ../midori/main.c:2211
+#: ../midori/main.c:1660
 #, c-format
 msgid "The session couldn't be loaded: %s\n"
 msgstr "No se pudo cargar la sesión: %s\n"
 
-#: ../midori/main.c:2224
+#: ../midori/main.c:1673
 #, c-format
 msgid "The trash couldn't be loaded: %s\n"
 msgstr "No se pudo cargar la papelera: %s\n"
 
-#: ../midori/main.c:2237
+#: ../midori/main.c:1686
 #, c-format
 msgid "The history couldn't be loaded: %s\n"
 msgstr "No se pudo cargar el historial: %s\n"
 
-#: ../midori/main.c:2249
+#: ../midori/main.c:1698
 msgid "The following errors occured:"
 msgstr "Se produjeron los siguientes errores:"
 
-#: ../midori/main.c:2265
+#: ../midori/main.c:1714
 msgid "_Ignore"
 msgstr "_Ignorar"
 
-#: ../midori/midori-browser.c:258
-#: ../midori/midori-browser.c:3164
-#: ../midori/midori-browser.c:3170
+#: ../midori/midori-array.c:195
+msgid "File not found."
+msgstr "Archivo no encontrado."
+
+#: ../midori/midori-array.c:203
+#: ../midori/midori-array.c:212
+msgid "Malformed document."
+msgstr "Documento defectuoso."
+
+#: ../midori/midori-array.c:338
+#: ../midori/sokoke.c:716
+#, c-format
+msgid "Writing failed."
+msgstr "Falló la escritura."
+
+#: ../midori/midori-browser.c:287
+#: ../midori/midori-browser.c:3819
+#: ../midori/midori-browser.c:3825
 msgid "Reload the current page"
 msgstr "Recargar la página actual"
 
-#: ../midori/midori-browser.c:270
-#: ../midori/midori-browser.c:3167
+#: ../midori/midori-browser.c:298
+#: ../midori/midori-browser.c:3822
 msgid "Stop loading the current page"
 msgstr "Detener la carga de la página"
 
-#: ../midori/midori-browser.c:328
+#: ../midori/midori-browser.c:360
 #, c-format
 msgid "%d%% loaded"
 msgstr "%d%% cargado"
 
-#: ../midori/midori-browser.c:351
+#: ../midori/midori-browser.c:385
 #, c-format
 msgid "Unexpected action '%s'."
 msgstr "Acción inesperada «%s»."
 
-#: ../midori/midori-browser.c:524
+#: ../midori/midori-browser.c:603
+msgid "New folder"
+msgstr "Nueva carpeta"
+
+#: ../midori/midori-browser.c:603
+msgid "Edit folder"
+msgstr "Editar carpeta"
+
+#: ../midori/midori-browser.c:605
 msgid "New bookmark"
 msgstr "Nuevo marcador"
 
-#: ../midori/midori-browser.c:524
+#: ../midori/midori-browser.c:605
 msgid "Edit bookmark"
 msgstr "Editar marcador"
 
-#: ../midori/midori-browser.c:546
+#: ../midori/midori-browser.c:635
 msgid "_Title:"
 msgstr "_Título:"
 
-#: ../midori/midori-browser.c:559
-#: ../midori/midori-searchaction.c:836
+#: ../midori/midori-browser.c:648
+#: ../midori/midori-searchaction.c:948
 msgid "_Description:"
 msgstr "_Descripción:"
 
-#: ../midori/midori-browser.c:578
-#: ../midori/midori-searchaction.c:850
+#: ../midori/midori-browser.c:667
+#: ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
 msgid "_Address:"
 msgstr "_Dirección:"
 
-#: ../midori/midori-browser.c:596
+#: ../midori/midori-browser.c:686
 msgid "_Folder:"
 msgstr "_Carpeta:"
 
-#: ../midori/midori-browser.c:601
-#: ../midori/midori-browser.c:638
+#: ../midori/midori-browser.c:691
+#: ../midori/midori-browser.c:732
 msgid "Toplevel folder"
 msgstr "Carpeta de nivel superior"
 
-#: ../midori/midori-browser.c:713
+#: ../midori/midori-browser.c:808
 msgid "Save file as"
 msgstr "Guardar archivo como"
 
-#: ../midori/midori-browser.c:1302
+#: ../midori/midori-browser.c:1119
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "El archivo <b>%s</b> ha sido descargado."
+
+#: ../midori/midori-browser.c:1123
+msgid "Transfer completed"
+msgstr "Transferencia completa"
+
+#: ../midori/midori-browser.c:1820
 msgid "Open file"
 msgstr "Abrir archivo"
 
-#: ../midori/midori-browser.c:2524
-#: ../panels/midori-bookmarks.c:690
+#: ../midori/midori-browser.c:3152
+#: ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:808
+msgid "Open all in _Tabs"
+msgstr "Abrir todo en _pestañas"
+
+#: ../midori/midori-browser.c:3159
+#: ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:814
+#: ../extensions/feed-panel/feed-panel.c:542
 msgid "Open in New _Tab"
 msgstr "Abrir en una nueva _pestaña "
 
-#: ../midori/midori-browser.c:2526
-#: ../panels/midori-bookmarks.c:692
+#: ../midori/midori-browser.c:3162
+#: ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:816
+#: ../extensions/feed-panel/feed-panel.c:544
 msgid "Open in New _Window"
 msgstr "Abrir en una nueva _ventana"
 
-#: ../midori/midori-browser.c:2788
-#, c-format
-msgid "A week ago"
-msgstr "Hace una semana"
+#: ../midori/midori-browser.c:3425
+msgid "Clear Private Data"
+msgstr "Borrar datos privados"
 
-#: ../midori/midori-browser.c:2794
-#, c-format
-msgid "%d days ago"
-msgstr "Hace %d días"
+#: ../midori/midori-browser.c:3428
+msgid "_Clear private data"
+msgstr "_Borrar datos privados"
 
-#: ../midori/midori-browser.c:2801
-msgid "Today"
-msgstr "Hoy"
+#: ../midori/midori-browser.c:3441
+msgid "Clear the following data:"
+msgstr "Borrar los siguientes datos:"
 
-#: ../midori/midori-browser.c:2803
-msgid "Yesterday"
-msgstr "Ayer"
+#: ../midori/midori-browser.c:3449
+#: ../midori/midori-preferences.c:669
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "Historial"
+
+#: ../midori/midori-browser.c:3452
+msgid "Cookies"
+msgstr "Huellas / Cookies"
+
+#: ../midori/midori-browser.c:3455
+msgid "'Flash' Cookies"
+msgstr "'Flash' Huellas"
+
+#: ../midori/midori-browser.c:3458
+msgid "Website icons"
+msgstr "Íconos de sitios de internet"
 
-#: ../midori/midori-browser.c:2892
+#: ../midori/midori-browser.c:3538
 msgid "A lightweight web browser."
 msgstr "Un navegador muy ligero"
 
-#: ../midori/midori-browser.c:2900
+#: ../midori/midori-browser.c:3546
 msgid "translator-credits"
 msgstr ""
 "Miguel Anxo Bouzada <mbouzada@gmail.com>\n"
@@ -395,870 +384,1068 @@ msgstr ""
 "Elega <elega@elega.com.ar>\n"
 "Guillermo Iguarán <tronad0r@cuteam.org>"
 
-#: ../midori/midori-browser.c:3044
-msgid "Are you sure you want to remove all history items?"
-msgstr "¿Estás seguro de que quieres quitar todos los elementos del historial?"
-
-#: ../midori/midori-browser.c:3098
+#: ../midori/midori-browser.c:3750
 msgid "_File"
 msgstr "_Archivo"
 
-#: ../midori/midori-browser.c:3101
+#: ../midori/midori-browser.c:3753
 msgid "Open a new window"
 msgstr "Abrir una nueva ventana"
 
-#: ../midori/midori-browser.c:3104
+#: ../midori/midori-browser.c:3756
 msgid "Open a new tab"
 msgstr "Abrir una nueva pestaña"
 
-#: ../midori/midori-browser.c:3107
+#: ../midori/midori-browser.c:3759
 msgid "Open a file"
 msgstr "Abrir un archivo"
 
-#: ../midori/midori-browser.c:3110
+#: ../midori/midori-browser.c:3762
 msgid "Save to a file"
 msgstr "Guardar en un archivo"
 
-#: ../midori/midori-browser.c:3112
+#: ../midori/midori-browser.c:3764
+#: ../midori/midori-view.c:1256
+msgid "Add to Speed _dial"
+msgstr "Añadir a marcación rápida"
+
+#: ../midori/midori-browser.c:3765
+msgid "Add shortcut to speed dial"
+msgstr "Añadir acceso directo a marcación rápida"
+
+#: ../midori/midori-browser.c:3767
 msgid "_Close Tab"
 msgstr "_Cerrar pestaña"
 
-#: ../midori/midori-browser.c:3113
+#: ../midori/midori-browser.c:3768
 msgid "Close the current tab"
 msgstr "Cerrar la pestaña actual"
 
-#: ../midori/midori-browser.c:3115
+#: ../midori/midori-browser.c:3770
 msgid "C_lose Window"
 msgstr "_Cerrar ventana"
 
-#: ../midori/midori-browser.c:3116
+#: ../midori/midori-browser.c:3771
 msgid "Close this window"
-msgstr "Cerrar esta ventana"
+msgstr "Cerrar ésta ventana"
 
-#: ../midori/midori-browser.c:3119
+#: ../midori/midori-browser.c:3774
 msgid "Print the current page"
 msgstr "Imprimir la página actual"
 
-#: ../midori/midori-browser.c:3122
+#: ../midori/midori-browser.c:3777
 msgid "Quit the application"
 msgstr "Salir de la aplicación"
 
-#: ../midori/midori-browser.c:3124
+#: ../midori/midori-browser.c:3779
 msgid "_Edit"
 msgstr "_Editar"
 
-#: ../midori/midori-browser.c:3127
+#: ../midori/midori-browser.c:3782
 msgid "Cut the selected text"
 msgstr "Cortar el texto seleccionado"
 
-#: ../midori/midori-browser.c:3130
-#: ../midori/midori-browser.c:3133
+#: ../midori/midori-browser.c:3785
+#: ../midori/midori-browser.c:3788
 msgid "Copy the selected text"
 msgstr "Copiar el texto seleccionado"
 
-#: ../midori/midori-browser.c:3136
+#: ../midori/midori-browser.c:3791
 msgid "Paste text from the clipboard"
 msgstr "Pegar texto del portapapeles"
 
-#: ../midori/midori-browser.c:3139
+#: ../midori/midori-browser.c:3794
 msgid "Delete the selected text"
 msgstr "Borrar el texto seleccionado"
 
-#: ../midori/midori-browser.c:3142
+#: ../midori/midori-browser.c:3797
 msgid "Select all text"
 msgstr "Seleccionar todo el texto"
 
-#: ../midori/midori-browser.c:3145
+#: ../midori/midori-browser.c:3800
 msgid "Find a word or phrase in the page"
 msgstr "Buscar una palabra o frase en la página"
 
-#: ../midori/midori-browser.c:3147
+#: ../midori/midori-browser.c:3802
 msgid "Find _Next"
 msgstr "Buscar _siguiente"
 
-#: ../midori/midori-browser.c:3148
+#: ../midori/midori-browser.c:3803
 msgid "Find the next occurrence of a word or phrase"
 msgstr "Buscar la siguiente aparición de una palabra o una frase"
 
-#: ../midori/midori-browser.c:3150
+#: ../midori/midori-browser.c:3805
 msgid "Find _Previous"
 msgstr "Buscar _anterior"
 
-#: ../midori/midori-browser.c:3151
+#: ../midori/midori-browser.c:3806
 msgid "Find the previous occurrence of a word or phrase"
 msgstr "Buscar la anterior aparición de una palabra o una frase"
 
-#: ../midori/midori-browser.c:3154
+#: ../midori/midori-browser.c:3809
 msgid "_Quick Find"
 msgstr "Búsqueda _rápida"
 
-#: ../midori/midori-browser.c:3155
+#: ../midori/midori-browser.c:3810
 msgid "Quickly jump to a word or phrase"
 msgstr "Saltar rápidamente a una palabra o una frase"
 
-#: ../midori/midori-browser.c:3158
+#: ../midori/midori-browser.c:3813
 msgid "Configure the application preferences"
 msgstr "Configurar las preferencias de la aplicación"
 
-#: ../midori/midori-browser.c:3160
+#: ../midori/midori-browser.c:3815
 msgid "_View"
 msgstr "_Ver"
 
-#: ../midori/midori-browser.c:3161
+#: ../midori/midori-browser.c:3816
 msgid "_Toolbars"
 msgstr "_Barra de herramientas"
 
-#: ../midori/midori-browser.c:3173
+#: ../midori/midori-browser.c:3828
 msgid "Increase the zoom level"
 msgstr "Aumentar el nivel de zoom"
 
-#: ../midori/midori-browser.c:3176
+#: ../midori/midori-browser.c:3831
 msgid "Decrease the zoom level"
 msgstr "Disminuir el nivel de zoom"
 
-#: ../midori/midori-browser.c:3179
+#: ../midori/midori-browser.c:3834
 msgid "Reset the zoom level"
 msgstr "Restablecer el nivel de zoom"
 
-#: ../midori/midori-browser.c:3181
-#: ../midori/midori-view.c:984
+#: ../midori/midori-browser.c:3835
+msgid "_Encoding"
+msgstr "_Codificación"
+
+#: ../midori/midori-browser.c:3837
+msgid "_Automatic"
+msgstr "_Automático"
+
+#: ../midori/midori-browser.c:3840
+#: ../midori/midori-websettings.c:204
+msgid "Chinese (BIG5)"
+msgstr "Chino (BIG5)"
+
+#: ../midori/midori-browser.c:3843
+#: ../midori/midori-websettings.c:205
+msgid "Japanese (SHIFT_JIS)"
+msgstr "Japonés (SHIFT_JIS)"
+
+#: ../midori/midori-browser.c:3846
+#: ../midori/midori-websettings.c:206
+msgid "Russian (KOI8-R)"
+msgstr "Ruso (KOI8-R)"
+
+#: ../midori/midori-browser.c:3849
+#: ../midori/midori-websettings.c:207
+msgid "Unicode (UTF-8)"
+msgstr "Unicode (UTF-8)"
+
+#: ../midori/midori-browser.c:3852
+#: ../midori/midori-websettings.c:208
+msgid "Western (ISO-8859-1)"
+msgstr "Occidental (ISO-8859-1)"
+
+#: ../midori/midori-browser.c:3855
+#: ../midori/midori-websettings.c:209
+#: ../midori/midori-websettings.c:281
+msgid "Custom..."
+msgstr "Personalizado..."
+
+#: ../midori/midori-browser.c:3858
+#: ../midori/midori-view.c:1275
 msgid "View _Source"
 msgstr "Ver _código fuente"
 
-#: ../midori/midori-browser.c:3182
+#: ../midori/midori-browser.c:3859
 msgid "View the source code of the page"
 msgstr "Ver el código fuente de la página"
 
-#: ../midori/midori-browser.c:3184
+#: ../midori/midori-browser.c:3861
 msgid "View Selection Source"
 msgstr "Ver código fuente de la selección"
 
-#: ../midori/midori-browser.c:3185
+#: ../midori/midori-browser.c:3862
 msgid "View the source code of the selection"
 msgstr "Ver el código fuente de la selección"
 
-#: ../midori/midori-browser.c:3189
+#: ../midori/midori-browser.c:3866
 msgid "Toggle fullscreen view"
 msgstr "Activar/desactivar pantalla completa"
 
-#: ../midori/midori-browser.c:3191
+#: ../midori/midori-browser.c:3868
 msgid "_Go"
 msgstr "_Ir"
 
-#: ../midori/midori-browser.c:3194
+#: ../midori/midori-browser.c:3871
 msgid "Go back to the previous page"
 msgstr "Retroceder una página"
 
-#: ../midori/midori-browser.c:3197
+#: ../midori/midori-browser.c:3874
 msgid "Go forward to the next page"
 msgstr "Avanzar una página"
 
-#: ../midori/midori-browser.c:3200
+#: ../midori/midori-browser.c:3877
 msgid "Go to your homepage"
 msgstr "Abrir página de inicio"
 
-#: ../midori/midori-browser.c:3202
+#: ../midori/midori-browser.c:3879
 msgid "Empty Trash"
 msgstr "Vaciar la papelera"
 
-#: ../midori/midori-browser.c:3203
+#: ../midori/midori-browser.c:3880
 msgid "Delete the contents of the trash"
 msgstr "Borrar el contenido de la papelera"
 
-#: ../midori/midori-browser.c:3205
-#: ../midori/midori-view.c:956
+#: ../midori/midori-browser.c:3882
+#: ../midori/midori-view.c:1233
 msgid "Undo Close Tab"
 msgstr "Deshacer el cierre de pestaña"
 
-#: ../midori/midori-browser.c:3206
+#: ../midori/midori-browser.c:3883
 msgid "Open the last closed tab"
 msgstr "Abrir la última pestaña cerrada"
 
-#: ../midori/midori-browser.c:3210
-#: ../panels/midori-bookmarks.c:209
+#: ../midori/midori-browser.c:3887
+#: ../panels/midori-bookmarks.c:230
 msgid "Add a new bookmark"
 msgstr "Añadir un nuevo marcador"
 
-#: ../midori/midori-browser.c:3213
-msgid "Delete the selected history item"
-msgstr "Borrar del historial el elemento seleccionado"
-
-#: ../midori/midori-browser.c:3216
-msgid "Clear the entire history"
-msgstr "Vaciar el historial completo"
+#: ../midori/midori-browser.c:3889
+#: ../panels/midori-bookmarks.c:259
+msgid "Add a new folder"
+msgstr "Añadir una nueva carpeta"
 
-#: ../midori/midori-browser.c:3219
-msgid "Bookmark the selected history item"
-msgstr "Añadir a marcadores el elemento seleccionado del historial"
+#: ../midori/midori-browser.c:3890
+msgid "Add a new bookmark folder"
+msgstr "Añadir un nuevo marcador"
 
-#: ../midori/midori-browser.c:3221
+#: ../midori/midori-browser.c:3891
 msgid "_Tools"
 msgstr "_Herramientas"
 
-#: ../midori/midori-browser.c:3223
-#: ../midori/midori-searchaction.c:464
+#: ../midori/midori-browser.c:3893
+#: ../midori/midori-searchaction.c:493
 msgid "_Manage Search Engines"
-msgstr "_Administrar los motores de búsqueda"
+msgstr "_Administrar motores de búsqueda"
 
-#: ../midori/midori-browser.c:3224
+#: ../midori/midori-browser.c:3894
 msgid "Add, edit and remove search engines..."
 msgstr "Añadir, editar y quitar motores de búsqueda..."
 
-#: ../midori/midori-browser.c:3228
+#: ../midori/midori-browser.c:3897
+msgid "_Clear Private Data"
+msgstr "_Borrar datos privados"
+
+#: ../midori/midori-browser.c:3898
+msgid "Clear private data..."
+msgstr "Borrar datos privados"
+
+#: ../midori/midori-browser.c:3902
 msgid "_Previous Tab"
 msgstr "_Pestaña anterior"
 
-#: ../midori/midori-browser.c:3229
+#: ../midori/midori-browser.c:3903
 msgid "Switch to the previous tab"
 msgstr "Cambiar a la pestaña anterior"
 
-#: ../midori/midori-browser.c:3231
+#: ../midori/midori-browser.c:3905
 msgid "_Next Tab"
 msgstr "_Pestaña siguiente"
 
-#: ../midori/midori-browser.c:3232
+#: ../midori/midori-browser.c:3906
 msgid "Switch to the next tab"
 msgstr "Cambiar a la pestaña siguiente"
 
-#: ../midori/midori-browser.c:3234
+#: ../midori/midori-browser.c:3908
 msgid "_Help"
 msgstr "_Ayuda"
 
-#: ../midori/midori-browser.c:3236
+#: ../midori/midori-browser.c:3910
 msgid "_Contents"
 msgstr "_Contenido"
 
-#: ../midori/midori-browser.c:3237
+#: ../midori/midori-browser.c:3911
 msgid "Show the documentation"
 msgstr "Mostrar la documentación"
 
-#: ../midori/midori-browser.c:3239
+#: ../midori/midori-browser.c:3913
 msgid "_Frequent Questions"
 msgstr "_Preguntas frecuentes"
 
-#: ../midori/midori-browser.c:3240
+#: ../midori/midori-browser.c:3914
 msgid "Show the Frequently Asked Questions"
 msgstr "Mostrar las preguntas más frecuentes"
 
-#: ../midori/midori-browser.c:3242
+#: ../midori/midori-browser.c:3916
 msgid "_Report a Bug"
 msgstr "_Reportar un error"
 
-#: ../midori/midori-browser.c:3243
+#: ../midori/midori-browser.c:3917
 msgid "Open Midori's bug tracker"
 msgstr "Abrir el rastreador de errores de Midori"
 
-#: ../midori/midori-browser.c:3246
+#: ../midori/midori-browser.c:3920
 msgid "Show information about the program"
 msgstr "Mostrar información sobre el programa"
 
-#: ../midori/midori-browser.c:3253
+#: ../midori/midori-browser.c:3927
 msgid "P_rivate Browsing"
 msgstr "_Navegación privada"
 
-#: ../midori/midori-browser.c:3254
+#: ../midori/midori-browser.c:3928
 msgid "Don't save any private data while browsing"
 msgstr "No guardar datos durante la navegación privada"
 
-#: ../midori/midori-browser.c:3259
+#: ../midori/midori-browser.c:3933
 msgid "_Menubar"
 msgstr "_Barra de menú"
 
-#: ../midori/midori-browser.c:3260
+#: ../midori/midori-browser.c:3934
 msgid "Show menubar"
 msgstr "Mostrar la barra de menú"
 
-#: ../midori/midori-browser.c:3263
+#: ../midori/midori-browser.c:3937
 msgid "_Navigationbar"
 msgstr "_Barra de navegación"
 
-#: ../midori/midori-browser.c:3264
+#: ../midori/midori-browser.c:3938
 msgid "Show navigationbar"
 msgstr "Mostrar la barra de navegación"
 
-#: ../midori/midori-browser.c:3267
+#: ../midori/midori-browser.c:3941
 msgid "Side_panel"
 msgstr "_Panel lateral"
 
-#: ../midori/midori-browser.c:3268
+#: ../midori/midori-browser.c:3942
 msgid "Show sidepanel"
 msgstr "Mostrar el panel lateral"
 
-#: ../midori/midori-browser.c:3271
+#: ../midori/midori-browser.c:3945
 msgid "_Bookmarkbar"
 msgstr "_Barra de marcadores"
 
-#: ../midori/midori-browser.c:3272
+#: ../midori/midori-browser.c:3946
 msgid "Show bookmarkbar"
 msgstr "Mostrar la barra de marcadores"
 
-#: ../midori/midori-browser.c:3275
+#: ../midori/midori-browser.c:3949
 msgid "_Transferbar"
 msgstr "_Barra de transferencias"
 
-#: ../midori/midori-browser.c:3276
+#: ../midori/midori-browser.c:3950
 msgid "Show transferbar"
 msgstr "Mostrar la barra de transferencias"
 
-#: ../midori/midori-browser.c:3279
+#: ../midori/midori-browser.c:3953
 msgid "_Statusbar"
 msgstr "_Barra de estado"
 
-#: ../midori/midori-browser.c:3280
+#: ../midori/midori-browser.c:3954
 msgid "Show statusbar"
 msgstr "Mostrar la barra de estado"
 
-#: ../midori/midori-browser.c:3748
+#: ../midori/midori-browser.c:4389
 msgid "_Separator"
 msgstr "_Separador"
 
-#: ../midori/midori-browser.c:3755
+#: ../midori/midori-browser.c:4396
 msgid "_Location..."
 msgstr "_Ubicación..."
 
-#: ../midori/midori-browser.c:3757
+#: ../midori/midori-browser.c:4398
 msgid "Open a particular location"
-msgstr "Abrir un lugar"
+msgstr "Abrir una dirección en particular"
 
-#: ../midori/midori-browser.c:3781
+#: ../midori/midori-browser.c:4420
 msgid "_Web Search..."
-msgstr "_Buscar en la red..."
+msgstr "_Buscar en internet..."
 
-#: ../midori/midori-browser.c:3783
+#: ../midori/midori-browser.c:4422
 msgid "Run a web search"
-msgstr "Realizar una búsqueda en la red"
+msgstr "Realizar una búsqueda en internet"
 
-#: ../midori/midori-browser.c:3802
+#: ../midori/midori-browser.c:4443
 msgid "Reopen a previously closed tab or window"
-msgstr "Volver a abrir ventanas o pestañas cerradas"
+msgstr "Abrir ventanas o pestañas cerradas"
 
-#: ../midori/midori-browser.c:3815
+#: ../midori/midori-browser.c:4458
 msgid "_Recently visited pages"
 msgstr "_Últimas páginas visitadas"
 
-#: ../midori/midori-browser.c:3817
+#: ../midori/midori-browser.c:4460
 msgid "Reopen pages that you visited earlier"
-msgstr "Vuelve a abrir las páginas que usted visitó anteriormente"
+msgstr "Abre las páginas que usted visitó anteriormente"
 
-#: ../midori/midori-browser.c:3832
+#: ../midori/midori-browser.c:4475
+#: ../midori/sokoke.c:872
+msgid "_Bookmarks"
+msgstr "_Marcadores"
+
+#: ../midori/midori-browser.c:4477
 msgid "Show the saved bookmarks"
 msgstr "Mostrar los marcadores guardados."
 
-#: ../midori/midori-browser.c:3845
+#: ../midori/midori-browser.c:4492
 msgid "_Window"
-msgstr "_Ventana"
+msgstr "_Ventanas"
 
-#: ../midori/midori-browser.c:3847
+#: ../midori/midori-browser.c:4494
 msgid "Show a list of all open tabs"
-msgstr "Mostrar una lista de todas las pesañas abiertas"
-
-#: ../midori/midori-browser.c:4001
-#: ../midori/midori-preferences.c:597
-msgid "History"
-msgstr "Historial"
+msgstr "Mostrar una lista de todas las pestañas abiertas"
 
 #. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:4050
+#: ../midori/midori-browser.c:4674
 msgid "_Inline Find:"
 msgstr "_Búsqueda en línea:"
 
-#: ../midori/midori-browser.c:4071
+#: ../midori/midori-browser.c:4699
 msgid "Previous"
 msgstr "Anterior"
 
-#: ../midori/midori-browser.c:4076
+#: ../midori/midori-browser.c:4704
 msgid "Next"
 msgstr "Siguiente"
 
-#: ../midori/midori-browser.c:4081
+#: ../midori/midori-browser.c:4709
 msgid "Match Case"
 msgstr "Sensible mayúsculas "
 
-#: ../midori/midori-browser.c:4089
+#: ../midori/midori-browser.c:4717
 msgid "Highlight Matches"
 msgstr "Destacar coincidencias"
 
-#: ../midori/midori-browser.c:4098
+#: ../midori/midori-browser.c:4727
 msgid "Close Findbar"
 msgstr "Cerrar la barra de búsqueda"
 
-#: ../midori/midori-browser.c:4379
+#: ../midori/midori-browser.c:4762
+#: ../extensions/cookie-manager.c:821
+msgid "Delete All"
+msgstr "Eliminar todo"
+
+#: ../midori/midori-browser.c:5084
 #, c-format
 msgid "Unexpected setting '%s'"
 msgstr "Ajuste no esperado «%s»"
 
-#: ../midori/midori-panel.c:199
-#: ../midori/midori-panel.c:200
+#: ../midori/midori-panel.c:333
+msgid "Detach chosen panel from the window"
+msgstr "Separar  el panel elegido de la ventana"
+
+#: ../midori/midori-panel.c:335
+msgid "Whether to detach the chosen panel from the window"
+msgstr "Separar el panel de la ventana"
+
+#: ../midori/midori-panel.c:345
+#: ../midori/midori-websettings.c:535
+msgid "Align sidepanel on the right"
+msgstr "Alinear el panel a la derecha"
+
+#: ../midori/midori-panel.c:347
+#: ../midori/midori-websettings.c:536
+msgid "Whether to align the sidepanel on the right"
+msgstr "Alinear el panel lateral a la derecha"
+
+#: ../midori/midori-panel.c:357
+#: ../midori/midori-panel.c:358
 msgid "Close panel"
 msgstr "Cerrar panel"
 
-#: ../midori/midori-websettings.c:169
-#: ../midori/midori-view.c:1719
+#: ../midori/midori-websettings.c:187
+#: ../midori/midori-view.c:1999
+#: ../midori/midori-view.c:2176
 msgid "Blank page"
 msgstr "Página en blanco"
 
-#: ../midori/midori-websettings.c:170
-#: ../midori/midori-websettings.c:461
+#: ../midori/midori-websettings.c:188
+#: ../midori/midori-websettings.c:555
 msgid "Homepage"
 msgstr "Página de inicio"
 
-#: ../midori/midori-websettings.c:171
+#: ../midori/midori-websettings.c:189
 msgid "Last open pages"
 msgstr "Últimas páginas visitadas"
 
-#: ../midori/midori-websettings.c:186
-msgid "Chinese (BIG5)"
-msgstr "Chino (BIG5)"
-
-#: ../midori/midori-websettings.c:187
-msgid "Japanese (SHIFT_JIS)"
-msgstr "Japonés (SHIFT_JIS)"
-
-#: ../midori/midori-websettings.c:188
-msgid "Russian (KOI8-R)"
-msgstr "Ruso (KOI8-R)"
-
-#: ../midori/midori-websettings.c:189
-msgid "Unicode (UTF-8)"
-msgstr "Unicode (UTF-8)"
-
-#: ../midori/midori-websettings.c:190
-msgid "Western (ISO-8859-1)"
-msgstr "Occidental (ISO-8859-1)"
-
-#: ../midori/midori-websettings.c:191
-#: ../midori/midori-websettings.c:263
-msgid "Custom..."
-msgstr "Personalizado..."
-
-#: ../midori/midori-websettings.c:206
+#: ../midori/midori-websettings.c:224
 msgid "New tab"
 msgstr "Nueva pestaña"
 
-#: ../midori/midori-websettings.c:207
+#: ../midori/midori-websettings.c:225
 msgid "New window"
 msgstr "Nueva ventana"
 
-#: ../midori/midori-websettings.c:208
+#: ../midori/midori-websettings.c:226
 msgid "Current tab"
 msgstr "Pestaña actual"
 
-#: ../midori/midori-websettings.c:223
+#: ../midori/midori-websettings.c:241
 msgid "Default"
 msgstr "Predeterminado"
 
-#: ../midori/midori-websettings.c:224
+#: ../midori/midori-websettings.c:242
 msgid "Icons"
-msgstr "Iconos"
+msgstr "Íconos"
 
-#: ../midori/midori-websettings.c:225
+#: ../midori/midori-websettings.c:243
 msgid "Text"
 msgstr "Texto"
 
-#: ../midori/midori-websettings.c:226
+#: ../midori/midori-websettings.c:244
 msgid "Both"
 msgstr "Ambos"
 
-#: ../midori/midori-websettings.c:227
+#: ../midori/midori-websettings.c:245
 msgid "Both horizontal"
 msgstr "Ambos en horizontal"
 
-#: ../midori/midori-websettings.c:242
+#: ../midori/midori-websettings.c:260
 msgid "All cookies"
-msgstr "Todas las galletas"
+msgstr "Todas las huellas"
 
-#: ../midori/midori-websettings.c:243
+#: ../midori/midori-websettings.c:261
 msgid "Session cookies"
-msgstr "Galletas de la sesión"
+msgstr "Huellas de la sesión"
 
-#: ../midori/midori-websettings.c:244
-#: ../panels/midori-addons.c:96
+#: ../midori/midori-websettings.c:262
+#: ../panels/midori-addons.c:94
 msgid "None"
 msgstr "Ninguna"
 
-#: ../midori/midori-websettings.c:260
+#: ../midori/midori-websettings.c:278
 msgid "Safari"
 msgstr "Safari"
 
-#: ../midori/midori-websettings.c:261
+#: ../midori/midori-websettings.c:279
 msgid "Firefox"
 msgstr "Firefox"
 
-#: ../midori/midori-websettings.c:262
+#: ../midori/midori-websettings.c:280
 msgid "Internet Explorer"
 msgstr "Internet Explorer"
 
-#: ../midori/midori-websettings.c:303
+#: ../midori/midori-websettings.c:333
 msgid "Remember last window size"
 msgstr "Recordar el tamaño de la última ventana"
 
-#: ../midori/midori-websettings.c:304
+#: ../midori/midori-websettings.c:334
 msgid "Whether to save the last window size"
 msgstr "Si se desea recordar el tamaño de la última ventana"
 
-#: ../midori/midori-websettings.c:312
+#: ../midori/midori-websettings.c:342
 msgid "Last window width"
 msgstr "Última anchura de la ventana"
 
-#: ../midori/midori-websettings.c:313
+#: ../midori/midori-websettings.c:343
 msgid "The last saved window width"
 msgstr "Última anchura de la ventana guardada"
 
-#: ../midori/midori-websettings.c:321
+#: ../midori/midori-websettings.c:351
 msgid "Last window height"
 msgstr "Última altura de la ventana"
 
-#: ../midori/midori-websettings.c:322
+#: ../midori/midori-websettings.c:352
 msgid "The last saved window height"
 msgstr "Última altura guardada de la ventana "
 
-#: ../midori/midori-websettings.c:347
+#: ../midori/midori-websettings.c:377
 msgid "Last panel position"
 msgstr "Última posición del panel"
 
-#: ../midori/midori-websettings.c:348
+#: ../midori/midori-websettings.c:378
 msgid "The last saved panel position"
 msgstr "Ultima posición guardada del panel"
 
 #. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:357
+#: ../midori/midori-websettings.c:387
 msgid "Last panel page"
 msgstr "Última página del panel"
 
-#: ../midori/midori-websettings.c:358
+#: ../midori/midori-websettings.c:388
 msgid "The last saved panel page"
 msgstr "Última página guardada del panel"
 
-#: ../midori/midori-websettings.c:366
+#: ../midori/midori-websettings.c:396
 msgid "Last Web search"
-msgstr "Última búsqueda en la red"
+msgstr "Última búsqueda en internet"
 
-#: ../midori/midori-websettings.c:367
+#: ../midori/midori-websettings.c:397
 msgid "The last saved Web search"
-msgstr "Última búsqueda red guardada"
+msgstr "Última búsqueda de internet guardada"
 
-#: ../midori/midori-websettings.c:376
+#: ../midori/midori-websettings.c:406
 msgid "Show Menubar"
 msgstr "Mostrar barra de menú"
 
-#: ../midori/midori-websettings.c:377
+#: ../midori/midori-websettings.c:407
 msgid "Whether to show the menubar"
 msgstr "Si se desea mostrar la barra de menú"
 
-#: ../midori/midori-websettings.c:385
+#: ../midori/midori-websettings.c:415
 msgid "Show Navigationbar"
 msgstr "Mostrar la barra de navegación"
 
-#: ../midori/midori-websettings.c:386
+#: ../midori/midori-websettings.c:416
 msgid "Whether to show the navigationbar"
 msgstr "Si se desea mostrar la barra de navegación"
 
-#: ../midori/midori-websettings.c:394
+#: ../midori/midori-websettings.c:424
 msgid "Show Bookmarkbar"
 msgstr "Mostrar la barra de marcadores"
 
-#: ../midori/midori-websettings.c:395
+#: ../midori/midori-websettings.c:425
 msgid "Whether to show the bookmarkbar"
 msgstr "Si se desea mostrar la barra de marcadores"
 
-#: ../midori/midori-websettings.c:403
+#: ../midori/midori-websettings.c:433
 msgid "Show Panel"
 msgstr "Mostrar el panel"
 
-#: ../midori/midori-websettings.c:404
+#: ../midori/midori-websettings.c:434
 msgid "Whether to show the panel"
 msgstr "Si se desea mostrar el panel"
 
-#: ../midori/midori-websettings.c:412
+#: ../midori/midori-websettings.c:449
+msgid "Show Transferbar"
+msgstr "Mostrar la barra de transferencias"
+
+#: ../midori/midori-websettings.c:450
+msgid "Whether to show the transferbar"
+msgstr "Si se desea mostrar la barra de transferencias"
+
+#: ../midori/midori-websettings.c:458
 msgid "Show Statusbar"
 msgstr "Mostrar la barra de estado"
 
-#: ../midori/midori-websettings.c:413
+#: ../midori/midori-websettings.c:459
 msgid "Whether to show the statusbar"
 msgstr "Si se desea mostrar la barra de estado"
 
-#: ../midori/midori-websettings.c:422
+#: ../midori/midori-websettings.c:468
 msgid "Toolbar Style"
 msgstr "Estilo de la barra de herramientas"
 
-#: ../midori/midori-websettings.c:423
+#: ../midori/midori-websettings.c:469
 msgid "The style of the toolbar"
 msgstr "Estilo de la barra de herramientas"
 
-#: ../midori/midori-websettings.c:432
+#: ../midori/midori-websettings.c:485
+msgid "Show progress in location entry"
+msgstr "Mostrar progreso en la barra de direcciones"
+
+#: ../midori/midori-websettings.c:486
+msgid "Whether to show loading progress in the location entry"
+msgstr "Si se desea mostrar el progreso de carga en el lugar de entrada"
+
+#: ../midori/midori-websettings.c:501
+msgid "Search engines in location completion"
+msgstr "Motores de búsqueda en completamiento"
+
+#: ../midori/midori-websettings.c:502
+msgid "Whether to show search engines in the location completion"
+msgstr "Si se desea mostrar los motores de búsqueda en completamento de dirección"
+
+#: ../midori/midori-websettings.c:510
 msgid "Toolbar Items"
 msgstr "Elementos de la barra de herramientas"
 
-#: ../midori/midori-websettings.c:433
+#: ../midori/midori-websettings.c:511
 msgid "The items to show on the toolbar"
 msgstr "Los elementos a mostrar en la barra de herramientas"
 
-#: ../midori/midori-websettings.c:441
+#: ../midori/midori-websettings.c:519
 msgid "Compact Sidepanel"
 msgstr "Panel lateral compacto"
 
-#: ../midori/midori-websettings.c:442
+#: ../midori/midori-websettings.c:520
 msgid "Whether to make the sidepanel compact"
 msgstr "Si se desea hacer compacto el panel lateral"
 
-#: ../midori/midori-websettings.c:451
+#: ../midori/midori-websettings.c:545
 msgid "Load on Startup"
-msgstr "Al iniciar Midor cargar:"
+msgstr "Al iniciar Midori cargar:"
 
-#: ../midori/midori-websettings.c:452
+#: ../midori/midori-websettings.c:546
 msgid "What to load on startup"
 msgstr "Página que se carga al inicio"
 
-#: ../midori/midori-websettings.c:462
+#: ../midori/midori-websettings.c:556
 msgid "The homepage"
 msgstr "Página de inicio"
 
-#: ../midori/midori-websettings.c:477
+#: ../midori/midori-websettings.c:571
 msgid "Show crash dialog"
 msgstr "Mostrar diálogo de cuelgue"
 
-#: ../midori/midori-websettings.c:478
+#: ../midori/midori-websettings.c:572
 msgid "Show a dialog after Midori crashed"
 msgstr "Mostrar un dialogo despues de que Midori se cuelgue"
 
-#: ../midori/midori-websettings.c:486
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:588
+msgid "Show speed dial in new tabs"
+msgstr "Mostrar marcación rápida en una nueva pestaña"
+
+#: ../midori/midori-websettings.c:589
+msgid "Show speed dial in newly opened tabs"
+msgstr "Mostrar marcación rápida en la pestaña abierta recientemente"
+
+#: ../midori/midori-websettings.c:597
 msgid "Download Folder"
 msgstr "Carpeta de descargas"
 
-#: ../midori/midori-websettings.c:487
+#: ../midori/midori-websettings.c:598
 msgid "The folder downloaded files are saved to"
 msgstr "Carpeta donde se guardan los archivos descargados"
 
-#: ../midori/midori-websettings.c:495
+#: ../midori/midori-websettings.c:617
+msgid "Ask for the destination folder"
+msgstr "Preguntar por la carpeta de destino"
+
+#: ../midori/midori-websettings.c:618
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr "Si se desea seleccionar la carpeta de destino cuando se descarga un archivo"
+
+#: ../midori/midori-websettings.c:637
+msgid "Notify when a transfer has been completed"
+msgstr "Notificarme cuando una transferencia se ha completado"
+
+#: ../midori/midori-websettings.c:638
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "Si se desea mostrar una notificación cuando se ha completado la transferencia"
+
+#: ../midori/midori-websettings.c:650
 msgid "Download Manager"
 msgstr "Gestor de descargas"
 
-#: ../midori/midori-websettings.c:496
+#: ../midori/midori-websettings.c:651
 msgid "An external download manager"
 msgstr "Gestor de descargas externo"
 
-#: ../midori/midori-websettings.c:504
+#: ../midori/midori-websettings.c:659
 msgid "Text Editor"
 msgstr "Editor de texto"
 
-#: ../midori/midori-websettings.c:505
+#: ../midori/midori-websettings.c:660
 msgid "An external text editor"
 msgstr "Editor de textos externo"
 
-#: ../midori/midori-websettings.c:513
+#: ../midori/midori-websettings.c:675
+msgid "News Aggregator"
+msgstr "Agregador de noticias"
+
+#: ../midori/midori-websettings.c:676
+msgid "An external news aggregator"
+msgstr "Un agregador de noticias externo"
+
+#: ../midori/midori-websettings.c:684
 msgid "Location entry Search"
 msgstr "Búsqueda en la barra"
 
-#: ../midori/midori-websettings.c:514
+#: ../midori/midori-websettings.c:685
 msgid "The search to perform inside the location entry"
 msgstr "Hacer una búsqueda a partir del contenido de la barra de direcciones"
 
-#: ../midori/midori-websettings.c:522
+#: ../midori/midori-websettings.c:693
 msgid "Preferred Encoding"
 msgstr "Codificación preferida"
 
-#: ../midori/midori-websettings.c:523
+#: ../midori/midori-websettings.c:694
 msgid "The preferred character encoding"
 msgstr "Codificación de caracteres preferida"
 
-#: ../midori/midori-websettings.c:533
+#: ../midori/midori-websettings.c:704
 msgid "Always Show Tabbar"
 msgstr "Siempre mostrar la barra de pestañas"
 
-#: ../midori/midori-websettings.c:534
+#: ../midori/midori-websettings.c:705
 msgid "Always show the tabbar"
 msgstr "Siempre mostrar la barra de pestañas"
 
-#: ../midori/midori-websettings.c:542
+#: ../midori/midori-websettings.c:713
 msgid "Close Buttons on Tabs"
 msgstr "Botón de cerrar en las pestañas"
 
-#: ../midori/midori-websettings.c:543
+#: ../midori/midori-websettings.c:714
 msgid "Whether tabs have close buttons"
 msgstr "Si se desea que las pestañas tengan el botón de cerrar"
 
-#: ../midori/midori-websettings.c:552
+#: ../midori/midori-websettings.c:722
 msgid "Open new pages in"
 msgstr "Abrir páginas nuevas en"
 
-#: ../midori/midori-websettings.c:553
+#: ../midori/midori-websettings.c:723
 msgid "Where to open new pages"
 msgstr "Donde abrir las páginas nuevas"
 
-#: ../midori/midori-websettings.c:563
+#: ../midori/midori-websettings.c:732
 msgid "Open external pages in"
 msgstr "Abrir las páginas externas en"
 
-#: ../midori/midori-websettings.c:564
+#: ../midori/midori-websettings.c:733
 msgid "Where to open externally opened pages"
 msgstr "Donde abrir las páginas externas"
 
-#: ../midori/midori-websettings.c:577
+#: ../midori/midori-websettings.c:746
 msgid "Middle click opens Selection"
 msgstr "Clic del medio abre la selección"
 
-#: ../midori/midori-websettings.c:578
+#: ../midori/midori-websettings.c:747
 msgid "Load an address from the selection via middle click"
 msgstr "Cargar una dirección desde la selección a través del botón del medio del ratón"
 
-#: ../midori/midori-websettings.c:586
+#: ../midori/midori-websettings.c:755
 msgid "Open tabs in the background"
 msgstr "Abrir pestañas en segundo plano"
 
-#: ../midori/midori-websettings.c:587
+#: ../midori/midori-websettings.c:756
 msgid "Whether to open new tabs in the background"
 msgstr "Si se desea que las nuevas pestañas se abran en segundo plano"
 
-#: ../midori/midori-websettings.c:595
+#: ../midori/midori-websettings.c:764
 msgid "Open Tabs next to Current"
 msgstr "Abrir pestañas junto a la actual"
 
-#: ../midori/midori-websettings.c:596
+#: ../midori/midori-websettings.c:765
 msgid "Whether to open new tabs next to the current tab or after the last one"
 msgstr "Si se desea que las nuevas pestañas se abran al lado de la pestaña actual o después de la última"
 
-#: ../midori/midori-websettings.c:604
+#: ../midori/midori-websettings.c:773
 msgid "Open popups in tabs"
 msgstr "Abrir emergentes en pestañas"
 
-#: ../midori/midori-websettings.c:605
+#: ../midori/midori-websettings.c:774
 msgid "Whether to open popup windows in tabs"
 msgstr "Si se desea abrir las ventanas emergentes en pestañas"
 
-#: ../midori/midori-websettings.c:656
+#: ../midori/midori-websettings.c:790
 msgid "Zoom Text and Images"
-msgstr "Ampliar Textos e Imágenes"
+msgstr "Ampliar textos e imágenes"
 
-#: ../midori/midori-websettings.c:657
+#: ../midori/midori-websettings.c:791
 msgid "Whether to zoom text and images"
-msgstr "Si se amplia texto e imágenes"
+msgstr "Si se desea ampliar texto e imágenes"
+
+#: ../midori/midori-websettings.c:806
+msgid "Find inline while typing"
+msgstr "Buscar en el texto al escribir"
+
+#: ../midori/midori-websettings.c:807
+msgid "Whether to automatically find inline while typing"
+msgstr "Si se desea buscar automáticamente en el texto al comenzar a tipear"
 
-#: ../midori/midori-websettings.c:667
+#: ../midori/midori-websettings.c:815
 msgid "Accept cookies"
-msgstr "Aceptar galletas"
+msgstr "Aceptar huellas"
 
-#: ../midori/midori-websettings.c:668
+#: ../midori/midori-websettings.c:816
 msgid "What type of cookies to accept"
-msgstr "Qué tipos de galletas van a ser aceptadas"
+msgstr "Qué tipos de huellas van a ser aceptadas"
 
-#: ../midori/midori-websettings.c:681
+#: ../midori/midori-websettings.c:825
 msgid "Original cookies only"
-msgstr "Sólo galletas originales"
+msgstr "Sólo huellas originales"
 
-#: ../midori/midori-websettings.c:682
+#: ../midori/midori-websettings.c:826
 msgid "Accept cookies from the original website only"
-msgstr "Sólo se aceptan las galletas del sitio red original"
+msgstr "Sólo se aceptan las huellas del sitio de internet original"
 
-#: ../midori/midori-websettings.c:690
+#: ../midori/midori-websettings.c:834
 msgid "Maximum cookie age"
-msgstr "Duración máxima de las galletas"
+msgstr "Duración máxima de las huellas"
 
-#: ../midori/midori-websettings.c:691
+#: ../midori/midori-websettings.c:835
 msgid "The maximum number of days to save cookies for"
-msgstr "Número máximo de días para conservar las galletas"
+msgstr "Número máximo de días para conservar las huellas"
 
-#: ../midori/midori-websettings.c:701
+#: ../midori/midori-websettings.c:845
 msgid "Remember last visited pages"
 msgstr "Recordar las últimas páginas visitadas"
 
-#: ../midori/midori-websettings.c:702
+#: ../midori/midori-websettings.c:846
 msgid "Whether the last visited pages are saved"
 msgstr "Si se desea que las últimas páginas visitadas sean recordadas"
 
-#: ../midori/midori-websettings.c:710
+#: ../midori/midori-websettings.c:854
 msgid "Maximum history age"
 msgstr "Duración máxima del historial"
 
-#: ../midori/midori-websettings.c:711
+#: ../midori/midori-websettings.c:855
 msgid "The maximum number of days to save the history for"
 msgstr "Número máximo de días para conservar el historial"
 
-#: ../midori/midori-websettings.c:719
+#: ../midori/midori-websettings.c:863
 msgid "Remember last form inputs"
 msgstr "Recordar lo que se haya ingresado en formularios"
 
-#: ../midori/midori-websettings.c:720
+#: ../midori/midori-websettings.c:864
 msgid "Whether the last form inputs are saved"
 msgstr "Si se desea que las últimas entradas de formulario sean recordadas"
 
-#: ../midori/midori-websettings.c:728
+#: ../midori/midori-websettings.c:872
 msgid "Remember last downloaded files"
 msgstr "Recordar los últimos archivos descargados"
 
-#: ../midori/midori-websettings.c:729
+#: ../midori/midori-websettings.c:873
 msgid "Whether the last downloaded files are saved"
 msgstr "Si se desea que los archivos descargados sean recordados"
 
-#: ../midori/midori-websettings.c:739
+#: ../midori/midori-websettings.c:883
 msgid "Proxy Server"
 msgstr "Servidor proxy"
 
-#: ../midori/midori-websettings.c:740
+#: ../midori/midori-websettings.c:884
 msgid "The proxy server used for HTTP connections"
 msgstr "Servidor proxy utilizado para conexiones HTTP"
 
+#: ../midori/midori-websettings.c:899
+msgid "Detect proxy server automatically"
+msgstr "Detectar automáticamente el servidor proxy"
+
+#: ../midori/midori-websettings.c:900
+msgid "Whether to detect the proxy server automatically from the environment"
+msgstr "Si se desea detectar automáticamente el servidor proxy desde el entorno"
+
 #. i18n: This refers to an application, not the 'user agent' string
-#: ../midori/midori-websettings.c:760
+#: ../midori/midori-websettings.c:916
 msgid "Identify as"
 msgstr "Identificar como:"
 
-#: ../midori/midori-websettings.c:761
+#: ../midori/midori-websettings.c:917
 msgid "What to identify as to web pages"
-msgstr "Identificar como páginas red"
+msgstr "Identificar como páginas de internet"
 
-#: ../midori/midori-websettings.c:781
+#: ../midori/midori-websettings.c:933
 msgid "Identification string"
 msgstr "Cadena de identificación"
 
-#: ../midori/midori-websettings.c:782
+#: ../midori/midori-websettings.c:934
 msgid "The application identification string"
 msgstr "Aplicación de identificación de cadenas"
 
-#: ../midori/midori-websettings.c:794
+#: ../midori/midori-websettings.c:942
 msgid "Cache size"
 msgstr "Tamaño del caché"
 
-#: ../midori/midori-websettings.c:795
+#: ../midori/midori-websettings.c:943
 msgid "The allowed size of the cache"
 msgstr "Tamaño asignado a la memoria caché"
 
+#: ../midori/midori-view.c:686
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "No se pudo cargar la página «%s»."
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:688
+#: ../midori/midori-view.c:2701
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "Error"
+
+#: ../midori/midori-view.c:691
+msgid "Try again"
+msgstr "Inténtelo nuevamente"
+
 #. i18n: The title of the 404 - Not found error page
-#: ../midori/midori-view.c:608
+#. Error pages are special, we want to try loading the destination
+#. again, not the error page which isn't even a proper page
+#: ../midori/midori-view.c:721
+#: ../midori/midori-view.c:2705
 #, c-format
 msgid "Not found - %s"
 msgstr "No se ha encontrado - %s"
 
-#: ../midori/midori-view.c:888
+#: ../midori/midori-view.c:1095
+msgid "Open _Link"
+msgstr "Abrir _enlace"
+
+#: ../midori/midori-view.c:1097
 msgid "Open Link in New _Tab"
 msgstr "Abrir enlace en nueva _pestaña"
 
-#: ../midori/midori-view.c:911
-msgid "_Save Link destination"
-msgstr "_Guardar enlace"
+#: ../midori/midori-view.c:1114
+msgid "Open Link in New _Window"
+msgstr "Abrir enlace en nueva _ventana"
 
-#: ../midori/midori-view.c:919
+#: ../midori/midori-view.c:1123
 msgid "_Download Link destination"
 msgstr "_Descargar enlace"
 
-#: ../midori/midori-view.c:941
+#: ../midori/midori-view.c:1129
+msgid "_Save Link destination"
+msgstr "_Guardar enlace"
+
+#: ../midori/midori-view.c:1138
+msgid "Download with Download _Manager"
+msgstr "Descargar con el gestor de descargas"
+
+#: ../midori/midori-view.c:1167
+msgid "Search _with"
+msgstr "Buscar _con"
+
+#: ../midori/midori-view.c:1195
+msgid "_Search the Web"
+msgstr "_Buscar en internet"
+
+#: ../midori/midori-view.c:1205
 msgid "Open Address in New _Tab"
 msgstr "Abrir dirección en una nueva _pestaña "
 
-#: ../midori/midori-view.c:1411
+#: ../midori/midori-view.c:1372
+msgid "Open or download file"
+msgstr "Abrir o descargar archivo"
+
+#: ../midori/midori-view.c:1389
+#, c-format
+msgid "File Type: '%s'"
+msgstr "Tipo de archivo: '%s'"
+
+#: ../midori/midori-view.c:1392
+#, c-format
+msgid "File Type: %s ('%s')"
+msgstr "Tipo de archivo: %s ('%s')"
+
+#. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
+#: ../midori/midori-view.c:1396
+#, c-format
+msgid "Open %s"
+msgstr "Abrir %s"
+
+#: ../midori/midori-view.c:1816
 #, c-format
 msgid "Inspect page - %s"
 msgstr "Inspeccionar la página - %s"
 
-#: ../midori/midori-view.c:1562
-msgid "Source"
-msgstr "Código fuente"
+#: ../midori/midori-view.c:2001
+#: ../midori/midori-view.c:2002
+msgid "Search"
+msgstr "Buscar"
+
+#: ../midori/midori-view.c:2003
+msgid "Click to add a shortcut"
+msgstr "Haga clic aquí para añadir un acceso directo"
+
+#: ../midori/midori-view.c:2004
+msgid "Enter shortcut address"
+msgstr "Introduzca la dirección del acceso directo"
+
+#: ../midori/midori-view.c:2005
+msgid "Enter shortcut title"
+msgstr "Introduzca el título del acceso directo"
+
+#: ../midori/midori-view.c:2006
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "¿Está seguro que desea eliminar éste acceso directo?"
 
-#: ../midori/midori-view.c:1586
+#: ../midori/midori-view.c:2038
 #, c-format
 msgid "Document cannot be displayed"
 msgstr "El documento no puede ser mostrado"
 
-#: ../midori/midori-view.c:1602
+#: ../midori/midori-view.c:2055
 #, c-format
 msgid "No documentation installed"
 msgstr "No se dispone de documentación instalada"
@@ -1269,247 +1456,344 @@ msgid "Preferences for %s"
 msgstr "Preferencias de %s"
 
 #. Page "General"
-#: ../midori/midori-preferences.c:372
+#: ../midori/midori-preferences.c:398
 msgid "General"
 msgstr "General"
 
-#: ../midori/midori-preferences.c:373
+#: ../midori/midori-preferences.c:399
 msgid "Startup"
 msgstr "Inicio"
 
+#: ../midori/midori-preferences.c:415
+msgid "Use current page as homepage"
+msgstr "Usar la página actual como página de inicio"
+
+#: ../midori/midori-preferences.c:425
+#: ../panels/midori-transfers.c:88
+msgid "Transfers"
+msgstr "Transferencias"
+
 #. Page "Appearance"
-#: ../midori/midori-preferences.c:422
+#: ../midori/midori-preferences.c:440
 msgid "Appearance"
 msgstr "Apariencia"
 
-#: ../midori/midori-preferences.c:423
+#: ../midori/midori-preferences.c:441
 msgid "Font settings"
 msgstr "Configuración de las fuentes"
 
-#: ../midori/midori-preferences.c:425
+#: ../midori/midori-preferences.c:443
 msgid "Default Font Family"
 msgstr "Fuente por defecto"
 
-#: ../midori/midori-preferences.c:431
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "Tamaño de fuente predeterminado utilizado para mostrar texto"
+
+#: ../midori/midori-preferences.c:450
 msgid "The default font size used to display text"
 msgstr "Tamaño de fuente predeterminado utilizado para mostrar texto"
 
-#: ../midori/midori-preferences.c:434
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "Fuente de ancho fijo"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr "Fuente utilizada para mostrar el texto de ancho fijo"
+
+#: ../midori/midori-preferences.c:458
 msgid "Minimum Font Size"
 msgstr "Tamaño mínimo de fuente"
 
-#: ../midori/midori-preferences.c:437
+#: ../midori/midori-preferences.c:461
 msgid "The minimum font size used to display text"
 msgstr "Mínimo tamaño de fuente utilizado para mostrar texto"
 
-#: ../midori/midori-preferences.c:444
+#: ../midori/midori-preferences.c:468
 msgid "Encoding"
 msgstr "Codificación"
 
-#: ../midori/midori-preferences.c:447
+#: ../midori/midori-preferences.c:471
 msgid "The character encoding to use by default"
 msgstr "Codificación de caracteres a utilizar por defecto"
 
 #. Page "Behavior"
-#: ../midori/midori-preferences.c:454
+#: ../midori/midori-preferences.c:478
 msgid "Behavior"
 msgstr "Comportamiento"
 
-#: ../midori/midori-preferences.c:455
+#: ../midori/midori-preferences.c:479
 msgid "Features"
 msgstr "Características"
 
-#: ../midori/midori-preferences.c:458
-#: ../extensions/statusbar-features.c:40
+#: ../midori/midori-preferences.c:482
+#: ../extensions/statusbar-features.c:54
 msgid "Load images automatically"
 msgstr "Cargar imágenes automáticamente"
 
-#: ../midori/midori-preferences.c:459
+#: ../midori/midori-preferences.c:483
 msgid "Load and display images automatically"
 msgstr "Cargar y mostrar imágenes automáticamente"
 
-#: ../midori/midori-preferences.c:462
+#: ../midori/midori-preferences.c:486
 msgid "Shrink images automatically"
 msgstr "Reducir imágenes automáticamente"
 
-#: ../midori/midori-preferences.c:463
+#: ../midori/midori-preferences.c:487
 msgid "Automatically shrink standalone images to fit"
 msgstr "Reducir imágenes automáticamente independientemente si caben"
 
-#: ../midori/midori-preferences.c:466
+#: ../midori/midori-preferences.c:490
 msgid "Print background images"
 msgstr "Imprimir imágenes de fondo"
 
-#: ../midori/midori-preferences.c:467
+#: ../midori/midori-preferences.c:491
 msgid "Whether background images should be printed"
 msgstr "Si se desea imprimir las imágenes de fondo"
 
-#: ../midori/midori-preferences.c:470
+#: ../midori/midori-preferences.c:494
 msgid "Resizable text areas"
 msgstr "Áreas de texto dimensionables"
 
-#: ../midori/midori-preferences.c:471
+#: ../midori/midori-preferences.c:495
 msgid "Whether text areas are resizable"
 msgstr "Si se desea que las áreas de texto sean dimensionables"
 
-#: ../midori/midori-preferences.c:474
-#: ../extensions/statusbar-features.c:47
+#: ../midori/midori-preferences.c:498
+#: ../extensions/statusbar-features.c:63
 msgid "Enable scripts"
 msgstr "Habilitar scripts"
 
-#: ../midori/midori-preferences.c:475
+#: ../midori/midori-preferences.c:499
 msgid "Enable embedded scripting languages"
 msgstr "Habilitar script de lenguajes embebidos"
 
-#: ../midori/midori-preferences.c:478
-#: ../extensions/statusbar-features.c:54
-msgid "Enable plugins"
-msgstr "Habilitar complementos"
+#: ../midori/midori-preferences.c:502
+#: ../extensions/statusbar-features.c:72
+msgid "Enable Netscape plugins"
+msgstr "Habilitar complementos Netscape"
 
-#: ../midori/midori-preferences.c:479
-msgid "Enable embedded plugin objects"
-msgstr "Habilitar el complemento de objetos embebidos"
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "Habilitar el complemento de objetos embebidos Netscape"
 
-#: ../midori/midori-preferences.c:482
+#: ../midori/midori-preferences.c:506
 msgid "Enforce 96 dots per inch"
 msgstr "Aplicar 96 puntos por pulgada"
 
-#: ../midori/midori-preferences.c:483
+#: ../midori/midori-preferences.c:507
 msgid "Enforce a video dot density of 96 DPI"
 msgstr "Aplicar una densidad de puntos de video de 96 DPI"
 
-#: ../midori/midori-preferences.c:486
+#: ../midori/midori-preferences.c:510
 msgid "Enable developer tools"
-msgstr "Habilitar herramientas desarrollado"
+msgstr "Habilitar herramientas de desarrollo"
 
-#: ../midori/midori-preferences.c:487
+#: ../midori/midori-preferences.c:511
 msgid "Enable special extensions for developers"
 msgstr "Habilitar extensiones especiales para desarrolladores"
 
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "Corrector ortográfico"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "Habilitar el corrector ortográfico"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "Habilitar el corrector ortográfico al escribir"
+
+#: ../midori/midori-preferences.c:525
+msgid "A comma separated list of languages to be used for spell checking, for example \"en_GB,de_DE\""
+msgstr "Lista de idiomas separados con comas que se utilizarán para la corrección ortográfica, por ejemplo \"en_GB,de_DE\""
+
 #. Page "Interface"
-#: ../midori/midori-preferences.c:497
+#: ../midori/midori-preferences.c:530
 msgid "Interface"
 msgstr "Interfaz"
 
-#: ../midori/midori-preferences.c:499
+#: ../midori/midori-preferences.c:531
 msgid "Navigationbar"
 msgstr "Barra de navegación"
 
-#: ../midori/midori-preferences.c:505
+#: ../midori/midori-preferences.c:542
 msgid "Browsing"
 msgstr "Navegación"
 
-#: ../midori/midori-preferences.c:542
-#: ../midori/midori-preferences.c:543
+#. Page "Applications"
+#: ../midori/midori-preferences.c:572
+msgid "Applications"
+msgstr "Aplicaciones"
+
+#: ../midori/midori-preferences.c:573
+msgid "External applications"
+msgstr "Aplicaciones externas"
+
+#. Page "Network"
+#: ../midori/midori-preferences.c:619
+#: ../midori/midori-preferences.c:620
 msgid "Network"
 msgstr "Red"
 
-#: ../midori/midori-preferences.c:565
+#: ../midori/midori-preferences.c:647
 msgid "MB"
 msgstr "MB"
 
 #. Page "Privacy"
-#: ../midori/midori-preferences.c:572
+#: ../midori/midori-preferences.c:652
 msgid "Privacy"
 msgstr "Privacidad"
 
-#: ../midori/midori-preferences.c:579
+#: ../midori/midori-preferences.c:653
 msgid "Web Cookies"
-msgstr "Galletas de informacion"
+msgstr "Huellas"
 
-#: ../midori/midori-preferences.c:592
-#: ../midori/midori-preferences.c:604
+#: ../midori/midori-preferences.c:666
+#: ../midori/midori-preferences.c:676
 msgid "days"
 msgstr "días"
 
-#: ../midori/midori-searchaction.c:455
-#: ../katze/katze-arrayaction.c:279
+#: ../midori/midori-searchaction.c:484
+#: ../katze/katze-arrayaction.c:314
 msgid "Empty"
 msgstr "Vacío"
 
-#: ../midori/midori-searchaction.c:792
+#: ../midori/midori-searchaction.c:904
 msgid "Add search engine"
 msgstr "Añadir un motor de búsqueda"
 
-#: ../midori/midori-searchaction.c:792
+#: ../midori/midori-searchaction.c:904
 msgid "Edit search engine"
 msgstr "Editar motor de búsqueda"
 
-#: ../midori/midori-searchaction.c:820
+#: ../midori/midori-searchaction.c:932
 msgid "_Name:"
 msgstr "_Nombre:"
 
-#: ../midori/midori-searchaction.c:864
-msgid "_Icon (name or file):"
-msgstr "_Icono (nombre o archivo):"
+#: ../midori/midori-searchaction.c:976
+msgid "_Icon:"
+msgstr "_Ícono"
 
-#: ../midori/midori-searchaction.c:878
+#: ../midori/midori-searchaction.c:990
 msgid "_Token:"
 msgstr "_Abreviatura:"
 
-#: ../midori/midori-searchaction.c:1055
+#: ../midori/midori-searchaction.c:1195
 msgid "Manage Search Engines"
 msgstr "Administrar los motores de búsqueda"
 
-#: ../midori/sokoke.c:101
-#: ../midori/sokoke.c:113
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "Utilizar como _predeterminado"
+
+#: ../midori/sokoke.c:162
+#: ../midori/sokoke.c:174
 msgid "Could not run external program."
 msgstr "No se pudo ejecutar la aplicación externa."
 
 #. i18n: A superuser, or system administrator, may not be 'root'
-#: ../midori/sokoke.c:354
+#: ../midori/sokoke.c:520
 msgid "Warning: You are using a superuser account!"
 msgstr "Advertencia: Usted está utilizando una cuenta de superusuario!"
 
-#: ../midori/gjs.c:742
-#: ../midori/gjs.c:832
-#, c-format
-msgid "%s has no property '%s'"
-msgstr "%s no tiene la propiedad «%s»"
+#: ../midori/sokoke.c:871
+msgid "_Bookmark"
+msgstr "_Marcador"
 
-#: ../midori/gjs.c:878
-#, c-format
-msgid "%s cannot be assigned to %s.%s"
-msgstr "%s no puede ser asignado a %s.%s"
+#: ../midori/sokoke.c:873
+msgid "_Add Bookmark"
+msgstr "_Añadir a marcadores"
 
-#: ../midori/gjs.c:888
-#, c-format
-msgid "%s.%s cannot be accessed"
-msgstr "%s.%s no se puede acceder"
+#: ../midori/sokoke.c:874
+msgid "_Console"
+msgstr "_Consola"
 
-#: ../panels/midori-addons.c:97
-#: ../panels/midori-addons.c:143
+#: ../midori/sokoke.c:875
+msgid "_Extensions"
+msgstr "_Extensiones"
+
+#: ../midori/sokoke.c:876
+msgid "_History"
+msgstr "_Historial"
+
+#: ../midori/sokoke.c:877
+msgid "_Homepage"
+msgstr "_Página de inicio"
+
+#: ../midori/sokoke.c:878
+msgid "_Userscripts"
+msgstr "_Scripts de usuario"
+
+#: ../midori/sokoke.c:879
+msgid "User_styles"
+msgstr "_Estilos de usuario"
+
+#: ../midori/sokoke.c:880
+msgid "New _Tab"
+msgstr "Nueva _pestaña"
+
+#: ../midori/sokoke.c:881
+msgid "_Transfers"
+msgstr "_Transferencias"
+
+#: ../midori/sokoke.c:882
+msgid "Netscape p_lugins"
+msgstr "C_omplementos Netscape"
+
+#: ../midori/sokoke.c:883
+msgid "_Closed Tabs and Windows"
+msgstr "_Pestañas y ventanas cerradas"
+
+#: ../midori/sokoke.c:884
+msgid "New _Window"
+msgstr "Nueva _ventana"
+
+#: ../panels/midori-addons.c:95
+#: ../panels/midori-addons.c:141
 msgid "Userscripts"
 msgstr "Scripts de usuario"
 
-#: ../panels/midori-addons.c:98
-#: ../panels/midori-addons.c:145
+#: ../panels/midori-addons.c:96
+#: ../panels/midori-addons.c:143
 msgid "Userstyles"
 msgstr "Estilos de usuario"
 
-#: ../panels/midori-addons.c:1005
+#: ../panels/midori-addons.c:927
 #: ../panels/midori-extensions.c:144
 msgid "_Enable"
 msgstr "_Activar"
 
-#: ../panels/midori-addons.c:1014
-#: ../panels/midori-extensions.c:153
+#: ../panels/midori-addons.c:928
+#: ../panels/midori-extensions.c:145
+msgid "Enable"
+msgstr "Activar"
+
+#: ../panels/midori-addons.c:937
+#: ../panels/midori-extensions.c:154
 msgid "_Disable"
 msgstr "_Desactivar"
 
-#: ../panels/midori-bookmarks.c:100
+#: ../panels/midori-addons.c:938
+#: ../panels/midori-extensions.c:155
+msgid "Disable"
+msgstr "Desactivar"
+
+#: ../panels/midori-bookmarks.c:107
 msgid "Bookmarks"
 msgstr "Marcadores"
 
-#: ../panels/midori-bookmarks.c:217
+#: ../panels/midori-bookmarks.c:238
 msgid "Edit the selected bookmark"
 msgstr "Editar el marcador seleccionado"
 
-#: ../panels/midori-bookmarks.c:225
+#: ../panels/midori-bookmarks.c:246
 msgid "Delete the selected bookmark"
 msgstr "Borrar el marcador seleccionado"
 
-#: ../panels/midori-bookmarks.c:529
+#: ../panels/midori-bookmarks.c:591
 msgid "<i>Separator</i>"
 msgstr "<i>Separador</i>"
 
@@ -1521,10 +1805,72 @@ msgstr "Consola"
 msgid "Extensions"
 msgstr "Extensiones"
 
+#: ../panels/midori-history.c:162
+msgid "Are you sure you want to remove all history items?"
+msgstr "¿Estás seguro de que quieres quitar todos los elementos del historial?"
+
+#: ../panels/midori-history.c:217
+msgid "Bookmark the selected history item"
+msgstr "Añadir a marcadores el elemento seleccionado del historial"
+
+#: ../panels/midori-history.c:226
+msgid "Delete the selected history item"
+msgstr "Borrar del historial el elemento seleccionado"
+
+#: ../panels/midori-history.c:234
+msgid "Clear the entire history"
+msgstr "Vaciar el historial completo"
+
+#: ../panels/midori-history.c:599
+msgid "A week ago"
+msgstr "Hace una semana"
+
+#: ../panels/midori-history.c:604
+#, c-format
+msgid "%d day ago"
+msgstr "Hace %d días"
+
+#: ../panels/midori-history.c:605
+#, c-format
+msgid "%d days ago"
+msgstr "Hace %d días"
+
+#: ../panels/midori-history.c:612
+msgid "Today"
+msgstr "Hoy"
+
+#: ../panels/midori-history.c:614
+msgid "Yesterday"
+msgstr "Ayer"
+
 #: ../panels/midori-plugins.c:87
-#: ../extensions/statusbar-features.c:52
-msgid "Plugins"
-msgstr "Complementos"
+msgid "Netscape plugins"
+msgstr "Complementos Netscape"
+
+#: ../panels/midori-transfers.c:256
+#, c-format
+msgid "%s of %s"
+msgstr "%s de %s"
+
+#: ../katze/katze-http-auth.c:97
+msgid "Authentication Required"
+msgstr "Se requiere autentificación"
+
+#: ../katze/katze-http-auth.c:113
+msgid ""
+"A username and a password are required\n"
+"to open this location:"
+msgstr ""
+"Nombre de usuario y contraseña son requeridos\n"
+"para abrir ésta ubicación:"
+
+#: ../katze/katze-http-auth.c:127
+msgid "Username"
+msgstr "Nombre de usuario"
+
+#: ../katze/katze-http-auth.c:138
+msgid "Password"
+msgstr "Contraseña"
 
 #: ../katze/katze-throbber.c:828
 #, c-format
@@ -1538,49 +1884,249 @@ msgstr "No se pudo cargar el ícono stock «%s»"
 
 #: ../katze/katze-throbber.c:907
 msgid "Animation frames are broken"
-msgstr "Los cuadros de animación estan rotos"
+msgstr "Los cuadros de animación están rotos"
 
-#: ../katze/katze-utils.c:180
-#: ../katze/katze-utils.c:389
+#: ../katze/katze-utils.c:183
+#: ../katze/katze-utils.c:385
 #, c-format
 msgid "Property '%s' is invalid for %s"
 msgstr "La propiedad «%s» no es válida para %s"
 
-#: ../katze/katze-utils.c:209
-#: ../katze/katze-utils.c:248
+#: ../katze/katze-utils.c:215
+#: ../katze/katze-utils.c:244
 msgid "Choose file"
 msgstr "Elegir archivo"
 
-#: ../katze/katze-utils.c:229
+#: ../katze/katze-utils.c:230
 msgid "Choose folder"
 msgstr "Elegir carpeta"
 
+#: ../extensions/colorful-tabs.c:115
+msgid "Tint tabs distinctly"
+msgstr "Pestañas de distintos colores"
+
+#: ../extensions/colorful-tabs.c:151
+msgid "Colorful Tabs"
+msgstr "Pestañas de colores"
+
+#: ../extensions/colorful-tabs.c:152
+msgid "Tint each tab distinctly"
+msgstr "Colorear pestañas de distintos colores"
+
+#: ../extensions/cookie-manager.c:201
+msgid "At the end of the session"
+msgstr "Al final de la sesión"
+
+#: ../extensions/cookie-manager.c:204
+#, c-format
+msgid ""
+"<b>Host</b>: %s\n"
+"<b>Name</b>: %s\n"
+"<b>Value</b>: %s\n"
+"<b>Path</b>: %s\n"
+"<b>Secure</b>: %s\n"
+"<b>Expires</b>: %s"
+msgstr ""
+"<b>Servidor</b>: %s\n"
+"<b>Nombre</b>: %s\n"
+"<b>Valor</b>: %s\n"
+"<b>Ruta</b>: %s\n"
+"<b>Seguro</b>: %s\n"
+"<b>Expira</b>: %s"
+
+#: ../extensions/cookie-manager.c:210
+msgid "Yes"
+msgstr "Si"
+
+#: ../extensions/cookie-manager.c:210
+msgid "No"
+msgstr "No"
+
+#: ../extensions/cookie-manager.c:493
+msgid "Do you really want to delete all cookies?"
+msgstr "¿Está seguro que desea eliminar todas las huellas?"
+
+#: ../extensions/cookie-manager.c:495
+msgid "Question"
+msgstr "Pregunta"
+
+#: ../extensions/cookie-manager.c:504
+msgid "Only cookies which match the filter will be deleted."
+msgstr "Sólo se eliminarán las huellas visibles que coinciden con el filtro."
+
+#: ../extensions/cookie-manager.c:682
+msgid "Name"
+msgstr "Nombre"
+
+#: ../extensions/cookie-manager.c:742
+msgid "_Expand All"
+msgstr "_Expandir todo"
+
+#: ../extensions/cookie-manager.c:750
+msgid "_Collapse All"
+msgstr "_Contraer todo"
+
+#: ../extensions/cookie-manager.c:823
+msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
+msgstr "Elimina todas las huellas. Si se establece un filtro, sólo se eliminarán las \"huellas\" que coincidan con el filtro."
+
+#: ../extensions/cookie-manager.c:838
+msgid "Expand All"
+msgstr "Expandir todo"
+
+#: ../extensions/cookie-manager.c:845
+msgid "Collapse All"
+msgstr "Contraer todo"
+
+#: ../extensions/cookie-manager.c:876
+msgid "Filter:"
+msgstr "Filtro:"
+
+#: ../extensions/cookie-manager.c:881
+msgid "Enter a filter string to show only cookies whose name or domain field match the entered filter"
+msgstr "Introduzca una cadena de filtro para mostrar sólo las huellas cuyo nombre o dominio coincide con el filtro ingresado"
+
+#: ../extensions/cookie-manager.c:916
+#: ../extensions/cookie-manager.c:964
+msgid "Cookie Manager"
+msgstr "Gestor de huellas"
+
+#: ../extensions/cookie-manager.c:948
+msgid "_Cookie Manager"
+msgstr "_Gestor de huellas"
+
+#: ../extensions/cookie-manager.c:965
+msgid "List, view and delete cookies"
+msgstr "Listar, ver y eliminar huellas"
+
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr "No se ha podido encontrar los elementos necesarios Atom \"entry\" en los datos XML."
+
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr "No se ha podido encontrar los elementos necesarios Atom \"feed\" en los datos XML."
+
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "Última actualización: %s."
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "Canales"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "Añadir nuevo canal"
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "Eliminar canal"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "_Canales"
+
+#: ../extensions/feed-panel/feed-parse.c:175
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "No se ha podido encontrar el elemento raíz en el canal de información XML."
+
+#: ../extensions/feed-panel/feed-parse.c:215
+#, c-format
+msgid "Unsupported feed format."
+msgstr "Formato de canal no soportado."
+
+#: ../extensions/feed-panel/feed-parse.c:245
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "No se ha podido analizar el canal XML: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr "No se ha podido encontrar el elemento \"channel\" en lo  datos XML del RSS"
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "Versión de RSS no soportada."
+
+#: ../extensions/feed-panel/feed-rss.c:144
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "No se ha podido encontrar los elementos necesarios RSS \"item\" en los datos XML."
+
+#: ../extensions/feed-panel/feed-rss.c:229
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr "No se ha podido encontrar los elementos necesarios RSS \"channel\" en los datos XML."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "El canal '%s' ya existe"
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "Error al cargar el canal '%s'"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "Nuevo canal"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "Panel de canales"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Lector de canales Atom/RSS"
+
 #: ../extensions/mouse-gestures/main.c:216
 msgid "Mouse Gestures"
-msgstr "Gestos del Ratón"
+msgstr "Gestos de ratón"
 
 #: ../extensions/mouse-gestures/main.c:217
 msgid "Control Midori by moving the mouse"
 msgstr "Controlar Midori moviendo el ratón"
 
 #. i18n: A panel showing a user specified web page
-#: ../extensions/page-holder.c:116
-#: ../extensions/page-holder.c:153
+#: ../extensions/page-holder.c:129
+#: ../extensions/page-holder.c:177
 msgid "Pageholder"
 msgstr "Anclar página"
 
-#: ../extensions/page-holder.c:137
+#: ../extensions/page-holder.c:161
 msgid "_Pageholder"
 msgstr "_Anclar página"
 
-#: ../extensions/statusbar-features.c:38
-msgid "Images"
-msgstr "Imágenes"
-
-#: ../extensions/statusbar-features.c:45
-msgid "Scripts"
-msgstr "Scripts"
-
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr "Barra de funcionalidades"
+
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr "Alternar fácilmente las características de páginas web dentro y fuera"
+
+#~ msgid "P_lugins"
+#~ msgstr "C_omplementos"
+#~ msgid "Plugins"
+#~ msgstr "Complementos"
+#~ msgid "Source"
+#~ msgstr "Código fuente"
+#~ msgid "_Icon (name or file):"
+#~ msgstr "_Icono (nombre o archivo):"
+#~ msgid "%s has no property '%s'"
+#~ msgstr "%s no tiene la propiedad «%s»"
+#~ msgid "%s cannot be assigned to %s.%s"
+#~ msgstr "%s no puede ser asignado a %s.%s"
+#~ msgid "%s.%s cannot be accessed"
+#~ msgstr "%s.%s no se puede acceder"
+#~ msgid "Images"
+#~ msgstr "Imágenes"
+#~ msgid "Scripts"
+#~ msgstr "Scripts"
 #~ msgid "Manage search engines"
 #~ msgstr "Administrar los motores de búsqueda"
 #~ msgid "URIs"
index c63f079c4298cc3ae218ed070bd9f5afa3276052..99de58d8500bf5313c157f943d3ca64197f518a1 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,14 +5,15 @@
 # Adrien Nader <camaradetux@gmail.com> 2008
 # Robert-André Mauchin <zebob.m@pengzone.org> 2008
 # Pascal Gervais <pggervais@yahoo.ca> 2009
+# Jérôme Geulfucci <jeromeg@xfce.org> 2009
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: midori 0.1.5\n"
+"Project-Id-Version: midori 0.1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 16:44+0200\n"
-"PO-Revision-Date: 2009-04-19 16:05+0100\n"
-"Last-Translator: Christian Dywan <christian@twotoasts.de>\n"
+"POT-Creation-Date: 2009-05-24 11:14+0200\n"
+"PO-Revision-Date: 2009-05-24 11:15+0200\n"
+"Last-Translator: Jérôme Guelfucci <jeromeg@xfce.org>\n"
 "Language-Team: French <fr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
@@ -21,92 +22,92 @@ msgstr ""
 
 #: ../data/midori.desktop.in.h:1
 msgid "Lightweight web browser"
-msgstr "Navigateur internet léger"
+msgstr "Navigateur Internet léger"
 
-#: ../data/midori.desktop.in.h:2 ../midori/main.c:1288 ../midori/main.c:1388
-#: ../midori/main.c:1396 ../midori/main.c:1407
-#: ../midori/midori-websettings.c:273
+#: ../data/midori.desktop.in.h:2 ../midori/main.c:1315 ../midori/main.c:1449
+#: ../midori/main.c:1457 ../midori/main.c:1468
+#: ../midori/midori-websettings.c:281
 msgid "Midori"
 msgstr "Midori"
 
 #: ../data/midori.desktop.in.h:3
 msgid "Web Browser"
-msgstr "Navigateur internet"
+msgstr "Navigateur Internet"
 
-#: ../midori/main.c:94
+#: ../midori/main.c:96
 #, c-format
 msgid "The configuration couldn't be loaded: %s\n"
 msgstr "La configuration n'a pu être chargée : %s\n"
 
-#: ../midori/main.c:149
+#: ../midori/main.c:151
 #, c-format
 msgid "Value '%s' is invalid for %s"
 msgstr "La valeur « %s » n'est pas valide pour %s"
 
-#: ../midori/main.c:156 ../midori/main.c:228
+#: ../midori/main.c:158 ../midori/main.c:238
 #, c-format
 msgid "Invalid configuration value '%s'"
 msgstr "Valeur de paramètre non valide « %s »"
 
-#: ../midori/main.c:332
+#: ../midori/main.c:350
 #, c-format
 msgid "Failed to open database: %s\n"
 msgstr "Impossible d'ouvrir la base de données : %s\n"
 
-#: ../midori/main.c:364
+#: ../midori/main.c:382
 #, c-format
 msgid "Failed to execute database statement: %s\n"
 msgstr "Impossible d'exécuter l'instruction de la base de données : %s\n"
 
-#: ../midori/main.c:418
+#: ../midori/main.c:436
 #, c-format
 msgid "Failed to remove history item: %s\n"
-msgstr "Impossible de supprimer de l'historique l'élément : %s\n"
+msgstr "Impossible de supprimer l'élément de l'historique : %s\n"
 
-#: ../midori/main.c:442
+#: ../midori/main.c:460
 #, c-format
 msgid "Failed to clear history: %s\n"
 msgstr "Impossible d'effacer l'historique : %s\n"
 
-#: ../midori/main.c:465 ../midori/main.c:499 ../midori/main.c:515
+#: ../midori/main.c:483 ../midori/main.c:517 ../midori/main.c:533
 #, c-format
 msgid "Failed to add history item: %s\n"
-msgstr "Impossible d'ajouter à l'historique l'élément : %s\n"
+msgstr "Impossible d'ajouter l'élément à l'historique : %s\n"
 
 #. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:694
+#: ../midori/main.c:712
 #, c-format
 msgid "Failed to remove old history items: %s\n"
-msgstr "Impossible de supprimer de l'historique les anciens éléments : %s\n"
+msgstr "Impossible de supprimer les anciens éléments de l'historique : %s\n"
 
-#: ../midori/main.c:722
+#: ../midori/main.c:741
 #, c-format
 msgid "The configuration couldn't be saved. %s"
-msgstr "La configuration n'a pu être enregistrée. %s"
+msgstr "La configuration n'a pas pu être enregistrée. %s"
 
-#: ../midori/main.c:751
+#: ../midori/main.c:770
 #, c-format
 msgid "The search engines couldn't be saved. %s"
-msgstr "Les moteurs de recherche n'ont pu être enregistrés. %s"
+msgstr "Les moteurs de recherche n'ont pas pu être enregistrés. %s"
 
-#: ../midori/main.c:770 ../midori/main.c:798 ../midori/main.c:827
+#: ../midori/main.c:789 ../midori/main.c:817 ../midori/main.c:846
 #, c-format
 msgid "The bookmarks couldn't be saved. %s"
-msgstr "Les signets n'ont pu être enregistrés. %s"
+msgstr "Les signets n'ont pas pu être enregistrés. %s"
 
 # pas très content
 #. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:850 ../midori/main.c:873
+#: ../midori/main.c:869 ../midori/main.c:892
 #, c-format
 msgid "The trash couldn't be saved. %s"
-msgstr "La corbeille n'a pu être enregistrée. %s"
+msgstr "La corbeille n'a pas pu être enregistrée. %s"
 
-#: ../midori/main.c:946
+#: ../midori/main.c:965
 #, c-format
 msgid "The session couldn't be saved. %s"
-msgstr "La session n'a pu être enregistrée. %s"
+msgstr "La session n'a pas pu être enregistrée. %s"
 
-#: ../midori/main.c:1073
+#: ../midori/main.c:1092
 msgid ""
 "Midori seems to have crashed the last time it was opened. If this happened "
 "repeatedly, try one of the following options to solve the problem."
@@ -115,106 +116,116 @@ msgstr ""
 "utilisation. Si cela se produit de façon répétée, essayez l'une des options "
 "suivantes pour résoudre le problème."
 
-#: ../midori/main.c:1088
+#: ../midori/main.c:1107
 msgid "Modify _preferences"
 msgstr "Modifier les _préférences"
 
-#: ../midori/main.c:1092
+#: ../midori/main.c:1111
 msgid "Reset the last _session"
 msgstr "Réinitialiser la dernière _session"
 
-#: ../midori/main.c:1097
+#: ../midori/main.c:1116
 msgid "Disable all _extensions"
 msgstr "Désactiver toutes les _extensions"
 
-#: ../midori/main.c:1288
+#: ../midori/main.c:1315
 msgid "No filename specified"
 msgstr "Aucun nom de fichier spécifié"
 
-#: ../midori/main.c:1311
+#: ../midori/main.c:1338
 msgid "An unknown error occured."
 msgstr "Une erreur inconnue est survenue."
 
-#: ../midori/main.c:1336
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "Capture enregistrée sous: %s\n"
+
+#: ../midori/main.c:1391
 msgid "Run ADDRESS as a web application"
-msgstr "Exécuter l'adresse spécifié comme application internet"
+msgstr "Lancer l'ADRESSE spécifiée comme une application internet"
 
-#: ../midori/main.c:1336
+#: ../midori/main.c:1391
 msgid "ADDRESS"
-msgstr "Adresse"
+msgstr "ADRESSE"
 
-#: ../midori/main.c:1338
+#: ../midori/main.c:1393
 msgid "Use FOLDER as configuration folder"
 msgstr "Utiliser DOSSIER comme dossier de configuration"
 
-#: ../midori/main.c:1338
+#: ../midori/main.c:1393
 msgid "FOLDER"
 msgstr "DOSSIER"
 
-#: ../midori/main.c:1340
+#: ../midori/main.c:1395
 msgid "Run the specified filename as javascript"
-msgstr "Exécuter le fichier spécifié en tant que javascript"
+msgstr "Lancer le fichier spécifié en tant que javascript"
 
-#: ../midori/main.c:1342
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr "Prendre une capture de l'URI spécifiée"
+
+#: ../midori/main.c:1401
 msgid "Display program version"
 msgstr "Afficher la version du programme"
 
-#: ../midori/main.c:1344
+#: ../midori/main.c:1403
 msgid "Addresses"
 msgstr "Adresses"
 
-#: ../midori/main.c:1385
+#: ../midori/main.c:1446
 msgid "[Addresses]"
 msgstr "[Adresses]"
 
-#: ../midori/main.c:1408
+#: ../midori/main.c:1469
 msgid "Please report comments, suggestions and bugs to:"
-msgstr "Merci d'envoyer vos commentaires, suggestions et anomalies à :"
+msgstr ""
+"Merci d'envoyer vos commentaires, suggestions et rapports d'anomalies à :"
 
-#: ../midori/main.c:1410
+#: ../midori/main.c:1471
 msgid "Check for new versions at:"
 msgstr "Vérifier l'existence de nouvelles versions à :"
 
-#: ../midori/main.c:1454
+#: ../midori/main.c:1548
 msgid "The specified configuration folder is invalid."
 msgstr "Le dossier de configuration specifié n'est pas valide."
 
-#: ../midori/main.c:1489
+#: ../midori/main.c:1583
 msgid "An instance of Midori is already running but not responding.\n"
 msgstr "Une instance de Midori est déjà lancée mais ne répond pas.\n"
 
-#: ../midori/main.c:1539
+#: ../midori/main.c:1633
 #, c-format
 msgid "The search engines couldn't be loaded. %s\n"
-msgstr "Les moteurs de recherche n'ont pu être chargés. %s\n"
+msgstr "Les moteurs de recherche n'ont pas pu être chargés. %s\n"
 
-#: ../midori/main.c:1551
+#: ../midori/main.c:1645
 #, c-format
 msgid "The bookmarks couldn't be loaded: %s\n"
-msgstr "Les signets n'ont pu être chargés : %s\n"
+msgstr "Les signets n'ont pas pu être chargés : %s\n"
 
-#: ../midori/main.c:1566
+#: ../midori/main.c:1660
 #, c-format
 msgid "The session couldn't be loaded: %s\n"
-msgstr "La session n'a pu être chargée : %s\n"
+msgstr "La session n'a pas pu être chargée : %s\n"
 
 # pas très content
-#: ../midori/main.c:1579
+#: ../midori/main.c:1673
 #, c-format
 msgid "The trash couldn't be loaded: %s\n"
-msgstr "La corbeille n'a pu être chargée : %s\n"
+msgstr "La corbeille n'a pas pu être chargée : %s\n"
 
 # pas très content
-#: ../midori/main.c:1592
+#: ../midori/main.c:1686
 #, c-format
 msgid "The history couldn't be loaded: %s\n"
-msgstr "L'historique n'a pu être chargé : %s\n"
+msgstr "L'historique n'a pas pu être chargé : %s\n"
 
-#: ../midori/main.c:1604
+#: ../midori/main.c:1698
 msgid "The following errors occured:"
-msgstr "Les erreurs suivantes ont eu lieu :"
+msgstr "Les erreurs suivantes sont survenues :"
 
-#: ../midori/main.c:1620
+#: ../midori/main.c:1714
 msgid "_Ignore"
 msgstr "_Ignorer"
 
@@ -226,124 +237,138 @@ msgstr "Fichier non trouvé."
 msgid "Malformed document."
 msgstr "Document mal formé."
 
-#: ../midori/midori-array.c:338 ../midori/sokoke.c:625
+#: ../midori/midori-array.c:338 ../midori/sokoke.c:692
 #, c-format
 msgid "Writing failed."
 msgstr "L'écriture a échoué."
 
-#: ../midori/midori-browser.c:280 ../midori/midori-browser.c:3368
-#: ../midori/midori-browser.c:3374
+#: ../midori/midori-browser.c:297 ../midori/midori-browser.c:3965
+#: ../midori/midori-browser.c:3971
 msgid "Reload the current page"
-msgstr "Actualiser la page"
+msgstr "Actualiser la page courante"
 
-#: ../midori/midori-browser.c:291 ../midori/midori-browser.c:3371
+#: ../midori/midori-browser.c:308 ../midori/midori-browser.c:3968
 msgid "Stop loading the current page"
-msgstr "Arrêter le chargement de la page"
+msgstr "Arrêter le chargement de la page courante"
 
-#: ../midori/midori-browser.c:353
+#: ../midori/midori-browser.c:370
 #, c-format
 msgid "%d%% loaded"
-msgstr "%d %% chargés"
+msgstr "%d%% chargés"
 
-#: ../midori/midori-browser.c:378
+#: ../midori/midori-browser.c:395
 #, c-format
 msgid "Unexpected action '%s'."
-msgstr "Action inattendue « %s »"
+msgstr "Action inattendue « %s »."
 
-#: ../midori/midori-browser.c:541
+#: ../midori/midori-browser.c:637
 msgid "New folder"
 msgstr "Nouveau répertoire"
 
-#: ../midori/midori-browser.c:541
+#: ../midori/midori-browser.c:637
 msgid "Edit folder"
 msgstr "Modifier le répertoire"
 
-#: ../midori/midori-browser.c:543
+#: ../midori/midori-browser.c:639
 msgid "New bookmark"
 msgstr "Nouveau signet"
 
-#: ../midori/midori-browser.c:543
+#: ../midori/midori-browser.c:639
 msgid "Edit bookmark"
 msgstr "Modifier le signet"
 
-#: ../midori/midori-browser.c:573
+#: ../midori/midori-browser.c:669
 msgid "_Title:"
 msgstr "_Titre :"
 
-#: ../midori/midori-browser.c:586 ../midori/midori-searchaction.c:948
+#: ../midori/midori-browser.c:682 ../midori/midori-searchaction.c:948
 msgid "_Description:"
 msgstr "_Description :"
 
-#: ../midori/midori-browser.c:605 ../midori/midori-searchaction.c:962
+#: ../midori/midori-browser.c:701 ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
 msgid "_Address:"
 msgstr "_Adresse :"
 
 # manque un raccourcis Alt+X
-#: ../midori/midori-browser.c:624
+#: ../midori/midori-browser.c:720
 msgid "_Folder:"
 msgstr "_Dossier :"
 
-#: ../midori/midori-browser.c:629 ../midori/midori-browser.c:670
+#: ../midori/midori-browser.c:725 ../midori/midori-browser.c:766
 msgid "Toplevel folder"
 msgstr "Répertoire supérieur"
 
-#: ../midori/midori-browser.c:746
+#: ../midori/midori-browser.c:842
 msgid "Save file as"
 msgstr "Enregistrer le fichier sous"
 
-#: ../midori/midori-browser.c:1523
+#: ../midori/midori-browser.c:1174
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "Le fichier <b>%s</b> a été téléchargé."
+
+#: ../midori/midori-browser.c:1178
+msgid "Transfer completed"
+msgstr "Transfert terminé"
+
+#: ../midori/midori-browser.c:1888
 msgid "Open file"
 msgstr "Ouvrir le fichier"
 
-#: ../midori/midori-browser.c:2803 ../panels/midori-bookmarks.c:782
-#: ../panels/midori-history.c:809
+#: ../midori/midori-browser.c:3242 ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:811
 msgid "Open all in _Tabs"
 msgstr "Tout ouvrir dans des _onglets"
 
-#: ../midori/midori-browser.c:2810 ../panels/midori-bookmarks.c:788
-#: ../panels/midori-history.c:815
+#: ../midori/midori-browser.c:3249 ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:817 ../extensions/feed-panel/feed-panel.c:542
 msgid "Open in New _Tab"
 msgstr "Ouvrir dans un nouvel _onglet"
 
-#: ../midori/midori-browser.c:2813 ../panels/midori-bookmarks.c:790
-#: ../panels/midori-history.c:817
+#: ../midori/midori-browser.c:3252 ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:819 ../extensions/feed-panel/feed-panel.c:544
 msgid "Open in New _Window"
 msgstr "Ouvrir dans une nouvelle _fenêtre"
 
-#: ../midori/midori-browser.c:2974
+#: ../midori/midori-browser.c:3551
 msgid "Clear Private Data"
-msgstr "Effacer informations privées"
+msgstr "Effacer les informations privées"
 
-#: ../midori/midori-browser.c:2977
+#: ../midori/midori-browser.c:3554
 msgid "_Clear private data"
-msgstr "_Effacer informations privées"
+msgstr "_Effacer les informations privées"
 
-#: ../midori/midori-browser.c:2990
+#: ../midori/midori-browser.c:3567
 msgid "Clear the following data:"
 msgstr "Effacer les informations suivantes :"
 
-#: ../midori/midori-browser.c:2998 ../midori/midori-preferences.c:640
+#: ../midori/midori-browser.c:3575 ../midori/midori-preferences.c:670
 #: ../panels/midori-history.c:108
 msgid "History"
 msgstr "Historique"
 
-#: ../midori/midori-browser.c:3001
+#: ../midori/midori-browser.c:3580
 msgid "Cookies"
-msgstr "Fichiers témoins/ Cookies"
+msgstr "Fichiers témoins / Cookies"
 
-#: ../midori/midori-browser.c:3004
+#: ../midori/midori-browser.c:3585
 msgid "'Flash' Cookies"
 msgstr "Cookies « Flash »"
 
-#: ../midori/midori-browser.c:3007
+#: ../midori/midori-browser.c:3590
 msgid "Website icons"
-msgstr "Icônes de pages internet"
+msgstr "Icônes des pages Internet"
 
-#: ../midori/midori-browser.c:3093
+#: ../midori/midori-browser.c:3596 ../midori/sokoke.c:859
+msgid "_Closed Tabs and Windows"
+msgstr "Onglets et fenêtres _fermés"
+
+#: ../midori/midori-browser.c:3677
 msgid "A lightweight web browser."
-msgstr "Un navigateur internet léger."
+msgstr "Un navigateur Internet léger."
 
-#: ../midori/midori-browser.c:3101
+#: ../midori/midori-browser.c:3685
 msgid "translator-credits"
 msgstr ""
 "Christian Dywan <christian@twotoasts.de>\n"
@@ -351,979 +376,1060 @@ msgstr ""
 "Robert-André Mauchin <zebob.m@pengzone.org>\n"
 "Pascal Gervais <pggervais@yahoo.ca>"
 
-#: ../midori/midori-browser.c:3302
+#: ../midori/midori-browser.c:3899
 msgid "_File"
 msgstr "_Fichier"
 
-#: ../midori/midori-browser.c:3305
+#: ../midori/midori-browser.c:3902
 msgid "Open a new window"
 msgstr "Ouvrir une nouvelle fenêtre"
 
-#: ../midori/midori-browser.c:3308
+#: ../midori/midori-browser.c:3905
 msgid "Open a new tab"
 msgstr "Ouvrir un nouvel onglet"
 
-#: ../midori/midori-browser.c:3311
+#: ../midori/midori-browser.c:3908
 msgid "Open a file"
 msgstr "Ouvrir un fichier"
 
-#: ../midori/midori-browser.c:3314
+#: ../midori/midori-browser.c:3911
 msgid "Save to a file"
 msgstr "Enregistrer dans un fichier"
 
-#: ../midori/midori-browser.c:3316
+#: ../midori/midori-browser.c:3913 ../midori/midori-view.c:1337
+msgid "Add to Speed _dial"
+msgstr "Ajouter à la page d'appel rapi_de"
+
+#: ../midori/midori-browser.c:3914
+msgid "Add shortcut to speed dial"
+msgstr "Ajouter un raccourci à la page d'appel rapide"
+
+#: ../midori/midori-browser.c:3916
 msgid "_Close Tab"
 msgstr "Fe_rmer l'onglet"
 
-#: ../midori/midori-browser.c:3317
+#: ../midori/midori-browser.c:3917
 msgid "Close the current tab"
 msgstr "Fermer l'onglet actuel"
 
-#: ../midori/midori-browser.c:3319
+#: ../midori/midori-browser.c:3919
 msgid "C_lose Window"
 msgstr "_Fermer la fenêtre"
 
-#: ../midori/midori-browser.c:3320
+#: ../midori/midori-browser.c:3920
 msgid "Close this window"
 msgstr "Fermer cette fenêtre"
 
-#: ../midori/midori-browser.c:3323
+#: ../midori/midori-browser.c:3923
 msgid "Print the current page"
 msgstr "Imprimer la page actuelle"
 
-#: ../midori/midori-browser.c:3326
+#: ../midori/midori-browser.c:3926
 msgid "Quit the application"
 msgstr "Quitter le programme"
 
-#: ../midori/midori-browser.c:3328
+#: ../midori/midori-browser.c:3928
 msgid "_Edit"
 msgstr "É_dition"
 
-#: ../midori/midori-browser.c:3331
+#: ../midori/midori-browser.c:3931
 msgid "Cut the selected text"
 msgstr "Couper le texte sélectionné"
 
-#: ../midori/midori-browser.c:3334 ../midori/midori-browser.c:3337
+#: ../midori/midori-browser.c:3934 ../midori/midori-browser.c:3937
 msgid "Copy the selected text"
 msgstr "Copier le texte sélectionné"
 
-#: ../midori/midori-browser.c:3340
+#: ../midori/midori-browser.c:3940
 msgid "Paste text from the clipboard"
 msgstr "Coller le texte à partir du presse-papiers"
 
-#: ../midori/midori-browser.c:3343
+#: ../midori/midori-browser.c:3943
 msgid "Delete the selected text"
 msgstr "Supprimer le texte sélectionné"
 
-#: ../midori/midori-browser.c:3346
+#: ../midori/midori-browser.c:3946
 msgid "Select all text"
 msgstr "Sélectionner tout le texte"
 
-#: ../midori/midori-browser.c:3349
+#: ../midori/midori-browser.c:3949
 msgid "Find a word or phrase in the page"
 msgstr "Rechercher un mot ou une phrase dans la page"
 
-#: ../midori/midori-browser.c:3351
+#: ../midori/midori-browser.c:3951
 msgid "Find _Next"
 msgstr "Rechercher le _suivant"
 
-#: ../midori/midori-browser.c:3352
+#: ../midori/midori-browser.c:3952
 msgid "Find the next occurrence of a word or phrase"
 msgstr "Rechercher l'occurrence suivante d'un mot ou d'une phrase"
 
-#: ../midori/midori-browser.c:3354
+#: ../midori/midori-browser.c:3954
 msgid "Find _Previous"
 msgstr "Rechercher le _précédent"
 
-#: ../midori/midori-browser.c:3355
+#: ../midori/midori-browser.c:3955
 msgid "Find the previous occurrence of a word or phrase"
 msgstr "Rechercher l'occurrence précédente d'un mot ou d'une phrase"
 
-#: ../midori/midori-browser.c:3358
-msgid "_Quick Find"
-msgstr "Recherche rapi_de"
-
-#: ../midori/midori-browser.c:3359
-msgid "Quickly jump to a word or phrase"
-msgstr "Saut rapide vers un mot ou une phrase"
-
-#: ../midori/midori-browser.c:3362
+#: ../midori/midori-browser.c:3959
 msgid "Configure the application preferences"
 msgstr "Configurer les préférences de l'application"
 
-#: ../midori/midori-browser.c:3364
+#: ../midori/midori-browser.c:3961
 msgid "_View"
 msgstr "_Affichage"
 
-#: ../midori/midori-browser.c:3365
+#: ../midori/midori-browser.c:3962
 msgid "_Toolbars"
 msgstr "_Barre d'outils"
 
-#: ../midori/midori-browser.c:3377
+#: ../midori/midori-browser.c:3974
 msgid "Increase the zoom level"
 msgstr "Augmenter le niveau d'agrandissement"
 
-#: ../midori/midori-browser.c:3380
+#: ../midori/midori-browser.c:3977
 msgid "Decrease the zoom level"
 msgstr "Diminuer le niveau d'agrandissement"
 
-#: ../midori/midori-browser.c:3383
+#: ../midori/midori-browser.c:3980
 msgid "Reset the zoom level"
 msgstr "Réinitialiser le niveau d'agrandissement"
 
-#: ../midori/midori-browser.c:3384
+#: ../midori/midori-browser.c:3981
 msgid "_Encoding"
 msgstr "_Encodage"
 
-#: ../midori/midori-browser.c:3386
+#: ../midori/midori-browser.c:3983
 msgid "_Automatic"
 msgstr "_Automatique"
 
-#: ../midori/midori-browser.c:3389 ../midori/midori-websettings.c:200
+#: ../midori/midori-browser.c:3986 ../midori/midori-websettings.c:208
 msgid "Chinese (BIG5)"
 msgstr "Chinois (BIG5)"
 
-#: ../midori/midori-browser.c:3392 ../midori/midori-websettings.c:201
+#: ../midori/midori-browser.c:3989 ../midori/midori-websettings.c:209
 msgid "Japanese (SHIFT_JIS)"
 msgstr "Japonais (SHIFT_JIS)"
 
-#: ../midori/midori-browser.c:3395 ../midori/midori-websettings.c:202
+#: ../midori/midori-browser.c:3992 ../midori/midori-websettings.c:210
 msgid "Russian (KOI8-R)"
 msgstr "Russe (KOI8-R)"
 
-#: ../midori/midori-browser.c:3398 ../midori/midori-websettings.c:203
+#: ../midori/midori-browser.c:3995 ../midori/midori-websettings.c:211
 msgid "Unicode (UTF-8)"
 msgstr "Unicode (UTF-8)"
 
-#: ../midori/midori-browser.c:3401 ../midori/midori-websettings.c:204
+#: ../midori/midori-browser.c:3998 ../midori/midori-websettings.c:212
 msgid "Western (ISO-8859-1)"
 msgstr "Occidental (ISO-8859-1)"
 
-#: ../midori/midori-browser.c:3404 ../midori/midori-websettings.c:205
-#: ../midori/midori-websettings.c:277
+#: ../midori/midori-browser.c:4001 ../midori/midori-websettings.c:213
+#: ../midori/midori-websettings.c:285
 msgid "Custom..."
 msgstr "Personnalisé..."
 
-#: ../midori/midori-browser.c:3407 ../midori/midori-view.c:1138
+#: ../midori/midori-browser.c:4004 ../midori/midori-view.c:1356
 msgid "View _Source"
 msgstr "Afficher la _source"
 
-#: ../midori/midori-browser.c:3408
+#: ../midori/midori-browser.c:4005
 msgid "View the source code of the page"
 msgstr "Affiche le code source de la page"
 
-#: ../midori/midori-browser.c:3410
+#: ../midori/midori-browser.c:4007
 msgid "View Selection Source"
 msgstr "Afficher la source de la sélection"
 
-#: ../midori/midori-browser.c:3411
+#: ../midori/midori-browser.c:4008
 msgid "View the source code of the selection"
 msgstr "Afficher le code source de la sélection"
 
-#: ../midori/midori-browser.c:3415
+#: ../midori/midori-browser.c:4012
 msgid "Toggle fullscreen view"
 msgstr "Activer/désactiver le plein écran"
 
-#: ../midori/midori-browser.c:3417
+#: ../midori/midori-browser.c:4014
 msgid "_Go"
 msgstr "A_ller"
 
-#: ../midori/midori-browser.c:3420
+#: ../midori/midori-browser.c:4017
 msgid "Go back to the previous page"
 msgstr "Aller à la page précédente"
 
-#: ../midori/midori-browser.c:3423
+#: ../midori/midori-browser.c:4020
 msgid "Go forward to the next page"
 msgstr "Aller à la page suivante"
 
-#: ../midori/midori-browser.c:3426
+#: ../midori/midori-browser.c:4023
 msgid "Go to your homepage"
 msgstr "Aller à la page d'accueil"
 
-#: ../midori/midori-browser.c:3428
+#: ../midori/midori-browser.c:4025
 msgid "Empty Trash"
 msgstr "Vider la corbeille"
 
-#: ../midori/midori-browser.c:3429
+#: ../midori/midori-browser.c:4026
 msgid "Delete the contents of the trash"
 msgstr "Supprimer le contenu de la corbeille"
 
-#: ../midori/midori-browser.c:3431 ../midori/midori-view.c:1110
+#: ../midori/midori-browser.c:4028 ../midori/midori-view.c:1314
 msgid "Undo Close Tab"
 msgstr "Annuler la fermeture de l'onglet"
 
-#: ../midori/midori-browser.c:3432
+#: ../midori/midori-browser.c:4029
 msgid "Open the last closed tab"
 msgstr "Ouvrir le dernier onglet fermé"
 
-#: ../midori/midori-browser.c:3436 ../panels/midori-bookmarks.c:232
+#: ../midori/midori-browser.c:4033 ../panels/midori-bookmarks.c:230
 msgid "Add a new bookmark"
 msgstr "Ajouter un nouveau signet"
 
-#: ../midori/midori-browser.c:3438 ../panels/midori-bookmarks.c:261
+#: ../midori/midori-browser.c:4035 ../panels/midori-bookmarks.c:259
 msgid "Add a new folder"
 msgstr "Ajouter un nouveau répertoire"
 
-#: ../midori/midori-browser.c:3439
+#: ../midori/midori-browser.c:4036
 msgid "Add a new bookmark folder"
-msgstr "Ajouter un nouveau dossier signet"
+msgstr "Ajouter un nouveau dossier de signets"
 
-#: ../midori/midori-browser.c:3440
+#: ../midori/midori-browser.c:4037
 msgid "_Tools"
 msgstr "_Outils"
 
-#: ../midori/midori-browser.c:3442 ../midori/midori-searchaction.c:493
+#: ../midori/midori-browser.c:4039 ../midori/midori-searchaction.c:493
 msgid "_Manage Search Engines"
 msgstr "_Gestion des moteurs de recherche"
 
-#: ../midori/midori-browser.c:3443
+#: ../midori/midori-browser.c:4040
 msgid "Add, edit and remove search engines..."
 msgstr "Ajouter, modifier et supprimer des moteurs de recherche..."
 
-#: ../midori/midori-browser.c:3446
+#: ../midori/midori-browser.c:4043
 msgid "_Clear Private Data"
 msgstr "_Effacer les informations privées"
 
-#: ../midori/midori-browser.c:3447
+#: ../midori/midori-browser.c:4044
 msgid "Clear private data..."
 msgstr "Effacer les informations privées..."
 
-#: ../midori/midori-browser.c:3451
+#: ../midori/midori-browser.c:4048
 msgid "_Previous Tab"
 msgstr "Onglet _précedent"
 
-#: ../midori/midori-browser.c:3452
+#: ../midori/midori-browser.c:4049
 msgid "Switch to the previous tab"
 msgstr "Bascule vers l'onglet précédent"
 
-#: ../midori/midori-browser.c:3454
+#: ../midori/midori-browser.c:4051
 msgid "_Next Tab"
 msgstr "Onglet _suivant"
 
-#: ../midori/midori-browser.c:3455
+#: ../midori/midori-browser.c:4052
 msgid "Switch to the next tab"
 msgstr "Bascule vers l'onglet suivant"
 
-#: ../midori/midori-browser.c:3457
+#: ../midori/midori-browser.c:4054
 msgid "_Help"
 msgstr "Aid_e"
 
-#: ../midori/midori-browser.c:3459
+#: ../midori/midori-browser.c:4056
 msgid "_Contents"
 msgstr "_Sommaire"
 
-#: ../midori/midori-browser.c:3460
+#: ../midori/midori-browser.c:4057
 msgid "Show the documentation"
 msgstr "Afficher la documentation"
 
-#: ../midori/midori-browser.c:3462
+#: ../midori/midori-browser.c:4059
 msgid "_Frequent Questions"
 msgstr "_Questions fréquentes"
 
-#: ../midori/midori-browser.c:3463
+#: ../midori/midori-browser.c:4060
 msgid "Show the Frequently Asked Questions"
 msgstr "Afficher la foire aux questions"
 
-#: ../midori/midori-browser.c:3465
+#: ../midori/midori-browser.c:4062
 msgid "_Report a Bug"
-msgstr "_Rapporter une anomalie"
+msgstr "_Signaler une anomalie"
 
-#: ../midori/midori-browser.c:3466
+#: ../midori/midori-browser.c:4063
 msgid "Open Midori's bug tracker"
-msgstr "Ouvrir le gestionnaire d'anomalies de Midori"
+msgstr "Ouvrir l'outil de suivi d'anomalies de Midori"
 
-#: ../midori/midori-browser.c:3469
+#: ../midori/midori-browser.c:4066
 msgid "Show information about the program"
-msgstr "Afficher des informations concernant le programme"
+msgstr "Afficher les informations sur le programme"
 
-#: ../midori/midori-browser.c:3476
+#: ../midori/midori-browser.c:4073
 msgid "P_rivate Browsing"
-msgstr "Navigation _privée"
+msgstr "Navigation en mode _privé"
 
-#: ../midori/midori-browser.c:3477
+#: ../midori/midori-browser.c:4074
 msgid "Don't save any private data while browsing"
 msgstr "Ne pas enregistrer de données privées durant la navigation"
 
-#: ../midori/midori-browser.c:3482
+#: ../midori/midori-browser.c:4079
 msgid "_Menubar"
 msgstr "Barre de _menu"
 
-#: ../midori/midori-browser.c:3483
+#: ../midori/midori-browser.c:4080
 msgid "Show menubar"
 msgstr "Afficher la barre de menu"
 
-#: ../midori/midori-browser.c:3486
+#: ../midori/midori-browser.c:4083
 msgid "_Navigationbar"
 msgstr "Barre de _navigation"
 
-#: ../midori/midori-browser.c:3487
+#: ../midori/midori-browser.c:4084
 msgid "Show navigationbar"
 msgstr "Afficher la barre de navigation"
 
-#: ../midori/midori-browser.c:3490
+#: ../midori/midori-browser.c:4087
 msgid "Side_panel"
 msgstr "_Panneau latéral"
 
-#: ../midori/midori-browser.c:3491
+#: ../midori/midori-browser.c:4088
 msgid "Show sidepanel"
 msgstr "Afficher le panneau latéral"
 
-#: ../midori/midori-browser.c:3494
+#: ../midori/midori-browser.c:4091
 msgid "_Bookmarkbar"
-msgstr "Barre de _signets"
+msgstr "Barre des _signets"
 
-#: ../midori/midori-browser.c:3495
+#: ../midori/midori-browser.c:4092
 msgid "Show bookmarkbar"
 msgstr "Afficher la barre des signets"
 
-#: ../midori/midori-browser.c:3498
+#: ../midori/midori-browser.c:4095
 msgid "_Transferbar"
-msgstr "Barre de _transferts"
+msgstr "Barre des _transferts"
 
-#: ../midori/midori-browser.c:3499
+#: ../midori/midori-browser.c:4096
 msgid "Show transferbar"
 msgstr "Afficher la barre des transferts"
 
-#: ../midori/midori-browser.c:3502
+#: ../midori/midori-browser.c:4099
 msgid "_Statusbar"
 msgstr "Barre d'é_tat"
 
-#: ../midori/midori-browser.c:3503
+#: ../midori/midori-browser.c:4100
 msgid "Show statusbar"
 msgstr "Afficher la barre d'état"
 
-#: ../midori/midori-browser.c:3937
+#: ../midori/midori-browser.c:4534
 msgid "_Separator"
 msgstr "_Séparateur"
 
-#: ../midori/midori-browser.c:3944
+#: ../midori/midori-browser.c:4541
 msgid "_Location..."
 msgstr "_Emplacement..."
 
-#: ../midori/midori-browser.c:3946
+#: ../midori/midori-browser.c:4543
 msgid "Open a particular location"
 msgstr "Ouvrir un emplacement particulier"
 
-#: ../midori/midori-browser.c:3970
+#: ../midori/midori-browser.c:4565
 msgid "_Web Search..."
-msgstr "Recherche _internet..."
+msgstr "Recherche _Internet..."
 
-#: ../midori/midori-browser.c:3972
+#: ../midori/midori-browser.c:4567
 msgid "Run a web search"
-msgstr "Lancer une recherche sur l'internet"
+msgstr "Lancer une recherche sur Internet"
 
-#: ../midori/midori-browser.c:3993
+#: ../midori/midori-browser.c:4588
 msgid "Reopen a previously closed tab or window"
-msgstr "Rouvrir un onglet ou une fenêtre précédemment fermé"
+msgstr "Réouvrir un onglet ou une fenêtre précédemment fermé"
 
-#: ../midori/midori-browser.c:4006
+#: ../midori/midori-browser.c:4603
 msgid "_Recently visited pages"
 msgstr "Pages _récemment visitées"
 
-#: ../midori/midori-browser.c:4008
+#: ../midori/midori-browser.c:4605
 msgid "Reopen pages that you visited earlier"
-msgstr "Rouvrir des pages précédemment visitées"
+msgstr "Réouvrir des pages précédemment visitées"
 
-#: ../midori/midori-browser.c:4021 ../midori/sokoke.c:781
+#: ../midori/midori-browser.c:4620 ../midori/sokoke.c:848
 msgid "_Bookmarks"
 msgstr "_Signets"
 
-#: ../midori/midori-browser.c:4023
+#: ../midori/midori-browser.c:4622
 msgid "Show the saved bookmarks"
 msgstr "Afficher les signets sauvegardés"
 
-#: ../midori/midori-browser.c:4036
+#: ../midori/midori-browser.c:4637
 msgid "_Window"
 msgstr "_Fenêtre"
 
-#: ../midori/midori-browser.c:4038
+#: ../midori/midori-browser.c:4639
 msgid "Show a list of all open tabs"
 msgstr "Afficher une liste de tous les onglets ouverts"
 
 #. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:4205
+#: ../midori/midori-browser.c:4814
 msgid "_Inline Find:"
 msgstr "_Recherche rapide :"
 
-#: ../midori/midori-browser.c:4230
+#: ../midori/midori-browser.c:4839
 msgid "Previous"
 msgstr "Précedent"
 
-#: ../midori/midori-browser.c:4235
+#: ../midori/midori-browser.c:4844
 msgid "Next"
 msgstr "Suivant"
 
-#: ../midori/midori-browser.c:4240
+#: ../midori/midori-browser.c:4849
 msgid "Match Case"
 msgstr "Sensible à la casse"
 
-#: ../midori/midori-browser.c:4248
+#: ../midori/midori-browser.c:4857
 msgid "Highlight Matches"
-msgstr "Résultats analogues en surbrillance"
+msgstr "Surligner les résultats"
 
-#: ../midori/midori-browser.c:4258
+#: ../midori/midori-browser.c:4867
 msgid "Close Findbar"
 msgstr "Fermer la barre de recherche"
 
-#: ../midori/midori-browser.c:4598
+#: ../midori/midori-browser.c:4902
+#: ../extensions/cookie-manager/cookie-manager-page.c:129
+msgid "Delete All"
+msgstr "Supprimer tous"
+
+#: ../midori/midori-browser.c:5224
 #, c-format
 msgid "Unexpected setting '%s'"
 msgstr "Paramètre inattendu « %s »"
 
-#: ../midori/midori-panel.c:309
+#: ../midori/midori-panel.c:333
 msgid "Detach chosen panel from the window"
-msgstr "Détacher le panneau choisi du fenêtre"
+msgstr "Détacher le panneau choisi de la fenêtre"
 
-#: ../midori/midori-panel.c:311
+#: ../midori/midori-panel.c:335
 msgid "Whether to detach the chosen panel from the window"
-msgstr "Indique s'il faut détacher le panneau latéral choisi du fenêtre"
+msgstr "Indique s'il faut détacher le panneau latéral choisi de la fenêtre"
 
-#: ../midori/midori-panel.c:321 ../midori/midori-websettings.c:531
+#: ../midori/midori-panel.c:345 ../midori/midori-websettings.c:539
 msgid "Align sidepanel on the right"
 msgstr "Aligner le panneau latéral sur la droite"
 
-#: ../midori/midori-panel.c:323 ../midori/midori-websettings.c:532
+#: ../midori/midori-panel.c:347 ../midori/midori-websettings.c:540
 msgid "Whether to align the sidepanel on the right"
 msgstr "Indique s'il faut aligner le panneau latéral sur la droite"
 
-#: ../midori/midori-panel.c:333 ../midori/midori-panel.c:334
+#: ../midori/midori-panel.c:357 ../midori/midori-panel.c:358
 msgid "Close panel"
 msgstr "Fermer le panneau"
 
-#: ../midori/midori-websettings.c:183 ../midori/midori-view.c:1949
+#: ../midori/midori-websettings.c:191 ../midori/midori-view.c:2250
 msgid "Blank page"
 msgstr "Page vierge"
 
-#: ../midori/midori-websettings.c:184 ../midori/midori-websettings.c:551
+#: ../midori/midori-websettings.c:192 ../midori/midori-websettings.c:559
 msgid "Homepage"
 msgstr "Page d'accueil"
 
-#: ../midori/midori-websettings.c:185
+#: ../midori/midori-websettings.c:193
 msgid "Last open pages"
 msgstr "Dernières pages ouvertes"
 
-#: ../midori/midori-websettings.c:220
+#: ../midori/midori-websettings.c:228
 msgid "New tab"
 msgstr "Nouvel onglet"
 
-#: ../midori/midori-websettings.c:221
+#: ../midori/midori-websettings.c:229
 msgid "New window"
 msgstr "Nouvelle fenêtre"
 
-#: ../midori/midori-websettings.c:222
+#: ../midori/midori-websettings.c:230
 msgid "Current tab"
 msgstr "Onglet actuel"
 
-#: ../midori/midori-websettings.c:237
+#: ../midori/midori-websettings.c:245
 msgid "Default"
 msgstr "Par défaut"
 
-#: ../midori/midori-websettings.c:238
+#: ../midori/midori-websettings.c:246
 msgid "Icons"
 msgstr "Icônes"
 
-#: ../midori/midori-websettings.c:239
+#: ../midori/midori-websettings.c:247
 msgid "Text"
 msgstr "Texte"
 
-#: ../midori/midori-websettings.c:240
+#: ../midori/midori-websettings.c:248
 msgid "Both"
 msgstr "Les deux"
 
-#: ../midori/midori-websettings.c:241
+#: ../midori/midori-websettings.c:249
 msgid "Both horizontal"
 msgstr "Les deux horizontalement"
 
-#: ../midori/midori-websettings.c:256
+#: ../midori/midori-websettings.c:264
 msgid "All cookies"
 msgstr "Tous les fichiers témoins"
 
-#: ../midori/midori-websettings.c:257
+#: ../midori/midori-websettings.c:265
 msgid "Session cookies"
 msgstr "Témoins de session"
 
-#: ../midori/midori-websettings.c:258 ../panels/midori-addons.c:94
+#: ../midori/midori-websettings.c:266 ../panels/midori-addons.c:94
 msgid "None"
 msgstr "Aucun"
 
-#: ../midori/midori-websettings.c:274
+#: ../midori/midori-websettings.c:282
 msgid "Safari"
 msgstr "Safari"
 
-#: ../midori/midori-websettings.c:275
+#: ../midori/midori-websettings.c:283
 msgid "Firefox"
 msgstr "Firefox"
 
-#: ../midori/midori-websettings.c:276
+#: ../midori/midori-websettings.c:284
 msgid "Internet Explorer"
 msgstr "Internet Explorer"
 
-#: ../midori/midori-websettings.c:329
+#: ../midori/midori-websettings.c:337
 msgid "Remember last window size"
 msgstr "Se souvenir de la taille de la fenêtre"
 
-#: ../midori/midori-websettings.c:330
+#: ../midori/midori-websettings.c:338
 msgid "Whether to save the last window size"
 msgstr "Indique s'il faut enregistrer la dernière taille de la fenêtre"
 
-#: ../midori/midori-websettings.c:338
+#: ../midori/midori-websettings.c:346
 msgid "Last window width"
 msgstr "Dernière largeur de la fenêtre"
 
-#: ../midori/midori-websettings.c:339
+#: ../midori/midori-websettings.c:347
 msgid "The last saved window width"
 msgstr "La dernière largeur enregistrée de la fenêtre"
 
-#: ../midori/midori-websettings.c:347
+#: ../midori/midori-websettings.c:355
 msgid "Last window height"
 msgstr "Dernière hauteur de la fenêtre"
 
-#: ../midori/midori-websettings.c:348
+#: ../midori/midori-websettings.c:356
 msgid "The last saved window height"
 msgstr "La dernière hauteur enregistrée de la fenêtre"
 
-#: ../midori/midori-websettings.c:373
+#: ../midori/midori-websettings.c:381
 msgid "Last panel position"
 msgstr "Dernière position du panneau"
 
-#: ../midori/midori-websettings.c:374
+#: ../midori/midori-websettings.c:382
 msgid "The last saved panel position"
 msgstr "La dernière position enregistrée du panneau"
 
 #. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:383
+#: ../midori/midori-websettings.c:391
 msgid "Last panel page"
 msgstr "Dernière page du panneau"
 
-#: ../midori/midori-websettings.c:384
+#: ../midori/midori-websettings.c:392
 msgid "The last saved panel page"
 msgstr "La dernière page enregistrée du panneau"
 
-#: ../midori/midori-websettings.c:392
+#: ../midori/midori-websettings.c:400
 msgid "Last Web search"
-msgstr "Dernière recherche sur la toile"
+msgstr "Dernière recherche sur Internet"
 
-#: ../midori/midori-websettings.c:393
+#: ../midori/midori-websettings.c:401
 msgid "The last saved Web search"
-msgstr "La dernière recherche sur la toile enregistrée"
+msgstr "La dernière recherche sur Internet enregistrée"
 
-#: ../midori/midori-websettings.c:402
+#: ../midori/midori-websettings.c:410
 msgid "Show Menubar"
 msgstr "Afficher la barre de menu"
 
-#: ../midori/midori-websettings.c:403
+#: ../midori/midori-websettings.c:411
 msgid "Whether to show the menubar"
 msgstr "Indique s'il faut afficher la barre de menu"
 
-#: ../midori/midori-websettings.c:411
+#: ../midori/midori-websettings.c:419
 msgid "Show Navigationbar"
 msgstr "Afficher la barre de navigation"
 
-#: ../midori/midori-websettings.c:412
+#: ../midori/midori-websettings.c:420
 msgid "Whether to show the navigationbar"
 msgstr "Indique s'il faut afficher la barre de navigation"
 
-#: ../midori/midori-websettings.c:420
+#: ../midori/midori-websettings.c:428
 msgid "Show Bookmarkbar"
 msgstr "Afficher la barre des _signets"
 
-#: ../midori/midori-websettings.c:421
+#: ../midori/midori-websettings.c:429
 msgid "Whether to show the bookmarkbar"
 msgstr "Indique s'il faut afficher la barre des signets"
 
-#: ../midori/midori-websettings.c:429
+#: ../midori/midori-websettings.c:437
 msgid "Show Panel"
 msgstr "Afficher le panneau"
 
-#: ../midori/midori-websettings.c:430
+#: ../midori/midori-websettings.c:438
 msgid "Whether to show the panel"
 msgstr "Indique s'il faut afficher le panneau"
 
-#: ../midori/midori-websettings.c:445
+#: ../midori/midori-websettings.c:453
 msgid "Show Transferbar"
 msgstr "Afficher la barre des transferts"
 
-#: ../midori/midori-websettings.c:446
+#: ../midori/midori-websettings.c:454
 msgid "Whether to show the transferbar"
 msgstr "Indique s'il faut afficher la barre de transferts"
 
-#: ../midori/midori-websettings.c:454
+#: ../midori/midori-websettings.c:462
 msgid "Show Statusbar"
 msgstr "Afficher la barre d'état"
 
-#: ../midori/midori-websettings.c:455
+#: ../midori/midori-websettings.c:463
 msgid "Whether to show the statusbar"
 msgstr "Indique s'il faut afficher la barre d'état"
 
-#: ../midori/midori-websettings.c:464
+#: ../midori/midori-websettings.c:472
 msgid "Toolbar Style"
 msgstr "Style de la barre d'outils"
 
-#: ../midori/midori-websettings.c:465
+#: ../midori/midori-websettings.c:473
 msgid "The style of the toolbar"
 msgstr "Le style de la barre d'outils"
 
-#: ../midori/midori-websettings.c:481
+#: ../midori/midori-websettings.c:489
 msgid "Show progress in location entry"
-msgstr "Progression dans le champ d'adresse"
+msgstr "Progression dans la barre d'adresse"
 
-#: ../midori/midori-websettings.c:482
+#: ../midori/midori-websettings.c:490
 msgid "Whether to show loading progress in the location entry"
-msgstr "Indique s'il faut afficher la progression dans le champ d'adresse"
+msgstr "Indique s'il faut afficher la progression dans la barre d'adresse"
 
-#: ../midori/midori-websettings.c:497
+#: ../midori/midori-websettings.c:505
 msgid "Search engines in location completion"
-msgstr "Recherche dans complètement d'adresse"
+msgstr "Moteurs de recherche dans la complétion"
 
-#: ../midori/midori-websettings.c:498
+#: ../midori/midori-websettings.c:506
 msgid "Whether to show search engines in the location completion"
 msgstr ""
-"Indique s'il faut afficher les moteurs de recherche dans le complètement "
-"d'adresse"
+"Indique s'il faut afficher les moteurs de recherche dans les résultats de "
+"complétion de la barre d'adresse"
 
-#: ../midori/midori-websettings.c:506
+#: ../midori/midori-websettings.c:514
 msgid "Toolbar Items"
 msgstr "Éléments de la barre d'outils"
 
-#: ../midori/midori-websettings.c:507
+#: ../midori/midori-websettings.c:515
 msgid "The items to show on the toolbar"
 msgstr "Les éléments à afficher dans la barre d'outils"
 
-#: ../midori/midori-websettings.c:515
+#: ../midori/midori-websettings.c:523
 msgid "Compact Sidepanel"
 msgstr "Panneau latéral compact"
 
-#: ../midori/midori-websettings.c:516
+#: ../midori/midori-websettings.c:524
 msgid "Whether to make the sidepanel compact"
 msgstr "Indique s'il faut mettre le panneau latéral compact"
 
-#: ../midori/midori-websettings.c:541
+#: ../midori/midori-websettings.c:549
 msgid "Load on Startup"
 msgstr "Charger au démarrage"
 
-#: ../midori/midori-websettings.c:542
+#: ../midori/midori-websettings.c:550
 msgid "What to load on startup"
 msgstr "Éléments à charger au démarrage"
 
-#: ../midori/midori-websettings.c:552
+#: ../midori/midori-websettings.c:560
 msgid "The homepage"
 msgstr "La page d'accueil"
 
-#: ../midori/midori-websettings.c:567
+#: ../midori/midori-websettings.c:575
 msgid "Show crash dialog"
-msgstr "Afficher le dialogue de fermeture inattendue"
+msgstr "Fenêtre de fermeture inattendue"
 
-#: ../midori/midori-websettings.c:568
+#: ../midori/midori-websettings.c:576
 msgid "Show a dialog after Midori crashed"
-msgstr "Afficher un dialogue en cas de fermeture inattendue de Midori"
+msgstr "Afficher une fenêtre en cas de fermeture inattendue de Midori"
 
-#: ../midori/midori-websettings.c:576
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:592
+msgid "Show speed dial in new tabs"
+msgstr "Appel rapide dans les nouveaux onglets"
+
+#: ../midori/midori-websettings.c:593
+msgid "Show speed dial in newly opened tabs"
+msgstr "Afficher une page d'appel rapide dans les nouveaux onglets"
+
+#: ../midori/midori-websettings.c:605
 msgid "Download Folder"
-msgstr "Dossier de téléchargements"
+msgstr "Dossier des téléchargements"
 
-#: ../midori/midori-websettings.c:577
+#: ../midori/midori-websettings.c:606
 msgid "The folder downloaded files are saved to"
 msgstr "Le dossier où enregistrer les téléchargements"
 
-#: ../midori/midori-websettings.c:589
+#: ../midori/midori-websettings.c:625
+msgid "Ask for the destination folder"
+msgstr "Demander le dossier de destination"
+
+#: ../midori/midori-websettings.c:626
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr ""
+"Indique s'il faut demander le dossier de destination quand un fichier est "
+"téléchargé."
+
+#: ../midori/midori-websettings.c:645
+msgid "Notify when a transfer has been completed"
+msgstr "Signaler la fin des transferts"
+
+#: ../midori/midori-websettings.c:646
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "Indique s'il faut signaler la fin d'un transfert par une notification"
+
+#: ../midori/midori-websettings.c:658
 msgid "Download Manager"
 msgstr "Gestionnaire de téléchargements"
 
-#: ../midori/midori-websettings.c:590
+#: ../midori/midori-websettings.c:659
 msgid "An external download manager"
 msgstr "Un gestionnaire de téléchargements externe"
 
-#: ../midori/midori-websettings.c:598
+#: ../midori/midori-websettings.c:667
 msgid "Text Editor"
 msgstr "Éditeur de texte"
 
-#: ../midori/midori-websettings.c:599
+#: ../midori/midori-websettings.c:668
 msgid "An external text editor"
 msgstr "Un éditeur de texte externe"
 
-#: ../midori/midori-websettings.c:614
+#: ../midori/midori-websettings.c:683
 msgid "News Aggregator"
 msgstr "Agrégateur de flux"
 
-#: ../midori/midori-websettings.c:615
+#: ../midori/midori-websettings.c:684
 msgid "An external news aggregator"
 msgstr "Un agrégateur de flux externe"
 
-#: ../midori/midori-websettings.c:623
+#: ../midori/midori-websettings.c:692
 msgid "Location entry Search"
 msgstr "Recherche depuis la barre d'adresse"
 
-#: ../midori/midori-websettings.c:624
+#: ../midori/midori-websettings.c:693
 msgid "The search to perform inside the location entry"
 msgstr "La recherche à effectuer à partir du contenu de la barre d'adresse"
 
-#: ../midori/midori-websettings.c:632
+#: ../midori/midori-websettings.c:701
 msgid "Preferred Encoding"
 msgstr "Encodage favori"
 
-#: ../midori/midori-websettings.c:633
+#: ../midori/midori-websettings.c:702
 msgid "The preferred character encoding"
-msgstr "Encodage des caractères favori"
+msgstr "Encodage favori des caractères"
 
-#: ../midori/midori-websettings.c:643
+#: ../midori/midori-websettings.c:712
 msgid "Always Show Tabbar"
 msgstr "Toujours afficher la barre d'onglets"
 
-#: ../midori/midori-websettings.c:644
+#: ../midori/midori-websettings.c:713
 msgid "Always show the tabbar"
 msgstr "Toujours afficher la barre d'onglets"
 
-#: ../midori/midori-websettings.c:652
+#: ../midori/midori-websettings.c:721
 msgid "Close Buttons on Tabs"
-msgstr "Boutons fermer sur les onglets"
+msgstr "Boutons de fermeture sur les onglets"
 
-#: ../midori/midori-websettings.c:653
+#: ../midori/midori-websettings.c:722
 msgid "Whether tabs have close buttons"
 msgstr "Indique s'il faut afficher un bouton de fermeture sur les onglets"
 
-#: ../midori/midori-websettings.c:661
+#: ../midori/midori-websettings.c:730
 msgid "Open new pages in"
 msgstr "Ouvrir les nouvelles pages dans"
 
-#: ../midori/midori-websettings.c:662
+#: ../midori/midori-websettings.c:731
 msgid "Where to open new pages"
-msgstr "Où ouvrir les nouvelles pages"
+msgstr "Lieu où les nouvelles pages doivent être ouvertes"
 
-#: ../midori/midori-websettings.c:671
+#: ../midori/midori-websettings.c:740
 msgid "Open external pages in"
 msgstr "Ouvrir les pages externes dans"
 
-#: ../midori/midori-websettings.c:672
+#: ../midori/midori-websettings.c:741
 msgid "Where to open externally opened pages"
-msgstr "Où ouvrir les pages externes"
+msgstr "Lieu où les pages externes doivent être ouvertes"
 
-#: ../midori/midori-websettings.c:685
+#: ../midori/midori-websettings.c:754
 msgid "Middle click opens Selection"
-msgstr "Clic du milieu ouvre la sélection"
+msgstr "Un clic milieu ouvre la sélection"
 
-#: ../midori/midori-websettings.c:686
+#: ../midori/midori-websettings.c:755
 msgid "Load an address from the selection via middle click"
 msgstr ""
-"Charger l'addresse sous la sélection avec le bouton central de la souris"
+"Charger l'addresse de la sélection avec un clic du bouton central de la "
+"souris"
 
-#: ../midori/midori-websettings.c:694
+#: ../midori/midori-websettings.c:763
 msgid "Open tabs in the background"
 msgstr "Ouvrir les onglets en arrière-plan"
 
-#: ../midori/midori-websettings.c:695
+#: ../midori/midori-websettings.c:764
 msgid "Whether to open new tabs in the background"
 msgstr "Indique s'il faut ouvrir les nouveaux onglets en arrière-plan"
 
-#: ../midori/midori-websettings.c:703
+#: ../midori/midori-websettings.c:772
 msgid "Open Tabs next to Current"
-msgstr "Ouvrir les onglets à côté de l'actuel"
+msgstr "Ouvrir les onglets à côté de l'onglet actuel"
 
-#: ../midori/midori-websettings.c:704
+#: ../midori/midori-websettings.c:773
 msgid "Whether to open new tabs next to the current tab or after the last one"
 msgstr ""
-"Indique s'il faut ouvrir les nouveaux onglets à côté de l'actuel ou après le "
-"dernier"
+"Indique s'il faut ouvrir les nouveaux onglets à côté de l'onglet actuel ou "
+"après le dernier de la liste"
 
-#: ../midori/midori-websettings.c:712
+#: ../midori/midori-websettings.c:781
 msgid "Open popups in tabs"
-msgstr "Ouvrir les fenêtres surgissantes dans des onglets"
+msgstr "Ouvrir les fenêtre intempestives dans des onglets"
 
-#: ../midori/midori-websettings.c:713
+#: ../midori/midori-websettings.c:782
 msgid "Whether to open popup windows in tabs"
 msgstr ""
-"Indique s'il faut ouvrir les fenêtres surgissantes (popup) dans des onglets"
+"Indique s'il faut ouvrir les fenêtres qui apparaissent intempestivement "
+"(popups) dans des onglets"
 
-#: ../midori/midori-websettings.c:729
+#: ../midori/midori-websettings.c:798
 msgid "Zoom Text and Images"
 msgstr "Agrandir le texte et les images"
 
-#: ../midori/midori-websettings.c:730
+#: ../midori/midori-websettings.c:799
 msgid "Whether to zoom text and images"
 msgstr "Indique s'il faut agrandir le texte et les images"
 
-#: ../midori/midori-websettings.c:745
+#: ../midori/midori-websettings.c:814
 msgid "Find inline while typing"
-msgstr "Chercher en ligne en tapant"
+msgstr "Chercher pendant la saisie"
 
-#: ../midori/midori-websettings.c:746
+#: ../midori/midori-websettings.c:815
 msgid "Whether to automatically find inline while typing"
-msgstr "Indique s'il faut chercher automatiquement en ligne en tapant"
+msgstr ""
+"Indique s'il faut chercher automatiquement dans la page pendant la saisie"
 
-#: ../midori/midori-websettings.c:754
+#: ../midori/midori-websettings.c:823
 msgid "Accept cookies"
 msgstr "Accepter les cookies"
 
-#: ../midori/midori-websettings.c:755
+#: ../midori/midori-websettings.c:824
 msgid "What type of cookies to accept"
 msgstr "Type de fichiers témoins à accepter"
 
-#: ../midori/midori-websettings.c:764
+#: ../midori/midori-websettings.c:833
 msgid "Original cookies only"
 msgstr "Uniquement les cookies d'origine"
 
-#: ../midori/midori-websettings.c:765
+#: ../midori/midori-websettings.c:834
 msgid "Accept cookies from the original website only"
 msgstr "Accepter les fichiers témoins du site d'origine uniquement"
 
-#: ../midori/midori-websettings.c:773
+#: ../midori/midori-websettings.c:842
 msgid "Maximum cookie age"
 msgstr "Âge maximal des cookies"
 
-#: ../midori/midori-websettings.c:774
+#: ../midori/midori-websettings.c:843
 msgid "The maximum number of days to save cookies for"
 msgstr ""
 "Le nombre maximal de jours durant lesquels conserver les fichiers témoins"
 
-#: ../midori/midori-websettings.c:784
+#: ../midori/midori-websettings.c:853
 msgid "Remember last visited pages"
-msgstr "Se souvenir des pages récemment visitées"
+msgstr "Se souvenir des dernières pages visitées"
 
-#: ../midori/midori-websettings.c:785
+#: ../midori/midori-websettings.c:854
 msgid "Whether the last visited pages are saved"
 msgstr "Indique s'il faut enregistrer les dernières pages visitées"
 
-#: ../midori/midori-websettings.c:793
+#: ../midori/midori-websettings.c:862
 msgid "Maximum history age"
 msgstr "Âge maximal de l'historique"
 
-#: ../midori/midori-websettings.c:794
+#: ../midori/midori-websettings.c:863
 msgid "The maximum number of days to save the history for"
-msgstr "Le nombre maximal de jours durant lesquels conserver l'historique"
+msgstr "Le nombre maximal de jours pendant lequel conserver l'historique"
 
-#: ../midori/midori-websettings.c:802
+#: ../midori/midori-websettings.c:871
 msgid "Remember last form inputs"
-msgstr "Se souvenir des dernières saisies de formulaires"
+msgstr "Se souvenir du contenu des derniers formulaires remplis"
 
-#: ../midori/midori-websettings.c:803
+#: ../midori/midori-websettings.c:872
 msgid "Whether the last form inputs are saved"
-msgstr "Indique s'il faut enregistrer les saisies de formulaires"
+msgstr ""
+"Indique s'il faut enregistrer le contenu des derniers formulaires remplis"
 
-#: ../midori/midori-websettings.c:811
+#: ../midori/midori-websettings.c:880
 msgid "Remember last downloaded files"
 msgstr "Se souvenir des derniers fichiers téléchargés"
 
-#: ../midori/midori-websettings.c:812
+#: ../midori/midori-websettings.c:881
 msgid "Whether the last downloaded files are saved"
 msgstr ""
 "Indique s'il faut enregistrer la liste des derniers fichiers téléchargés"
 
-#: ../midori/midori-websettings.c:822
+#: ../midori/midori-websettings.c:891
 msgid "Proxy Server"
 msgstr "Serveur mandataire"
 
-#: ../midori/midori-websettings.c:823
+#: ../midori/midori-websettings.c:892
 msgid "The proxy server used for HTTP connections"
 msgstr "Le serveur mandataire (proxy) pour les connexions HTTP"
 
-#: ../midori/midori-websettings.c:838
+#: ../midori/midori-websettings.c:907
 msgid "Detect proxy server automatically"
 msgstr "Détecter le serveur mandataire automatiquement"
 
-#: ../midori/midori-websettings.c:839
+#: ../midori/midori-websettings.c:908
 msgid "Whether to detect the proxy server automatically from the environment"
 msgstr ""
 "Indique s'il faut détecter le serveur mandataire (proxy) automatiquement"
 
 #. i18n: This refers to an application, not the 'user agent' string
-#: ../midori/midori-websettings.c:855
+#: ../midori/midori-websettings.c:924
 msgid "Identify as"
 msgstr "S'identifier comme"
 
-#: ../midori/midori-websettings.c:856
+#: ../midori/midori-websettings.c:925
 msgid "What to identify as to web pages"
-msgstr "Comment s'identifier sur les pages de la toile"
+msgstr "Comment s'identifier sur les pages Internet"
 
-#: ../midori/midori-websettings.c:872
+#: ../midori/midori-websettings.c:941
 msgid "Identification string"
 msgstr "Chaîne d'identification"
 
-#: ../midori/midori-websettings.c:873
+#: ../midori/midori-websettings.c:942
 msgid "The application identification string"
 msgstr "La chaîne d'identification de l'application"
 
-#: ../midori/midori-websettings.c:881
+#: ../midori/midori-websettings.c:950
 msgid "Cache size"
 msgstr "Taille du cache"
 
-#: ../midori/midori-websettings.c:882
+#: ../midori/midori-websettings.c:951
 msgid "The allowed size of the cache"
 msgstr "La taille de l'antémémoire permise"
 
+#: ../midori/midori-websettings.c:966
+msgid "Clear private data"
+msgstr "Effacer les informations privées"
+
+#: ../midori/midori-websettings.c:967
+msgid "The private data selected for deletion"
+msgstr "Les informations privées sélectionnées pour suppression"
+
+# pas très content
+#: ../midori/midori-view.c:740
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "La page « %s » n'a pu être chargée."
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:742 ../midori/midori-view.c:2773
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "Erreur"
+
+#: ../midori/midori-view.c:745
+msgid "Try again"
+msgstr "Essayer une autre fois"
+
 #. i18n: The title of the 404 - Not found error page
 #. Error pages are special, we want to try loading the destination
 #. again, not the error page which isn't even a proper page
-#: ../midori/midori-view.c:637 ../midori/midori-view.c:2473
+#: ../midori/midori-view.c:775 ../midori/midori-view.c:2777
 #, c-format
 msgid "Not found - %s"
 msgstr "Non trouvé - %s"
 
-#: ../midori/midori-view.c:976
+#: ../midori/midori-view.c:1176
 msgid "Open _Link"
 msgstr "Ouvrir le _lien"
 
-#: ../midori/midori-view.c:978
+#: ../midori/midori-view.c:1178
 msgid "Open Link in New _Tab"
 msgstr "Ouvrir le lien dans un nouvel _onglet"
 
-#: ../midori/midori-view.c:995
+#: ../midori/midori-view.c:1195
 msgid "Open Link in New _Window"
 msgstr "Ouvrir le lien dans une nouvelle _fenêtre"
 
-#: ../midori/midori-view.c:1004
+#: ../midori/midori-view.c:1204
 msgid "_Download Link destination"
 msgstr "_Télécharger la cible du lien"
 
-#: ../midori/midori-view.c:1010
+#: ../midori/midori-view.c:1210
 msgid "_Save Link destination"
 msgstr "_Enregistrer la cible du lien"
 
-#: ../midori/midori-view.c:1019
+#: ../midori/midori-view.c:1219
 msgid "Download with Download _Manager"
-msgstr "Télécharger avec _gestionnaire de téléchargements"
+msgstr "Télécharger avec le _gestionnaire de téléchargements"
 
-#: ../midori/midori-view.c:1048
+#: ../midori/midori-view.c:1248
 msgid "Search _with"
 msgstr "Chercher _avec"
 
-#: ../midori/midori-view.c:1076
+#: ../midori/midori-view.c:1276
 msgid "_Search the Web"
-msgstr "_Chercher sur l'internet"
+msgstr "_Chercher sur Internet"
 
-#: ../midori/midori-view.c:1086
+#: ../midori/midori-view.c:1286
 msgid "Open Address in New _Tab"
 msgstr "Ouvrir l'adresse dans un nouvel _onglet"
 
-#: ../midori/midori-view.c:1234
+#: ../midori/midori-view.c:1453
 msgid "Open or download file"
 msgstr "Ouvrir ou télécharger le fichier"
 
-#: ../midori/midori-view.c:1251
+#: ../midori/midori-view.c:1470
 #, c-format
 msgid "File Type: '%s'"
 msgstr "Type de fichier : « %s »"
 
-#: ../midori/midori-view.c:1254
+#: ../midori/midori-view.c:1473
 #, c-format
 msgid "File Type: %s ('%s')"
 msgstr "Type de fichier : %s (« %s »)"
 
 #. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
-#: ../midori/midori-view.c:1258
+#: ../midori/midori-view.c:1477
 #, c-format
 msgid "Open %s"
 msgstr "Ouvrir %s"
 
-#: ../midori/midori-view.c:1661
+#: ../midori/midori-view.c:1886
 #, c-format
 msgid "Inspect page - %s"
 msgstr "Analyser la page - %s"
 
-#: ../midori/midori-view.c:1806
+#: ../midori/midori-view.c:2076
+msgid "Speed dial"
+msgstr "Appel rapide"
+
+#: ../midori/midori-view.c:2077
+msgid "Click to add a shortcut"
+msgstr "Cliquez pour ajouter un raccourci"
+
+#: ../midori/midori-view.c:2078
+msgid "Enter shortcut address"
+msgstr "Entrez l'adresse du raccourci"
+
+#: ../midori/midori-view.c:2079
+msgid "Enter shortcut title"
+msgstr "Entrez le titre du raccourci"
+
+#: ../midori/midori-view.c:2080
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "Ètes-vous certain de vouloir supprimer ce raccourci ?"
+
+#: ../midori/midori-view.c:2110
 #, c-format
 msgid "Document cannot be displayed"
 msgstr "Le document ne peut être affiché"
 
-#: ../midori/midori-view.c:1822
+#: ../midori/midori-view.c:2127
 #, c-format
 msgid "No documentation installed"
 msgstr "Pas de documentation installée"
@@ -1331,7 +1437,7 @@ msgstr "Pas de documentation installée"
 #: ../midori/midori-preferences.c:91
 #, c-format
 msgid "Preferences for %s"
-msgstr "Préférences de %s"
+msgstr "Préférences pour %s"
 
 #. Page "General"
 #: ../midori/midori-preferences.c:398
@@ -1346,152 +1452,198 @@ msgstr "Démarrage"
 msgid "Use current page as homepage"
 msgstr "Utiliser la page courante comme page d'accueil"
 
-#: ../midori/midori-preferences.c:423 ../panels/midori-transfers.c:88
+#: ../midori/midori-preferences.c:425 ../panels/midori-transfers.c:88
 msgid "Transfers"
 msgstr "Transferts"
 
 #. Page "Appearance"
-#: ../midori/midori-preferences.c:475
+#: ../midori/midori-preferences.c:440
 msgid "Appearance"
 msgstr "Apparence"
 
-#: ../midori/midori-preferences.c:476
+#: ../midori/midori-preferences.c:441
 msgid "Font settings"
 msgstr "Paramètres des polices"
 
-#: ../midori/midori-preferences.c:478
+#: ../midori/midori-preferences.c:443
 msgid "Default Font Family"
 msgstr "Police par défaut"
 
-#: ../midori/midori-preferences.c:484
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "La police utilisée par défaut pour afficher les textes"
+
+#: ../midori/midori-preferences.c:450
 msgid "The default font size used to display text"
-msgstr "La taille par défaut de la police utilisée pour afficher le texte"
+msgstr "La taille de la police utilisée par défaut pour afficher les textes"
 
-#: ../midori/midori-preferences.c:487
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "Police à largeur fixe"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr ""
+"La taille de la police utilisée par défaut pour afficher les textes à "
+"largeur fixe"
+
+#: ../midori/midori-preferences.c:458
 msgid "Minimum Font Size"
-msgstr "Taille minimum de la police"
+msgstr "Taille minimale de la police"
 
-#: ../midori/midori-preferences.c:490
+#: ../midori/midori-preferences.c:461
 msgid "The minimum font size used to display text"
-msgstr "La taille minimum de la police utilisée pour afficher le texte"
+msgstr "La taille minimale de la police utilisée pour afficher les textes"
 
-#: ../midori/midori-preferences.c:497
+#: ../midori/midori-preferences.c:468
 msgid "Encoding"
 msgstr "Encodage"
 
-#: ../midori/midori-preferences.c:500
+#: ../midori/midori-preferences.c:471
 msgid "The character encoding to use by default"
-msgstr "Encodage des caractères par défaut"
+msgstr "Encodage par défaut des caractères"
 
 #. Page "Behavior"
-#: ../midori/midori-preferences.c:507
+#: ../midori/midori-preferences.c:478
 msgid "Behavior"
 msgstr "Comportement"
 
-#: ../midori/midori-preferences.c:508
+#: ../midori/midori-preferences.c:479
 msgid "Features"
 msgstr "Fonctionnalités"
 
-#: ../midori/midori-preferences.c:511 ../extensions/statusbar-features.c:54
+#: ../midori/midori-preferences.c:482 ../extensions/statusbar-features.c:54
 msgid "Load images automatically"
-msgstr "Charger les images"
+msgstr "Charger les images automatiquement"
 
-#: ../midori/midori-preferences.c:512
+#: ../midori/midori-preferences.c:483
 msgid "Load and display images automatically"
 msgstr "Charger et afficher les images automatiquement"
 
-#: ../midori/midori-preferences.c:515
+#: ../midori/midori-preferences.c:486
 msgid "Shrink images automatically"
-msgstr "Réduire les images"
+msgstr "Réduire la taille des images"
 
-#: ../midori/midori-preferences.c:516
+#: ../midori/midori-preferences.c:487
 msgid "Automatically shrink standalone images to fit"
-msgstr "Réduire automatiquement les images pour les adapter à la fenêtre"
+msgstr ""
+"Réduire automatiquement la taille des images pour les adapter à celle de la "
+"fenêtre"
 
-#: ../midori/midori-preferences.c:519
+#: ../midori/midori-preferences.c:490
 msgid "Print background images"
 msgstr "Imprimer les images d'arrière-plan"
 
-#: ../midori/midori-preferences.c:520
+#: ../midori/midori-preferences.c:491
 msgid "Whether background images should be printed"
 msgstr "Indique s'il faut imprimer les images d'arrière-plan"
 
-#: ../midori/midori-preferences.c:523
+#: ../midori/midori-preferences.c:494
 msgid "Resizable text areas"
 msgstr "Zones de texte redimensionnables"
 
-#: ../midori/midori-preferences.c:524
+#: ../midori/midori-preferences.c:495
 msgid "Whether text areas are resizable"
 msgstr "Indique si les zones de texte peuvent être redimensionnées"
 
-#: ../midori/midori-preferences.c:527 ../extensions/statusbar-features.c:63
+#: ../midori/midori-preferences.c:498 ../extensions/statusbar-features.c:63
 msgid "Enable scripts"
 msgstr "Activer les scripts"
 
-#: ../midori/midori-preferences.c:528
+#: ../midori/midori-preferences.c:499
 msgid "Enable embedded scripting languages"
 msgstr "Active la prise en charge interne des scripts"
 
-#: ../midori/midori-preferences.c:531 ../extensions/statusbar-features.c:72
-msgid "Enable plugins"
-msgstr "Activer les greffons"
+#: ../midori/midori-preferences.c:502 ../extensions/statusbar-features.c:72
+msgid "Enable Netscape plugins"
+msgstr "Activer les greffons Netscape"
 
-#: ../midori/midori-preferences.c:532
-msgid "Enable embedded plugin objects"
-msgstr "Active la prise en charge interne des greffons"
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "Active la prise en charge interne des greffons Netscape"
 
-#: ../midori/midori-preferences.c:535
+#: ../midori/midori-preferences.c:506
 msgid "Enforce 96 dots per inch"
 msgstr "Forcer 96 points par pouce"
 
-#: ../midori/midori-preferences.c:536
+#: ../midori/midori-preferences.c:507
 msgid "Enforce a video dot density of 96 DPI"
 msgstr "Force une densité visuelle de 96 DPI"
 
-#: ../midori/midori-preferences.c:539
+#: ../midori/midori-preferences.c:510
 msgid "Enable developer tools"
 msgstr "Activer les outils de développement"
 
-#: ../midori/midori-preferences.c:540
+#: ../midori/midori-preferences.c:511
 msgid "Enable special extensions for developers"
 msgstr "Activer les extensions spécifiques pour les développeurs"
 
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "Vérificateur d'orthographe"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "Activer la vérification d'orthographe"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "Activer la vérification d'orthographe lors de la saisie"
+
+#. i18n: The example should be adjusted to contain a good local default
+#: ../midori/midori-preferences.c:526
+msgid ""
+"A comma separated list of languages to be used for spell checking, for "
+"example \"en_GB,de_DE\""
+msgstr ""
+"Une liste de langues séparée par des virgules utilisée pour le correcteur "
+"d'ortographe, par example « fr_FR,de_DE »"
+
 #. Page "Interface"
-#: ../midori/midori-preferences.c:548
+#: ../midori/midori-preferences.c:531
 msgid "Interface"
 msgstr "Interface"
 
-#: ../midori/midori-preferences.c:549
+#: ../midori/midori-preferences.c:532
 msgid "Navigationbar"
 msgstr "Barre de navigation"
 
-#: ../midori/midori-preferences.c:560
+#: ../midori/midori-preferences.c:543
 msgid "Browsing"
 msgstr "Navigation"
 
+#. Page "Applications"
+#: ../midori/midori-preferences.c:573
+msgid "Applications"
+msgstr "Applications"
+
+#: ../midori/midori-preferences.c:574
+msgid "External applications"
+msgstr "Applications externes"
+
 #. Page "Network"
-#: ../midori/midori-preferences.c:590 ../midori/midori-preferences.c:591
+#: ../midori/midori-preferences.c:620 ../midori/midori-preferences.c:621
 msgid "Network"
 msgstr "Réseau"
 
-#: ../midori/midori-preferences.c:618
+#: ../midori/midori-preferences.c:648
 msgid "MB"
 msgstr "Mo"
 
 #. Page "Privacy"
-#: ../midori/midori-preferences.c:623
+#: ../midori/midori-preferences.c:653
 msgid "Privacy"
 msgstr "Vie privée"
 
-#: ../midori/midori-preferences.c:624
+#: ../midori/midori-preferences.c:654
 msgid "Web Cookies"
-msgstr "Témoins de connexion"
+msgstr "Fichiers témoins"
 
-#: ../midori/midori-preferences.c:637 ../midori/midori-preferences.c:647
+#: ../midori/midori-preferences.c:667 ../midori/midori-preferences.c:677
 msgid "days"
 msgstr "jours"
 
-#: ../midori/midori-searchaction.c:484 ../katze/katze-arrayaction.c:277
+#: ../midori/midori-searchaction.c:484 ../katze/katze-arrayaction.c:331
 msgid "Empty"
 msgstr "Vide"
 
@@ -1513,7 +1665,7 @@ msgstr "_Icône :"
 
 #: ../midori/midori-searchaction.c:990
 msgid "_Token:"
-msgstr "_Jeton :"
+msgstr "_Identifiant :"
 
 #: ../midori/midori-searchaction.c:1195
 msgid "Manage Search Engines"
@@ -1521,66 +1673,57 @@ msgstr "Gestion des moteurs de recherche"
 
 #: ../midori/midori-searchaction.c:1292
 msgid "Use as _default"
-msgstr "Comme dé_faut"
+msgstr "Par dé_faut"
 
-#: ../midori/sokoke.c:117 ../midori/sokoke.c:129
+#: ../midori/sokoke.c:164 ../midori/sokoke.c:176
 msgid "Could not run external program."
-msgstr "Impossible d'exécuter le programme externe"
+msgstr "Impossible de lancer le programme externe."
 
-#. i18n: A superuser, or system administrator, may not be 'root'
-#: ../midori/sokoke.c:448
-msgid "Warning: You are using a superuser account!"
-msgstr "Attention : vous utilisez Midori avec un compte superutilisateur !"
-
-#: ../midori/sokoke.c:780
+#: ../midori/sokoke.c:847
 msgid "_Bookmark"
 msgstr "_Signet"
 
-#: ../midori/sokoke.c:782
+#: ../midori/sokoke.c:849
 msgid "_Add Bookmark"
 msgstr "_Ajouter un signet"
 
-#: ../midori/sokoke.c:783
+#: ../midori/sokoke.c:850
 msgid "_Console"
 msgstr "_Console"
 
-#: ../midori/sokoke.c:784
+#: ../midori/sokoke.c:851
 msgid "_Extensions"
 msgstr "_Extensions"
 
-#: ../midori/sokoke.c:785
+#: ../midori/sokoke.c:852
 msgid "_History"
 msgstr "_Historique"
 
-#: ../midori/sokoke.c:786
+#: ../midori/sokoke.c:853
 msgid "_Homepage"
 msgstr "_Page d'accueil"
 
-#: ../midori/sokoke.c:787
+#: ../midori/sokoke.c:854
 msgid "_Userscripts"
 msgstr "Scripts _utilisateur"
 
-#: ../midori/sokoke.c:788
+#: ../midori/sokoke.c:855
 msgid "User_styles"
 msgstr "_Styles utilisateur"
 
-#: ../midori/sokoke.c:789
+#: ../midori/sokoke.c:856
 msgid "New _Tab"
 msgstr "Nouvel _onglet"
 
-#: ../midori/sokoke.c:790
+#: ../midori/sokoke.c:857
 msgid "_Transfers"
 msgstr "_Transferts"
 
-#: ../midori/sokoke.c:791
-msgid "P_lugins"
-msgstr "G_reffons"
+#: ../midori/sokoke.c:858
+msgid "Netscape p_lugins"
+msgstr "_Greffons Netscape"
 
-#: ../midori/sokoke.c:792
-msgid "_Closed Tabs and Windows"
-msgstr "Onglets et fenêtres _fermés"
-
-#: ../midori/sokoke.c:793
+#: ../midori/sokoke.c:860
 msgid "New _Window"
 msgstr "Nouvelle _fenêtre"
 
@@ -1592,19 +1735,19 @@ msgstr "Scripts utilisateur"
 msgid "Userstyles"
 msgstr "Styles utilisateur"
 
-#: ../panels/midori-addons.c:927 ../panels/midori-extensions.c:144
+#: ../panels/midori-addons.c:1031 ../panels/midori-extensions.c:144
 msgid "_Enable"
 msgstr "_Activer"
 
-#: ../panels/midori-addons.c:928 ../panels/midori-extensions.c:145
+#: ../panels/midori-addons.c:1032 ../panels/midori-extensions.c:145
 msgid "Enable"
 msgstr "Activer"
 
-#: ../panels/midori-addons.c:937 ../panels/midori-extensions.c:154
+#: ../panels/midori-addons.c:1041 ../panels/midori-extensions.c:154
 msgid "_Disable"
 msgstr "_Désactiver"
 
-#: ../panels/midori-addons.c:938 ../panels/midori-extensions.c:155
+#: ../panels/midori-addons.c:1042 ../panels/midori-extensions.c:155
 msgid "Disable"
 msgstr "Désactiver"
 
@@ -1612,15 +1755,15 @@ msgstr "Désactiver"
 msgid "Bookmarks"
 msgstr "Signets"
 
-#: ../panels/midori-bookmarks.c:240
+#: ../panels/midori-bookmarks.c:238
 msgid "Edit the selected bookmark"
 msgstr "Modifier le signet sélectionné"
 
-#: ../panels/midori-bookmarks.c:248
+#: ../panels/midori-bookmarks.c:246
 msgid "Delete the selected bookmark"
 msgstr "Supprimer le signet sélectionné"
 
-#: ../panels/midori-bookmarks.c:593
+#: ../panels/midori-bookmarks.c:591
 msgid "<i>Separator</i>"
 msgstr "<i>Séparateur</i>"
 
@@ -1632,45 +1775,49 @@ msgstr "Console"
 msgid "Extensions"
 msgstr "Extensions"
 
-#: ../panels/midori-history.c:163
+#: ../panels/midori-history.c:162
 msgid "Are you sure you want to remove all history items?"
 msgstr "Ètes-vous certain de vouloir effacer tout l'historique ?"
 
-#: ../panels/midori-history.c:218
+#: ../panels/midori-history.c:217
 msgid "Bookmark the selected history item"
-msgstr "Ajouter un signet pour l'élément sélectionné de l'historique"
+msgstr "Ajouter un signet pour l'élément sélectionné dans l'historique"
 
-#: ../panels/midori-history.c:227
+#: ../panels/midori-history.c:226
 msgid "Delete the selected history item"
-msgstr "Supprimer l'élément sélectionné de l'historique"
+msgstr "Supprimer l'élément sélectionné dans l'historique"
 
-#: ../panels/midori-history.c:235
+#: ../panels/midori-history.c:234
 msgid "Clear the entire history"
-msgstr "Vider l'historique entier"
+msgstr "Vider l'historique tout entier"
 
-#: ../panels/midori-history.c:600
-#, c-format
+#: ../panels/midori-history.c:602
 msgid "A week ago"
 msgstr "Il y a une semaine"
 
-#: ../panels/midori-history.c:606
+#: ../panels/midori-history.c:607
+#, c-format
+msgid "%d day ago"
+msgstr "Il y a %d jours"
+
+#: ../panels/midori-history.c:608
 #, c-format
 msgid "%d days ago"
 msgstr "Il y a %d jours"
 
-#: ../panels/midori-history.c:613
+#: ../panels/midori-history.c:615
 msgid "Today"
 msgstr "Aujourd'hui"
 
-#: ../panels/midori-history.c:615
+#: ../panels/midori-history.c:617
 msgid "Yesterday"
 msgstr "Hier"
 
 #: ../panels/midori-plugins.c:87
-msgid "Plugins"
-msgstr "Greffons"
+msgid "Netscape plugins"
+msgstr "Greffons Netscape"
 
-#: ../panels/midori-transfers.c:256
+#: ../panels/midori-transfers.c:271
 #, c-format
 msgid "%s of %s"
 msgstr "%s de %s"
@@ -1685,7 +1832,7 @@ msgid ""
 "to open this location:"
 msgstr ""
 "Un nom d'utilisateur et un mot de passe sont requis\n"
-"pour l'ouverture de ce lieu :"
+"pour l'ouverture de cet emplacement :"
 
 #: ../katze/katze-http-auth.c:127
 msgid "Username"
@@ -1709,36 +1856,93 @@ msgstr "L'icône prédéfinie « %s » n'a pu être chargée."
 msgid "Animation frames are broken"
 msgstr "Les trames d'animation sont corrompues"
 
-#: ../katze/katze-utils.c:183 ../katze/katze-utils.c:395
+#: ../katze/katze-utils.c:183 ../katze/katze-utils.c:385
 #, c-format
 msgid "Property '%s' is invalid for %s"
 msgstr "La propriété « %s » n'est pas valide pour %s"
 
-#: ../katze/katze-utils.c:215 ../katze/katze-utils.c:254
+#: ../katze/katze-utils.c:215 ../katze/katze-utils.c:244
 msgid "Choose file"
 msgstr "Choisissez un fichier"
 
-#: ../katze/katze-utils.c:235
+#: ../katze/katze-utils.c:230
 msgid "Choose folder"
 msgstr "Choisissez un répertoire"
 
-#: ../extensions/colorful-tabs.c:104
+#: ../extensions/adblock.c:78
+msgid "Configure Advertisement filters"
+msgstr "Configurer les filtres de publicité"
+
+#: ../extensions/adblock.c:214
+msgid "Configure _Advertisement filters..."
+msgstr "Configurer les filtres de _publicité"
+
+#: ../extensions/adblock.c:374
+msgid "Advertisement blocker"
+msgstr "Bloqueur de publicités"
+
+#: ../extensions/adblock.c:375
+msgid "Block advertisements according to a filter list"
+msgstr "Bloquer les publicités en fonction d'une liste de filtres"
+
+#: ../extensions/colorful-tabs.c:115
 msgid "Tint tabs distinctly"
 msgstr "Colorer les onglets"
 
-#: ../extensions/colorful-tabs.c:140
+#: ../extensions/colorful-tabs.c:151
 msgid "Colorful Tabs"
 msgstr "Onglets colorés"
 
-#: ../extensions/colorful-tabs.c:141
+#: ../extensions/colorful-tabs.c:152
 msgid "Tint each tab distinctly"
 msgstr "Donner une couleur distincte à chaque onglet"
 
-#: ../extensions/cookie-manager.c:201
+#: ../extensions/cookie-manager/cookie-manager.c:105
+msgid "_Cookie Manager"
+msgstr "Gestionnaire de _cookies"
+
+#: ../extensions/cookie-manager/cookie-manager.c:121
+#: ../extensions/cookie-manager/cookie-manager-page.c:83
+msgid "Cookie Manager"
+msgstr "Gestionnaire de cookies"
+
+#: ../extensions/cookie-manager/cookie-manager.c:122
+msgid "List, view and delete cookies"
+msgstr "Lister, afficher et supprimer les fichiers témoins"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:131
+msgid ""
+"Deletes all shown cookies. If a filter is set, only those cookies are "
+"deleted which match the filter."
+msgstr ""
+"Effacer tous les fichiers témoins. S'il y a un filtre, seulement les fichies "
+"témoins sont effacé que correspandent au filtre."
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:146
+msgid "Expand All"
+msgstr "Afficher tous"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:153
+msgid "Collapse All"
+msgstr "Masquer tous"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:474
+msgid "Do you really want to delete all cookies?"
+msgstr "Ètes-vous certain de vouloir effacer tout les cookies ?"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:476
+msgid "Question"
+msgstr "Question"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:485
+msgid "Only cookies which match the filter will be deleted."
+msgstr "Seuls les fichiers témoins qui correspondent au filtre seront effacés."
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:553
 msgid "At the end of the session"
-msgstr "Au fin de la session"
+msgstr "À la fin de la session"
 
-#: ../extensions/cookie-manager.c:204
+#: ../extensions/cookie-manager/cookie-manager-page.c:556
 #, c-format
 msgid ""
 "<b>Host</b>: %s\n"
@@ -1750,90 +1954,138 @@ msgid ""
 msgstr ""
 "<b>Hôte</b> : %s\n"
 "<b>Nom</b> : %s\n"
-"Valeur : %s\n"
-"Chemin : %s\n"
-"Sécuritaire : %s\n"
-"Expire : %s"
+"<b>Valeur</b> : %s\n"
+"<b>Chemin</b> : %s\n"
+"<b>Sécuritaire</b> : %s\n"
+"<b>Expire</b> : %s"
 
-#: ../extensions/cookie-manager.c:210
+#: ../extensions/cookie-manager/cookie-manager-page.c:562
 msgid "Yes"
 msgstr "Oui"
 
-#: ../extensions/cookie-manager.c:210
+#: ../extensions/cookie-manager/cookie-manager-page.c:562
 msgid "No"
 msgstr "Non"
 
-#: ../extensions/cookie-manager.c:491
-msgid "Do you really want to delete all cookies?"
-msgstr "Ètes-vous certain de vouloir effacer tout les fichiers témoins ?"
-
-#: ../extensions/cookie-manager.c:493
-msgid "Question"
-msgstr "Question"
-
-#: ../extensions/cookie-manager.c:501
-msgid ""
-"Only the visible cookies are deleted which match the entered filter string."
-msgstr ""
-
-#: ../extensions/cookie-manager.c:679
+#: ../extensions/cookie-manager/cookie-manager-page.c:819
 msgid "Name"
 msgstr "Nom"
 
-#: ../extensions/cookie-manager.c:739
+#: ../extensions/cookie-manager/cookie-manager-page.c:884
 msgid "_Expand All"
 msgstr "_Afficher tous"
 
-#: ../extensions/cookie-manager.c:747
+#: ../extensions/cookie-manager/cookie-manager-page.c:892
 msgid "_Collapse All"
 msgstr "_Masquer tous"
 
-#: ../extensions/cookie-manager.c:818
-msgid "Delete All"
-msgstr "Supprimer tous"
-
-#: ../extensions/cookie-manager.c:820
-msgid ""
-"Deletes all shown cookies. If a filter is set, only those cookies are "
-"deleted which match the filter."
-msgstr ""
-
-#: ../extensions/cookie-manager.c:835
-msgid "Expand All"
-msgstr "Afficher tous"
-
-#: ../extensions/cookie-manager.c:842
-msgid "Collapse All"
-msgstr "Masquer tous"
-
 # manque un raccourcis Alt+X
-#: ../extensions/cookie-manager.c:873
+#: ../extensions/cookie-manager/cookie-manager-page.c:942
 msgid "Filter:"
 msgstr "Filtre :"
 
-#: ../extensions/cookie-manager.c:878
+#: ../extensions/cookie-manager/cookie-manager-page.c:947
 msgid ""
 "Enter a filter string to show only cookies whose name or domain field match "
 "the entered filter"
 msgstr ""
+"Entrer un filtre pour afficher seulement les cookies dont le nom ou le "
+"domaine correspond au filtre entré."
 
-#: ../extensions/cookie-manager.c:913 ../extensions/cookie-manager.c:961
-msgid "Cookie Manager"
-msgstr "Gestionnaire de cookies"
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr ""
+"Impossible de trouver l'élément \"entry\" ATOM requise dans les données XML."
 
-#: ../extensions/cookie-manager.c:945
-msgid "_Cookie Manager"
-msgstr "Gestionnaire de _cookies"
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr ""
+"Impossible de trouver l'élément \"feed\" ATOM requis dans les données XML."
 
-#: ../extensions/cookie-manager.c:962
-msgid "List, view and delete cookies"
-msgstr "Lister, afficher et supprimer les témoins"
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "Dernière mise à jour : %s."
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "Flux"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "Ajouter un nouveau flux"
 
-#: ../extensions/mouse-gestures/main.c:216
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "Supprimer un flux"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "_Flux"
+
+#: ../extensions/feed-panel/feed-parse.c:185
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "Impossible de trouver l'élément racine dans les données XML du flux."
+
+#: ../extensions/feed-panel/feed-parse.c:225
+#, c-format
+msgid "Unsupported feed format."
+msgstr "Format de flux non pris en charge."
+
+#: ../extensions/feed-panel/feed-parse.c:255
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "Impossible d'analyser le flux XML: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr ""
+"Impossible de trouver l'élément \"channel\" dans les données XML du flux RSS."
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "La version trouvée du flux RSS n'est pas prise en charge."
+
+#: ../extensions/feed-panel/feed-rss.c:148
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "Impossible de trouver l'élément requis \"item\" dans les données XML."
+
+#: ../extensions/feed-panel/feed-rss.c:248
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr ""
+"Impossible de trouver les éléments RSS \"channel\" requis dans les données "
+"XML."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "Le flux « %s » existe déjà"
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "Erreur lors du chargement du flux « %s »"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "Nouveau flux"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "Panneau de flux"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Lire des flux Atom et RSS"
+
+#: ../extensions/mouse-gestures/main.c:244
 msgid "Mouse Gestures"
 msgstr "Mouvements de souris"
 
-#: ../extensions/mouse-gestures/main.c:217
+#: ../extensions/mouse-gestures/main.c:245
 msgid "Control Midori by moving the mouse"
 msgstr "Contrôler Midori par des mouvements de la souris"
 
@@ -1844,22 +2096,14 @@ msgstr "Cadre de pages"
 
 #: ../extensions/page-holder.c:161
 msgid "_Pageholder"
-msgstr "C_adre de pages"
-
-#~ msgid "Images"
-#~ msgstr "Images"
-
-#~ msgid "Scripts"
-#~ msgstr "Scripts"
+msgstr "Cadre de _pages"
 
-#~ msgid "%s has no property '%s'"
-#~ msgstr "%s n'a pas de propriété « %s »"
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr "Fonctionnalités dans la barre d'état"
 
-#~ msgid "%s cannot be assigned to %s.%s"
-#~ msgstr "%s ne peut être assigné à %s.%s"
-
-#~ msgid "%s.%s cannot be accessed"
-#~ msgstr "%s.%s ne peut être accédé"
-
-#~ msgid "Source"
-#~ msgstr "Source"
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr ""
+"Permet de facilement activer et désactiver des fonctionnalités sur les pages "
+"Internet"
index ea2726560690c8be9bde75ee06297e018bd6ab70..6271c10f54a70154d677f99adb74491accc80eca 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,9 +7,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Midori 0.1.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-12 22:19+0900\n"
-"PO-Revision-Date: 2009-04-13 01:45+0900\n"
-"Last-Translator: Masato Hashimoto <hashimo@xfce.org>\n"
+"POT-Creation-Date: 2009-05-11 00:57+0900\n"
+"PO-Revision-Date: 2009-05-11 00:59+0900\n"
+"Last-Translator: Masato Hashimoto <cabezon.hashimoto@gmail.com>\n"
 "Language-Team: Japanese <xfce-users-jp@ml.fdiary.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -21,11 +21,11 @@ msgid "Lightweight web browser"
 msgstr "軽量級ウェブブラウザ"
 
 #: ../data/midori.desktop.in.h:2
-#: ../midori/main.c:1288
-#: ../midori/main.c:1384
-#: ../midori/main.c:1392
-#: ../midori/main.c:1403
-#: ../midori/midori-websettings.c:269
+#: ../midori/main.c:1315
+#: ../midori/main.c:1449
+#: ../midori/main.c:1457
+#: ../midori/main.c:1468
+#: ../midori/midori-websettings.c:277
 msgid "Midori"
 msgstr "Midori"
 
@@ -33,180 +33,197 @@ msgstr "Midori"
 msgid "Web Browser"
 msgstr "ウェブブラウザ"
 
-#: ../midori/main.c:94
+#: ../midori/main.c:96
 #, c-format
 msgid "The configuration couldn't be loaded: %s\n"
 msgstr "設定を読み込めませんでした: %s\n"
 
-#: ../midori/main.c:149
+#: ../midori/main.c:151
 #, c-format
 msgid "Value '%s' is invalid for %s"
 msgstr "'%s' は %s の値として無効です"
 
-#: ../midori/main.c:156
-#: ../midori/main.c:228
+#: ../midori/main.c:158
+#: ../midori/main.c:238
 #, c-format
 msgid "Invalid configuration value '%s'"
 msgstr "無効な設定値 '%s'"
 
-#: ../midori/main.c:332
+#: ../midori/main.c:350
 #, c-format
 msgid "Failed to open database: %s\n"
 msgstr "データベースのオープンに失敗しました: %s\n"
 
-#: ../midori/main.c:364
+#: ../midori/main.c:382
 #, c-format
 msgid "Failed to execute database statement: %s\n"
 msgstr "データベース文の実行に失敗しました: %s\n"
 
-#: ../midori/main.c:418
+#: ../midori/main.c:436
 #, c-format
 msgid "Failed to remove history item: %s\n"
 msgstr "履歴アイテムの削除に失敗しました: %s\n"
 
-#: ../midori/main.c:442
+#: ../midori/main.c:460
 #, c-format
 msgid "Failed to clear history: %s\n"
 msgstr "履歴のクリアに失敗しました: %s\n"
 
-#: ../midori/main.c:465
-#: ../midori/main.c:499
-#: ../midori/main.c:515
+#: ../midori/main.c:483
+#: ../midori/main.c:517
+#: ../midori/main.c:533
 #, c-format
 msgid "Failed to add history item: %s\n"
 msgstr "履歴アイテムの追加に失敗しました: %s\n"
 
 #. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:694
+#: ../midori/main.c:712
 #, c-format
 msgid "Failed to remove old history items: %s\n"
 msgstr "古い履歴アイテムの削除に失敗しました: %s\n"
 
-#: ../midori/main.c:722
+#: ../midori/main.c:741
 #, c-format
 msgid "The configuration couldn't be saved. %s"
 msgstr "設定を保存できませんでした。%s"
 
-#: ../midori/main.c:751
+#: ../midori/main.c:770
 #, c-format
 msgid "The search engines couldn't be saved. %s"
 msgstr "検索エンジンを保存できませんでした。%s"
 
-#: ../midori/main.c:770
-#: ../midori/main.c:798
-#: ../midori/main.c:827
+#: ../midori/main.c:789
+#: ../midori/main.c:817
+#: ../midori/main.c:846
 #, c-format
 msgid "The bookmarks couldn't be saved. %s"
 msgstr "ブックマークを保存できませんでした。%s"
 
 #. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:850
-#: ../midori/main.c:873
+#: ../midori/main.c:869
+#: ../midori/main.c:892
 #, c-format
 msgid "The trash couldn't be saved. %s"
 msgstr "ゴミ箱を保存できませんでした。%s"
 
-#: ../midori/main.c:946
+#: ../midori/main.c:965
 #, c-format
 msgid "The session couldn't be saved. %s"
 msgstr "セッションは保存できませんでした。%s"
 
-#: ../midori/main.c:1073
+#: ../midori/main.c:1092
 msgid "Midori seems to have crashed the last time it was opened. If this happened repeatedly, try one of the following options to solve the problem."
-msgstr "Midori ã\81¯æ\9c\80å¾\8cã\81«é\96\8bã\81\84ã\81\9fã\81¨ã\81\8dã\81«ã\82¯ã\83©ã\83\83ã\82·ã\83¥ã\81\97ã\81\9fã\82\88ã\81\86ã\81§ã\81\99ã\80\82ã\82\82ã\81\97ã\81\93ã\82\8cã\81\8cç¹°ã\82\8aè¿\94ã\81\97ç\99ºç\94\9fã\81\99ã\82\8bã\82\88ã\81\86ã\81§ã\81\82ã\82\8cã\81°ã\80\81å\95\8fé¡\8c解決ã\81®ã\81\9fã\82\81ã\81«ä»¥ä¸\8bã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ã\81²ã\81¨ã\81¤を試してみてください。"
+msgstr "Midori ã\81¯æ\9c\80å¾\8cã\81«é\96\8bã\81\84ã\81\9fã\81¨ã\81\8dã\81«ã\82¯ã\83©ã\83\83ã\82·ã\83¥ã\81\97ã\81\9fã\82\88ã\81\86ã\81§ã\81\99ã\80\82ã\82\82ã\81\97ã\81\93ã\82\8cã\81\8cç¹°ã\82\8aè¿\94ã\81\97ç\99ºç\94\9fã\81\99ã\82\8bã\82\88ã\81\86ã\81§ã\81\82ã\82\8cã\81°ã\80\81å\95\8fé¡\8c解決ã\81®ã\81\9fã\82\81ã\81«ä»¥ä¸\8bã\81®ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bを試してみてください。"
 
-#: ../midori/main.c:1088
+#: ../midori/main.c:1107
 msgid "Modify _preferences"
 msgstr "設定を変更する(_P)"
 
-#: ../midori/main.c:1092
+#: ../midori/main.c:1111
 msgid "Reset the last _session"
 msgstr "最後のセッションをリセットする(_S)"
 
-#: ../midori/main.c:1097
+#: ../midori/main.c:1116
 msgid "Disable all _extensions"
 msgstr "すべてのエクステンションを無効にする(_E)"
 
-#: ../midori/main.c:1288
+#: ../midori/main.c:1315
 msgid "No filename specified"
 msgstr "ファイル名が指定されていません"
 
-#: ../midori/main.c:1311
+#: ../midori/main.c:1338
 msgid "An unknown error occured."
 msgstr "未知のエラーが発生しました。"
 
-#: ../midori/main.c:1335
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "スナップショットを取得しました: %s\n"
+
+#: ../midori/main.c:1391
+msgid "Run ADDRESS as a web application"
+msgstr "ADDRESS をウェブアプリケーションとして実行する"
+
+#: ../midori/main.c:1391
+msgid "ADDRESS"
+msgstr "ADDRESS"
+
+#: ../midori/main.c:1393
 msgid "Use FOLDER as configuration folder"
 msgstr "設定フォルダとして FOLDER を使用する"
 
-#: ../midori/main.c:1335
+#: ../midori/main.c:1393
 msgid "FOLDER"
 msgstr "FOLDER"
 
 # CLI --help
-#: ../midori/main.c:1337
+#: ../midori/main.c:1395
 msgid "Run the specified filename as javascript"
 msgstr "指定されたファイル名を javascript として実行する"
 
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr "指定された URI のスナップショットを取得する"
+
 # CLI --help
-#: ../midori/main.c:1339
+#: ../midori/main.c:1401
 msgid "Display program version"
 msgstr "プログラムのバージョンを表示する"
 
-#: ../midori/main.c:1341
+#: ../midori/main.c:1403
 msgid "Addresses"
 msgstr "アドレス"
 
-#: ../midori/main.c:1381
+#: ../midori/main.c:1446
 msgid "[Addresses]"
 msgstr "[アドレス]"
 
-#: ../midori/main.c:1404
+#: ../midori/main.c:1469
 msgid "Please report comments, suggestions and bugs to:"
 msgstr "コメント、ご提案、またはバグの報告はこちらまでお願いします:"
 
-#: ../midori/main.c:1406
+#: ../midori/main.c:1471
 msgid "Check for new versions at:"
 msgstr "新しいバージョンのチェックはこちら:"
 
-#: ../midori/main.c:1427
+#: ../midori/main.c:1548
 msgid "The specified configuration folder is invalid."
 msgstr "指定された設定フォルダが正しくありません。"
 
-#: ../midori/main.c:1462
+#: ../midori/main.c:1583
 msgid "An instance of Midori is already running but not responding.\n"
 msgstr "Midori のインスタンスはすでに実行中ですが応答がありません。\n"
 
-#: ../midori/main.c:1512
+#: ../midori/main.c:1633
 #, c-format
 msgid "The search engines couldn't be loaded. %s\n"
 msgstr "検索エンジンを読み込めませんでした。%s\n"
 
-#: ../midori/main.c:1524
+#: ../midori/main.c:1645
 #, c-format
 msgid "The bookmarks couldn't be loaded: %s\n"
 msgstr "ブックマークを読み込めませんでした: %s\n"
 
-#: ../midori/main.c:1539
+#: ../midori/main.c:1660
 #, c-format
 msgid "The session couldn't be loaded: %s\n"
 msgstr "セッションを読み込めませんでした: %s\n"
 
-#: ../midori/main.c:1552
+#: ../midori/main.c:1673
 #, c-format
 msgid "The trash couldn't be loaded: %s\n"
 msgstr "ゴミ箱を読み込めませんでした: %s\n"
 
-#: ../midori/main.c:1565
+#: ../midori/main.c:1686
 #, c-format
 msgid "The history couldn't be loaded: %s\n"
 msgstr "履歴を読み込めませんでした: %s\n"
 
-#: ../midori/main.c:1577
+#: ../midori/main.c:1698
 msgid "The following errors occured:"
 msgstr "次のエラーが発生しました:"
 
-#: ../midori/main.c:1593
+#: ../midori/main.c:1714
 msgid "_Ignore"
 msgstr "無視(_I)"
 
@@ -220,1103 +237,1211 @@ msgid "Malformed document."
 msgstr "不正な形式のドキュメントです。"
 
 #: ../midori/midori-array.c:338
-#: ../midori/sokoke.c:616
+#: ../midori/sokoke.c:716
 #, c-format
 msgid "Writing failed."
 msgstr "書き込みに失敗しました。"
 
-#: ../midori/midori-browser.c:278
-#: ../midori/midori-browser.c:3415
-#: ../midori/midori-browser.c:3421
+#: ../midori/midori-browser.c:287
+#: ../midori/midori-browser.c:3819
+#: ../midori/midori-browser.c:3825
 msgid "Reload the current page"
 msgstr "現在のページを再読み込みします"
 
-#: ../midori/midori-browser.c:289
-#: ../midori/midori-browser.c:3418
+#: ../midori/midori-browser.c:298
+#: ../midori/midori-browser.c:3822
 msgid "Stop loading the current page"
 msgstr "現在のページの読み込みを中止します"
 
-#: ../midori/midori-browser.c:352
+#: ../midori/midori-browser.c:360
 #, c-format
 msgid "%d%% loaded"
 msgstr "%d%% ロードしました"
 
-#: ../midori/midori-browser.c:377
+#: ../midori/midori-browser.c:385
 #, c-format
 msgid "Unexpected action '%s'."
 msgstr "'%s' は想定外のアクションです。"
 
-#: ../midori/midori-browser.c:554
+#: ../midori/midori-browser.c:603
 msgid "New folder"
 msgstr "新しいフォルダ"
 
-#: ../midori/midori-browser.c:554
+#: ../midori/midori-browser.c:603
 msgid "Edit folder"
 msgstr "フォルダの編集"
 
-#: ../midori/midori-browser.c:556
+#: ../midori/midori-browser.c:605
 msgid "New bookmark"
 msgstr "新しいブックマーク"
 
-#: ../midori/midori-browser.c:556
+#: ../midori/midori-browser.c:605
 msgid "Edit bookmark"
 msgstr "ブックマークの編集"
 
-#: ../midori/midori-browser.c:586
+#: ../midori/midori-browser.c:635
 msgid "_Title:"
 msgstr "タイトル(_T):"
 
-#: ../midori/midori-browser.c:599
-#: ../midori/midori-searchaction.c:856
+#: ../midori/midori-browser.c:648
+#: ../midori/midori-searchaction.c:948
 msgid "_Description:"
 msgstr "説明(_D):"
 
-#: ../midori/midori-browser.c:618
-#: ../midori/midori-searchaction.c:870
+#: ../midori/midori-browser.c:667
+#: ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
 msgid "_Address:"
 msgstr "アドレス(_A):"
 
-#: ../midori/midori-browser.c:637
+#: ../midori/midori-browser.c:686
 msgid "_Folder:"
 msgstr "フォルダ(_F):"
 
-#: ../midori/midori-browser.c:642
-#: ../midori/midori-browser.c:683
+#: ../midori/midori-browser.c:691
+#: ../midori/midori-browser.c:732
 msgid "Toplevel folder"
 msgstr "トップレベルフォルダ"
 
-#: ../midori/midori-browser.c:759
+#: ../midori/midori-browser.c:808
 msgid "Save file as"
 msgstr "名前を付けて保存"
 
-#: ../midori/midori-browser.c:1538
+#: ../midori/midori-browser.c:1119
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "ファイル <b>%s</b> をダウンロードしました。"
+
+#: ../midori/midori-browser.c:1123
+msgid "Transfer completed"
+msgstr "転送完了"
+
+#: ../midori/midori-browser.c:1820
 msgid "Open file"
 msgstr "ファイルを開く"
 
-#: ../midori/midori-browser.c:2850
-#: ../panels/midori-bookmarks.c:782
-#: ../panels/midori-history.c:809
+#: ../midori/midori-browser.c:3152
+#: ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:808
 msgid "Open all in _Tabs"
 msgstr "タブですべて開く(_T)"
 
-#: ../midori/midori-browser.c:2857
-#: ../panels/midori-bookmarks.c:788
-#: ../panels/midori-history.c:815
+#: ../midori/midori-browser.c:3159
+#: ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:814
+#: ../extensions/feed-panel/feed-panel.c:542
 msgid "Open in New _Tab"
 msgstr "新しいタブで開く(_T)"
 
-#: ../midori/midori-browser.c:2860
-#: ../panels/midori-bookmarks.c:790
-#: ../panels/midori-history.c:817
+#: ../midori/midori-browser.c:3162
+#: ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:816
+#: ../extensions/feed-panel/feed-panel.c:544
 msgid "Open in New _Window"
 msgstr "新しいウィンドウで開く(_W)"
 
 # Dialog title
-#: ../midori/midori-browser.c:3021
+#: ../midori/midori-browser.c:3425
 msgid "Clear Private Data"
 msgstr "プライベートデータのクリア"
 
 # Button title
-#: ../midori/midori-browser.c:3024
-msgid "Clear private data"
-msgstr "プライベートデータのクリア"
+#: ../midori/midori-browser.c:3428
+msgid "_Clear private data"
+msgstr "プライベートデータのクリア(_C)"
 
-#: ../midori/midori-browser.c:3037
+#: ../midori/midori-browser.c:3441
 msgid "Clear the following data:"
 msgstr "以下のデータをクリアします:"
 
-#: ../midori/midori-browser.c:3045
-#: ../midori/midori-preferences.c:628
+#: ../midori/midori-browser.c:3449
+#: ../midori/midori-preferences.c:669
 #: ../panels/midori-history.c:108
 msgid "History"
 msgstr "履歴"
 
-#: ../midori/midori-browser.c:3048
+#: ../midori/midori-browser.c:3452
 msgid "Cookies"
 msgstr "Cookie"
 
-#: ../midori/midori-browser.c:3051
+#: ../midori/midori-browser.c:3455
 msgid "'Flash' Cookies"
 msgstr "'Flash' Cookie"
 
-#: ../midori/midori-browser.c:3054
+#: ../midori/midori-browser.c:3458
 msgid "Website icons"
 msgstr "ウェブサイトアイコン"
 
-#: ../midori/midori-browser.c:3140
+#: ../midori/midori-browser.c:3538
 msgid "A lightweight web browser."
 msgstr "軽快なウェブブラウザ"
 
-#: ../midori/midori-browser.c:3148
+#: ../midori/midori-browser.c:3546
 msgid "translator-credits"
 msgstr "Masato Hashimoto <hashimo@xfce.org>"
 
-#: ../midori/midori-browser.c:3349
+#: ../midori/midori-browser.c:3750
 msgid "_File"
 msgstr "ファイル(_F)"
 
-#: ../midori/midori-browser.c:3352
+#: ../midori/midori-browser.c:3753
 msgid "Open a new window"
 msgstr "新しいウィンドウを開きます"
 
-#: ../midori/midori-browser.c:3355
+#: ../midori/midori-browser.c:3756
 msgid "Open a new tab"
 msgstr "新しいタブを開きます"
 
-#: ../midori/midori-browser.c:3358
+#: ../midori/midori-browser.c:3759
 msgid "Open a file"
 msgstr "ファイルを開きます"
 
-#: ../midori/midori-browser.c:3361
+#: ../midori/midori-browser.c:3762
 msgid "Save to a file"
 msgstr "ファイルへ保存します"
 
-#: ../midori/midori-browser.c:3363
+#: ../midori/midori-browser.c:3764
+#: ../midori/midori-view.c:1256
+msgid "Add to Speed _dial"
+msgstr "スピードダイアルに追加(_D)"
+
+#: ../midori/midori-browser.c:3765
+msgid "Add shortcut to speed dial"
+msgstr "ショートカットをスピードダイアルに追加します"
+
+#: ../midori/midori-browser.c:3767
 msgid "_Close Tab"
 msgstr "タブを閉じる(_C)"
 
-#: ../midori/midori-browser.c:3364
+#: ../midori/midori-browser.c:3768
 msgid "Close the current tab"
 msgstr "現在のタブを閉じます"
 
-#: ../midori/midori-browser.c:3366
+#: ../midori/midori-browser.c:3770
 msgid "C_lose Window"
 msgstr "ウィンドウを閉じる(_L)"
 
-#: ../midori/midori-browser.c:3367
+#: ../midori/midori-browser.c:3771
 msgid "Close this window"
 msgstr "このウィンドウを閉じます"
 
-#: ../midori/midori-browser.c:3370
+#: ../midori/midori-browser.c:3774
 msgid "Print the current page"
 msgstr "現在のページを印刷します"
 
-#: ../midori/midori-browser.c:3373
+#: ../midori/midori-browser.c:3777
 msgid "Quit the application"
 msgstr "このアプリケーションを終了します"
 
-#: ../midori/midori-browser.c:3375
+#: ../midori/midori-browser.c:3779
 msgid "_Edit"
 msgstr "編集(_E)"
 
-#: ../midori/midori-browser.c:3378
+#: ../midori/midori-browser.c:3782
 msgid "Cut the selected text"
-msgstr "é\81¸æ\8a\9eã\81\95ã\82\8cた文字を切り取ります"
+msgstr "é\81¸æ\8a\9eã\81\97た文字を切り取ります"
 
-#: ../midori/midori-browser.c:3381
-#: ../midori/midori-browser.c:3384
+#: ../midori/midori-browser.c:3785
+#: ../midori/midori-browser.c:3788
 msgid "Copy the selected text"
-msgstr "é\81¸æ\8a\9eã\81\95ã\82\8cた文字をコピーします"
+msgstr "é\81¸æ\8a\9eã\81\97た文字をコピーします"
 
-#: ../midori/midori-browser.c:3387
+#: ../midori/midori-browser.c:3791
 msgid "Paste text from the clipboard"
 msgstr "クリップボードから文字を貼り付けます"
 
-#: ../midori/midori-browser.c:3390
+#: ../midori/midori-browser.c:3794
 msgid "Delete the selected text"
-msgstr "é\81¸æ\8a\9eã\81\95ã\82\8cた文字を削除します"
+msgstr "é\81¸æ\8a\9eã\81\97た文字を削除します"
 
-#: ../midori/midori-browser.c:3393
+#: ../midori/midori-browser.c:3797
 msgid "Select all text"
 msgstr "すべての文字を選択します"
 
-#: ../midori/midori-browser.c:3396
+#: ../midori/midori-browser.c:3800
 msgid "Find a word or phrase in the page"
 msgstr "ページ内の単語やフレーズを検索します"
 
-#: ../midori/midori-browser.c:3398
+#: ../midori/midori-browser.c:3802
 msgid "Find _Next"
 msgstr "次を検索(_N)"
 
-#: ../midori/midori-browser.c:3399
+#: ../midori/midori-browser.c:3803
 msgid "Find the next occurrence of a word or phrase"
 msgstr "指定文字列に一致する次の候補を検索します"
 
-#: ../midori/midori-browser.c:3401
+#: ../midori/midori-browser.c:3805
 msgid "Find _Previous"
 msgstr "前を検索(_P)"
 
-#: ../midori/midori-browser.c:3402
+#: ../midori/midori-browser.c:3806
 msgid "Find the previous occurrence of a word or phrase"
 msgstr "指定文字列に一致する前の候補を検索します"
 
-#: ../midori/midori-browser.c:3405
+#: ../midori/midori-browser.c:3809
 msgid "_Quick Find"
 msgstr "クイック検索(_Q)"
 
-#: ../midori/midori-browser.c:3406
+#: ../midori/midori-browser.c:3810
 msgid "Quickly jump to a word or phrase"
 msgstr "単語やフレーズにすぐに移動します"
 
-#: ../midori/midori-browser.c:3409
+#: ../midori/midori-browser.c:3813
 msgid "Configure the application preferences"
 msgstr "アプリケーションの設定を行います"
 
-#: ../midori/midori-browser.c:3411
+#: ../midori/midori-browser.c:3815
 msgid "_View"
 msgstr "表示(_V)"
 
-#: ../midori/midori-browser.c:3412
+#: ../midori/midori-browser.c:3816
 msgid "_Toolbars"
 msgstr "ツールバー(_T)"
 
-#: ../midori/midori-browser.c:3424
+#: ../midori/midori-browser.c:3828
 msgid "Increase the zoom level"
 msgstr "ズームレベルを大きくします"
 
-#: ../midori/midori-browser.c:3427
+#: ../midori/midori-browser.c:3831
 msgid "Decrease the zoom level"
 msgstr "ズームレベルを小さくします"
 
-#: ../midori/midori-browser.c:3430
+#: ../midori/midori-browser.c:3834
 msgid "Reset the zoom level"
 msgstr "ズームレベルをリセットします"
 
-#: ../midori/midori-browser.c:3431
+#: ../midori/midori-browser.c:3835
 msgid "_Encoding"
 msgstr "エンコーディング(_E)"
 
-#: ../midori/midori-browser.c:3433
+#: ../midori/midori-browser.c:3837
 msgid "_Automatic"
 msgstr "自動(_A)"
 
-#: ../midori/midori-browser.c:3436
-#: ../midori/midori-websettings.c:196
+#: ../midori/midori-browser.c:3840
+#: ../midori/midori-websettings.c:204
 msgid "Chinese (BIG5)"
 msgstr "中国語 (BIG5)"
 
-#: ../midori/midori-browser.c:3439
-#: ../midori/midori-websettings.c:197
+#: ../midori/midori-browser.c:3843
+#: ../midori/midori-websettings.c:205
 msgid "Japanese (SHIFT_JIS)"
 msgstr "日本語 (SHIFT_JIS)"
 
-#: ../midori/midori-browser.c:3442
-#: ../midori/midori-websettings.c:198
+#: ../midori/midori-browser.c:3846
+#: ../midori/midori-websettings.c:206
 msgid "Russian (KOI8-R)"
 msgstr "ロシア語 (KOI8-R)"
 
-#: ../midori/midori-browser.c:3445
-#: ../midori/midori-websettings.c:199
+#: ../midori/midori-browser.c:3849
+#: ../midori/midori-websettings.c:207
 msgid "Unicode (UTF-8)"
 msgstr "Unicode (UTF-8)"
 
-#: ../midori/midori-browser.c:3448
-#: ../midori/midori-websettings.c:200
+#: ../midori/midori-browser.c:3852
+#: ../midori/midori-websettings.c:208
 msgid "Western (ISO-8859-1)"
 msgstr "西欧 (ISO-8859-1)"
 
-#: ../midori/midori-browser.c:3451
-#: ../midori/midori-websettings.c:201
-#: ../midori/midori-websettings.c:273
+#: ../midori/midori-browser.c:3855
+#: ../midori/midori-websettings.c:209
+#: ../midori/midori-websettings.c:281
 msgid "Custom..."
 msgstr "カスタム..."
 
-#: ../midori/midori-browser.c:3454
-#: ../midori/midori-view.c:1161
+#: ../midori/midori-browser.c:3858
+#: ../midori/midori-view.c:1275
 msgid "View _Source"
 msgstr "ソースを表示(_S)"
 
-#: ../midori/midori-browser.c:3455
+#: ../midori/midori-browser.c:3859
 msgid "View the source code of the page"
 msgstr "ページのソースコードを表示します"
 
-#: ../midori/midori-browser.c:3457
+#: ../midori/midori-browser.c:3861
 msgid "View Selection Source"
 msgstr "選択領域のソースを表示"
 
-#: ../midori/midori-browser.c:3458
+#: ../midori/midori-browser.c:3862
 msgid "View the source code of the selection"
 msgstr "選択した領域のソースを表示します"
 
-#: ../midori/midori-browser.c:3462
+#: ../midori/midori-browser.c:3866
 msgid "Toggle fullscreen view"
 msgstr "全画面表示/解除を切り替えます"
 
-#: ../midori/midori-browser.c:3464
+#: ../midori/midori-browser.c:3868
 msgid "_Go"
 msgstr "移動(_G)"
 
-#: ../midori/midori-browser.c:3467
+#: ../midori/midori-browser.c:3871
 msgid "Go back to the previous page"
 msgstr "前のページへ戻ります"
 
-#: ../midori/midori-browser.c:3470
+#: ../midori/midori-browser.c:3874
 msgid "Go forward to the next page"
 msgstr "次のページへ進みます"
 
-#: ../midori/midori-browser.c:3473
+#: ../midori/midori-browser.c:3877
 msgid "Go to your homepage"
 msgstr "ホームページに移動します"
 
-#: ../midori/midori-browser.c:3475
+#: ../midori/midori-browser.c:3879
 msgid "Empty Trash"
 msgstr "ゴミ箱を空にする"
 
-#: ../midori/midori-browser.c:3476
+#: ../midori/midori-browser.c:3880
 msgid "Delete the contents of the trash"
 msgstr "ゴミ箱の中身を削除します"
 
-#: ../midori/midori-browser.c:3478
-#: ../midori/midori-view.c:1133
+#: ../midori/midori-browser.c:3882
+#: ../midori/midori-view.c:1233
 msgid "Undo Close Tab"
 msgstr "閉じたタブを元に戻す"
 
-#: ../midori/midori-browser.c:3479
+#: ../midori/midori-browser.c:3883
 msgid "Open the last closed tab"
 msgstr "最後に閉じたタブを開きます"
 
-#: ../midori/midori-browser.c:3483
-#: ../panels/midori-bookmarks.c:232
+#: ../midori/midori-browser.c:3887
+#: ../panels/midori-bookmarks.c:230
 msgid "Add a new bookmark"
 msgstr "新しいブックマークを追加します"
 
-#: ../midori/midori-browser.c:3485
-#: ../panels/midori-bookmarks.c:261
+#: ../midori/midori-browser.c:3889
+#: ../panels/midori-bookmarks.c:259
 msgid "Add a new folder"
 msgstr "新しいフォルダの追加"
 
-#: ../midori/midori-browser.c:3486
+#: ../midori/midori-browser.c:3890
 msgid "Add a new bookmark folder"
 msgstr "新しいブックマークフォルダを追加します"
 
-#: ../midori/midori-browser.c:3487
+#: ../midori/midori-browser.c:3891
 msgid "_Tools"
 msgstr "ツール(_T)"
 
-#: ../midori/midori-browser.c:3489
-#: ../midori/midori-searchaction.c:465
+#: ../midori/midori-browser.c:3893
+#: ../midori/midori-searchaction.c:493
 msgid "_Manage Search Engines"
 msgstr "検索エンジンの管理(_M)"
 
-#: ../midori/midori-browser.c:3490
+#: ../midori/midori-browser.c:3894
 msgid "Add, edit and remove search engines..."
 msgstr "検索エンジンを追加、編集、または削除します..."
 
-#: ../midori/midori-browser.c:3493
+#: ../midori/midori-browser.c:3897
 msgid "_Clear Private Data"
 msgstr "プライベートデータのクリア(_C)"
 
-#: ../midori/midori-browser.c:3494
+#: ../midori/midori-browser.c:3898
 msgid "Clear private data..."
 msgstr "プライベートデータをクリアします..."
 
-#: ../midori/midori-browser.c:3498
+#: ../midori/midori-browser.c:3902
 msgid "_Previous Tab"
 msgstr "前のタブ(_P)"
 
-#: ../midori/midori-browser.c:3499
+#: ../midori/midori-browser.c:3903
 msgid "Switch to the previous tab"
 msgstr "前のタブへ切り替えます"
 
-#: ../midori/midori-browser.c:3501
+#: ../midori/midori-browser.c:3905
 msgid "_Next Tab"
 msgstr "次のタブ(_N)"
 
-#: ../midori/midori-browser.c:3502
+#: ../midori/midori-browser.c:3906
 msgid "Switch to the next tab"
 msgstr "次のタブへ切り替えます"
 
-#: ../midori/midori-browser.c:3504
+#: ../midori/midori-browser.c:3908
 msgid "_Help"
 msgstr "ヘルプ(_H)"
 
-#: ../midori/midori-browser.c:3506
+#: ../midori/midori-browser.c:3910
 msgid "_Contents"
 msgstr "目次(_C)"
 
-#: ../midori/midori-browser.c:3507
+#: ../midori/midori-browser.c:3911
 msgid "Show the documentation"
 msgstr "ドキュメントを表示します"
 
-#: ../midori/midori-browser.c:3509
+#: ../midori/midori-browser.c:3913
 msgid "_Frequent Questions"
 msgstr "よくある質問(_F)"
 
-#: ../midori/midori-browser.c:3510
+#: ../midori/midori-browser.c:3914
 msgid "Show the Frequently Asked Questions"
 msgstr "よくある質問とその答えを表示します"
 
-#: ../midori/midori-browser.c:3512
+#: ../midori/midori-browser.c:3916
 msgid "_Report a Bug"
 msgstr "バグを報告(_R)"
 
-#: ../midori/midori-browser.c:3513
+#: ../midori/midori-browser.c:3917
 msgid "Open Midori's bug tracker"
 msgstr "Midori のバグトラッカーを開きます"
 
-#: ../midori/midori-browser.c:3516
+#: ../midori/midori-browser.c:3920
 msgid "Show information about the program"
 msgstr "このプログラムについての情報を表示します"
 
-#: ../midori/midori-browser.c:3523
+#: ../midori/midori-browser.c:3927
 msgid "P_rivate Browsing"
 msgstr "プライベートブラウジング(_R)"
 
-#: ../midori/midori-browser.c:3524
+#: ../midori/midori-browser.c:3928
 msgid "Don't save any private data while browsing"
 msgstr "閲覧する中で個人データを保存しません"
 
-#: ../midori/midori-browser.c:3529
+#: ../midori/midori-browser.c:3933
 msgid "_Menubar"
 msgstr "メニューバー(_M)"
 
-#: ../midori/midori-browser.c:3530
+#: ../midori/midori-browser.c:3934
 msgid "Show menubar"
 msgstr "メニューバーを表示します"
 
-#: ../midori/midori-browser.c:3533
+#: ../midori/midori-browser.c:3937
 msgid "_Navigationbar"
 msgstr "ナビゲーションバー(_N)"
 
-#: ../midori/midori-browser.c:3534
+#: ../midori/midori-browser.c:3938
 msgid "Show navigationbar"
 msgstr "ナビゲーションバーを表示します"
 
-#: ../midori/midori-browser.c:3537
+#: ../midori/midori-browser.c:3941
 msgid "Side_panel"
 msgstr "サイドパネル(_P)"
 
-#: ../midori/midori-browser.c:3538
+#: ../midori/midori-browser.c:3942
 msgid "Show sidepanel"
 msgstr "サイドパネルを表示します"
 
-#: ../midori/midori-browser.c:3541
+#: ../midori/midori-browser.c:3945
 msgid "_Bookmarkbar"
 msgstr "ブックマークバー(_B)"
 
-#: ../midori/midori-browser.c:3542
+#: ../midori/midori-browser.c:3946
 msgid "Show bookmarkbar"
 msgstr "ブックマークバーを表示します"
 
-#: ../midori/midori-browser.c:3545
+#: ../midori/midori-browser.c:3949
 msgid "_Transferbar"
 msgstr "転送バー(_T)"
 
-#: ../midori/midori-browser.c:3546
+#: ../midori/midori-browser.c:3950
 msgid "Show transferbar"
 msgstr "転送バーを表示します"
 
-#: ../midori/midori-browser.c:3549
+#: ../midori/midori-browser.c:3953
 msgid "_Statusbar"
 msgstr "ステータスバー(_S)"
 
-#: ../midori/midori-browser.c:3550
+#: ../midori/midori-browser.c:3954
 msgid "Show statusbar"
 msgstr "ステータスバーを表示します"
 
-#: ../midori/midori-browser.c:3984
+#: ../midori/midori-browser.c:4389
 msgid "_Separator"
 msgstr "セパレータ(_S)"
 
-#: ../midori/midori-browser.c:3991
+#: ../midori/midori-browser.c:4396
 msgid "_Location..."
 msgstr "場所(_L)..."
 
-#: ../midori/midori-browser.c:3993
+#: ../midori/midori-browser.c:4398
 msgid "Open a particular location"
 msgstr "指定された場所を開きます"
 
-#: ../midori/midori-browser.c:4017
+#: ../midori/midori-browser.c:4420
 msgid "_Web Search..."
 msgstr "ウェブ検索(_W)..."
 
-#: ../midori/midori-browser.c:4019
+#: ../midori/midori-browser.c:4422
 msgid "Run a web search"
 msgstr "ウェブ検索を実行します"
 
-#: ../midori/midori-browser.c:4038
+#: ../midori/midori-browser.c:4443
 msgid "Reopen a previously closed tab or window"
 msgstr "これまでに閉じられたタブやウィンドウを再び開きます"
 
-#: ../midori/midori-browser.c:4051
+#: ../midori/midori-browser.c:4458
 msgid "_Recently visited pages"
 msgstr "最近訪れたページ(_R)"
 
-#: ../midori/midori-browser.c:4053
+#: ../midori/midori-browser.c:4460
 msgid "Reopen pages that you visited earlier"
 msgstr "以前に訪れたページを再び開きます"
 
-#: ../midori/midori-browser.c:4066
-#: ../midori/sokoke.c:771
+#: ../midori/midori-browser.c:4475
+#: ../midori/sokoke.c:872
 msgid "_Bookmarks"
 msgstr "ブックマーク(_B)"
 
-#: ../midori/midori-browser.c:4068
+#: ../midori/midori-browser.c:4477
 msgid "Show the saved bookmarks"
-msgstr "保存されたブックマークを表示します"
+msgstr "ブックマークを表示します"
 
-#: ../midori/midori-browser.c:4081
+#: ../midori/midori-browser.c:4492
 msgid "_Window"
 msgstr "ウィンドウ(_W)"
 
-#: ../midori/midori-browser.c:4083
+#: ../midori/midori-browser.c:4494
 msgid "Show a list of all open tabs"
 msgstr "開いているすべてのタブのリストを表示します"
 
 #. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:4250
+#: ../midori/midori-browser.c:4674
 msgid "_Inline Find:"
 msgstr "インライン検索(_I)"
 
-#: ../midori/midori-browser.c:4275
+#: ../midori/midori-browser.c:4699
 msgid "Previous"
 msgstr "前を検索"
 
-#: ../midori/midori-browser.c:4280
+#: ../midori/midori-browser.c:4704
 msgid "Next"
 msgstr "次を検索"
 
-#: ../midori/midori-browser.c:4285
+#: ../midori/midori-browser.c:4709
 msgid "Match Case"
 msgstr "大文字・小文字を区別"
 
-#: ../midori/midori-browser.c:4293
+#: ../midori/midori-browser.c:4717
 msgid "Highlight Matches"
 msgstr "強調表示"
 
-#: ../midori/midori-browser.c:4303
+#: ../midori/midori-browser.c:4727
 msgid "Close Findbar"
 msgstr "検索バーを閉じる"
 
-#: ../midori/midori-browser.c:4609
+#: ../midori/midori-browser.c:4762
+#: ../extensions/cookie-manager.c:821
+msgid "Delete All"
+msgstr "すべて削除"
+
+#: ../midori/midori-browser.c:5084
 #, c-format
 msgid "Unexpected setting '%s'"
 msgstr "'%s' は予想外の設定です"
 
-#: ../midori/midori-panel.c:309
+#: ../midori/midori-panel.c:333
 msgid "Detach chosen panel from the window"
-msgstr "é\81¸æ\8a\9eã\81\95ã\82\8cたパネルをウィンドウから切り離す"
+msgstr "é\81¸æ\8a\9eã\81\97たパネルをウィンドウから切り離す"
 
-#: ../midori/midori-panel.c:311
+#: ../midori/midori-panel.c:335
 msgid "Whether to detach the chosen panel from the window"
-msgstr "é\81¸æ\8a\9eã\81\95ã\82\8cたパネルをウィンドウから切り離します"
+msgstr "é\81¸æ\8a\9eã\81\97たパネルをウィンドウから切り離します"
 
-#: ../midori/midori-panel.c:321
-#: ../midori/midori-websettings.c:511
+#: ../midori/midori-panel.c:345
+#: ../midori/midori-websettings.c:535
 msgid "Align sidepanel on the right"
 msgstr "サイドパネルを右側に配置する"
 
-#: ../midori/midori-panel.c:323
-#: ../midori/midori-websettings.c:512
+#: ../midori/midori-panel.c:347
+#: ../midori/midori-websettings.c:536
 msgid "Whether to align the sidepanel on the right"
 msgstr "サイドパネルを右側に表示します"
 
-#: ../midori/midori-panel.c:333
-#: ../midori/midori-panel.c:334
+#: ../midori/midori-panel.c:357
+#: ../midori/midori-panel.c:358
 msgid "Close panel"
 msgstr "パネルを閉じます"
 
-#: ../midori/midori-websettings.c:179
-#: ../midori/midori-view.c:1965
+#: ../midori/midori-websettings.c:187
+#: ../midori/midori-view.c:1999
+#: ../midori/midori-view.c:2176
 msgid "Blank page"
 msgstr "空白ページ"
 
-#: ../midori/midori-websettings.c:180
-#: ../midori/midori-websettings.c:531
+#: ../midori/midori-websettings.c:188
+#: ../midori/midori-websettings.c:555
 msgid "Homepage"
 msgstr "ホームページ"
 
-#: ../midori/midori-websettings.c:181
+#: ../midori/midori-websettings.c:189
 msgid "Last open pages"
 msgstr "最後に開いたページ"
 
-#: ../midori/midori-websettings.c:216
+#: ../midori/midori-websettings.c:224
 msgid "New tab"
 msgstr "新しいタブ"
 
-#: ../midori/midori-websettings.c:217
+#: ../midori/midori-websettings.c:225
 msgid "New window"
 msgstr "新しいウィンドウ"
 
-#: ../midori/midori-websettings.c:218
+#: ../midori/midori-websettings.c:226
 msgid "Current tab"
 msgstr "現在のタブ"
 
-#: ../midori/midori-websettings.c:233
+#: ../midori/midori-websettings.c:241
 msgid "Default"
 msgstr "デフォルト"
 
-#: ../midori/midori-websettings.c:234
+#: ../midori/midori-websettings.c:242
 msgid "Icons"
 msgstr "アイコン"
 
-#: ../midori/midori-websettings.c:235
+#: ../midori/midori-websettings.c:243
 msgid "Text"
 msgstr "文字"
 
-#: ../midori/midori-websettings.c:236
+#: ../midori/midori-websettings.c:244
 msgid "Both"
 msgstr "アイコンと文字"
 
-#: ../midori/midori-websettings.c:237
+#: ../midori/midori-websettings.c:245
 msgid "Both horizontal"
 msgstr "アイコンと文字 (横方向)"
 
-#: ../midori/midori-websettings.c:252
+#: ../midori/midori-websettings.c:260
 msgid "All cookies"
 msgstr "すべての Cookie"
 
-#: ../midori/midori-websettings.c:253
+#: ../midori/midori-websettings.c:261
 msgid "Session cookies"
 msgstr "セッションの Cookie"
 
-#: ../midori/midori-websettings.c:254
+#: ../midori/midori-websettings.c:262
 #: ../panels/midori-addons.c:94
 msgid "None"
 msgstr "なし"
 
-#: ../midori/midori-websettings.c:270
+#: ../midori/midori-websettings.c:278
 msgid "Safari"
 msgstr "Safari"
 
-#: ../midori/midori-websettings.c:271
+#: ../midori/midori-websettings.c:279
 msgid "Firefox"
 msgstr "Firefox"
 
-#: ../midori/midori-websettings.c:272
+#: ../midori/midori-websettings.c:280
 msgid "Internet Explorer"
 msgstr "Internet Explorer"
 
-#: ../midori/midori-websettings.c:325
+#: ../midori/midori-websettings.c:333
 msgid "Remember last window size"
 msgstr "最後のウィンドウサイズを記憶する"
 
-#: ../midori/midori-websettings.c:326
+#: ../midori/midori-websettings.c:334
 msgid "Whether to save the last window size"
 msgstr "最後のウィンドウサイズを記憶します"
 
-#: ../midori/midori-websettings.c:334
+#: ../midori/midori-websettings.c:342
 msgid "Last window width"
 msgstr "最後のウィンドウの幅"
 
-#: ../midori/midori-websettings.c:335
+#: ../midori/midori-websettings.c:343
 msgid "The last saved window width"
 msgstr "最後に保存されたウィンドウ幅"
 
-#: ../midori/midori-websettings.c:343
+#: ../midori/midori-websettings.c:351
 msgid "Last window height"
 msgstr "最後のウィンドウの高さ"
 
-#: ../midori/midori-websettings.c:344
+#: ../midori/midori-websettings.c:352
 msgid "The last saved window height"
 msgstr "最後に保存されたウィンドウの高さにします"
 
-#: ../midori/midori-websettings.c:369
+#: ../midori/midori-websettings.c:377
 msgid "Last panel position"
 msgstr "最後のパネルの位置"
 
-#: ../midori/midori-websettings.c:370
+#: ../midori/midori-websettings.c:378
 msgid "The last saved panel position"
 msgstr "最後に保存されたパネルの位置にします"
 
 #. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:379
+#: ../midori/midori-websettings.c:387
 msgid "Last panel page"
 msgstr "最後のパネルページ"
 
-#: ../midori/midori-websettings.c:380
+#: ../midori/midori-websettings.c:388
 msgid "The last saved panel page"
 msgstr "最後に保存されたパネルのページです"
 
-#: ../midori/midori-websettings.c:388
+#: ../midori/midori-websettings.c:396
 msgid "Last Web search"
 msgstr "最後のウェブ検索"
 
-#: ../midori/midori-websettings.c:389
+#: ../midori/midori-websettings.c:397
 msgid "The last saved Web search"
 msgstr "最後に保存されたウェブ検索です"
 
-#: ../midori/midori-websettings.c:398
+#: ../midori/midori-websettings.c:406
 msgid "Show Menubar"
 msgstr "メニューバーを表示する"
 
-#: ../midori/midori-websettings.c:399
+#: ../midori/midori-websettings.c:407
 msgid "Whether to show the menubar"
 msgstr "メニューバーを表示します"
 
-#: ../midori/midori-websettings.c:407
+#: ../midori/midori-websettings.c:415
 msgid "Show Navigationbar"
 msgstr "ナビゲーションバーを表示する"
 
-#: ../midori/midori-websettings.c:408
+#: ../midori/midori-websettings.c:416
 msgid "Whether to show the navigationbar"
 msgstr "ナビゲーションバーを表示します"
 
-#: ../midori/midori-websettings.c:416
+#: ../midori/midori-websettings.c:424
 msgid "Show Bookmarkbar"
 msgstr "ブックマークバーを表示する"
 
-#: ../midori/midori-websettings.c:417
+#: ../midori/midori-websettings.c:425
 msgid "Whether to show the bookmarkbar"
 msgstr "ブックマークバーを表示します"
 
-#: ../midori/midori-websettings.c:425
+#: ../midori/midori-websettings.c:433
 msgid "Show Panel"
 msgstr "パネルを表示する"
 
-#: ../midori/midori-websettings.c:426
+#: ../midori/midori-websettings.c:434
 msgid "Whether to show the panel"
 msgstr "パネルを表示します"
 
-#: ../midori/midori-websettings.c:441
+#: ../midori/midori-websettings.c:449
 msgid "Show Transferbar"
 msgstr "転送バーを表示する"
 
-#: ../midori/midori-websettings.c:442
+#: ../midori/midori-websettings.c:450
 msgid "Whether to show the transferbar"
 msgstr "転送バーを表示します"
 
-#: ../midori/midori-websettings.c:450
+#: ../midori/midori-websettings.c:458
 msgid "Show Statusbar"
 msgstr "ステータスバーを表示する"
 
-#: ../midori/midori-websettings.c:451
+#: ../midori/midori-websettings.c:459
 msgid "Whether to show the statusbar"
 msgstr "ステータスバーを表示します"
 
-#: ../midori/midori-websettings.c:460
+#: ../midori/midori-websettings.c:468
 msgid "Toolbar Style"
 msgstr "ツールバー方式"
 
-#: ../midori/midori-websettings.c:461
+#: ../midori/midori-websettings.c:469
 msgid "The style of the toolbar"
 msgstr "ツールバーの表示方式を指定します"
 
-#: ../midori/midori-websettings.c:477
+#: ../midori/midori-websettings.c:485
 msgid "Show progress in location entry"
 msgstr "ロケーションエントリに進捗を表示する"
 
-#: ../midori/midori-websettings.c:478
+#: ../midori/midori-websettings.c:486
 msgid "Whether to show loading progress in the location entry"
 msgstr "ロケーションエントリ内に読み込みの進捗状況を表示します"
 
-#: ../midori/midori-websettings.c:486
+#: ../midori/midori-websettings.c:501
+msgid "Search engines in location completion"
+msgstr "場所の補完に検索エンジンを使用する"
+
+#: ../midori/midori-websettings.c:502
+msgid "Whether to show search engines in the location completion"
+msgstr "場所の補完候補内から検索エンジンを使用できるようにします"
+
+#: ../midori/midori-websettings.c:510
 msgid "Toolbar Items"
 msgstr "ツールバーアイテム"
 
-#: ../midori/midori-websettings.c:487
+#: ../midori/midori-websettings.c:511
 msgid "The items to show on the toolbar"
 msgstr "ツールバーに表示するアイテムを指定します"
 
-#: ../midori/midori-websettings.c:495
+#: ../midori/midori-websettings.c:519
 msgid "Compact Sidepanel"
 msgstr "サイドパネルをコンパクトにする"
 
-#: ../midori/midori-websettings.c:496
+#: ../midori/midori-websettings.c:520
 msgid "Whether to make the sidepanel compact"
 msgstr "サイドパネルの表示をコンパクトにします"
 
-#: ../midori/midori-websettings.c:521
+#: ../midori/midori-websettings.c:545
 msgid "Load on Startup"
 msgstr "起動時に読み込む"
 
-#: ../midori/midori-websettings.c:522
+#: ../midori/midori-websettings.c:546
 msgid "What to load on startup"
 msgstr "起動時に読み込むページを指定します"
 
-#: ../midori/midori-websettings.c:532
+#: ../midori/midori-websettings.c:556
 msgid "The homepage"
 msgstr "ホームページを指定します"
 
-#: ../midori/midori-websettings.c:547
+#: ../midori/midori-websettings.c:571
 msgid "Show crash dialog"
 msgstr "クラッシュダイアログを表示する"
 
-#: ../midori/midori-websettings.c:548
+#: ../midori/midori-websettings.c:572
 msgid "Show a dialog after Midori crashed"
 msgstr "Midori がクラッシュした後の起動時にダイアログを表示します"
 
-#: ../midori/midori-websettings.c:556
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:588
+msgid "Show speed dial in new tabs"
+msgstr "新しいタブにスピードダイアルを表示する"
+
+#: ../midori/midori-websettings.c:589
+msgid "Show speed dial in newly opened tabs"
+msgstr "新しく開かれたタブにスピードダイアルを表示します"
+
+#: ../midori/midori-websettings.c:597
 msgid "Download Folder"
 msgstr "ダウンロードフォルダ"
 
-#: ../midori/midori-websettings.c:557
+#: ../midori/midori-websettings.c:598
 msgid "The folder downloaded files are saved to"
 msgstr "ダウンロードファイルの保存先を指定します"
 
-#: ../midori/midori-websettings.c:569
+#: ../midori/midori-websettings.c:617
+msgid "Ask for the destination folder"
+msgstr "保存先フォルダを問い合わせる"
+
+#: ../midori/midori-websettings.c:618
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr "ファイルをダウンロードする時に保存先フォルダを問い合わせます"
+
+#: ../midori/midori-websettings.c:637
+msgid "Notify when a transfer has been completed"
+msgstr "転送が完了したら通知する"
+
+#: ../midori/midori-websettings.c:638
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "転送が完了したら通知します"
+
+#: ../midori/midori-websettings.c:650
 msgid "Download Manager"
 msgstr "ダウンロードマネージャ"
 
-#: ../midori/midori-websettings.c:570
+#: ../midori/midori-websettings.c:651
 msgid "An external download manager"
 msgstr "外部ダウンロードマネージャを指定します"
 
-#: ../midori/midori-websettings.c:578
+#: ../midori/midori-websettings.c:659
 msgid "Text Editor"
 msgstr "テキストエディタ"
 
-#: ../midori/midori-websettings.c:579
+#: ../midori/midori-websettings.c:660
 msgid "An external text editor"
 msgstr "外部テキストエディタを指定します"
 
-#: ../midori/midori-websettings.c:587
+#: ../midori/midori-websettings.c:675
+msgid "News Aggregator"
+msgstr "フィードリーダ"
+
+#: ../midori/midori-websettings.c:676
+msgid "An external news aggregator"
+msgstr "外部フィードリーダを指定します"
+
+#: ../midori/midori-websettings.c:684
 msgid "Location entry Search"
 msgstr "ロケーションエントリの検索"
 
-#: ../midori/midori-websettings.c:588
+#: ../midori/midori-websettings.c:685
 msgid "The search to perform inside the location entry"
 msgstr "ロケーションエントリに入力された文字列の検索エンジンを指定します"
 
-#: ../midori/midori-websettings.c:596
+#: ../midori/midori-websettings.c:693
 msgid "Preferred Encoding"
 msgstr "文字のエンコーディング"
 
-#: ../midori/midori-websettings.c:597
+#: ../midori/midori-websettings.c:694
 msgid "The preferred character encoding"
 msgstr "文字のエンコーディングを指定します"
 
-#: ../midori/midori-websettings.c:607
+#: ../midori/midori-websettings.c:704
 msgid "Always Show Tabbar"
 msgstr "常にタブバーを表示する"
 
-#: ../midori/midori-websettings.c:608
+#: ../midori/midori-websettings.c:705
 msgid "Always show the tabbar"
 msgstr "常にタブバーを表示します"
 
-#: ../midori/midori-websettings.c:616
+#: ../midori/midori-websettings.c:713
 msgid "Close Buttons on Tabs"
 msgstr "タブに閉じるボタンを表示する"
 
-#: ../midori/midori-websettings.c:617
+#: ../midori/midori-websettings.c:714
 msgid "Whether tabs have close buttons"
 msgstr "タブに閉じるボタンを表示します"
 
-#: ../midori/midori-websettings.c:625
+#: ../midori/midori-websettings.c:722
 msgid "Open new pages in"
 msgstr "新しくページを開くとき"
 
-#: ../midori/midori-websettings.c:626
+#: ../midori/midori-websettings.c:723
 msgid "Where to open new pages"
 msgstr "新しいページをどこに開くか指定します"
 
-#: ../midori/midori-websettings.c:635
+#: ../midori/midori-websettings.c:732
 msgid "Open external pages in"
 msgstr "外部ページを開くとき"
 
-#: ../midori/midori-websettings.c:636
+#: ../midori/midori-websettings.c:733
 msgid "Where to open externally opened pages"
 msgstr "外部のページをどこに開くか指定します"
 
-#: ../midori/midori-websettings.c:649
+#: ../midori/midori-websettings.c:746
 msgid "Middle click opens Selection"
 msgstr "選択範囲を中央クリックで開く"
 
-#: ../midori/midori-websettings.c:650
+#: ../midori/midori-websettings.c:747
 msgid "Load an address from the selection via middle click"
 msgstr "選択したアドレスをマウスの中央クリックで読み込みます"
 
-#: ../midori/midori-websettings.c:658
+#: ../midori/midori-websettings.c:755
 msgid "Open tabs in the background"
 msgstr "タブをバックグラウンドで開く"
 
-#: ../midori/midori-websettings.c:659
+#: ../midori/midori-websettings.c:756
 msgid "Whether to open new tabs in the background"
 msgstr "新しいタブをバックグラウンドで開きます"
 
-#: ../midori/midori-websettings.c:667
+#: ../midori/midori-websettings.c:764
 msgid "Open Tabs next to Current"
 msgstr "現在のタブの隣に開く"
 
-#: ../midori/midori-websettings.c:668
+#: ../midori/midori-websettings.c:765
 msgid "Whether to open new tabs next to the current tab or after the last one"
 msgstr "新しいタブを現在のタブの隣に開くか、最後のタブの隣に開くかを指定します"
 
-#: ../midori/midori-websettings.c:676
+#: ../midori/midori-websettings.c:773
 msgid "Open popups in tabs"
 msgstr "ポップアップをタブに開く"
 
-#: ../midori/midori-websettings.c:677
+#: ../midori/midori-websettings.c:774
 msgid "Whether to open popup windows in tabs"
 msgstr "ポップアップウィンドウをタブに開きます"
 
-#: ../midori/midori-websettings.c:693
+#: ../midori/midori-websettings.c:790
 msgid "Zoom Text and Images"
 msgstr "文字や画像を拡大/縮小する"
 
-#: ../midori/midori-websettings.c:694
+#: ../midori/midori-websettings.c:791
 msgid "Whether to zoom text and images"
 msgstr "文字や画像の拡大/縮小を可能にします"
 
-#: ../midori/midori-websettings.c:709
+#: ../midori/midori-websettings.c:806
 msgid "Find inline while typing"
 msgstr "キー入力中に自動的に検索する"
 
-#: ../midori/midori-websettings.c:710
+#: ../midori/midori-websettings.c:807
 msgid "Whether to automatically find inline while typing"
 msgstr "インライン検索において、キー入力に従い自動的に検索します"
 
-#: ../midori/midori-websettings.c:718
+#: ../midori/midori-websettings.c:815
 msgid "Accept cookies"
 msgstr "Cookie の受け入れ"
 
-#: ../midori/midori-websettings.c:719
+#: ../midori/midori-websettings.c:816
 msgid "What type of cookies to accept"
-msgstr "Cookie ã\82\92å\8f\97ã\81\91å\85¥ã\82\8cã\82\8bæ\96¹å¼\8fã\82\92é\81¸æ\8a\9eã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84"
+msgstr "Cookie ã\82\92å\8f\97ã\81\91å\85¥ã\82\8cã\82\8bæ\96¹å¼\8fã\82\92é\81¸æ\8a\9eã\81\97ã\81¾ã\81\99"
 
-#: ../midori/midori-websettings.c:728
+#: ../midori/midori-websettings.c:825
 msgid "Original cookies only"
 msgstr "オリジナルの Cookie のみ"
 
-#: ../midori/midori-websettings.c:729
+#: ../midori/midori-websettings.c:826
 msgid "Accept cookies from the original website only"
 msgstr "オリジナルのウェブサイトからの Cookie のみ受け入れる"
 
-#: ../midori/midori-websettings.c:737
+#: ../midori/midori-websettings.c:834
 msgid "Maximum cookie age"
 msgstr "Cookie の最大保存日数"
 
-#: ../midori/midori-websettings.c:738
+#: ../midori/midori-websettings.c:835
 msgid "The maximum number of days to save cookies for"
 msgstr "Cookie を保存する最大の日数です"
 
-#: ../midori/midori-websettings.c:748
+#: ../midori/midori-websettings.c:845
 msgid "Remember last visited pages"
 msgstr "最後に訪れたページを記憶する"
 
-#: ../midori/midori-websettings.c:749
+#: ../midori/midori-websettings.c:846
 msgid "Whether the last visited pages are saved"
 msgstr "最後に訪れたページを記憶します"
 
-#: ../midori/midori-websettings.c:757
+#: ../midori/midori-websettings.c:854
 msgid "Maximum history age"
 msgstr "履歴の最大保存日数"
 
-#: ../midori/midori-websettings.c:758
+#: ../midori/midori-websettings.c:855
 msgid "The maximum number of days to save the history for"
 msgstr "履歴を保存する最大の日数です"
 
-#: ../midori/midori-websettings.c:766
+#: ../midori/midori-websettings.c:863
 msgid "Remember last form inputs"
 msgstr "最後のフォーム入力を記憶する"
 
-#: ../midori/midori-websettings.c:767
+#: ../midori/midori-websettings.c:864
 msgid "Whether the last form inputs are saved"
 msgstr "最後にフォーム入力した内容を記憶します"
 
-#: ../midori/midori-websettings.c:775
+#: ../midori/midori-websettings.c:872
 msgid "Remember last downloaded files"
 msgstr "最後のダウンロードファイルを記憶する"
 
-#: ../midori/midori-websettings.c:776
+#: ../midori/midori-websettings.c:873
 msgid "Whether the last downloaded files are saved"
 msgstr "最後にダウンロードしたファイルを記憶します"
 
-#: ../midori/midori-websettings.c:786
+#: ../midori/midori-websettings.c:883
 msgid "Proxy Server"
 msgstr "プロキシサーバ"
 
-#: ../midori/midori-websettings.c:787
+#: ../midori/midori-websettings.c:884
 msgid "The proxy server used for HTTP connections"
 msgstr "HTTP 接続でプロキシサーバを使用する場合に設定します"
 
-#: ../midori/midori-websettings.c:802
+#: ../midori/midori-websettings.c:899
 msgid "Detect proxy server automatically"
 msgstr "プロキシサーバを自動検出する"
 
-#: ../midori/midori-websettings.c:803
+#: ../midori/midori-websettings.c:900
 msgid "Whether to detect the proxy server automatically from the environment"
 msgstr "プロキシサーバをシステム環境から自動的に検出します"
 
 #. i18n: This refers to an application, not the 'user agent' string
-#: ../midori/midori-websettings.c:819
+#: ../midori/midori-websettings.c:916
 msgid "Identify as"
-msgstr "User-Agent"
+msgstr "識別名"
 
-#: ../midori/midori-websettings.c:820
+#: ../midori/midori-websettings.c:917
 msgid "What to identify as to web pages"
-msgstr "ウェブページに報告する User-Agent 識別名を指定します"
+msgstr "ウェブページに報告するユーザエージェントの識別名を指定します"
 
-#: ../midori/midori-websettings.c:836
+#: ../midori/midori-websettings.c:933
 msgid "Identification string"
 msgstr "識別文字列"
 
-#: ../midori/midori-websettings.c:837
+#: ../midori/midori-websettings.c:934
 msgid "The application identification string"
-msgstr "User-Agent アプリケーション識別文字列です"
+msgstr "アプリケーション識別文字列です"
 
-#: ../midori/midori-websettings.c:845
+#: ../midori/midori-websettings.c:942
 msgid "Cache size"
 msgstr "キャッシュサイズ"
 
-#: ../midori/midori-websettings.c:846
+#: ../midori/midori-websettings.c:943
 msgid "The allowed size of the cache"
 msgstr "キャッシュのサイズを指定します"
 
+#: ../midori/midori-view.c:686
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "ページ '%s' を読み込めませんでした"
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:688
+#: ../midori/midori-view.c:2701
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "エラー"
+
+#: ../midori/midori-view.c:691
+msgid "Try again"
+msgstr "再試行"
+
 #. i18n: The title of the 404 - Not found error page
-#: ../midori/midori-view.c:661
+#. Error pages are special, we want to try loading the destination
+#. again, not the error page which isn't even a proper page
+#: ../midori/midori-view.c:721
+#: ../midori/midori-view.c:2705
 #, c-format
 msgid "Not found - %s"
 msgstr "ページが見つかりません - %s"
 
-#: ../midori/midori-view.c:998
+#: ../midori/midori-view.c:1095
 msgid "Open _Link"
 msgstr "リンクを開く(_L)"
 
-#: ../midori/midori-view.c:1000
+#: ../midori/midori-view.c:1097
 msgid "Open Link in New _Tab"
 msgstr "リンクを新しいタブで開く(_T)"
 
-#: ../midori/midori-view.c:1017
+#: ../midori/midori-view.c:1114
 msgid "Open Link in New _Window"
 msgstr "リンクを新しいウィンドウで開く(_W)"
 
-#: ../midori/midori-view.c:1026
+#: ../midori/midori-view.c:1123
 msgid "_Download Link destination"
 msgstr "リンク先をダウンロード(_D)"
 
-#: ../midori/midori-view.c:1032
+#: ../midori/midori-view.c:1129
 msgid "_Save Link destination"
 msgstr "リンク先を保存(_S)"
 
-#: ../midori/midori-view.c:1041
+#: ../midori/midori-view.c:1138
 msgid "Download with Download _Manager"
 msgstr "ダウンロードマネージャでダウンロード(_M)"
 
-#: ../midori/midori-view.c:1073
-#, c-format
-msgid "Search with %s"
-msgstr "%s で検索"
+#: ../midori/midori-view.c:1167
+msgid "Search _with"
+msgstr "検索(_W)"
 
-#: ../midori/midori-view.c:1099
+#: ../midori/midori-view.c:1195
 msgid "_Search the Web"
 msgstr "ウェブで検索(_S)"
 
-#: ../midori/midori-view.c:1109
+#: ../midori/midori-view.c:1205
 msgid "Open Address in New _Tab"
 msgstr "アドレスを新しいタブで開く(_T)"
 
-#: ../midori/midori-view.c:1257
+#: ../midori/midori-view.c:1372
 msgid "Open or download file"
 msgstr "ファイルを開きますか、保存しますか?"
 
-#: ../midori/midori-view.c:1274
+#: ../midori/midori-view.c:1389
 #, c-format
 msgid "File Type: '%s'"
 msgstr "ファイルタイプ: '%s'"
 
-#: ../midori/midori-view.c:1277
+#: ../midori/midori-view.c:1392
 #, c-format
 msgid "File Type: %s ('%s')"
 msgstr "ファイルタイプ: %s ('%s')"
 
 #. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
-#: ../midori/midori-view.c:1281
+#: ../midori/midori-view.c:1396
 #, c-format
 msgid "Open %s"
 msgstr "%s を開く"
 
-#: ../midori/midori-view.c:1677
+#: ../midori/midori-view.c:1816
 #, c-format
 msgid "Inspect page - %s"
 msgstr "ページの調査 - %s"
 
-#: ../midori/midori-view.c:1822
+#: ../midori/midori-view.c:2001
+#: ../midori/midori-view.c:2002
+msgid "Search"
+msgstr "検索"
+
+#: ../midori/midori-view.c:2003
+msgid "Click to add a shortcut"
+msgstr "クリックするとショートカットを追加できます"
+
+#: ../midori/midori-view.c:2004
+msgid "Enter shortcut address"
+msgstr "ショートカットのアドレスを入力してください"
+
+#: ../midori/midori-view.c:2005
+msgid "Enter shortcut title"
+msgstr "ショートカットの名前を入力してください"
+
+#: ../midori/midori-view.c:2006
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "このショートカットを削除してもよろしいですか?"
+
+#: ../midori/midori-view.c:2038
 #, c-format
 msgid "Document cannot be displayed"
 msgstr "ドキュメントを表示できません"
 
-#: ../midori/midori-view.c:1838
+#: ../midori/midori-view.c:2055
 #, c-format
 msgid "No documentation installed"
 msgstr "ドキュメントはインストールされていません"
@@ -1339,245 +1464,286 @@ msgstr "起動"
 msgid "Use current page as homepage"
 msgstr "現在のページをホームページにします"
 
-#: ../midori/midori-preferences.c:423
+#: ../midori/midori-preferences.c:425
 #: ../panels/midori-transfers.c:88
 msgid "Transfers"
 msgstr "転送"
 
 #. Page "Appearance"
-#: ../midori/midori-preferences.c:461
+#: ../midori/midori-preferences.c:440
 msgid "Appearance"
 msgstr "外観"
 
-#: ../midori/midori-preferences.c:462
+#: ../midori/midori-preferences.c:441
 msgid "Font settings"
 msgstr "フォント設定"
 
-#: ../midori/midori-preferences.c:464
+#: ../midori/midori-preferences.c:443
 msgid "Default Font Family"
 msgstr "デフォルトフォントファミリ"
 
-#: ../midori/midori-preferences.c:470
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "文字表示で使用するデフォルトのフォントファミリを指定します"
+
+#: ../midori/midori-preferences.c:450
 msgid "The default font size used to display text"
-msgstr "æ\96\87å­\97表示ã\81§ä½¿ç\94¨ã\81\95ã\82\8cるデフォルトのフォントサイズを指定します"
+msgstr "æ\96\87å­\97表示ã\81§ä½¿ç\94¨ã\81\99るデフォルトのフォントサイズを指定します"
 
-#: ../midori/midori-preferences.c:473
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "等幅フォントファミリ"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr "等幅文字表示で使用するフォントファミリを指定します"
+
+#: ../midori/midori-preferences.c:458
 msgid "Minimum Font Size"
 msgstr "最小フォントサイズ"
 
-#: ../midori/midori-preferences.c:476
+#: ../midori/midori-preferences.c:461
 msgid "The minimum font size used to display text"
-msgstr "æ\96\87å­\97表示ã\81§ä½¿ç\94¨ã\81\95ã\82\8cる最小のフォントサイズを指定します"
+msgstr "æ\96\87å­\97表示ã\81§ä½¿ç\94¨ã\81\99る最小のフォントサイズを指定します"
 
-#: ../midori/midori-preferences.c:483
+#: ../midori/midori-preferences.c:468
 msgid "Encoding"
 msgstr "エンコーディング"
 
-#: ../midori/midori-preferences.c:486
+#: ../midori/midori-preferences.c:471
 msgid "The character encoding to use by default"
 msgstr "デフォルトで使用する文字エンコーディングです"
 
 #. Page "Behavior"
-#: ../midori/midori-preferences.c:493
+#: ../midori/midori-preferences.c:478
 msgid "Behavior"
 msgstr "振る舞い"
 
-#: ../midori/midori-preferences.c:494
+#: ../midori/midori-preferences.c:479
 msgid "Features"
 msgstr "機能"
 
-#: ../midori/midori-preferences.c:497
-#: ../extensions/statusbar-features.c:51
+#: ../midori/midori-preferences.c:482
+#: ../extensions/statusbar-features.c:54
 msgid "Load images automatically"
 msgstr "画像を自動的に読み込む"
 
-#: ../midori/midori-preferences.c:498
+#: ../midori/midori-preferences.c:483
 msgid "Load and display images automatically"
 msgstr "画像を自動的に読み込んで表示します"
 
-#: ../midori/midori-preferences.c:501
+#: ../midori/midori-preferences.c:486
 msgid "Shrink images automatically"
 msgstr "画像を自動的に縮小する"
 
-#: ../midori/midori-preferences.c:502
+#: ../midori/midori-preferences.c:487
 msgid "Automatically shrink standalone images to fit"
 msgstr "画像を単独表示するときに自動的に縮小します"
 
-#: ../midori/midori-preferences.c:505
+#: ../midori/midori-preferences.c:490
 msgid "Print background images"
 msgstr "背景画像を印刷する"
 
-#: ../midori/midori-preferences.c:506
+#: ../midori/midori-preferences.c:491
 msgid "Whether background images should be printed"
 msgstr "印刷するときに背景画像も印刷します"
 
-#: ../midori/midori-preferences.c:509
+#: ../midori/midori-preferences.c:494
 msgid "Resizable text areas"
 msgstr "可変サイズのテキストエリアにする"
 
-#: ../midori/midori-preferences.c:510
+#: ../midori/midori-preferences.c:495
 msgid "Whether text areas are resizable"
 msgstr "テキストエリアのサイズ変更を可能にします"
 
-#: ../midori/midori-preferences.c:513
-#: ../extensions/statusbar-features.c:58
+#: ../midori/midori-preferences.c:498
+#: ../extensions/statusbar-features.c:63
 msgid "Enable scripts"
 msgstr "スクリプトを有効にする"
 
-#: ../midori/midori-preferences.c:514
+#: ../midori/midori-preferences.c:499
 msgid "Enable embedded scripting languages"
 msgstr "組み込みスクリプト言語を有効にします"
 
-#: ../midori/midori-preferences.c:517
-#: ../extensions/statusbar-features.c:65
-msgid "Enable plugins"
-msgstr "プラグインを有効にする"
+#: ../midori/midori-preferences.c:502
+#: ../extensions/statusbar-features.c:72
+msgid "Enable Netscape plugins"
+msgstr "Netscape プラグインを有効にする"
 
-#: ../midori/midori-preferences.c:518
-msgid "Enable embedded plugin objects"
-msgstr "組み込みプラグインオブジェクトを有効にします"
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "組み込み Netscape プラグインオブジェクトを有効にします"
 
-#: ../midori/midori-preferences.c:521
+#: ../midori/midori-preferences.c:506
 msgid "Enforce 96 dots per inch"
 msgstr "強制的に 96DPI にする"
 
-#: ../midori/midori-preferences.c:522
+#: ../midori/midori-preferences.c:507
 msgid "Enforce a video dot density of 96 DPI"
 msgstr "ドット密度を強制的に 96DPI にします"
 
-#: ../midori/midori-preferences.c:525
+#: ../midori/midori-preferences.c:510
 msgid "Enable developer tools"
 msgstr "開発ツールを有効にする"
 
-#: ../midori/midori-preferences.c:526
+#: ../midori/midori-preferences.c:511
 msgid "Enable special extensions for developers"
 msgstr "開発者用特殊エクステンションを有効にします"
 
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "スペルチェック"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "スペルチェックを有効にする"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "キー入力中のスペルチェックを有効にします"
+
+#: ../midori/midori-preferences.c:525
+msgid "A comma separated list of languages to be used for spell checking, for example \"en_GB,de_DE\""
+msgstr "スペルチェックを行う言語をカンマで区切って指定します。例 \"en_GB,de_DE\""
+
 #. Page "Interface"
-#: ../midori/midori-preferences.c:538
+#: ../midori/midori-preferences.c:530
 msgid "Interface"
 msgstr "インターフェイス"
 
-#: ../midori/midori-preferences.c:539
+#: ../midori/midori-preferences.c:531
 msgid "Navigationbar"
 msgstr "ナビゲーションバー"
 
-#: ../midori/midori-preferences.c:548
+#: ../midori/midori-preferences.c:542
 msgid "Browsing"
 msgstr "ブラウジング"
 
+#. Page "Applications"
+#: ../midori/midori-preferences.c:572
+msgid "Applications"
+msgstr "アプリケーション"
+
+#: ../midori/midori-preferences.c:573
+msgid "External applications"
+msgstr "外部アプリケーション"
+
 #. Page "Network"
-#: ../midori/midori-preferences.c:578
-#: ../midori/midori-preferences.c:579
+#: ../midori/midori-preferences.c:619
+#: ../midori/midori-preferences.c:620
 msgid "Network"
 msgstr "ネットワーク"
 
-#: ../midori/midori-preferences.c:606
+#: ../midori/midori-preferences.c:647
 msgid "MB"
 msgstr "MB"
 
 #. Page "Privacy"
-#: ../midori/midori-preferences.c:611
+#: ../midori/midori-preferences.c:652
 msgid "Privacy"
 msgstr "プライバシー"
 
-#: ../midori/midori-preferences.c:612
+#: ../midori/midori-preferences.c:653
 msgid "Web Cookies"
 msgstr "ウェブ Cookie"
 
-#: ../midori/midori-preferences.c:625
-#: ../midori/midori-preferences.c:635
+#: ../midori/midori-preferences.c:666
+#: ../midori/midori-preferences.c:676
 msgid "days"
 msgstr "日"
 
-#: ../midori/midori-searchaction.c:456
-#: ../katze/katze-arrayaction.c:277
+#: ../midori/midori-searchaction.c:484
+#: ../katze/katze-arrayaction.c:314
 msgid "Empty"
 msgstr "空です"
 
-#: ../midori/midori-searchaction.c:812
+#: ../midori/midori-searchaction.c:904
 msgid "Add search engine"
 msgstr "検索エンジンの追加"
 
-#: ../midori/midori-searchaction.c:812
+#: ../midori/midori-searchaction.c:904
 msgid "Edit search engine"
 msgstr "検索エンジンの編集"
 
-#: ../midori/midori-searchaction.c:840
+#: ../midori/midori-searchaction.c:932
 msgid "_Name:"
 msgstr "名前(_N):"
 
-#: ../midori/midori-searchaction.c:884
+#: ../midori/midori-searchaction.c:976
 msgid "_Icon:"
 msgstr "アイコン(_I):"
 
-#: ../midori/midori-searchaction.c:898
+#: ../midori/midori-searchaction.c:990
 msgid "_Token:"
 msgstr "トークン(_T):"
 
-#: ../midori/midori-searchaction.c:1078
+#: ../midori/midori-searchaction.c:1195
 msgid "Manage Search Engines"
 msgstr "検索エンジンの管理"
 
-#: ../midori/sokoke.c:110
-#: ../midori/sokoke.c:122
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "デフォルトで使う(_D)"
+
+#: ../midori/sokoke.c:162
+#: ../midori/sokoke.c:174
 msgid "Could not run external program."
 msgstr "外部プログラムを実行できませんでした。"
 
 #. i18n: A superuser, or system administrator, may not be 'root'
-#: ../midori/sokoke.c:439
+#: ../midori/sokoke.c:520
 msgid "Warning: You are using a superuser account!"
 msgstr "警告: あなたはスーパーユーザアカウントを使用しています!"
 
-#: ../midori/sokoke.c:770
+#: ../midori/sokoke.c:871
 msgid "_Bookmark"
 msgstr "ブックマーク(_B)"
 
-#: ../midori/sokoke.c:772
+#: ../midori/sokoke.c:873
 msgid "_Add Bookmark"
 msgstr "ブックマークに追加(_A)"
 
-#: ../midori/sokoke.c:773
+#: ../midori/sokoke.c:874
 msgid "_Console"
 msgstr "コンソール(_C)"
 
-#: ../midori/sokoke.c:774
+#: ../midori/sokoke.c:875
 msgid "_Extensions"
 msgstr "エクステンション(_E)"
 
-#: ../midori/sokoke.c:775
+#: ../midori/sokoke.c:876
 msgid "_History"
 msgstr "履歴(_H)"
 
-#: ../midori/sokoke.c:776
+#: ../midori/sokoke.c:877
 msgid "_Homepage"
 msgstr "ホームページ(_H)"
 
-#: ../midori/sokoke.c:777
+#: ../midori/sokoke.c:878
 msgid "_Userscripts"
 msgstr "ユーザスクリプト(_U)"
 
-#: ../midori/sokoke.c:778
+#: ../midori/sokoke.c:879
 msgid "User_styles"
 msgstr "ユーザスタイル(_S)"
 
-#: ../midori/sokoke.c:779
+#: ../midori/sokoke.c:880
 msgid "New _Tab"
 msgstr "新しいタブ(_T)"
 
-#: ../midori/sokoke.c:780
+#: ../midori/sokoke.c:881
 msgid "_Transfers"
 msgstr "転送(_T)"
 
-#: ../midori/sokoke.c:781
-msgid "P_lugins"
-msgstr "プラグイン(_L)"
+#: ../midori/sokoke.c:882
+msgid "Netscape p_lugins"
+msgstr "Netscape プラグイン(_L)"
 
-#: ../midori/sokoke.c:782
+#: ../midori/sokoke.c:883
 msgid "_Closed Tabs and Windows"
 msgstr "閉じたタブとウィンドウ(_C)"
 
-#: ../midori/sokoke.c:783
+#: ../midori/sokoke.c:884
 msgid "New _Window"
 msgstr "新しいウィンドウ(_W)"
 
@@ -1591,39 +1757,41 @@ msgstr "ユーザスクリプト"
 msgid "Userstyles"
 msgstr "ユーザスタイル"
 
-#: ../panels/midori-addons.c:923
+#: ../panels/midori-addons.c:927
 #: ../panels/midori-extensions.c:144
 msgid "_Enable"
 msgstr "有効(_E)"
 
-#: ../panels/midori-addons.c:924
+# tooltip
+#: ../panels/midori-addons.c:928
 #: ../panels/midori-extensions.c:145
 msgid "Enable"
-msgstr "有効"
+msgstr "有効にします"
 
-#: ../panels/midori-addons.c:933
+#: ../panels/midori-addons.c:937
 #: ../panels/midori-extensions.c:154
 msgid "_Disable"
 msgstr "無効(_D)"
 
-#: ../panels/midori-addons.c:934
+# tooltip
+#: ../panels/midori-addons.c:938
 #: ../panels/midori-extensions.c:155
 msgid "Disable"
-msgstr "無効"
+msgstr "無効にします"
 
 #: ../panels/midori-bookmarks.c:107
 msgid "Bookmarks"
 msgstr "ブックマーク"
 
-#: ../panels/midori-bookmarks.c:240
+#: ../panels/midori-bookmarks.c:238
 msgid "Edit the selected bookmark"
 msgstr "選択したブックマークを編集します"
 
-#: ../panels/midori-bookmarks.c:248
+#: ../panels/midori-bookmarks.c:246
 msgid "Delete the selected bookmark"
 msgstr "選択したブックマークを削除します"
 
-#: ../panels/midori-bookmarks.c:593
+#: ../panels/midori-bookmarks.c:591
 msgid "<i>Separator</i>"
 msgstr "<i>セパレータ</i>"
 
@@ -1635,44 +1803,47 @@ msgstr "コンソール"
 msgid "Extensions"
 msgstr "エクステンション"
 
-#: ../panels/midori-history.c:163
+#: ../panels/midori-history.c:162
 msgid "Are you sure you want to remove all history items?"
 msgstr "すべての履歴アイテムを削除してよろしいですか?"
 
-#: ../panels/midori-history.c:218
+#: ../panels/midori-history.c:217
 msgid "Bookmark the selected history item"
-msgstr "é\81¸æ\8a\9eã\81\95ã\82\8cた履歴アイテムをブックマークに追加します"
+msgstr "é\81¸æ\8a\9eã\81\97た履歴アイテムをブックマークに追加します"
 
-#: ../panels/midori-history.c:227
+#: ../panels/midori-history.c:226
 msgid "Delete the selected history item"
-msgstr "é\81¸æ\8a\9eã\81\95ã\82\8cた履歴アイテムを削除します"
+msgstr "é\81¸æ\8a\9eã\81\97た履歴アイテムを削除します"
 
-#: ../panels/midori-history.c:235
+#: ../panels/midori-history.c:234
 msgid "Clear the entire history"
 msgstr "すべての履歴をクリアします"
 
-#: ../panels/midori-history.c:600
-#, c-format
+#: ../panels/midori-history.c:599
 msgid "A week ago"
 msgstr "一週間前"
 
-#: ../panels/midori-history.c:606
+#: ../panels/midori-history.c:604
+#, c-format
+msgid "%d day ago"
+msgstr "%d 日前"
+
+#: ../panels/midori-history.c:605
 #, c-format
 msgid "%d days ago"
 msgstr "%d 日前"
 
-#: ../panels/midori-history.c:613
+#: ../panels/midori-history.c:612
 msgid "Today"
 msgstr "今日"
 
-#: ../panels/midori-history.c:615
+#: ../panels/midori-history.c:614
 msgid "Yesterday"
 msgstr "昨日"
 
 #: ../panels/midori-plugins.c:87
-#: ../extensions/statusbar-features.c:63
-msgid "Plugins"
-msgstr "プラグイン"
+msgid "Netscape plugins"
+msgstr "Netscape プラグイン"
 
 #: ../panels/midori-transfers.c:256
 #, c-format
@@ -1713,38 +1884,38 @@ msgstr "ストックアイコン '%s' を読み込めませんでした"
 msgid "Animation frames are broken"
 msgstr "アニメーションフレームは壊れています"
 
-#: ../katze/katze-utils.c:180
-#: ../katze/katze-utils.c:389
+#: ../katze/katze-utils.c:183
+#: ../katze/katze-utils.c:385
 #, c-format
 msgid "Property '%s' is invalid for %s"
 msgstr "'%s' は %s のプロパティとして無効です"
 
-#: ../katze/katze-utils.c:209
-#: ../katze/katze-utils.c:248
+#: ../katze/katze-utils.c:215
+#: ../katze/katze-utils.c:244
 msgid "Choose file"
 msgstr "ファイルの選択"
 
-#: ../katze/katze-utils.c:229
+#: ../katze/katze-utils.c:230
 msgid "Choose folder"
 msgstr "フォルダの選択"
 
-#: ../extensions/colorful-tabs.c:104
+#: ../extensions/colorful-tabs.c:115
 msgid "Tint tabs distinctly"
 msgstr "タブの色分け"
 
-#: ../extensions/colorful-tabs.c:140
+#: ../extensions/colorful-tabs.c:151
 msgid "Colorful Tabs"
 msgstr "カラフルタブ"
 
-#: ../extensions/colorful-tabs.c:141
+#: ../extensions/colorful-tabs.c:152
 msgid "Tint each tab distinctly"
 msgstr "各タブにそれぞれを区別する色をつけます"
 
-#: ../extensions/cookie-manager.c:185
+#: ../extensions/cookie-manager.c:201
 msgid "At the end of the session"
 msgstr "セッションの終わりまで"
 
-#: ../extensions/cookie-manager.c:188
+#: ../extensions/cookie-manager.c:204
 #, c-format
 msgid ""
 "<b>Host</b>: %s\n"
@@ -1762,80 +1933,160 @@ msgstr ""
 "<b>有効期限</b>: %s"
 
 # cookie: Secure flag is set.
-#: ../extensions/cookie-manager.c:194
+#: ../extensions/cookie-manager.c:210
 msgid "Yes"
 msgstr "あり"
 
 # cookie: Secure flag isn't set.
-#: ../extensions/cookie-manager.c:194
+#: ../extensions/cookie-manager.c:210
 msgid "No"
 msgstr "なし"
 
-#: ../extensions/cookie-manager.c:475
+#: ../extensions/cookie-manager.c:493
 msgid "Do you really want to delete all cookies?"
 msgstr "本当にすべての cookie を削除してよろしいですか?"
 
 # Dialog title
-#: ../extensions/cookie-manager.c:477
+#: ../extensions/cookie-manager.c:495
 msgid "Question"
 msgstr "確認"
 
-#: ../extensions/cookie-manager.c:485
-msgid "Only the visible cookies are deleted which match the entered filter string."
-msgstr "フィルタに入力された文字列にマッチした、表示されている cookie のみ削除されます。"
+#: ../extensions/cookie-manager.c:504
+msgid "Only cookies which match the filter will be deleted."
+msgstr "フィルタに入力された文字列にマッチした cookie のみ削除されます。"
 
 # Column name of cookie browser
-#: ../extensions/cookie-manager.c:663
+#: ../extensions/cookie-manager.c:682
 msgid "Name"
 msgstr "名前"
 
-#: ../extensions/cookie-manager.c:723
+#: ../extensions/cookie-manager.c:742
 msgid "_Expand All"
 msgstr "すべて展開する(_E)"
 
-#: ../extensions/cookie-manager.c:731
+#: ../extensions/cookie-manager.c:750
 msgid "_Collapse All"
 msgstr "すべて折り畳む(_C)"
 
-#: ../extensions/cookie-manager.c:800
-msgid "Delete All"
-msgstr "すべて削除"
-
-#: ../extensions/cookie-manager.c:802
+#: ../extensions/cookie-manager.c:823
 msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
 msgstr "表示されているすべての cookie を削除します。フィルタが設定されていれば、フィルタにマッチした cookie のみ削除されます。"
 
 # tooltip
-#: ../extensions/cookie-manager.c:817
+#: ../extensions/cookie-manager.c:838
 msgid "Expand All"
 msgstr "すべて展開します"
 
 # tooltip
-#: ../extensions/cookie-manager.c:824
+#: ../extensions/cookie-manager.c:845
 msgid "Collapse All"
 msgstr "すべて折り畳みます"
 
-#: ../extensions/cookie-manager.c:855
+#: ../extensions/cookie-manager.c:876
 msgid "Filter:"
 msgstr "フィルタ:"
 
-#: ../extensions/cookie-manager.c:860
+#: ../extensions/cookie-manager.c:881
 msgid "Enter a filter string to show only cookies whose name or domain field match the entered filter"
 msgstr "フィルタに入力された文字列と、名前またはドメインフィールドがマッチした cookie のみ表示します。"
 
-#: ../extensions/cookie-manager.c:895
-#: ../extensions/cookie-manager.c:942
+#: ../extensions/cookie-manager.c:916
+#: ../extensions/cookie-manager.c:964
 msgid "Cookie Manager"
 msgstr "Cookie マネージャ"
 
-#: ../extensions/cookie-manager.c:926
+#: ../extensions/cookie-manager.c:948
 msgid "_Cookie Manager"
 msgstr "Cookie マネージャ(_C)"
 
-#: ../extensions/cookie-manager.c:943
+#: ../extensions/cookie-manager.c:965
 msgid "List, view and delete cookies"
 msgstr "Cookie の一覧や内容の表示および削除を行います"
 
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr "XML データ内に要求された Atom \"entry\" 要素が見つかりませんでした。"
+
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr "XML データ内に要求された Atom \"feed\" 要素が見つかりませんでした。"
+
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "最終更新: %s"
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "フィード"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "新しいフィードの追加"
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "フィードの削除"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "フィード(_F)"
+
+#: ../extensions/feed-panel/feed-parse.c:175
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "フィード XML データ内にルート要素が見つかりませんでした。"
+
+#: ../extensions/feed-panel/feed-parse.c:215
+#, c-format
+msgid "Unsupported feed format."
+msgstr "サポートされていないフィード形式です。"
+
+#: ../extensions/feed-panel/feed-parse.c:245
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "XML フィードの解析に失敗しました: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr "RSS XML データ内に \"channel\" 要素が見つかりませんでした。"
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "サポートされていない RSS バージョンが見つかりました。"
+
+#: ../extensions/feed-panel/feed-rss.c:144
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "XML データ内に要求された RSS \"item\" 要素が見つかりませんでした。"
+
+#: ../extensions/feed-panel/feed-rss.c:229
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr "XML データ内に要求された RSS \"channel\" 要素が見つかりませんでした。"
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "フィード '%s' はすでに存在します"
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "フィード '%s' の読み込みでエラーです"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "新しいフィード"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "フィードパネル"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Atom/RSS フィードを購読します"
+
 #: ../extensions/mouse-gestures/main.c:216
 msgid "Mouse Gestures"
 msgstr "マウスジェスチャ"
@@ -1854,14 +2105,24 @@ msgstr "ページホルダ"
 msgid "_Pageholder"
 msgstr "ページホルダ(_P)"
 
-#: ../extensions/statusbar-features.c:49
-msgid "Images"
-msgstr "画像"
-
-#: ../extensions/statusbar-features.c:56
-msgid "Scripts"
-msgstr "スクリプト"
-
-#~ msgid "Source"
-#~ msgstr "ソース"
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr "ステータスバー機能"
+
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr "ウェブページへの機能のオン/オフを簡単に切り換えます"
+
+#~ msgid "Add to customize _homepage"
+#~ msgstr "カスタムホームページに追加(_H)"
+#~ msgid "Add to customized _homepage"
+#~ msgstr "カスタムホームページに追加(_H)"
+#~ msgid "P_lugins"
+#~ msgstr "プラグイン(_L)"
+#~ msgid "Plugins"
+#~ msgstr "プラグイン"
+#~ msgid "Images"
+#~ msgstr "画像"
+#~ msgid "Scripts"
+#~ msgstr "スクリプト"
 
index 094702e770b45c82a36117a97a7e7bb291e9402f..685cee8b90ff9b75b7d38e5b2a8168bb8e6a8940 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 16:44+0200\n"
+"POT-Creation-Date: 2009-05-10 16:06+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -20,9 +20,9 @@ msgstr ""
 msgid "Lightweight web browser"
 msgstr ""
 
-#: ../data/midori.desktop.in.h:2 ../midori/main.c:1288 ../midori/main.c:1388
-#: ../midori/main.c:1396 ../midori/main.c:1407
-#: ../midori/midori-websettings.c:273
+#: ../data/midori.desktop.in.h:2 ../midori/main.c:1315 ../midori/main.c:1449
+#: ../midori/main.c:1457 ../midori/main.c:1468
+#: ../midori/midori-websettings.c:277
 msgid "Midori"
 msgstr ""
 
@@ -30,182 +30,191 @@ msgstr ""
 msgid "Web Browser"
 msgstr ""
 
-#: ../midori/main.c:94
+#: ../midori/main.c:96
 #, c-format
 msgid "The configuration couldn't be loaded: %s\n"
 msgstr ""
 
-#: ../midori/main.c:149
+#: ../midori/main.c:151
 #, c-format
 msgid "Value '%s' is invalid for %s"
 msgstr ""
 
-#: ../midori/main.c:156 ../midori/main.c:228
+#: ../midori/main.c:158 ../midori/main.c:238
 #, c-format
 msgid "Invalid configuration value '%s'"
 msgstr ""
 
-#: ../midori/main.c:332
+#: ../midori/main.c:350
 #, c-format
 msgid "Failed to open database: %s\n"
 msgstr ""
 
-#: ../midori/main.c:364
+#: ../midori/main.c:382
 #, c-format
 msgid "Failed to execute database statement: %s\n"
 msgstr ""
 
-#: ../midori/main.c:418
+#: ../midori/main.c:436
 #, c-format
 msgid "Failed to remove history item: %s\n"
 msgstr ""
 
-#: ../midori/main.c:442
+#: ../midori/main.c:460
 #, c-format
 msgid "Failed to clear history: %s\n"
 msgstr ""
 
-#: ../midori/main.c:465 ../midori/main.c:499 ../midori/main.c:515
+#: ../midori/main.c:483 ../midori/main.c:517 ../midori/main.c:533
 #, c-format
 msgid "Failed to add history item: %s\n"
 msgstr ""
 
 #. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:694
+#: ../midori/main.c:712
 #, c-format
 msgid "Failed to remove old history items: %s\n"
 msgstr ""
 
-#: ../midori/main.c:722
+#: ../midori/main.c:741
 #, c-format
 msgid "The configuration couldn't be saved. %s"
 msgstr ""
 
-#: ../midori/main.c:751
+#: ../midori/main.c:770
 #, c-format
 msgid "The search engines couldn't be saved. %s"
 msgstr ""
 
-#: ../midori/main.c:770 ../midori/main.c:798 ../midori/main.c:827
+#: ../midori/main.c:789 ../midori/main.c:817 ../midori/main.c:846
 #, c-format
 msgid "The bookmarks couldn't be saved. %s"
 msgstr ""
 
 #. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:850 ../midori/main.c:873
+#: ../midori/main.c:869 ../midori/main.c:892
 #, c-format
 msgid "The trash couldn't be saved. %s"
 msgstr ""
 
-#: ../midori/main.c:946
+#: ../midori/main.c:965
 #, c-format
 msgid "The session couldn't be saved. %s"
 msgstr ""
 
-#: ../midori/main.c:1073
+#: ../midori/main.c:1092
 msgid ""
 "Midori seems to have crashed the last time it was opened. If this happened "
 "repeatedly, try one of the following options to solve the problem."
 msgstr ""
 
-#: ../midori/main.c:1088
+#: ../midori/main.c:1107
 msgid "Modify _preferences"
 msgstr ""
 
-#: ../midori/main.c:1092
+#: ../midori/main.c:1111
 msgid "Reset the last _session"
 msgstr ""
 
-#: ../midori/main.c:1097
+#: ../midori/main.c:1116
 msgid "Disable all _extensions"
 msgstr ""
 
-#: ../midori/main.c:1288
+#: ../midori/main.c:1315
 msgid "No filename specified"
 msgstr ""
 
-#: ../midori/main.c:1311
+#: ../midori/main.c:1338
 msgid "An unknown error occured."
 msgstr ""
 
-#: ../midori/main.c:1336
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr ""
+
+#: ../midori/main.c:1391
 msgid "Run ADDRESS as a web application"
 msgstr ""
 
-#: ../midori/main.c:1336
+#: ../midori/main.c:1391
 msgid "ADDRESS"
 msgstr ""
 
-#: ../midori/main.c:1338
+#: ../midori/main.c:1393
 msgid "Use FOLDER as configuration folder"
 msgstr ""
 
-#: ../midori/main.c:1338
+#: ../midori/main.c:1393
 msgid "FOLDER"
 msgstr ""
 
-#: ../midori/main.c:1340
+#: ../midori/main.c:1395
 msgid "Run the specified filename as javascript"
 msgstr ""
 
-#: ../midori/main.c:1342
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr ""
+
+#: ../midori/main.c:1401
 msgid "Display program version"
 msgstr ""
 
-#: ../midori/main.c:1344
+#: ../midori/main.c:1403
 msgid "Addresses"
 msgstr ""
 
-#: ../midori/main.c:1385
+#: ../midori/main.c:1446
 msgid "[Addresses]"
 msgstr ""
 
-#: ../midori/main.c:1408
+#: ../midori/main.c:1469
 msgid "Please report comments, suggestions and bugs to:"
 msgstr ""
 
-#: ../midori/main.c:1410
+#: ../midori/main.c:1471
 msgid "Check for new versions at:"
 msgstr ""
 
-#: ../midori/main.c:1454
+#: ../midori/main.c:1548
 msgid "The specified configuration folder is invalid."
 msgstr ""
 
-#: ../midori/main.c:1489
+#: ../midori/main.c:1583
 msgid "An instance of Midori is already running but not responding.\n"
 msgstr ""
 
-#: ../midori/main.c:1539
+#: ../midori/main.c:1633
 #, c-format
 msgid "The search engines couldn't be loaded. %s\n"
 msgstr ""
 
-#: ../midori/main.c:1551
+#: ../midori/main.c:1645
 #, c-format
 msgid "The bookmarks couldn't be loaded: %s\n"
 msgstr ""
 
-#: ../midori/main.c:1566
+#: ../midori/main.c:1660
 #, c-format
 msgid "The session couldn't be loaded: %s\n"
 msgstr ""
 
-#: ../midori/main.c:1579
+#: ../midori/main.c:1673
 #, c-format
 msgid "The trash couldn't be loaded: %s\n"
 msgstr ""
 
-#: ../midori/main.c:1592
+#: ../midori/main.c:1686
 #, c-format
 msgid "The history couldn't be loaded: %s\n"
 msgstr ""
 
-#: ../midori/main.c:1604
+#: ../midori/main.c:1698
 msgid "The following errors occured:"
 msgstr ""
 
-#: ../midori/main.c:1620
+#: ../midori/main.c:1714
 msgid "_Ignore"
 msgstr ""
 
@@ -217,1090 +226,1174 @@ msgstr ""
 msgid "Malformed document."
 msgstr ""
 
-#: ../midori/midori-array.c:338 ../midori/sokoke.c:625
+#: ../midori/midori-array.c:338 ../midori/sokoke.c:716
 #, c-format
 msgid "Writing failed."
 msgstr ""
 
-#: ../midori/midori-browser.c:280 ../midori/midori-browser.c:3368
-#: ../midori/midori-browser.c:3374
+#: ../midori/midori-browser.c:287 ../midori/midori-browser.c:3819
+#: ../midori/midori-browser.c:3825
 msgid "Reload the current page"
 msgstr ""
 
-#: ../midori/midori-browser.c:291 ../midori/midori-browser.c:3371
+#: ../midori/midori-browser.c:298 ../midori/midori-browser.c:3822
 msgid "Stop loading the current page"
 msgstr ""
 
-#: ../midori/midori-browser.c:353
+#: ../midori/midori-browser.c:360
 #, c-format
 msgid "%d%% loaded"
 msgstr ""
 
-#: ../midori/midori-browser.c:378
+#: ../midori/midori-browser.c:385
 #, c-format
 msgid "Unexpected action '%s'."
 msgstr ""
 
-#: ../midori/midori-browser.c:541
+#: ../midori/midori-browser.c:603
 msgid "New folder"
 msgstr ""
 
-#: ../midori/midori-browser.c:541
+#: ../midori/midori-browser.c:603
 msgid "Edit folder"
 msgstr ""
 
-#: ../midori/midori-browser.c:543
+#: ../midori/midori-browser.c:605
 msgid "New bookmark"
 msgstr ""
 
-#: ../midori/midori-browser.c:543
+#: ../midori/midori-browser.c:605
 msgid "Edit bookmark"
 msgstr ""
 
-#: ../midori/midori-browser.c:573
+#: ../midori/midori-browser.c:635
 msgid "_Title:"
 msgstr ""
 
-#: ../midori/midori-browser.c:586 ../midori/midori-searchaction.c:948
+#: ../midori/midori-browser.c:648 ../midori/midori-searchaction.c:948
 msgid "_Description:"
 msgstr ""
 
-#: ../midori/midori-browser.c:605 ../midori/midori-searchaction.c:962
+#: ../midori/midori-browser.c:667 ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
 msgid "_Address:"
 msgstr ""
 
-#: ../midori/midori-browser.c:624
+#: ../midori/midori-browser.c:686
 msgid "_Folder:"
 msgstr ""
 
-#: ../midori/midori-browser.c:629 ../midori/midori-browser.c:670
+#: ../midori/midori-browser.c:691 ../midori/midori-browser.c:732
 msgid "Toplevel folder"
 msgstr ""
 
-#: ../midori/midori-browser.c:746
+#: ../midori/midori-browser.c:808
 msgid "Save file as"
 msgstr ""
 
-#: ../midori/midori-browser.c:1523
+#: ../midori/midori-browser.c:1119
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr ""
+
+#: ../midori/midori-browser.c:1123
+msgid "Transfer completed"
+msgstr ""
+
+#: ../midori/midori-browser.c:1820
 msgid "Open file"
 msgstr ""
 
-#: ../midori/midori-browser.c:2803 ../panels/midori-bookmarks.c:782
-#: ../panels/midori-history.c:809
+#: ../midori/midori-browser.c:3152 ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:808
 msgid "Open all in _Tabs"
 msgstr ""
 
-#: ../midori/midori-browser.c:2810 ../panels/midori-bookmarks.c:788
-#: ../panels/midori-history.c:815
+#: ../midori/midori-browser.c:3159 ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:814 ../extensions/feed-panel/feed-panel.c:542
 msgid "Open in New _Tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:2813 ../panels/midori-bookmarks.c:790
-#: ../panels/midori-history.c:817
+#: ../midori/midori-browser.c:3162 ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:816 ../extensions/feed-panel/feed-panel.c:544
 msgid "Open in New _Window"
 msgstr ""
 
-#: ../midori/midori-browser.c:2974
+#: ../midori/midori-browser.c:3425
 msgid "Clear Private Data"
 msgstr ""
 
-#: ../midori/midori-browser.c:2977
+#: ../midori/midori-browser.c:3428
 msgid "_Clear private data"
 msgstr ""
 
-#: ../midori/midori-browser.c:2990
+#: ../midori/midori-browser.c:3441
 msgid "Clear the following data:"
 msgstr ""
 
-#: ../midori/midori-browser.c:2998 ../midori/midori-preferences.c:640
+#: ../midori/midori-browser.c:3449 ../midori/midori-preferences.c:669
 #: ../panels/midori-history.c:108
 msgid "History"
 msgstr ""
 
-#: ../midori/midori-browser.c:3001
+#: ../midori/midori-browser.c:3452
 msgid "Cookies"
 msgstr ""
 
-#: ../midori/midori-browser.c:3004
+#: ../midori/midori-browser.c:3455
 msgid "'Flash' Cookies"
 msgstr ""
 
-#: ../midori/midori-browser.c:3007
+#: ../midori/midori-browser.c:3458
 msgid "Website icons"
 msgstr ""
 
-#: ../midori/midori-browser.c:3093
+#: ../midori/midori-browser.c:3538
 msgid "A lightweight web browser."
 msgstr ""
 
-#: ../midori/midori-browser.c:3101
+#: ../midori/midori-browser.c:3546
 msgid "translator-credits"
 msgstr ""
 
-#: ../midori/midori-browser.c:3302
+#: ../midori/midori-browser.c:3750
 msgid "_File"
 msgstr ""
 
-#: ../midori/midori-browser.c:3305
+#: ../midori/midori-browser.c:3753
 msgid "Open a new window"
 msgstr ""
 
-#: ../midori/midori-browser.c:3308
+#: ../midori/midori-browser.c:3756
 msgid "Open a new tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:3311
+#: ../midori/midori-browser.c:3759
 msgid "Open a file"
 msgstr ""
 
-#: ../midori/midori-browser.c:3314
+#: ../midori/midori-browser.c:3762
 msgid "Save to a file"
 msgstr ""
 
-#: ../midori/midori-browser.c:3316
+#: ../midori/midori-browser.c:3764 ../midori/midori-view.c:1256
+msgid "Add to Speed _dial"
+msgstr ""
+
+#: ../midori/midori-browser.c:3765
+msgid "Add shortcut to speed dial"
+msgstr ""
+
+#: ../midori/midori-browser.c:3767
 msgid "_Close Tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:3317
+#: ../midori/midori-browser.c:3768
 msgid "Close the current tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:3319
+#: ../midori/midori-browser.c:3770
 msgid "C_lose Window"
 msgstr ""
 
-#: ../midori/midori-browser.c:3320
+#: ../midori/midori-browser.c:3771
 msgid "Close this window"
 msgstr ""
 
-#: ../midori/midori-browser.c:3323
+#: ../midori/midori-browser.c:3774
 msgid "Print the current page"
 msgstr ""
 
-#: ../midori/midori-browser.c:3326
+#: ../midori/midori-browser.c:3777
 msgid "Quit the application"
 msgstr ""
 
-#: ../midori/midori-browser.c:3328
+#: ../midori/midori-browser.c:3779
 msgid "_Edit"
 msgstr ""
 
-#: ../midori/midori-browser.c:3331
+#: ../midori/midori-browser.c:3782
 msgid "Cut the selected text"
 msgstr ""
 
-#: ../midori/midori-browser.c:3334 ../midori/midori-browser.c:3337
+#: ../midori/midori-browser.c:3785 ../midori/midori-browser.c:3788
 msgid "Copy the selected text"
 msgstr ""
 
-#: ../midori/midori-browser.c:3340
+#: ../midori/midori-browser.c:3791
 msgid "Paste text from the clipboard"
 msgstr ""
 
-#: ../midori/midori-browser.c:3343
+#: ../midori/midori-browser.c:3794
 msgid "Delete the selected text"
 msgstr ""
 
-#: ../midori/midori-browser.c:3346
+#: ../midori/midori-browser.c:3797
 msgid "Select all text"
 msgstr ""
 
-#: ../midori/midori-browser.c:3349
+#: ../midori/midori-browser.c:3800
 msgid "Find a word or phrase in the page"
 msgstr ""
 
-#: ../midori/midori-browser.c:3351
+#: ../midori/midori-browser.c:3802
 msgid "Find _Next"
 msgstr ""
 
-#: ../midori/midori-browser.c:3352
+#: ../midori/midori-browser.c:3803
 msgid "Find the next occurrence of a word or phrase"
 msgstr ""
 
-#: ../midori/midori-browser.c:3354
+#: ../midori/midori-browser.c:3805
 msgid "Find _Previous"
 msgstr ""
 
-#: ../midori/midori-browser.c:3355
+#: ../midori/midori-browser.c:3806
 msgid "Find the previous occurrence of a word or phrase"
 msgstr ""
 
-#: ../midori/midori-browser.c:3358
+#: ../midori/midori-browser.c:3809
 msgid "_Quick Find"
 msgstr ""
 
-#: ../midori/midori-browser.c:3359
+#: ../midori/midori-browser.c:3810
 msgid "Quickly jump to a word or phrase"
 msgstr ""
 
-#: ../midori/midori-browser.c:3362
+#: ../midori/midori-browser.c:3813
 msgid "Configure the application preferences"
 msgstr ""
 
-#: ../midori/midori-browser.c:3364
+#: ../midori/midori-browser.c:3815
 msgid "_View"
 msgstr ""
 
-#: ../midori/midori-browser.c:3365
+#: ../midori/midori-browser.c:3816
 msgid "_Toolbars"
 msgstr ""
 
-#: ../midori/midori-browser.c:3377
+#: ../midori/midori-browser.c:3828
 msgid "Increase the zoom level"
 msgstr ""
 
-#: ../midori/midori-browser.c:3380
+#: ../midori/midori-browser.c:3831
 msgid "Decrease the zoom level"
 msgstr ""
 
-#: ../midori/midori-browser.c:3383
+#: ../midori/midori-browser.c:3834
 msgid "Reset the zoom level"
 msgstr ""
 
-#: ../midori/midori-browser.c:3384
+#: ../midori/midori-browser.c:3835
 msgid "_Encoding"
 msgstr ""
 
-#: ../midori/midori-browser.c:3386
+#: ../midori/midori-browser.c:3837
 msgid "_Automatic"
 msgstr ""
 
-#: ../midori/midori-browser.c:3389 ../midori/midori-websettings.c:200
+#: ../midori/midori-browser.c:3840 ../midori/midori-websettings.c:204
 msgid "Chinese (BIG5)"
 msgstr ""
 
-#: ../midori/midori-browser.c:3392 ../midori/midori-websettings.c:201
+#: ../midori/midori-browser.c:3843 ../midori/midori-websettings.c:205
 msgid "Japanese (SHIFT_JIS)"
 msgstr ""
 
-#: ../midori/midori-browser.c:3395 ../midori/midori-websettings.c:202
+#: ../midori/midori-browser.c:3846 ../midori/midori-websettings.c:206
 msgid "Russian (KOI8-R)"
 msgstr ""
 
-#: ../midori/midori-browser.c:3398 ../midori/midori-websettings.c:203
+#: ../midori/midori-browser.c:3849 ../midori/midori-websettings.c:207
 msgid "Unicode (UTF-8)"
 msgstr ""
 
-#: ../midori/midori-browser.c:3401 ../midori/midori-websettings.c:204
+#: ../midori/midori-browser.c:3852 ../midori/midori-websettings.c:208
 msgid "Western (ISO-8859-1)"
 msgstr ""
 
-#: ../midori/midori-browser.c:3404 ../midori/midori-websettings.c:205
-#: ../midori/midori-websettings.c:277
+#: ../midori/midori-browser.c:3855 ../midori/midori-websettings.c:209
+#: ../midori/midori-websettings.c:281
 msgid "Custom..."
 msgstr ""
 
-#: ../midori/midori-browser.c:3407 ../midori/midori-view.c:1138
+#: ../midori/midori-browser.c:3858 ../midori/midori-view.c:1275
 msgid "View _Source"
 msgstr ""
 
-#: ../midori/midori-browser.c:3408
+#: ../midori/midori-browser.c:3859
 msgid "View the source code of the page"
 msgstr ""
 
-#: ../midori/midori-browser.c:3410
+#: ../midori/midori-browser.c:3861
 msgid "View Selection Source"
 msgstr ""
 
-#: ../midori/midori-browser.c:3411
+#: ../midori/midori-browser.c:3862
 msgid "View the source code of the selection"
 msgstr ""
 
-#: ../midori/midori-browser.c:3415
+#: ../midori/midori-browser.c:3866
 msgid "Toggle fullscreen view"
 msgstr ""
 
-#: ../midori/midori-browser.c:3417
+#: ../midori/midori-browser.c:3868
 msgid "_Go"
 msgstr ""
 
-#: ../midori/midori-browser.c:3420
+#: ../midori/midori-browser.c:3871
 msgid "Go back to the previous page"
 msgstr ""
 
-#: ../midori/midori-browser.c:3423
+#: ../midori/midori-browser.c:3874
 msgid "Go forward to the next page"
 msgstr ""
 
-#: ../midori/midori-browser.c:3426
+#: ../midori/midori-browser.c:3877
 msgid "Go to your homepage"
 msgstr ""
 
-#: ../midori/midori-browser.c:3428
+#: ../midori/midori-browser.c:3879
 msgid "Empty Trash"
 msgstr ""
 
-#: ../midori/midori-browser.c:3429
+#: ../midori/midori-browser.c:3880
 msgid "Delete the contents of the trash"
 msgstr ""
 
-#: ../midori/midori-browser.c:3431 ../midori/midori-view.c:1110
+#: ../midori/midori-browser.c:3882 ../midori/midori-view.c:1233
 msgid "Undo Close Tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:3432
+#: ../midori/midori-browser.c:3883
 msgid "Open the last closed tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:3436 ../panels/midori-bookmarks.c:232
+#: ../midori/midori-browser.c:3887 ../panels/midori-bookmarks.c:230
 msgid "Add a new bookmark"
 msgstr ""
 
-#: ../midori/midori-browser.c:3438 ../panels/midori-bookmarks.c:261
+#: ../midori/midori-browser.c:3889 ../panels/midori-bookmarks.c:259
 msgid "Add a new folder"
 msgstr ""
 
-#: ../midori/midori-browser.c:3439
+#: ../midori/midori-browser.c:3890
 msgid "Add a new bookmark folder"
 msgstr ""
 
-#: ../midori/midori-browser.c:3440
+#: ../midori/midori-browser.c:3891
 msgid "_Tools"
 msgstr ""
 
-#: ../midori/midori-browser.c:3442 ../midori/midori-searchaction.c:493
+#: ../midori/midori-browser.c:3893 ../midori/midori-searchaction.c:493
 msgid "_Manage Search Engines"
 msgstr ""
 
-#: ../midori/midori-browser.c:3443
+#: ../midori/midori-browser.c:3894
 msgid "Add, edit and remove search engines..."
 msgstr ""
 
-#: ../midori/midori-browser.c:3446
+#: ../midori/midori-browser.c:3897
 msgid "_Clear Private Data"
 msgstr ""
 
-#: ../midori/midori-browser.c:3447
+#: ../midori/midori-browser.c:3898
 msgid "Clear private data..."
 msgstr ""
 
-#: ../midori/midori-browser.c:3451
+#: ../midori/midori-browser.c:3902
 msgid "_Previous Tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:3452
+#: ../midori/midori-browser.c:3903
 msgid "Switch to the previous tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:3454
+#: ../midori/midori-browser.c:3905
 msgid "_Next Tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:3455
+#: ../midori/midori-browser.c:3906
 msgid "Switch to the next tab"
 msgstr ""
 
-#: ../midori/midori-browser.c:3457
+#: ../midori/midori-browser.c:3908
 msgid "_Help"
 msgstr ""
 
-#: ../midori/midori-browser.c:3459
+#: ../midori/midori-browser.c:3910
 msgid "_Contents"
 msgstr ""
 
-#: ../midori/midori-browser.c:3460
+#: ../midori/midori-browser.c:3911
 msgid "Show the documentation"
 msgstr ""
 
-#: ../midori/midori-browser.c:3462
+#: ../midori/midori-browser.c:3913
 msgid "_Frequent Questions"
 msgstr ""
 
-#: ../midori/midori-browser.c:3463
+#: ../midori/midori-browser.c:3914
 msgid "Show the Frequently Asked Questions"
 msgstr ""
 
-#: ../midori/midori-browser.c:3465
+#: ../midori/midori-browser.c:3916
 msgid "_Report a Bug"
 msgstr ""
 
-#: ../midori/midori-browser.c:3466
+#: ../midori/midori-browser.c:3917
 msgid "Open Midori's bug tracker"
 msgstr ""
 
-#: ../midori/midori-browser.c:3469
+#: ../midori/midori-browser.c:3920
 msgid "Show information about the program"
 msgstr ""
 
-#: ../midori/midori-browser.c:3476
+#: ../midori/midori-browser.c:3927
 msgid "P_rivate Browsing"
 msgstr ""
 
-#: ../midori/midori-browser.c:3477
+#: ../midori/midori-browser.c:3928
 msgid "Don't save any private data while browsing"
 msgstr ""
 
-#: ../midori/midori-browser.c:3482
+#: ../midori/midori-browser.c:3933
 msgid "_Menubar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3483
+#: ../midori/midori-browser.c:3934
 msgid "Show menubar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3486
+#: ../midori/midori-browser.c:3937
 msgid "_Navigationbar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3487
+#: ../midori/midori-browser.c:3938
 msgid "Show navigationbar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3490
+#: ../midori/midori-browser.c:3941
 msgid "Side_panel"
 msgstr ""
 
-#: ../midori/midori-browser.c:3491
+#: ../midori/midori-browser.c:3942
 msgid "Show sidepanel"
 msgstr ""
 
-#: ../midori/midori-browser.c:3494
+#: ../midori/midori-browser.c:3945
 msgid "_Bookmarkbar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3495
+#: ../midori/midori-browser.c:3946
 msgid "Show bookmarkbar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3498
+#: ../midori/midori-browser.c:3949
 msgid "_Transferbar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3499
+#: ../midori/midori-browser.c:3950
 msgid "Show transferbar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3502
+#: ../midori/midori-browser.c:3953
 msgid "_Statusbar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3503
+#: ../midori/midori-browser.c:3954
 msgid "Show statusbar"
 msgstr ""
 
-#: ../midori/midori-browser.c:3937
+#: ../midori/midori-browser.c:4389
 msgid "_Separator"
 msgstr ""
 
-#: ../midori/midori-browser.c:3944
+#: ../midori/midori-browser.c:4396
 msgid "_Location..."
 msgstr ""
 
-#: ../midori/midori-browser.c:3946
+#: ../midori/midori-browser.c:4398
 msgid "Open a particular location"
 msgstr ""
 
-#: ../midori/midori-browser.c:3970
+#: ../midori/midori-browser.c:4420
 msgid "_Web Search..."
 msgstr ""
 
-#: ../midori/midori-browser.c:3972
+#: ../midori/midori-browser.c:4422
 msgid "Run a web search"
 msgstr ""
 
-#: ../midori/midori-browser.c:3993
+#: ../midori/midori-browser.c:4443
 msgid "Reopen a previously closed tab or window"
 msgstr ""
 
-#: ../midori/midori-browser.c:4006
+#: ../midori/midori-browser.c:4458
 msgid "_Recently visited pages"
 msgstr ""
 
-#: ../midori/midori-browser.c:4008
+#: ../midori/midori-browser.c:4460
 msgid "Reopen pages that you visited earlier"
 msgstr ""
 
-#: ../midori/midori-browser.c:4021 ../midori/sokoke.c:781
+#: ../midori/midori-browser.c:4475 ../midori/sokoke.c:872
 msgid "_Bookmarks"
 msgstr ""
 
-#: ../midori/midori-browser.c:4023
+#: ../midori/midori-browser.c:4477
 msgid "Show the saved bookmarks"
 msgstr ""
 
-#: ../midori/midori-browser.c:4036
+#: ../midori/midori-browser.c:4492
 msgid "_Window"
 msgstr ""
 
-#: ../midori/midori-browser.c:4038
+#: ../midori/midori-browser.c:4494
 msgid "Show a list of all open tabs"
 msgstr ""
 
 #. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:4205
+#: ../midori/midori-browser.c:4674
 msgid "_Inline Find:"
 msgstr ""
 
-#: ../midori/midori-browser.c:4230
+#: ../midori/midori-browser.c:4699
 msgid "Previous"
 msgstr ""
 
-#: ../midori/midori-browser.c:4235
+#: ../midori/midori-browser.c:4704
 msgid "Next"
 msgstr ""
 
-#: ../midori/midori-browser.c:4240
+#: ../midori/midori-browser.c:4709
 msgid "Match Case"
 msgstr ""
 
-#: ../midori/midori-browser.c:4248
+#: ../midori/midori-browser.c:4717
 msgid "Highlight Matches"
 msgstr ""
 
-#: ../midori/midori-browser.c:4258
+#: ../midori/midori-browser.c:4727
 msgid "Close Findbar"
 msgstr ""
 
-#: ../midori/midori-browser.c:4598
+#: ../midori/midori-browser.c:4762 ../extensions/cookie-manager.c:821
+msgid "Delete All"
+msgstr ""
+
+#: ../midori/midori-browser.c:5084
 #, c-format
 msgid "Unexpected setting '%s'"
 msgstr ""
 
-#: ../midori/midori-panel.c:309
+#: ../midori/midori-panel.c:333
 msgid "Detach chosen panel from the window"
 msgstr ""
 
-#: ../midori/midori-panel.c:311
+#: ../midori/midori-panel.c:335
 msgid "Whether to detach the chosen panel from the window"
 msgstr ""
 
-#: ../midori/midori-panel.c:321 ../midori/midori-websettings.c:531
+#: ../midori/midori-panel.c:345 ../midori/midori-websettings.c:535
 msgid "Align sidepanel on the right"
 msgstr ""
 
-#: ../midori/midori-panel.c:323 ../midori/midori-websettings.c:532
+#: ../midori/midori-panel.c:347 ../midori/midori-websettings.c:536
 msgid "Whether to align the sidepanel on the right"
 msgstr ""
 
-#: ../midori/midori-panel.c:333 ../midori/midori-panel.c:334
+#: ../midori/midori-panel.c:357 ../midori/midori-panel.c:358
 msgid "Close panel"
 msgstr ""
 
-#: ../midori/midori-websettings.c:183 ../midori/midori-view.c:1949
+#: ../midori/midori-websettings.c:187 ../midori/midori-view.c:1999
+#: ../midori/midori-view.c:2176
 msgid "Blank page"
 msgstr ""
 
-#: ../midori/midori-websettings.c:184 ../midori/midori-websettings.c:551
+#: ../midori/midori-websettings.c:188 ../midori/midori-websettings.c:555
 msgid "Homepage"
 msgstr ""
 
-#: ../midori/midori-websettings.c:185
+#: ../midori/midori-websettings.c:189
 msgid "Last open pages"
 msgstr ""
 
-#: ../midori/midori-websettings.c:220
+#: ../midori/midori-websettings.c:224
 msgid "New tab"
 msgstr ""
 
-#: ../midori/midori-websettings.c:221
+#: ../midori/midori-websettings.c:225
 msgid "New window"
 msgstr ""
 
-#: ../midori/midori-websettings.c:222
+#: ../midori/midori-websettings.c:226
 msgid "Current tab"
 msgstr ""
 
-#: ../midori/midori-websettings.c:237
+#: ../midori/midori-websettings.c:241
 msgid "Default"
 msgstr ""
 
-#: ../midori/midori-websettings.c:238
+#: ../midori/midori-websettings.c:242
 msgid "Icons"
 msgstr ""
 
-#: ../midori/midori-websettings.c:239
+#: ../midori/midori-websettings.c:243
 msgid "Text"
 msgstr ""
 
-#: ../midori/midori-websettings.c:240
+#: ../midori/midori-websettings.c:244
 msgid "Both"
 msgstr ""
 
-#: ../midori/midori-websettings.c:241
+#: ../midori/midori-websettings.c:245
 msgid "Both horizontal"
 msgstr ""
 
-#: ../midori/midori-websettings.c:256
+#: ../midori/midori-websettings.c:260
 msgid "All cookies"
 msgstr ""
 
-#: ../midori/midori-websettings.c:257
+#: ../midori/midori-websettings.c:261
 msgid "Session cookies"
 msgstr ""
 
-#: ../midori/midori-websettings.c:258 ../panels/midori-addons.c:94
+#: ../midori/midori-websettings.c:262 ../panels/midori-addons.c:94
 msgid "None"
 msgstr ""
 
-#: ../midori/midori-websettings.c:274
+#: ../midori/midori-websettings.c:278
 msgid "Safari"
 msgstr ""
 
-#: ../midori/midori-websettings.c:275
+#: ../midori/midori-websettings.c:279
 msgid "Firefox"
 msgstr ""
 
-#: ../midori/midori-websettings.c:276
+#: ../midori/midori-websettings.c:280
 msgid "Internet Explorer"
 msgstr ""
 
-#: ../midori/midori-websettings.c:329
+#: ../midori/midori-websettings.c:333
 msgid "Remember last window size"
 msgstr ""
 
-#: ../midori/midori-websettings.c:330
+#: ../midori/midori-websettings.c:334
 msgid "Whether to save the last window size"
 msgstr ""
 
-#: ../midori/midori-websettings.c:338
+#: ../midori/midori-websettings.c:342
 msgid "Last window width"
 msgstr ""
 
-#: ../midori/midori-websettings.c:339
+#: ../midori/midori-websettings.c:343
 msgid "The last saved window width"
 msgstr ""
 
-#: ../midori/midori-websettings.c:347
+#: ../midori/midori-websettings.c:351
 msgid "Last window height"
 msgstr ""
 
-#: ../midori/midori-websettings.c:348
+#: ../midori/midori-websettings.c:352
 msgid "The last saved window height"
 msgstr ""
 
-#: ../midori/midori-websettings.c:373
+#: ../midori/midori-websettings.c:377
 msgid "Last panel position"
 msgstr ""
 
-#: ../midori/midori-websettings.c:374
+#: ../midori/midori-websettings.c:378
 msgid "The last saved panel position"
 msgstr ""
 
 #. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:383
+#: ../midori/midori-websettings.c:387
 msgid "Last panel page"
 msgstr ""
 
-#: ../midori/midori-websettings.c:384
+#: ../midori/midori-websettings.c:388
 msgid "The last saved panel page"
 msgstr ""
 
-#: ../midori/midori-websettings.c:392
+#: ../midori/midori-websettings.c:396
 msgid "Last Web search"
 msgstr ""
 
-#: ../midori/midori-websettings.c:393
+#: ../midori/midori-websettings.c:397
 msgid "The last saved Web search"
 msgstr ""
 
-#: ../midori/midori-websettings.c:402
+#: ../midori/midori-websettings.c:406
 msgid "Show Menubar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:403
+#: ../midori/midori-websettings.c:407
 msgid "Whether to show the menubar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:411
+#: ../midori/midori-websettings.c:415
 msgid "Show Navigationbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:412
+#: ../midori/midori-websettings.c:416
 msgid "Whether to show the navigationbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:420
+#: ../midori/midori-websettings.c:424
 msgid "Show Bookmarkbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:421
+#: ../midori/midori-websettings.c:425
 msgid "Whether to show the bookmarkbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:429
+#: ../midori/midori-websettings.c:433
 msgid "Show Panel"
 msgstr ""
 
-#: ../midori/midori-websettings.c:430
+#: ../midori/midori-websettings.c:434
 msgid "Whether to show the panel"
 msgstr ""
 
-#: ../midori/midori-websettings.c:445
+#: ../midori/midori-websettings.c:449
 msgid "Show Transferbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:446
+#: ../midori/midori-websettings.c:450
 msgid "Whether to show the transferbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:454
+#: ../midori/midori-websettings.c:458
 msgid "Show Statusbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:455
+#: ../midori/midori-websettings.c:459
 msgid "Whether to show the statusbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:464
+#: ../midori/midori-websettings.c:468
 msgid "Toolbar Style"
 msgstr ""
 
-#: ../midori/midori-websettings.c:465
+#: ../midori/midori-websettings.c:469
 msgid "The style of the toolbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:481
+#: ../midori/midori-websettings.c:485
 msgid "Show progress in location entry"
 msgstr ""
 
-#: ../midori/midori-websettings.c:482
+#: ../midori/midori-websettings.c:486
 msgid "Whether to show loading progress in the location entry"
 msgstr ""
 
-#: ../midori/midori-websettings.c:497
+#: ../midori/midori-websettings.c:501
 msgid "Search engines in location completion"
 msgstr ""
 
-#: ../midori/midori-websettings.c:498
+#: ../midori/midori-websettings.c:502
 msgid "Whether to show search engines in the location completion"
 msgstr ""
 
-#: ../midori/midori-websettings.c:506
+#: ../midori/midori-websettings.c:510
 msgid "Toolbar Items"
 msgstr ""
 
-#: ../midori/midori-websettings.c:507
+#: ../midori/midori-websettings.c:511
 msgid "The items to show on the toolbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:515
+#: ../midori/midori-websettings.c:519
 msgid "Compact Sidepanel"
 msgstr ""
 
-#: ../midori/midori-websettings.c:516
+#: ../midori/midori-websettings.c:520
 msgid "Whether to make the sidepanel compact"
 msgstr ""
 
-#: ../midori/midori-websettings.c:541
+#: ../midori/midori-websettings.c:545
 msgid "Load on Startup"
 msgstr ""
 
-#: ../midori/midori-websettings.c:542
+#: ../midori/midori-websettings.c:546
 msgid "What to load on startup"
 msgstr ""
 
-#: ../midori/midori-websettings.c:552
+#: ../midori/midori-websettings.c:556
 msgid "The homepage"
 msgstr ""
 
-#: ../midori/midori-websettings.c:567
+#: ../midori/midori-websettings.c:571
 msgid "Show crash dialog"
 msgstr ""
 
-#: ../midori/midori-websettings.c:568
+#: ../midori/midori-websettings.c:572
 msgid "Show a dialog after Midori crashed"
 msgstr ""
 
-#: ../midori/midori-websettings.c:576
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:588
+msgid "Show speed dial in new tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:589
+msgid "Show speed dial in newly opened tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:597
 msgid "Download Folder"
 msgstr ""
 
-#: ../midori/midori-websettings.c:577
+#: ../midori/midori-websettings.c:598
 msgid "The folder downloaded files are saved to"
 msgstr ""
 
-#: ../midori/midori-websettings.c:589
+#: ../midori/midori-websettings.c:617
+msgid "Ask for the destination folder"
+msgstr ""
+
+#: ../midori/midori-websettings.c:618
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr ""
+
+#: ../midori/midori-websettings.c:637
+msgid "Notify when a transfer has been completed"
+msgstr ""
+
+#: ../midori/midori-websettings.c:638
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr ""
+
+#: ../midori/midori-websettings.c:650
 msgid "Download Manager"
 msgstr ""
 
-#: ../midori/midori-websettings.c:590
+#: ../midori/midori-websettings.c:651
 msgid "An external download manager"
 msgstr ""
 
-#: ../midori/midori-websettings.c:598
+#: ../midori/midori-websettings.c:659
 msgid "Text Editor"
 msgstr ""
 
-#: ../midori/midori-websettings.c:599
+#: ../midori/midori-websettings.c:660
 msgid "An external text editor"
 msgstr ""
 
-#: ../midori/midori-websettings.c:614
+#: ../midori/midori-websettings.c:675
 msgid "News Aggregator"
 msgstr ""
 
-#: ../midori/midori-websettings.c:615
+#: ../midori/midori-websettings.c:676
 msgid "An external news aggregator"
 msgstr ""
 
-#: ../midori/midori-websettings.c:623
+#: ../midori/midori-websettings.c:684
 msgid "Location entry Search"
 msgstr ""
 
-#: ../midori/midori-websettings.c:624
+#: ../midori/midori-websettings.c:685
 msgid "The search to perform inside the location entry"
 msgstr ""
 
-#: ../midori/midori-websettings.c:632
+#: ../midori/midori-websettings.c:693
 msgid "Preferred Encoding"
 msgstr ""
 
-#: ../midori/midori-websettings.c:633
+#: ../midori/midori-websettings.c:694
 msgid "The preferred character encoding"
 msgstr ""
 
-#: ../midori/midori-websettings.c:643
+#: ../midori/midori-websettings.c:704
 msgid "Always Show Tabbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:644
+#: ../midori/midori-websettings.c:705
 msgid "Always show the tabbar"
 msgstr ""
 
-#: ../midori/midori-websettings.c:652
+#: ../midori/midori-websettings.c:713
 msgid "Close Buttons on Tabs"
 msgstr ""
 
-#: ../midori/midori-websettings.c:653
+#: ../midori/midori-websettings.c:714
 msgid "Whether tabs have close buttons"
 msgstr ""
 
-#: ../midori/midori-websettings.c:661
+#: ../midori/midori-websettings.c:722
 msgid "Open new pages in"
 msgstr ""
 
-#: ../midori/midori-websettings.c:662
+#: ../midori/midori-websettings.c:723
 msgid "Where to open new pages"
 msgstr ""
 
-#: ../midori/midori-websettings.c:671
+#: ../midori/midori-websettings.c:732
 msgid "Open external pages in"
 msgstr ""
 
-#: ../midori/midori-websettings.c:672
+#: ../midori/midori-websettings.c:733
 msgid "Where to open externally opened pages"
 msgstr ""
 
-#: ../midori/midori-websettings.c:685
+#: ../midori/midori-websettings.c:746
 msgid "Middle click opens Selection"
 msgstr ""
 
-#: ../midori/midori-websettings.c:686
+#: ../midori/midori-websettings.c:747
 msgid "Load an address from the selection via middle click"
 msgstr ""
 
-#: ../midori/midori-websettings.c:694
+#: ../midori/midori-websettings.c:755
 msgid "Open tabs in the background"
 msgstr ""
 
-#: ../midori/midori-websettings.c:695
+#: ../midori/midori-websettings.c:756
 msgid "Whether to open new tabs in the background"
 msgstr ""
 
-#: ../midori/midori-websettings.c:703
+#: ../midori/midori-websettings.c:764
 msgid "Open Tabs next to Current"
 msgstr ""
 
-#: ../midori/midori-websettings.c:704
+#: ../midori/midori-websettings.c:765
 msgid "Whether to open new tabs next to the current tab or after the last one"
 msgstr ""
 
-#: ../midori/midori-websettings.c:712
+#: ../midori/midori-websettings.c:773
 msgid "Open popups in tabs"
 msgstr ""
 
-#: ../midori/midori-websettings.c:713
+#: ../midori/midori-websettings.c:774
 msgid "Whether to open popup windows in tabs"
 msgstr ""
 
-#: ../midori/midori-websettings.c:729
+#: ../midori/midori-websettings.c:790
 msgid "Zoom Text and Images"
 msgstr ""
 
-#: ../midori/midori-websettings.c:730
+#: ../midori/midori-websettings.c:791
 msgid "Whether to zoom text and images"
 msgstr ""
 
-#: ../midori/midori-websettings.c:745
+#: ../midori/midori-websettings.c:806
 msgid "Find inline while typing"
 msgstr ""
 
-#: ../midori/midori-websettings.c:746
+#: ../midori/midori-websettings.c:807
 msgid "Whether to automatically find inline while typing"
 msgstr ""
 
-#: ../midori/midori-websettings.c:754
+#: ../midori/midori-websettings.c:815
 msgid "Accept cookies"
 msgstr ""
 
-#: ../midori/midori-websettings.c:755
+#: ../midori/midori-websettings.c:816
 msgid "What type of cookies to accept"
 msgstr ""
 
-#: ../midori/midori-websettings.c:764
+#: ../midori/midori-websettings.c:825
 msgid "Original cookies only"
 msgstr ""
 
-#: ../midori/midori-websettings.c:765
+#: ../midori/midori-websettings.c:826
 msgid "Accept cookies from the original website only"
 msgstr ""
 
-#: ../midori/midori-websettings.c:773
+#: ../midori/midori-websettings.c:834
 msgid "Maximum cookie age"
 msgstr ""
 
-#: ../midori/midori-websettings.c:774
+#: ../midori/midori-websettings.c:835
 msgid "The maximum number of days to save cookies for"
 msgstr ""
 
-#: ../midori/midori-websettings.c:784
+#: ../midori/midori-websettings.c:845
 msgid "Remember last visited pages"
 msgstr ""
 
-#: ../midori/midori-websettings.c:785
+#: ../midori/midori-websettings.c:846
 msgid "Whether the last visited pages are saved"
 msgstr ""
 
-#: ../midori/midori-websettings.c:793
+#: ../midori/midori-websettings.c:854
 msgid "Maximum history age"
 msgstr ""
 
-#: ../midori/midori-websettings.c:794
+#: ../midori/midori-websettings.c:855
 msgid "The maximum number of days to save the history for"
 msgstr ""
 
-#: ../midori/midori-websettings.c:802
+#: ../midori/midori-websettings.c:863
 msgid "Remember last form inputs"
 msgstr ""
 
-#: ../midori/midori-websettings.c:803
+#: ../midori/midori-websettings.c:864
 msgid "Whether the last form inputs are saved"
 msgstr ""
 
-#: ../midori/midori-websettings.c:811
+#: ../midori/midori-websettings.c:872
 msgid "Remember last downloaded files"
 msgstr ""
 
-#: ../midori/midori-websettings.c:812
+#: ../midori/midori-websettings.c:873
 msgid "Whether the last downloaded files are saved"
 msgstr ""
 
-#: ../midori/midori-websettings.c:822
+#: ../midori/midori-websettings.c:883
 msgid "Proxy Server"
 msgstr ""
 
-#: ../midori/midori-websettings.c:823
+#: ../midori/midori-websettings.c:884
 msgid "The proxy server used for HTTP connections"
 msgstr ""
 
-#: ../midori/midori-websettings.c:838
+#: ../midori/midori-websettings.c:899
 msgid "Detect proxy server automatically"
 msgstr ""
 
-#: ../midori/midori-websettings.c:839
+#: ../midori/midori-websettings.c:900
 msgid "Whether to detect the proxy server automatically from the environment"
 msgstr ""
 
 #. i18n: This refers to an application, not the 'user agent' string
-#: ../midori/midori-websettings.c:855
+#: ../midori/midori-websettings.c:916
 msgid "Identify as"
 msgstr ""
 
-#: ../midori/midori-websettings.c:856
+#: ../midori/midori-websettings.c:917
 msgid "What to identify as to web pages"
 msgstr ""
 
-#: ../midori/midori-websettings.c:872
+#: ../midori/midori-websettings.c:933
 msgid "Identification string"
 msgstr ""
 
-#: ../midori/midori-websettings.c:873
+#: ../midori/midori-websettings.c:934
 msgid "The application identification string"
 msgstr ""
 
-#: ../midori/midori-websettings.c:881
+#: ../midori/midori-websettings.c:942
 msgid "Cache size"
 msgstr ""
 
-#: ../midori/midori-websettings.c:882
+#: ../midori/midori-websettings.c:943
 msgid "The allowed size of the cache"
 msgstr ""
 
+#: ../midori/midori-view.c:686
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr ""
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:688 ../midori/midori-view.c:2701
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr ""
+
+#: ../midori/midori-view.c:691
+msgid "Try again"
+msgstr ""
+
 #. i18n: The title of the 404 - Not found error page
 #. Error pages are special, we want to try loading the destination
 #. again, not the error page which isn't even a proper page
-#: ../midori/midori-view.c:637 ../midori/midori-view.c:2473
+#: ../midori/midori-view.c:721 ../midori/midori-view.c:2705
 #, c-format
 msgid "Not found - %s"
 msgstr ""
 
-#: ../midori/midori-view.c:976
+#: ../midori/midori-view.c:1095
 msgid "Open _Link"
 msgstr ""
 
-#: ../midori/midori-view.c:978
+#: ../midori/midori-view.c:1097
 msgid "Open Link in New _Tab"
 msgstr ""
 
-#: ../midori/midori-view.c:995
+#: ../midori/midori-view.c:1114
 msgid "Open Link in New _Window"
 msgstr ""
 
-#: ../midori/midori-view.c:1004
+#: ../midori/midori-view.c:1123
 msgid "_Download Link destination"
 msgstr ""
 
-#: ../midori/midori-view.c:1010
+#: ../midori/midori-view.c:1129
 msgid "_Save Link destination"
 msgstr ""
 
-#: ../midori/midori-view.c:1019
+#: ../midori/midori-view.c:1138
 msgid "Download with Download _Manager"
 msgstr ""
 
-#: ../midori/midori-view.c:1048
+#: ../midori/midori-view.c:1167
 msgid "Search _with"
 msgstr ""
 
-#: ../midori/midori-view.c:1076
+#: ../midori/midori-view.c:1195
 msgid "_Search the Web"
 msgstr ""
 
-#: ../midori/midori-view.c:1086
+#: ../midori/midori-view.c:1205
 msgid "Open Address in New _Tab"
 msgstr ""
 
-#: ../midori/midori-view.c:1234
+#: ../midori/midori-view.c:1372
 msgid "Open or download file"
 msgstr ""
 
-#: ../midori/midori-view.c:1251
+#: ../midori/midori-view.c:1389
 #, c-format
 msgid "File Type: '%s'"
 msgstr ""
 
-#: ../midori/midori-view.c:1254
+#: ../midori/midori-view.c:1392
 #, c-format
 msgid "File Type: %s ('%s')"
 msgstr ""
 
 #. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
-#: ../midori/midori-view.c:1258
+#: ../midori/midori-view.c:1396
 #, c-format
 msgid "Open %s"
 msgstr ""
 
-#: ../midori/midori-view.c:1661
+#: ../midori/midori-view.c:1816
 #, c-format
 msgid "Inspect page - %s"
 msgstr ""
 
-#: ../midori/midori-view.c:1806
+#: ../midori/midori-view.c:2001 ../midori/midori-view.c:2002
+msgid "Search"
+msgstr ""
+
+#: ../midori/midori-view.c:2003
+msgid "Click to add a shortcut"
+msgstr ""
+
+#: ../midori/midori-view.c:2004
+msgid "Enter shortcut address"
+msgstr ""
+
+#: ../midori/midori-view.c:2005
+msgid "Enter shortcut title"
+msgstr ""
+
+#: ../midori/midori-view.c:2006
+msgid "Are you sure you want to delete this shortcut?"
+msgstr ""
+
+#: ../midori/midori-view.c:2038
 #, c-format
 msgid "Document cannot be displayed"
 msgstr ""
 
-#: ../midori/midori-view.c:1822
+#: ../midori/midori-view.c:2055
 #, c-format
 msgid "No documentation installed"
 msgstr ""
@@ -1323,152 +1416,191 @@ msgstr ""
 msgid "Use current page as homepage"
 msgstr ""
 
-#: ../midori/midori-preferences.c:423 ../panels/midori-transfers.c:88
+#: ../midori/midori-preferences.c:425 ../panels/midori-transfers.c:88
 msgid "Transfers"
 msgstr ""
 
 #. Page "Appearance"
-#: ../midori/midori-preferences.c:475
+#: ../midori/midori-preferences.c:440
 msgid "Appearance"
 msgstr ""
 
-#: ../midori/midori-preferences.c:476
+#: ../midori/midori-preferences.c:441
 msgid "Font settings"
 msgstr ""
 
-#: ../midori/midori-preferences.c:478
+#: ../midori/midori-preferences.c:443
 msgid "Default Font Family"
 msgstr ""
 
-#: ../midori/midori-preferences.c:484
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr ""
+
+#: ../midori/midori-preferences.c:450
 msgid "The default font size used to display text"
 msgstr ""
 
-#: ../midori/midori-preferences.c:487
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr ""
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr ""
+
+#: ../midori/midori-preferences.c:458
 msgid "Minimum Font Size"
 msgstr ""
 
-#: ../midori/midori-preferences.c:490
+#: ../midori/midori-preferences.c:461
 msgid "The minimum font size used to display text"
 msgstr ""
 
-#: ../midori/midori-preferences.c:497
+#: ../midori/midori-preferences.c:468
 msgid "Encoding"
 msgstr ""
 
-#: ../midori/midori-preferences.c:500
+#: ../midori/midori-preferences.c:471
 msgid "The character encoding to use by default"
 msgstr ""
 
 #. Page "Behavior"
-#: ../midori/midori-preferences.c:507
+#: ../midori/midori-preferences.c:478
 msgid "Behavior"
 msgstr ""
 
-#: ../midori/midori-preferences.c:508
+#: ../midori/midori-preferences.c:479
 msgid "Features"
 msgstr ""
 
-#: ../midori/midori-preferences.c:511 ../extensions/statusbar-features.c:54
+#: ../midori/midori-preferences.c:482 ../extensions/statusbar-features.c:54
 msgid "Load images automatically"
 msgstr ""
 
-#: ../midori/midori-preferences.c:512
+#: ../midori/midori-preferences.c:483
 msgid "Load and display images automatically"
 msgstr ""
 
-#: ../midori/midori-preferences.c:515
+#: ../midori/midori-preferences.c:486
 msgid "Shrink images automatically"
 msgstr ""
 
-#: ../midori/midori-preferences.c:516
+#: ../midori/midori-preferences.c:487
 msgid "Automatically shrink standalone images to fit"
 msgstr ""
 
-#: ../midori/midori-preferences.c:519
+#: ../midori/midori-preferences.c:490
 msgid "Print background images"
 msgstr ""
 
-#: ../midori/midori-preferences.c:520
+#: ../midori/midori-preferences.c:491
 msgid "Whether background images should be printed"
 msgstr ""
 
-#: ../midori/midori-preferences.c:523
+#: ../midori/midori-preferences.c:494
 msgid "Resizable text areas"
 msgstr ""
 
-#: ../midori/midori-preferences.c:524
+#: ../midori/midori-preferences.c:495
 msgid "Whether text areas are resizable"
 msgstr ""
 
-#: ../midori/midori-preferences.c:527 ../extensions/statusbar-features.c:63
+#: ../midori/midori-preferences.c:498 ../extensions/statusbar-features.c:63
 msgid "Enable scripts"
 msgstr ""
 
-#: ../midori/midori-preferences.c:528
+#: ../midori/midori-preferences.c:499
 msgid "Enable embedded scripting languages"
 msgstr ""
 
-#: ../midori/midori-preferences.c:531 ../extensions/statusbar-features.c:72
-msgid "Enable plugins"
+#: ../midori/midori-preferences.c:502 ../extensions/statusbar-features.c:72
+msgid "Enable Netscape plugins"
 msgstr ""
 
-#: ../midori/midori-preferences.c:532
-msgid "Enable embedded plugin objects"
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
 msgstr ""
 
-#: ../midori/midori-preferences.c:535
+#: ../midori/midori-preferences.c:506
 msgid "Enforce 96 dots per inch"
 msgstr ""
 
-#: ../midori/midori-preferences.c:536
+#: ../midori/midori-preferences.c:507
 msgid "Enforce a video dot density of 96 DPI"
 msgstr ""
 
-#: ../midori/midori-preferences.c:539
+#: ../midori/midori-preferences.c:510
 msgid "Enable developer tools"
 msgstr ""
 
-#: ../midori/midori-preferences.c:540
+#: ../midori/midori-preferences.c:511
 msgid "Enable special extensions for developers"
 msgstr ""
 
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr ""
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr ""
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr ""
+
+#: ../midori/midori-preferences.c:525
+msgid ""
+"A comma separated list of languages to be used for spell checking, for "
+"example \"en_GB,de_DE\""
+msgstr ""
+
 #. Page "Interface"
-#: ../midori/midori-preferences.c:548
+#: ../midori/midori-preferences.c:530
 msgid "Interface"
 msgstr ""
 
-#: ../midori/midori-preferences.c:549
+#: ../midori/midori-preferences.c:531
 msgid "Navigationbar"
 msgstr ""
 
-#: ../midori/midori-preferences.c:560
+#: ../midori/midori-preferences.c:542
 msgid "Browsing"
 msgstr ""
 
+#. Page "Applications"
+#: ../midori/midori-preferences.c:572
+msgid "Applications"
+msgstr ""
+
+#: ../midori/midori-preferences.c:573
+msgid "External applications"
+msgstr ""
+
 #. Page "Network"
-#: ../midori/midori-preferences.c:590 ../midori/midori-preferences.c:591
+#: ../midori/midori-preferences.c:619 ../midori/midori-preferences.c:620
 msgid "Network"
 msgstr ""
 
-#: ../midori/midori-preferences.c:618
+#: ../midori/midori-preferences.c:647
 msgid "MB"
 msgstr ""
 
 #. Page "Privacy"
-#: ../midori/midori-preferences.c:623
+#: ../midori/midori-preferences.c:652
 msgid "Privacy"
 msgstr ""
 
-#: ../midori/midori-preferences.c:624
+#: ../midori/midori-preferences.c:653
 msgid "Web Cookies"
 msgstr ""
 
-#: ../midori/midori-preferences.c:637 ../midori/midori-preferences.c:647
+#: ../midori/midori-preferences.c:666 ../midori/midori-preferences.c:676
 msgid "days"
 msgstr ""
 
-#: ../midori/midori-searchaction.c:484 ../katze/katze-arrayaction.c:277
+#: ../midori/midori-searchaction.c:484 ../katze/katze-arrayaction.c:314
 msgid "Empty"
 msgstr ""
 
@@ -1500,64 +1632,64 @@ msgstr ""
 msgid "Use as _default"
 msgstr ""
 
-#: ../midori/sokoke.c:117 ../midori/sokoke.c:129
+#: ../midori/sokoke.c:162 ../midori/sokoke.c:174
 msgid "Could not run external program."
 msgstr ""
 
 #. i18n: A superuser, or system administrator, may not be 'root'
-#: ../midori/sokoke.c:448
+#: ../midori/sokoke.c:520
 msgid "Warning: You are using a superuser account!"
 msgstr ""
 
-#: ../midori/sokoke.c:780
+#: ../midori/sokoke.c:871
 msgid "_Bookmark"
 msgstr ""
 
-#: ../midori/sokoke.c:782
+#: ../midori/sokoke.c:873
 msgid "_Add Bookmark"
 msgstr ""
 
-#: ../midori/sokoke.c:783
+#: ../midori/sokoke.c:874
 msgid "_Console"
 msgstr ""
 
-#: ../midori/sokoke.c:784
+#: ../midori/sokoke.c:875
 msgid "_Extensions"
 msgstr ""
 
-#: ../midori/sokoke.c:785
+#: ../midori/sokoke.c:876
 msgid "_History"
 msgstr ""
 
-#: ../midori/sokoke.c:786
+#: ../midori/sokoke.c:877
 msgid "_Homepage"
 msgstr ""
 
-#: ../midori/sokoke.c:787
+#: ../midori/sokoke.c:878
 msgid "_Userscripts"
 msgstr ""
 
-#: ../midori/sokoke.c:788
+#: ../midori/sokoke.c:879
 msgid "User_styles"
 msgstr ""
 
-#: ../midori/sokoke.c:789
+#: ../midori/sokoke.c:880
 msgid "New _Tab"
 msgstr ""
 
-#: ../midori/sokoke.c:790
+#: ../midori/sokoke.c:881
 msgid "_Transfers"
 msgstr ""
 
-#: ../midori/sokoke.c:791
-msgid "P_lugins"
+#: ../midori/sokoke.c:882
+msgid "Netscape p_lugins"
 msgstr ""
 
-#: ../midori/sokoke.c:792
+#: ../midori/sokoke.c:883
 msgid "_Closed Tabs and Windows"
 msgstr ""
 
-#: ../midori/sokoke.c:793
+#: ../midori/sokoke.c:884
 msgid "New _Window"
 msgstr ""
 
@@ -1589,15 +1721,15 @@ msgstr ""
 msgid "Bookmarks"
 msgstr ""
 
-#: ../panels/midori-bookmarks.c:240
+#: ../panels/midori-bookmarks.c:238
 msgid "Edit the selected bookmark"
 msgstr ""
 
-#: ../panels/midori-bookmarks.c:248
+#: ../panels/midori-bookmarks.c:246
 msgid "Delete the selected bookmark"
 msgstr ""
 
-#: ../panels/midori-bookmarks.c:593
+#: ../panels/midori-bookmarks.c:591
 msgid "<i>Separator</i>"
 msgstr ""
 
@@ -1609,42 +1741,46 @@ msgstr ""
 msgid "Extensions"
 msgstr ""
 
-#: ../panels/midori-history.c:163
+#: ../panels/midori-history.c:162
 msgid "Are you sure you want to remove all history items?"
 msgstr ""
 
-#: ../panels/midori-history.c:218
+#: ../panels/midori-history.c:217
 msgid "Bookmark the selected history item"
 msgstr ""
 
-#: ../panels/midori-history.c:227
+#: ../panels/midori-history.c:226
 msgid "Delete the selected history item"
 msgstr ""
 
-#: ../panels/midori-history.c:235
+#: ../panels/midori-history.c:234
 msgid "Clear the entire history"
 msgstr ""
 
-#: ../panels/midori-history.c:600
-#, c-format
+#: ../panels/midori-history.c:599
 msgid "A week ago"
 msgstr ""
 
-#: ../panels/midori-history.c:606
+#: ../panels/midori-history.c:604
+#, c-format
+msgid "%d day ago"
+msgstr ""
+
+#: ../panels/midori-history.c:605
 #, c-format
 msgid "%d days ago"
 msgstr ""
 
-#: ../panels/midori-history.c:613
+#: ../panels/midori-history.c:612
 msgid "Today"
 msgstr ""
 
-#: ../panels/midori-history.c:615
+#: ../panels/midori-history.c:614
 msgid "Yesterday"
 msgstr ""
 
 #: ../panels/midori-plugins.c:87
-msgid "Plugins"
+msgid "Netscape plugins"
 msgstr ""
 
 #: ../panels/midori-transfers.c:256
@@ -1684,28 +1820,28 @@ msgstr ""
 msgid "Animation frames are broken"
 msgstr ""
 
-#: ../katze/katze-utils.c:183 ../katze/katze-utils.c:395
+#: ../katze/katze-utils.c:183 ../katze/katze-utils.c:385
 #, c-format
 msgid "Property '%s' is invalid for %s"
 msgstr ""
 
-#: ../katze/katze-utils.c:215 ../katze/katze-utils.c:254
+#: ../katze/katze-utils.c:215 ../katze/katze-utils.c:244
 msgid "Choose file"
 msgstr ""
 
-#: ../katze/katze-utils.c:235
+#: ../katze/katze-utils.c:230
 msgid "Choose folder"
 msgstr ""
 
-#: ../extensions/colorful-tabs.c:104
+#: ../extensions/colorful-tabs.c:115
 msgid "Tint tabs distinctly"
 msgstr ""
 
-#: ../extensions/colorful-tabs.c:140
+#: ../extensions/colorful-tabs.c:151
 msgid "Colorful Tabs"
 msgstr ""
 
-#: ../extensions/colorful-tabs.c:141
+#: ../extensions/colorful-tabs.c:152
 msgid "Tint each tab distinctly"
 msgstr ""
 
@@ -1732,71 +1868,150 @@ msgstr ""
 msgid "No"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:491
+#: ../extensions/cookie-manager.c:493
 msgid "Do you really want to delete all cookies?"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:493
+#: ../extensions/cookie-manager.c:495
 msgid "Question"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:501
-msgid ""
-"Only the visible cookies are deleted which match the entered filter string."
+#: ../extensions/cookie-manager.c:504
+msgid "Only cookies which match the filter will be deleted."
 msgstr ""
 
-#: ../extensions/cookie-manager.c:679
+#: ../extensions/cookie-manager.c:682
 msgid "Name"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:739
+#: ../extensions/cookie-manager.c:742
 msgid "_Expand All"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:747
+#: ../extensions/cookie-manager.c:750
 msgid "_Collapse All"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:818
-msgid "Delete All"
-msgstr ""
-
-#: ../extensions/cookie-manager.c:820
+#: ../extensions/cookie-manager.c:823
 msgid ""
 "Deletes all shown cookies. If a filter is set, only those cookies are "
 "deleted which match the filter."
 msgstr ""
 
-#: ../extensions/cookie-manager.c:835
+#: ../extensions/cookie-manager.c:838
 msgid "Expand All"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:842
+#: ../extensions/cookie-manager.c:845
 msgid "Collapse All"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:873
+#: ../extensions/cookie-manager.c:876
 msgid "Filter:"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:878
+#: ../extensions/cookie-manager.c:881
 msgid ""
 "Enter a filter string to show only cookies whose name or domain field match "
 "the entered filter"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:913 ../extensions/cookie-manager.c:961
+#: ../extensions/cookie-manager.c:916 ../extensions/cookie-manager.c:964
 msgid "Cookie Manager"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:945
+#: ../extensions/cookie-manager.c:948
 msgid "_Cookie Manager"
 msgstr ""
 
-#: ../extensions/cookie-manager.c:962
+#: ../extensions/cookie-manager.c:965
 msgid "List, view and delete cookies"
 msgstr ""
 
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr ""
+
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr ""
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr ""
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr ""
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr ""
+
+#: ../extensions/feed-panel/feed-parse.c:175
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-parse.c:215
+#, c-format
+msgid "Unsupported feed format."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-parse.c:245
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr ""
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-rss.c:144
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-rss.c:229
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr ""
+
 #: ../extensions/mouse-gestures/main.c:216
 msgid "Mouse Gestures"
 msgstr ""
@@ -1813,3 +2028,11 @@ msgstr ""
 #: ../extensions/page-holder.c:161
 msgid "_Pageholder"
 msgstr ""
+
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr ""
+
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr ""
diff --git a/po/pt.po b/po/pt.po
new file mode 100644 (file)
index 0000000..acf82ea
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,2135 @@
+# Portuguese translations for midori package.
+# Copyright (C) 2008 THE midori'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the midori package.
+# Sérgio Marques <smarquespt@gmail.com> 2008-2009
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Midori 0.1.6\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-10 16:06+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
+"Language-Team: Portuguese <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../data/midori.desktop.in.h:1
+msgid "Lightweight web browser"
+msgstr "Navegador Web leve"
+
+#: ../data/midori.desktop.in.h:2
+#: ../midori/main.c:1315
+#: ../midori/main.c:1449
+#: ../midori/main.c:1457
+#: ../midori/main.c:1468
+#: ../midori/midori-websettings.c:277
+msgid "Midori"
+msgstr "Midori"
+
+#: ../data/midori.desktop.in.h:3
+msgid "Web Browser"
+msgstr "Navegador Web"
+
+#: ../midori/main.c:96
+#, c-format
+msgid "The configuration couldn't be loaded: %s\n"
+msgstr "A configuração não foi carregada: %s\n"
+
+#: ../midori/main.c:151
+#, c-format
+msgid "Value '%s' is invalid for %s"
+msgstr "O valor  '%s' é inválido para %s"
+
+#: ../midori/main.c:158
+#: ../midori/main.c:238
+#, c-format
+msgid "Invalid configuration value '%s'"
+msgstr "Valor de configuração '%s' inválido "
+
+#: ../midori/main.c:350
+#, c-format
+msgid "Failed to open database: %s\n"
+msgstr "Falha ao abrir a base de dados: %s\n"
+
+#: ../midori/main.c:382
+#, c-format
+msgid "Failed to execute database statement: %s\n"
+msgstr "Falha ao executar o relatório da base de dados: %s\n"
+
+#: ../midori/main.c:436
+#, c-format
+msgid "Failed to remove history item: %s\n"
+msgstr "Falha ao remover histórico: %s\n"
+
+#: ../midori/main.c:460
+#, c-format
+msgid "Failed to clear history: %s\n"
+msgstr "Falha ao limpar histórico: %s\n"
+
+#: ../midori/main.c:483
+#: ../midori/main.c:517
+#: ../midori/main.c:533
+#, c-format
+msgid "Failed to add history item: %s\n"
+msgstr "Falha ao adicionar histórico: %s\n"
+
+#. i18n: Couldn't remove items that are older than n days
+#: ../midori/main.c:712
+#, c-format
+msgid "Failed to remove old history items: %s\n"
+msgstr "Falha ao remover histórico antigo: %s\n"
+
+#: ../midori/main.c:741
+#, c-format
+msgid "The configuration couldn't be saved. %s"
+msgstr "A configuração não foi guardada. %s"
+
+#: ../midori/main.c:770
+#, c-format
+msgid "The search engines couldn't be saved. %s"
+msgstr "Os motores de pesquisa não foram guardados. %s"
+
+#: ../midori/main.c:789
+#: ../midori/main.c:817
+#: ../midori/main.c:846
+#, c-format
+msgid "The bookmarks couldn't be saved. %s"
+msgstr "Os marcadores não foram guardados. %s"
+
+#. i18n: Trash, or wastebin, containing closed tabs
+#: ../midori/main.c:869
+#: ../midori/main.c:892
+#, c-format
+msgid "The trash couldn't be saved. %s"
+msgstr "O lixo não foi guardado. %s"
+
+#: ../midori/main.c:965
+#, c-format
+msgid "The session couldn't be saved. %s"
+msgstr "A sessão não foi guardada. %s"
+
+#: ../midori/main.c:1092
+msgid "Midori seems to have crashed the last time it was opened. If this happened repeatedly, try one of the following options to solve the problem."
+msgstr "O Midori encerrou abruptamente da última vez que foi aberto. Se isto ocorrer repetidamente, tente uma das seguintes opções para resolver o problema."
+
+#: ../midori/main.c:1107
+msgid "Modify _preferences"
+msgstr "Modificar _preferências"
+
+#: ../midori/main.c:1111
+msgid "Reset the last _session"
+msgstr "Restaurar última _sessão"
+
+#: ../midori/main.c:1116
+msgid "Disable all _extensions"
+msgstr "Desactivar todas as _extensões"
+
+#: ../midori/main.c:1315
+msgid "No filename specified"
+msgstr "Nenhum nome especificado"
+
+#: ../midori/main.c:1338
+msgid "An unknown error occured."
+msgstr "Ocorreu um erro desconhecido."
+
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "Captura guardada em: %s\n"
+
+#: ../midori/main.c:1391
+msgid "Run ADDRESS as a web application"
+msgstr "Executar ENDEREÇO como aplicação web"
+
+#: ../midori/main.c:1391
+msgid "ADDRESS"
+msgstr "ENDEREÇO"
+
+#: ../midori/main.c:1393
+msgid "Use FOLDER as configuration folder"
+msgstr "Usar PASTA como pasta de configuração"
+
+#: ../midori/main.c:1393
+msgid "FOLDER"
+msgstr "PASTA"
+
+#: ../midori/main.c:1395
+msgid "Run the specified filename as javascript"
+msgstr "Executar o ficheiro especificado como argumento java"
+
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr "Tirar uma captura da URI especificada"
+
+#: ../midori/main.c:1401
+msgid "Display program version"
+msgstr "Apresentar versão do programa"
+
+#: ../midori/main.c:1403
+msgid "Addresses"
+msgstr "Endereços "
+
+#: ../midori/main.c:1446
+msgid "[Addresses]"
+msgstr "[Endereços]"
+
+#: ../midori/main.c:1469
+msgid "Please report comments, suggestions and bugs to:"
+msgstr "Por favor reporte comentários, sugestões e erros para:"
+
+#: ../midori/main.c:1471
+msgid "Check for new versions at:"
+msgstr "Verificar por novas versões a:"
+
+#: ../midori/main.c:1548
+msgid "The specified configuration folder is invalid."
+msgstr "A pasta de configuração especificada é inválida."
+
+#: ../midori/main.c:1583
+msgid "An instance of Midori is already running but not responding.\n"
+msgstr "Já existe uma instância de Midori em execução mas não está respondendo.\n"
+
+#: ../midori/main.c:1633
+#, c-format
+msgid "The search engines couldn't be loaded. %s\n"
+msgstr "Os motores de pesquisa não foram carregados. %s\n"
+
+#: ../midori/main.c:1645
+#, c-format
+msgid "The bookmarks couldn't be loaded: %s\n"
+msgstr "Os marcadores não foram carregados: %s\n"
+
+#: ../midori/main.c:1660
+#, c-format
+msgid "The session couldn't be loaded: %s\n"
+msgstr "A sessão não foi carregada: %s\n"
+
+#: ../midori/main.c:1673
+#, c-format
+msgid "The trash couldn't be loaded: %s\n"
+msgstr "O lixo não foi carregado: %s\n"
+
+#: ../midori/main.c:1686
+#, c-format
+msgid "The history couldn't be loaded: %s\n"
+msgstr "O histórico não foi carregado: %s\n"
+
+#: ../midori/main.c:1698
+msgid "The following errors occured:"
+msgstr "Ocorreram os seguintes erros:"
+
+#: ../midori/main.c:1714
+msgid "_Ignore"
+msgstr "_Ignorar "
+
+#: ../midori/midori-array.c:195
+msgid "File not found."
+msgstr "Ficheiro não encontrado."
+
+#: ../midori/midori-array.c:203
+#: ../midori/midori-array.c:212
+msgid "Malformed document."
+msgstr "Documento mal formado."
+
+#: ../midori/midori-array.c:338
+#: ../midori/sokoke.c:716
+#, c-format
+msgid "Writing failed."
+msgstr "Falhou escrita."
+
+#: ../midori/midori-browser.c:287
+#: ../midori/midori-browser.c:3819
+#: ../midori/midori-browser.c:3825
+msgid "Reload the current page"
+msgstr "Recarregar página actual"
+
+#: ../midori/midori-browser.c:298
+#: ../midori/midori-browser.c:3822
+msgid "Stop loading the current page"
+msgstr "Parar o carregamento da página actual"
+
+#: ../midori/midori-browser.c:360
+#, c-format
+msgid "%d%% loaded"
+msgstr "%d%% carregado"
+
+#: ../midori/midori-browser.c:385
+#, c-format
+msgid "Unexpected action '%s'."
+msgstr "Acção inesperada  '%s'."
+
+#: ../midori/midori-browser.c:603
+msgid "New folder"
+msgstr "Nova pasta"
+
+#: ../midori/midori-browser.c:603
+msgid "Edit folder"
+msgstr "Editar pasta"
+
+#: ../midori/midori-browser.c:605
+msgid "New bookmark"
+msgstr "Novo marcador"
+
+#: ../midori/midori-browser.c:605
+msgid "Edit bookmark"
+msgstr "Editar marcador"
+
+#: ../midori/midori-browser.c:635
+msgid "_Title:"
+msgstr "_Título:"
+
+#: ../midori/midori-browser.c:648
+#: ../midori/midori-searchaction.c:948
+msgid "_Description:"
+msgstr "_Descrição:"
+
+#: ../midori/midori-browser.c:667
+#: ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
+msgid "_Address:"
+msgstr "_Endereço:"
+
+#: ../midori/midori-browser.c:686
+msgid "_Folder:"
+msgstr "_Pasta:"
+
+#: ../midori/midori-browser.c:691
+#: ../midori/midori-browser.c:732
+msgid "Toplevel folder"
+msgstr "Pasta Superior"
+
+#: ../midori/midori-browser.c:808
+msgid "Save file as"
+msgstr "Guardar como"
+
+#: ../midori/midori-browser.c:1119
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "O ficheiro <b>%s</b> foi transferido."
+
+#: ../midori/midori-browser.c:1123
+msgid "Transfer completed"
+msgstr "Transferência concluída"
+
+#: ../midori/midori-browser.c:1820
+msgid "Open file"
+msgstr "Abrir ficheiro"
+
+#: ../midori/midori-browser.c:3152
+#: ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:808
+msgid "Open all in _Tabs"
+msgstr "Abrir todas em _Separadores"
+
+#: ../midori/midori-browser.c:3159
+#: ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:814
+#: ../extensions/feed-panel/feed-panel.c:542
+msgid "Open in New _Tab"
+msgstr "Abrir em Novo _Separador"
+
+#: ../midori/midori-browser.c:3162
+#: ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:816
+#: ../extensions/feed-panel/feed-panel.c:544
+msgid "Open in New _Window"
+msgstr "Abrir em Nova _Janela"
+
+#: ../midori/midori-browser.c:3425
+msgid "Clear Private Data"
+msgstr "Limpar Dados Privados"
+
+#: ../midori/midori-browser.c:3428
+msgid "_Clear private data"
+msgstr "_Limpar dados privados"
+
+#: ../midori/midori-browser.c:3441
+msgid "Clear the following data:"
+msgstr "Limpar os seguintes dados:"
+
+#: ../midori/midori-browser.c:3449
+#: ../midori/midori-preferences.c:669
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "Histórico"
+
+#: ../midori/midori-browser.c:3452
+msgid "Cookies"
+msgstr "Cookies"
+
+#: ../midori/midori-browser.c:3455
+msgid "'Flash' Cookies"
+msgstr "Cookies 'Flash'"
+
+#: ../midori/midori-browser.c:3458
+msgid "Website icons"
+msgstr "Ícones de sítios Web"
+
+#: ../midori/midori-browser.c:3538
+msgid "A lightweight web browser."
+msgstr "Um navegador web leve."
+
+#: ../midori/midori-browser.c:3546
+msgid "translator-credits"
+msgstr "Sérgio Marques <smarquespt@gmail.com>"
+
+#: ../midori/midori-browser.c:3750
+msgid "_File"
+msgstr "_Ficheiro"
+
+#: ../midori/midori-browser.c:3753
+msgid "Open a new window"
+msgstr "Abrir nova janela"
+
+#: ../midori/midori-browser.c:3756
+msgid "Open a new tab"
+msgstr "Abrir novo separador"
+
+#: ../midori/midori-browser.c:3759
+msgid "Open a file"
+msgstr "Abrir ficheiro"
+
+#: ../midori/midori-browser.c:3762
+msgid "Save to a file"
+msgstr "Guardar para ficheiro"
+
+#: ../midori/midori-browser.c:3764
+#: ../midori/midori-view.c:1256
+msgid "Add to Speed _dial"
+msgstr "Adicionar a ligação rápi_da"
+
+#: ../midori/midori-browser.c:3765
+msgid "Add shortcut to speed dial"
+msgstr "Adicionar atalho a ligação rápida"
+
+#: ../midori/midori-browser.c:3767
+msgid "_Close Tab"
+msgstr "_Fechar Separador"
+
+#: ../midori/midori-browser.c:3768
+msgid "Close the current tab"
+msgstr "Fechar separador actual"
+
+#: ../midori/midori-browser.c:3770
+msgid "C_lose Window"
+msgstr "Fechar Jane_la"
+
+#: ../midori/midori-browser.c:3771
+msgid "Close this window"
+msgstr "Fechar esta janela"
+
+#: ../midori/midori-browser.c:3774
+msgid "Print the current page"
+msgstr "Imprimir página actual"
+
+#: ../midori/midori-browser.c:3777
+msgid "Quit the application"
+msgstr "Sair da aplicação"
+
+#: ../midori/midori-browser.c:3779
+msgid "_Edit"
+msgstr "_Editar"
+
+#: ../midori/midori-browser.c:3782
+msgid "Cut the selected text"
+msgstr "Cortar o texto seleccionado"
+
+#: ../midori/midori-browser.c:3785
+#: ../midori/midori-browser.c:3788
+msgid "Copy the selected text"
+msgstr "Copiar o texto seleccionado"
+
+#: ../midori/midori-browser.c:3791
+msgid "Paste text from the clipboard"
+msgstr "Colar texto da área de transferência"
+
+#: ../midori/midori-browser.c:3794
+msgid "Delete the selected text"
+msgstr "Apagar o texto seleccionado"
+
+#: ../midori/midori-browser.c:3797
+msgid "Select all text"
+msgstr "Seleccionar tudo"
+
+#: ../midori/midori-browser.c:3800
+msgid "Find a word or phrase in the page"
+msgstr "Localizar palavra ou frase na página"
+
+#: ../midori/midori-browser.c:3802
+msgid "Find _Next"
+msgstr "_Localizar Próxima"
+
+#: ../midori/midori-browser.c:3803
+msgid "Find the next occurrence of a word or phrase"
+msgstr "Localizar próxima ocorrência da palavra ou frase"
+
+#: ../midori/midori-browser.c:3805
+msgid "Find _Previous"
+msgstr "Localizar _Anterior"
+
+#: ../midori/midori-browser.c:3806
+msgid "Find the previous occurrence of a word or phrase"
+msgstr "Localizar a ocorrência anterior da palavra ou frase"
+
+#: ../midori/midori-browser.c:3809
+msgid "_Quick Find"
+msgstr "Localização _Rápida"
+
+#: ../midori/midori-browser.c:3810
+msgid "Quickly jump to a word or phrase"
+msgstr "Avanço rápido para palavra ou frase"
+
+#: ../midori/midori-browser.c:3813
+msgid "Configure the application preferences"
+msgstr "Configurar preferências da aplicação"
+
+#: ../midori/midori-browser.c:3815
+msgid "_View"
+msgstr "_Ver"
+
+#: ../midori/midori-browser.c:3816
+msgid "_Toolbars"
+msgstr "_Barra de Ferramentas"
+
+#: ../midori/midori-browser.c:3828
+msgid "Increase the zoom level"
+msgstr "Aumentar Zoom"
+
+#: ../midori/midori-browser.c:3831
+msgid "Decrease the zoom level"
+msgstr "Diminuir Zoom"
+
+#: ../midori/midori-browser.c:3834
+msgid "Reset the zoom level"
+msgstr "Repor Zoom"
+
+#: ../midori/midori-browser.c:3835
+msgid "_Encoding"
+msgstr "_Codificação"
+
+#: ../midori/midori-browser.c:3837
+msgid "_Automatic"
+msgstr "_Automático"
+
+#: ../midori/midori-browser.c:3840
+#: ../midori/midori-websettings.c:204
+msgid "Chinese (BIG5)"
+msgstr "Chinês (BIG5)"
+
+#: ../midori/midori-browser.c:3843
+#: ../midori/midori-websettings.c:205
+msgid "Japanese (SHIFT_JIS)"
+msgstr "Japonês (SHIFT_JIS)"
+
+#: ../midori/midori-browser.c:3846
+#: ../midori/midori-websettings.c:206
+msgid "Russian (KOI8-R)"
+msgstr "Russo (KOI8-R)"
+
+#: ../midori/midori-browser.c:3849
+#: ../midori/midori-websettings.c:207
+msgid "Unicode (UTF-8)"
+msgstr "Unicode (UTF-8)"
+
+#: ../midori/midori-browser.c:3852
+#: ../midori/midori-websettings.c:208
+msgid "Western (ISO-8859-1)"
+msgstr "Ocidental (ISO-8859-1)"
+
+#: ../midori/midori-browser.c:3855
+#: ../midori/midori-websettings.c:209
+#: ../midori/midori-websettings.c:281
+msgid "Custom..."
+msgstr "Personalizar..."
+
+#: ../midori/midori-browser.c:3858
+#: ../midori/midori-view.c:1275
+msgid "View _Source"
+msgstr "Ver _Origem"
+
+#: ../midori/midori-browser.c:3859
+msgid "View the source code of the page"
+msgstr "Ver código fonte da página"
+
+#: ../midori/midori-browser.c:3861
+msgid "View Selection Source"
+msgstr "Ver Origem da Selecção"
+
+#: ../midori/midori-browser.c:3862
+msgid "View the source code of the selection"
+msgstr "Ver código fonte da selecção"
+
+#: ../midori/midori-browser.c:3866
+msgid "Toggle fullscreen view"
+msgstr "Alternar para ecrã completo"
+
+#: ../midori/midori-browser.c:3868
+msgid "_Go"
+msgstr "_Ir"
+
+#: ../midori/midori-browser.c:3871
+msgid "Go back to the previous page"
+msgstr "Ir para página anterior"
+
+#: ../midori/midori-browser.c:3874
+msgid "Go forward to the next page"
+msgstr "Ir para página seguinte"
+
+#: ../midori/midori-browser.c:3877
+msgid "Go to your homepage"
+msgstr "Ir para página inicial"
+
+#: ../midori/midori-browser.c:3879
+msgid "Empty Trash"
+msgstr "Esvaziar Lixo"
+
+#: ../midori/midori-browser.c:3880
+msgid "Delete the contents of the trash"
+msgstr "Apagar conteúdos do lixo"
+
+#: ../midori/midori-browser.c:3882
+#: ../midori/midori-view.c:1233
+msgid "Undo Close Tab"
+msgstr "Desfazer Fecho de Separador"
+
+#: ../midori/midori-browser.c:3883
+msgid "Open the last closed tab"
+msgstr "Abrir último separador fechado"
+
+#: ../midori/midori-browser.c:3887
+#: ../panels/midori-bookmarks.c:230
+msgid "Add a new bookmark"
+msgstr "Adicionar novo marcador"
+
+#: ../midori/midori-browser.c:3889
+#: ../panels/midori-bookmarks.c:259
+msgid "Add a new folder"
+msgstr "Adicionar nova pasta"
+
+#: ../midori/midori-browser.c:3890
+msgid "Add a new bookmark folder"
+msgstr "Adicionar nova pasta de marcadores"
+
+#: ../midori/midori-browser.c:3891
+msgid "_Tools"
+msgstr "Ferramen_tas"
+
+#: ../midori/midori-browser.c:3893
+#: ../midori/midori-searchaction.c:493
+msgid "_Manage Search Engines"
+msgstr "Gerir Motores de _Pesquisa"
+
+#: ../midori/midori-browser.c:3894
+msgid "Add, edit and remove search engines..."
+msgstr "Adicionar, editar e remover motores de pesquisa..."
+
+#: ../midori/midori-browser.c:3897
+msgid "_Clear Private Data"
+msgstr "_Limpar dados privados"
+
+#: ../midori/midori-browser.c:3898
+msgid "Clear private data..."
+msgstr "Limpar dados privados..."
+
+#: ../midori/midori-browser.c:3902
+msgid "_Previous Tab"
+msgstr "Separador _Anterior"
+
+#: ../midori/midori-browser.c:3903
+msgid "Switch to the previous tab"
+msgstr "Mudar para separador anterior"
+
+#: ../midori/midori-browser.c:3905
+msgid "_Next Tab"
+msgstr "_Próximo Separador"
+
+#: ../midori/midori-browser.c:3906
+msgid "Switch to the next tab"
+msgstr "Mudar para próximo separador"
+
+#: ../midori/midori-browser.c:3908
+msgid "_Help"
+msgstr "_Ajuda"
+
+#: ../midori/midori-browser.c:3910
+msgid "_Contents"
+msgstr "_Conteúdos"
+
+#: ../midori/midori-browser.c:3911
+msgid "Show the documentation"
+msgstr "Mostrar documentação"
+
+#: ../midori/midori-browser.c:3913
+msgid "_Frequent Questions"
+msgstr "Questões _Frequentes"
+
+#: ../midori/midori-browser.c:3914
+msgid "Show the Frequently Asked Questions"
+msgstr "Mostrar Questões Frequentes"
+
+#: ../midori/midori-browser.c:3916
+msgid "_Report a Bug"
+msgstr "_Reportar Erro"
+
+#: ../midori/midori-browser.c:3917
+msgid "Open Midori's bug tracker"
+msgstr "Abrir Midori's bug tracker"
+
+#: ../midori/midori-browser.c:3920
+msgid "Show information about the program"
+msgstr "Mostrar informação sobre o programa"
+
+#: ../midori/midori-browser.c:3927
+msgid "P_rivate Browsing"
+msgstr "Navegação P_rivada"
+
+#: ../midori/midori-browser.c:3928
+msgid "Don't save any private data while browsing"
+msgstr "Não guardar quaisquer dados privados ao navegar"
+
+#: ../midori/midori-browser.c:3933
+msgid "_Menubar"
+msgstr "Barra de _Menu"
+
+#: ../midori/midori-browser.c:3934
+msgid "Show menubar"
+msgstr "Mostrar barra de menu"
+
+#: ../midori/midori-browser.c:3937
+msgid "_Navigationbar"
+msgstr "Barra de _Navegação"
+
+#: ../midori/midori-browser.c:3938
+msgid "Show navigationbar"
+msgstr "Mostrar barra de navegação"
+
+#: ../midori/midori-browser.c:3941
+msgid "Side_panel"
+msgstr "Pai_nel lateral"
+
+#: ../midori/midori-browser.c:3942
+msgid "Show sidepanel"
+msgstr "Mostrar painel lateral"
+
+#: ../midori/midori-browser.c:3945
+msgid "_Bookmarkbar"
+msgstr "_Barra de Marcadores"
+
+#: ../midori/midori-browser.c:3946
+msgid "Show bookmarkbar"
+msgstr "Mostrar barra de marcadores"
+
+#: ../midori/midori-browser.c:3949
+msgid "_Transferbar"
+msgstr "Barra de _Transferências"
+
+#: ../midori/midori-browser.c:3950
+msgid "Show transferbar"
+msgstr "Mostrar barra de transferências"
+
+#: ../midori/midori-browser.c:3953
+msgid "_Statusbar"
+msgstr "Barra de _Estado"
+
+#: ../midori/midori-browser.c:3954
+msgid "Show statusbar"
+msgstr "Mostrar barra de estado"
+
+#: ../midori/midori-browser.c:4389
+msgid "_Separator"
+msgstr "_Separador"
+
+#: ../midori/midori-browser.c:4396
+msgid "_Location..."
+msgstr "_Localização..."
+
+#: ../midori/midori-browser.c:4398
+msgid "Open a particular location"
+msgstr "Abrir localização específica"
+
+#: ../midori/midori-browser.c:4420
+msgid "_Web Search..."
+msgstr "Pesquisa _Web..."
+
+#: ../midori/midori-browser.c:4422
+msgid "Run a web search"
+msgstr "Executar uma pesquisa web"
+
+#: ../midori/midori-browser.c:4443
+msgid "Reopen a previously closed tab or window"
+msgstr "Reabrir janela ou separador anteriormente fechado"
+
+#: ../midori/midori-browser.c:4458
+msgid "_Recently visited pages"
+msgstr "Páginas _Recentes"
+
+#: ../midori/midori-browser.c:4460
+msgid "Reopen pages that you visited earlier"
+msgstr "Reabrir páginas visitadas anteriormente"
+
+#: ../midori/midori-browser.c:4475
+#: ../midori/sokoke.c:872
+msgid "_Bookmarks"
+msgstr "_Marcadores"
+
+#: ../midori/midori-browser.c:4477
+msgid "Show the saved bookmarks"
+msgstr "Mostrar marcadores guardados"
+
+#: ../midori/midori-browser.c:4492
+msgid "_Window"
+msgstr "_Janela"
+
+#: ../midori/midori-browser.c:4494
+msgid "Show a list of all open tabs"
+msgstr "Mostrar lista de separadores abertos"
+
+#. i18n: A panel at the bottom, to search text in pages
+#: ../midori/midori-browser.c:4674
+msgid "_Inline Find:"
+msgstr "Localizar:"
+
+#: ../midori/midori-browser.c:4699
+msgid "Previous"
+msgstr "Anterior"
+
+#: ../midori/midori-browser.c:4704
+msgid "Next"
+msgstr "Seguinte"
+
+#: ../midori/midori-browser.c:4709
+msgid "Match Case"
+msgstr "Maiúsculas e Minúsculas"
+
+#: ../midori/midori-browser.c:4717
+msgid "Highlight Matches"
+msgstr "Realçar Correspondências"
+
+#: ../midori/midori-browser.c:4727
+msgid "Close Findbar"
+msgstr "Fechar"
+
+#: ../midori/midori-browser.c:4762
+#: ../extensions/cookie-manager.c:821
+msgid "Delete All"
+msgstr "Apagar Todos"
+
+#: ../midori/midori-browser.c:5084
+#, c-format
+msgid "Unexpected setting '%s'"
+msgstr "Definição inesperada '%s'"
+
+#: ../midori/midori-panel.c:333
+msgid "Detach chosen panel from the window"
+msgstr "Separar da janela o painel escolhido"
+
+#: ../midori/midori-panel.c:335
+msgid "Whether to detach the chosen panel from the window"
+msgstr "Marque se quiser separar da janela o painel escolhido"
+
+#: ../midori/midori-panel.c:345
+#: ../midori/midori-websettings.c:535
+msgid "Align sidepanel on the right"
+msgstr "Alinhar painel lateral à direita"
+
+#: ../midori/midori-panel.c:347
+#: ../midori/midori-websettings.c:536
+msgid "Whether to align the sidepanel on the right"
+msgstr "Marque se quiser alinhar o painel lateral à direita"
+
+#: ../midori/midori-panel.c:357
+#: ../midori/midori-panel.c:358
+msgid "Close panel"
+msgstr "Fechar painel"
+
+#: ../midori/midori-websettings.c:187
+#: ../midori/midori-view.c:1999
+#: ../midori/midori-view.c:2176
+msgid "Blank page"
+msgstr "Página em branco"
+
+#: ../midori/midori-websettings.c:188
+#: ../midori/midori-websettings.c:555
+msgid "Homepage"
+msgstr "Página Inicial"
+
+#: ../midori/midori-websettings.c:189
+msgid "Last open pages"
+msgstr "Últimas páginas abertas"
+
+#: ../midori/midori-websettings.c:224
+msgid "New tab"
+msgstr "Novo separador"
+
+#: ../midori/midori-websettings.c:225
+msgid "New window"
+msgstr "Nova janela"
+
+#: ../midori/midori-websettings.c:226
+msgid "Current tab"
+msgstr "Separador actual"
+
+#: ../midori/midori-websettings.c:241
+msgid "Default"
+msgstr "Omissão"
+
+#: ../midori/midori-websettings.c:242
+msgid "Icons"
+msgstr "Ícones"
+
+#: ../midori/midori-websettings.c:243
+msgid "Text"
+msgstr "Texto"
+
+#: ../midori/midori-websettings.c:244
+msgid "Both"
+msgstr "Texto e Ícones"
+
+#: ../midori/midori-websettings.c:245
+msgid "Both horizontal"
+msgstr "Ambos na horizontal"
+
+#: ../midori/midori-websettings.c:260
+msgid "All cookies"
+msgstr "Todos os cookies"
+
+#: ../midori/midori-websettings.c:261
+msgid "Session cookies"
+msgstr "Cookies da sessão"
+
+#: ../midori/midori-websettings.c:262
+#: ../panels/midori-addons.c:94
+msgid "None"
+msgstr "Nenhum"
+
+#: ../midori/midori-websettings.c:278
+msgid "Safari"
+msgstr "Safari"
+
+#: ../midori/midori-websettings.c:279
+msgid "Firefox"
+msgstr "Firefox"
+
+#: ../midori/midori-websettings.c:280
+msgid "Internet Explorer"
+msgstr "Internet Explorer"
+
+#: ../midori/midori-websettings.c:333
+msgid "Remember last window size"
+msgstr "Lembrar último tamanho de janela"
+
+#: ../midori/midori-websettings.c:334
+msgid "Whether to save the last window size"
+msgstr "Marque se quiser guardar o último tamanho de janela"
+
+#: ../midori/midori-websettings.c:342
+msgid "Last window width"
+msgstr "Largura da última janela"
+
+#: ../midori/midori-websettings.c:343
+msgid "The last saved window width"
+msgstr "Última largura de janela guardada"
+
+#: ../midori/midori-websettings.c:351
+msgid "Last window height"
+msgstr "Altura da última janela"
+
+#: ../midori/midori-websettings.c:352
+msgid "The last saved window height"
+msgstr "Última altura de janela guardada"
+
+#: ../midori/midori-websettings.c:377
+msgid "Last panel position"
+msgstr "Última posição do painel"
+
+#: ../midori/midori-websettings.c:378
+msgid "The last saved panel position"
+msgstr "Última posição de painel guardada"
+
+#. i18n: The internal index of the last opened panel
+#: ../midori/midori-websettings.c:387
+msgid "Last panel page"
+msgstr "Última página do painel"
+
+#: ../midori/midori-websettings.c:388
+msgid "The last saved panel page"
+msgstr "Última posição de painel de página guardada"
+
+#: ../midori/midori-websettings.c:396
+msgid "Last Web search"
+msgstr "Última pesquisa Web"
+
+#: ../midori/midori-websettings.c:397
+msgid "The last saved Web search"
+msgstr "Última pesquisa Web guardada"
+
+#: ../midori/midori-websettings.c:406
+msgid "Show Menubar"
+msgstr "Mostrar Barra de Menu"
+
+#: ../midori/midori-websettings.c:407
+msgid "Whether to show the menubar"
+msgstr "Marque se quiser mostrar a barra de menu"
+
+#: ../midori/midori-websettings.c:415
+msgid "Show Navigationbar"
+msgstr "Mostrar Barra de Navegação"
+
+#: ../midori/midori-websettings.c:416
+msgid "Whether to show the navigationbar"
+msgstr "Marque se quiser mostrar a barra de navegação"
+
+#: ../midori/midori-websettings.c:424
+msgid "Show Bookmarkbar"
+msgstr "Mostrar Barra de Marcadores"
+
+#: ../midori/midori-websettings.c:425
+msgid "Whether to show the bookmarkbar"
+msgstr "Marque se quiser mostrar a barra de marcadores"
+
+#: ../midori/midori-websettings.c:433
+msgid "Show Panel"
+msgstr "Mostrar Painel"
+
+#: ../midori/midori-websettings.c:434
+msgid "Whether to show the panel"
+msgstr "Marque se quiser mostrar o painel"
+
+#: ../midori/midori-websettings.c:449
+msgid "Show Transferbar"
+msgstr "Mostrar barra de transferências"
+
+#: ../midori/midori-websettings.c:450
+msgid "Whether to show the transferbar"
+msgstr "Marque se quiser mostrar a barra de transferências"
+
+#: ../midori/midori-websettings.c:458
+msgid "Show Statusbar"
+msgstr "Mostrar Barra de Estado"
+
+#: ../midori/midori-websettings.c:459
+msgid "Whether to show the statusbar"
+msgstr "Marque se quiser mostrar a barra de estado"
+
+#: ../midori/midori-websettings.c:468
+msgid "Toolbar Style"
+msgstr "Estilo da Barra de Ferramentas"
+
+#: ../midori/midori-websettings.c:469
+msgid "The style of the toolbar"
+msgstr "O estilo da barra de ferramentas"
+
+#: ../midori/midori-websettings.c:485
+msgid "Show progress in location entry"
+msgstr "Mostrar evolução na entrada de localização"
+
+#: ../midori/midori-websettings.c:486
+msgid "Whether to show loading progress in the location entry"
+msgstr "Marque se quiser mostrar a evolução do carregamento na entrada de localização"
+
+#: ../midori/midori-websettings.c:501
+msgid "Search engines in location completion"
+msgstr "Motores de pesquisa na conclusão da localização"
+
+#: ../midori/midori-websettings.c:502
+msgid "Whether to show search engines in the location completion"
+msgstr "Marque se quiser mostrar motores de pesquisa na conclusão da localização"
+
+#: ../midori/midori-websettings.c:510
+msgid "Toolbar Items"
+msgstr "Itens da Barra de Ferramentas"
+
+#: ../midori/midori-websettings.c:511
+msgid "The items to show on the toolbar"
+msgstr "Itens a mostrar na barra de ferramentas"
+
+#: ../midori/midori-websettings.c:519
+msgid "Compact Sidepanel"
+msgstr "Compactar Painel Lateral"
+
+#: ../midori/midori-websettings.c:520
+msgid "Whether to make the sidepanel compact"
+msgstr "Marque se quiser compactar o painel lateral"
+
+#: ../midori/midori-websettings.c:545
+msgid "Load on Startup"
+msgstr "Carregar ao Iniciar"
+
+#: ../midori/midori-websettings.c:546
+msgid "What to load on startup"
+msgstr "Carregar ao iniciar"
+
+#: ../midori/midori-websettings.c:556
+msgid "The homepage"
+msgstr "A página inicial"
+
+#: ../midori/midori-websettings.c:571
+msgid "Show crash dialog"
+msgstr "Mostrar diálogo sobre encerramento"
+
+#: ../midori/midori-websettings.c:572
+msgid "Show a dialog after Midori crashed"
+msgstr "Mostrar diálogo após o encerramento do Midori"
+
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:588
+msgid "Show speed dial in new tabs"
+msgstr "Mostrar ligação rapida em novos separadores"
+
+#: ../midori/midori-websettings.c:589
+msgid "Show speed dial in newly opened tabs"
+msgstr "Mostrar ligação rápida em separadores recentemente abertos"
+
+#: ../midori/midori-websettings.c:597
+msgid "Download Folder"
+msgstr "Pasta de Transferências"
+
+#: ../midori/midori-websettings.c:598
+msgid "The folder downloaded files are saved to"
+msgstr "A pasta para guardar transferências"
+
+#: ../midori/midori-websettings.c:617
+msgid "Ask for the destination folder"
+msgstr "Perguntar pasta de destino"
+
+#: ../midori/midori-websettings.c:618
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr "Marcar se quiser perguntar por uma pasta de destino ao transferir um ficheiro"
+
+#: ../midori/midori-websettings.c:637
+msgid "Notify when a transfer has been completed"
+msgstr "Notificar ao concluir a transferência"
+
+#: ../midori/midori-websettings.c:638
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "Marque se quiser mostrar uma notificação ao concluir a transferência"
+
+#: ../midori/midori-websettings.c:650
+msgid "Download Manager"
+msgstr "Gestor de Transferências"
+
+#: ../midori/midori-websettings.c:651
+msgid "An external download manager"
+msgstr "Um gestor de transferências externo"
+
+#: ../midori/midori-websettings.c:659
+msgid "Text Editor"
+msgstr "Editor de Texto"
+
+#: ../midori/midori-websettings.c:660
+msgid "An external text editor"
+msgstr "Um editor de texto externo"
+
+#: ../midori/midori-websettings.c:675
+msgid "News Aggregator"
+msgstr "Agregador de Notícias"
+
+#: ../midori/midori-websettings.c:676
+msgid "An external news aggregator"
+msgstr "Um agregador de notícias externo"
+
+#: ../midori/midori-websettings.c:684
+msgid "Location entry Search"
+msgstr "Pesquisa de entrada Local"
+
+#: ../midori/midori-websettings.c:685
+msgid "The search to perform inside the location entry"
+msgstr "A pesquisa a executar dentro da entrada local"
+
+#: ../midori/midori-websettings.c:693
+msgid "Preferred Encoding"
+msgstr "Codificação Preferida"
+
+#: ../midori/midori-websettings.c:694
+msgid "The preferred character encoding"
+msgstr "A codificação de caracteres preferida"
+
+#: ../midori/midori-websettings.c:704
+msgid "Always Show Tabbar"
+msgstr "Mostrar sempre Barra de Separadores"
+
+#: ../midori/midori-websettings.c:705
+msgid "Always show the tabbar"
+msgstr "Mostrar sempre barra de separadores"
+
+#: ../midori/midori-websettings.c:713
+msgid "Close Buttons on Tabs"
+msgstr "Ícone Fechar nos Separadores"
+
+#: ../midori/midori-websettings.c:714
+msgid "Whether tabs have close buttons"
+msgstr "Marque se quiser que os separadores tenham botões para fechar"
+
+#: ../midori/midori-websettings.c:722
+msgid "Open new pages in"
+msgstr "Abrir novas páginas em"
+
+#: ../midori/midori-websettings.c:723
+msgid "Where to open new pages"
+msgstr "Onde abrir novas páginas"
+
+#: ../midori/midori-websettings.c:732
+msgid "Open external pages in"
+msgstr "Abrir páginas externas em"
+
+#: ../midori/midori-websettings.c:733
+msgid "Where to open externally opened pages"
+msgstr "Onde abrir páginas abertas externamente"
+
+#: ../midori/midori-websettings.c:746
+msgid "Middle click opens Selection"
+msgstr "Clique na roda do rato abre Selecção"
+
+#: ../midori/midori-websettings.c:747
+msgid "Load an address from the selection via middle click"
+msgstr "Carregar endereço através do clique na roda do rato"
+
+#: ../midori/midori-websettings.c:755
+msgid "Open tabs in the background"
+msgstr "Abrir separadores em segundo plano"
+
+#: ../midori/midori-websettings.c:756
+msgid "Whether to open new tabs in the background"
+msgstr "Marque se quiser abrir os novos separadores em segundo plano"
+
+#: ../midori/midori-websettings.c:764
+msgid "Open Tabs next to Current"
+msgstr "Abrir Separadores perto do Actual"
+
+#: ../midori/midori-websettings.c:765
+msgid "Whether to open new tabs next to the current tab or after the last one"
+msgstr "Marque se quiser abrir os novos separadores perto do actual ou após o último "
+
+#: ../midori/midori-websettings.c:773
+msgid "Open popups in tabs"
+msgstr "Abrir popups em separadores"
+
+#: ../midori/midori-websettings.c:774
+msgid "Whether to open popup windows in tabs"
+msgstr "Marque se quiser abrir janelas popup em separadores"
+
+#: ../midori/midori-websettings.c:790
+msgid "Zoom Text and Images"
+msgstr "Zoom de Texto e Imagens"
+
+#: ../midori/midori-websettings.c:791
+msgid "Whether to zoom text and images"
+msgstr "Marque se quiser ajustar zoom de texto e imagens"
+
+#: ../midori/midori-websettings.c:806
+msgid "Find inline while typing"
+msgstr "Encontrar ao escrever"
+
+#: ../midori/midori-websettings.c:807
+msgid "Whether to automatically find inline while typing"
+msgstr "Marque se quiser encontrar automaticamente ao escrever"
+
+#: ../midori/midori-websettings.c:815
+msgid "Accept cookies"
+msgstr "Aceitar cookies"
+
+#: ../midori/midori-websettings.c:816
+msgid "What type of cookies to accept"
+msgstr "Tipo de cookies a aceitar"
+
+#: ../midori/midori-websettings.c:825
+msgid "Original cookies only"
+msgstr "Apenas cookies originais"
+
+#: ../midori/midori-websettings.c:826
+msgid "Accept cookies from the original website only"
+msgstr "Aceitar cookies apenas do sítio web original"
+
+#: ../midori/midori-websettings.c:834
+msgid "Maximum cookie age"
+msgstr "Antiguidade máxima de cookies"
+
+#: ../midori/midori-websettings.c:835
+msgid "The maximum number of days to save cookies for"
+msgstr "Número máximo de dias para guardar cookies"
+
+#: ../midori/midori-websettings.c:845
+msgid "Remember last visited pages"
+msgstr "Lembrar últimas páginas visitadas"
+
+#: ../midori/midori-websettings.c:846
+msgid "Whether the last visited pages are saved"
+msgstr "Marque se quiser guardar as últimas páginas visitadas"
+
+#: ../midori/midori-websettings.c:854
+msgid "Maximum history age"
+msgstr "Antiguidade máxima do histórico"
+
+#: ../midori/midori-websettings.c:855
+msgid "The maximum number of days to save the history for"
+msgstr "O número máximo de dias para guardar histórico"
+
+#: ../midori/midori-websettings.c:863
+msgid "Remember last form inputs"
+msgstr "Lembrar dados de formulários"
+
+#: ../midori/midori-websettings.c:864
+msgid "Whether the last form inputs are saved"
+msgstr "Marque se quiser guardar os dados de formulário"
+
+#: ../midori/midori-websettings.c:872
+msgid "Remember last downloaded files"
+msgstr "Lembrar últimas transferências "
+
+#: ../midori/midori-websettings.c:873
+msgid "Whether the last downloaded files are saved"
+msgstr "Marque se quiser guardar as últimas transferências"
+
+#: ../midori/midori-websettings.c:883
+msgid "Proxy Server"
+msgstr "Servidor Proxy"
+
+#: ../midori/midori-websettings.c:884
+msgid "The proxy server used for HTTP connections"
+msgstr "Servidor proxy para ligações HTTP"
+
+#: ../midori/midori-websettings.c:899
+msgid "Detect proxy server automatically"
+msgstr "Detectar servidor proxy automaticamente"
+
+#: ../midori/midori-websettings.c:900
+msgid "Whether to detect the proxy server automatically from the environment"
+msgstr "Marque se quiser detectar automaticamente o servidor proxy do ambiente"
+
+#. i18n: This refers to an application, not the 'user agent' string
+#: ../midori/midori-websettings.c:916
+msgid "Identify as"
+msgstr "Identificar como"
+
+#: ../midori/midori-websettings.c:917
+msgid "What to identify as to web pages"
+msgstr "Identificar nas páginas web como"
+
+#: ../midori/midori-websettings.c:933
+msgid "Identification string"
+msgstr "Linha de Identificação"
+
+#: ../midori/midori-websettings.c:934
+msgid "The application identification string"
+msgstr "A linha de identificação da aplicação"
+
+#: ../midori/midori-websettings.c:942
+msgid "Cache size"
+msgstr "Tamanho de cache"
+
+#: ../midori/midori-websettings.c:943
+msgid "The allowed size of the cache"
+msgstr "Tamanho de cache permitido"
+
+#: ../midori/midori-view.c:686
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "A página  '%s' não foi carregada."
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:688
+#: ../midori/midori-view.c:2701
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "Erro"
+
+#: ../midori/midori-view.c:691
+msgid "Try again"
+msgstr "Tente novamente"
+
+#. i18n: The title of the 404 - Not found error page
+#. Error pages are special, we want to try loading the destination
+#. again, not the error page which isn't even a proper page
+#: ../midori/midori-view.c:721
+#: ../midori/midori-view.c:2705
+#, c-format
+msgid "Not found - %s"
+msgstr "Não encontrada(o) - %s"
+
+#: ../midori/midori-view.c:1095
+msgid "Open _Link"
+msgstr "Abrir _Ligação"
+
+#: ../midori/midori-view.c:1097
+msgid "Open Link in New _Tab"
+msgstr "Abrir Ligação em Novo _Separador"
+
+#: ../midori/midori-view.c:1114
+msgid "Open Link in New _Window"
+msgstr "Abrir Ligação em Nova _Janela"
+
+#: ../midori/midori-view.c:1123
+msgid "_Download Link destination"
+msgstr "_Destino de Transferir Ligação"
+
+#: ../midori/midori-view.c:1129
+msgid "_Save Link destination"
+msgstr "De_stino para Guardar Ligação"
+
+#: ../midori/midori-view.c:1138
+msgid "Download with Download _Manager"
+msgstr "Transferir com _Gestor de Transferências"
+
+#: ../midori/midori-view.c:1167
+msgid "Search _with"
+msgstr "Pesquisar _com"
+
+#: ../midori/midori-view.c:1195
+msgid "_Search the Web"
+msgstr "_Pesquisar na Web"
+
+#: ../midori/midori-view.c:1205
+msgid "Open Address in New _Tab"
+msgstr "Abrir Endereço em Novo _Separador"
+
+#: ../midori/midori-view.c:1372
+msgid "Open or download file"
+msgstr "Abrir ou transferir ficheiro"
+
+#: ../midori/midori-view.c:1389
+#, c-format
+msgid "File Type: '%s'"
+msgstr "Tipo de Ficheiro: '%s' "
+
+#: ../midori/midori-view.c:1392
+#, c-format
+msgid "File Type: %s ('%s')"
+msgstr "Tipo de Ficheiro: %s ('%s')"
+
+#. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
+#: ../midori/midori-view.c:1396
+#, c-format
+msgid "Open %s"
+msgstr "Abrir %s"
+
+#: ../midori/midori-view.c:1816
+#, c-format
+msgid "Inspect page - %s"
+msgstr "Inspeccionar página - %s"
+
+#: ../midori/midori-view.c:2001
+#: ../midori/midori-view.c:2002
+msgid "Search"
+msgstr "Procurar"
+
+#: ../midori/midori-view.c:2003
+msgid "Click to add a shortcut"
+msgstr "Clique para adicionar atalho"
+
+#: ../midori/midori-view.c:2004
+msgid "Enter shortcut address"
+msgstr "Introduza endereço do atalho"
+
+#: ../midori/midori-view.c:2005
+msgid "Enter shortcut title"
+msgstr "Introduza título do atalho"
+
+#: ../midori/midori-view.c:2006
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "Tem a certeza que quer apagar este atalho ?"
+
+#: ../midori/midori-view.c:2038
+#, c-format
+msgid "Document cannot be displayed"
+msgstr "O documento não pode ser apresentado"
+
+#: ../midori/midori-view.c:2055
+#, c-format
+msgid "No documentation installed"
+msgstr "Nenhuma documentação instalada"
+
+#: ../midori/midori-preferences.c:91
+#, c-format
+msgid "Preferences for %s"
+msgstr "Preferências para %s"
+
+#. Page "General"
+#: ../midori/midori-preferences.c:398
+msgid "General"
+msgstr "Geral"
+
+#: ../midori/midori-preferences.c:399
+msgid "Startup"
+msgstr "Início"
+
+#: ../midori/midori-preferences.c:415
+msgid "Use current page as homepage"
+msgstr "Usar página actual como página inicial"
+
+#: ../midori/midori-preferences.c:425
+#: ../panels/midori-transfers.c:88
+msgid "Transfers"
+msgstr "Transferências"
+
+#. Page "Appearance"
+#: ../midori/midori-preferences.c:440
+msgid "Appearance"
+msgstr "Aparência"
+
+#: ../midori/midori-preferences.c:441
+msgid "Font settings"
+msgstr "Definição de fontes"
+
+#: ../midori/midori-preferences.c:443
+msgid "Default Font Family"
+msgstr "Família de Fontes por Omissão"
+
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "A família de fontes, usada por omissão, para apresentar texto"
+
+#: ../midori/midori-preferences.c:450
+msgid "The default font size used to display text"
+msgstr "O tamanho da fonte, por omissão, para apresentar texto"
+
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "Familia de Fontes de Largura Fixa"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr "A família de fontes  usada para apresentar texto com largura fixa"
+
+#: ../midori/midori-preferences.c:458
+msgid "Minimum Font Size"
+msgstr "Tamanho Mínimo de Fonte"
+
+#: ../midori/midori-preferences.c:461
+msgid "The minimum font size used to display text"
+msgstr "Tamanho mínimo de fonte para apresentar texto"
+
+#: ../midori/midori-preferences.c:468
+msgid "Encoding"
+msgstr "Codificação"
+
+#: ../midori/midori-preferences.c:471
+msgid "The character encoding to use by default"
+msgstr "A codificação de caracteres por omissão"
+
+#. Page "Behavior"
+#: ../midori/midori-preferences.c:478
+msgid "Behavior"
+msgstr "Comportamento"
+
+#: ../midori/midori-preferences.c:479
+msgid "Features"
+msgstr "Funções"
+
+#: ../midori/midori-preferences.c:482
+#: ../extensions/statusbar-features.c:54
+msgid "Load images automatically"
+msgstr "Carregar imagens automaticamente"
+
+#: ../midori/midori-preferences.c:483
+msgid "Load and display images automatically"
+msgstr "Carregar e apresentar automaticamente as imagens "
+
+#: ../midori/midori-preferences.c:486
+msgid "Shrink images automatically"
+msgstr "Encolher imagens automaticamente"
+
+#: ../midori/midori-preferences.c:487
+msgid "Automatically shrink standalone images to fit"
+msgstr "Encolher imagens automaticamente para caber"
+
+#: ../midori/midori-preferences.c:490
+msgid "Print background images"
+msgstr "Imprimir imagens em segundo plano"
+
+#: ../midori/midori-preferences.c:491
+msgid "Whether background images should be printed"
+msgstr "Marque se quiser imprimir as imagens em segundo plano"
+
+#: ../midori/midori-preferences.c:494
+msgid "Resizable text areas"
+msgstr "Áreas de texto dimensionáveis"
+
+#: ../midori/midori-preferences.c:495
+msgid "Whether text areas are resizable"
+msgstr "Marque se quiser redimensionar as áreas de texto"
+
+#: ../midori/midori-preferences.c:498
+#: ../extensions/statusbar-features.c:63
+msgid "Enable scripts"
+msgstr "Activar argumentos"
+
+#: ../midori/midori-preferences.c:499
+msgid "Enable embedded scripting languages"
+msgstr "Activar argumentos de idiomas incorporados"
+
+#: ../midori/midori-preferences.c:502
+#: ../extensions/statusbar-features.c:72
+msgid "Enable Netscape plugins"
+msgstr "Activar plugins Netscape"
+
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "Activar plugins Netscape incorporados"
+
+#: ../midori/midori-preferences.c:506
+msgid "Enforce 96 dots per inch"
+msgstr "Forçar 96 pontos por polegada"
+
+#: ../midori/midori-preferences.c:507
+msgid "Enforce a video dot density of 96 DPI"
+msgstr "Forçar densidade de vídeo de 96 PPP"
+
+#: ../midori/midori-preferences.c:510
+msgid "Enable developer tools"
+msgstr "Activar ferramentas de desenvolvimento"
+
+#: ../midori/midori-preferences.c:511
+msgid "Enable special extensions for developers"
+msgstr "Activar extensões especiais de desenvolvimento"
+
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "Verificação Ortográfica"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "Activar Verificação Ortográfica"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "Activar verificação ortográfica ao escrever"
+
+#: ../midori/midori-preferences.c:525
+msgid "A comma separated list of languages to be used for spell checking, for example \"en_GB,de_DE\""
+msgstr "Uma lista de idiomas, separados por vírgulas, para a verificação ortográficas, por exemplo \"en_GB,de_DE\""
+
+#. Page "Interface"
+#: ../midori/midori-preferences.c:530
+msgid "Interface"
+msgstr "Interface"
+
+#: ../midori/midori-preferences.c:531
+msgid "Navigationbar"
+msgstr "Barra de Navegação"
+
+#: ../midori/midori-preferences.c:542
+msgid "Browsing"
+msgstr "Navegar"
+
+#. Page "Applications"
+#: ../midori/midori-preferences.c:572
+msgid "Applications"
+msgstr "Aplicações"
+
+#: ../midori/midori-preferences.c:573
+msgid "External applications"
+msgstr "Aplicações externas"
+
+#. Page "Network"
+#: ../midori/midori-preferences.c:619
+#: ../midori/midori-preferences.c:620
+msgid "Network"
+msgstr "Rede"
+
+#: ../midori/midori-preferences.c:647
+msgid "MB"
+msgstr "MB"
+
+#. Page "Privacy"
+#: ../midori/midori-preferences.c:652
+msgid "Privacy"
+msgstr "Privacidade"
+
+#: ../midori/midori-preferences.c:653
+msgid "Web Cookies"
+msgstr "Web Cookies"
+
+#: ../midori/midori-preferences.c:666
+#: ../midori/midori-preferences.c:676
+msgid "days"
+msgstr "dias"
+
+#: ../midori/midori-searchaction.c:484
+#: ../katze/katze-arrayaction.c:314
+msgid "Empty"
+msgstr "Vazio"
+
+#: ../midori/midori-searchaction.c:904
+msgid "Add search engine"
+msgstr "Adicionar motor de pesquisa"
+
+#: ../midori/midori-searchaction.c:904
+msgid "Edit search engine"
+msgstr "Editar motor de pesquisa"
+
+#: ../midori/midori-searchaction.c:932
+msgid "_Name:"
+msgstr "_Nome:"
+
+#: ../midori/midori-searchaction.c:976
+msgid "_Icon:"
+msgstr "_Icone:"
+
+#: ../midori/midori-searchaction.c:990
+msgid "_Token:"
+msgstr "_Token:"
+
+#: ../midori/midori-searchaction.c:1195
+msgid "Manage Search Engines"
+msgstr "Gerir Motores de Pesquisa"
+
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "Usar por _omissão"
+
+#: ../midori/sokoke.c:162
+#: ../midori/sokoke.c:174
+msgid "Could not run external program."
+msgstr "Não é possível executar o programa externo."
+
+#. i18n: A superuser, or system administrator, may not be 'root'
+#: ../midori/sokoke.c:520
+msgid "Warning: You are using a superuser account!"
+msgstr "Aviso: Está a utilizar uma conta de super utilizador!"
+
+#: ../midori/sokoke.c:871
+msgid "_Bookmark"
+msgstr "_Marcador"
+
+#: ../midori/sokoke.c:873
+msgid "_Add Bookmark"
+msgstr "_Adicionar Marcador"
+
+#: ../midori/sokoke.c:874
+msgid "_Console"
+msgstr "_Consola"
+
+#: ../midori/sokoke.c:875
+msgid "_Extensions"
+msgstr "_Extensões"
+
+#: ../midori/sokoke.c:876
+msgid "_History"
+msgstr "_Histórico"
+
+#: ../midori/sokoke.c:877
+msgid "_Homepage"
+msgstr "_Página Inicial"
+
+#: ../midori/sokoke.c:878
+msgid "_Userscripts"
+msgstr "Argumentos de _Utilizador"
+
+#: ../midori/sokoke.c:879
+msgid "User_styles"
+msgstr "E_stilos de Utilizador"
+
+#: ../midori/sokoke.c:880
+msgid "New _Tab"
+msgstr "_Novo Separador"
+
+#: ../midori/sokoke.c:881
+msgid "_Transfers"
+msgstr "_Transferências"
+
+#: ../midori/sokoke.c:882
+msgid "Netscape p_lugins"
+msgstr "P_lugins Netscape"
+
+#: ../midori/sokoke.c:883
+msgid "_Closed Tabs and Windows"
+msgstr "Separadores e Janelas Fe_chadas"
+
+#: ../midori/sokoke.c:884
+msgid "New _Window"
+msgstr "Nova _Janela"
+
+#: ../panels/midori-addons.c:95
+#: ../panels/midori-addons.c:141
+msgid "Userscripts"
+msgstr "Argumentos de Utilizador"
+
+#: ../panels/midori-addons.c:96
+#: ../panels/midori-addons.c:143
+msgid "Userstyles"
+msgstr "Estilos de utilizador"
+
+#: ../panels/midori-addons.c:927
+#: ../panels/midori-extensions.c:144
+msgid "_Enable"
+msgstr "_Activar"
+
+#: ../panels/midori-addons.c:928
+#: ../panels/midori-extensions.c:145
+msgid "Enable"
+msgstr "Activar"
+
+#: ../panels/midori-addons.c:937
+#: ../panels/midori-extensions.c:154
+msgid "_Disable"
+msgstr "_Desactivar"
+
+#: ../panels/midori-addons.c:938
+#: ../panels/midori-extensions.c:155
+msgid "Disable"
+msgstr "Desactivar"
+
+#: ../panels/midori-bookmarks.c:107
+msgid "Bookmarks"
+msgstr "Marcadores"
+
+#: ../panels/midori-bookmarks.c:238
+msgid "Edit the selected bookmark"
+msgstr "Editar marcador seleccionado"
+
+#: ../panels/midori-bookmarks.c:246
+msgid "Delete the selected bookmark"
+msgstr "Apagar marcador seleccionado"
+
+#: ../panels/midori-bookmarks.c:591
+msgid "<i>Separator</i>"
+msgstr "<i>Separador</i>"
+
+#: ../panels/midori-console.c:87
+msgid "Console"
+msgstr "Consola"
+
+#: ../panels/midori-extensions.c:87
+msgid "Extensions"
+msgstr "Extensões"
+
+#: ../panels/midori-history.c:162
+msgid "Are you sure you want to remove all history items?"
+msgstr "Tem a certeza que quer remover todo o histórico?"
+
+#: ../panels/midori-history.c:217
+msgid "Bookmark the selected history item"
+msgstr "Marcar o item de histórico seleccionado"
+
+#: ../panels/midori-history.c:226
+msgid "Delete the selected history item"
+msgstr "Apagar item de histórico seleccionado"
+
+#: ../panels/midori-history.c:234
+msgid "Clear the entire history"
+msgstr "Limpar todo o histórico"
+
+#: ../panels/midori-history.c:599
+msgid "A week ago"
+msgstr "Uma semana atrás"
+
+#: ../panels/midori-history.c:604
+#, c-format
+msgid "%d day ago"
+msgstr "%d dia(s) atrás"
+
+#: ../panels/midori-history.c:605
+#, c-format
+msgid "%d days ago"
+msgstr "%d dias atrás"
+
+#: ../panels/midori-history.c:612
+msgid "Today"
+msgstr "Hoje"
+
+#: ../panels/midori-history.c:614
+msgid "Yesterday"
+msgstr "Ontem"
+
+#: ../panels/midori-plugins.c:87
+msgid "Netscape plugins"
+msgstr "Plugins Netscape"
+
+#: ../panels/midori-transfers.c:256
+#, c-format
+msgid "%s of %s"
+msgstr "%s de %s"
+
+#: ../katze/katze-http-auth.c:97
+msgid "Authentication Required"
+msgstr "Autenticação Necessária "
+
+#: ../katze/katze-http-auth.c:113
+msgid ""
+"A username and a password are required\n"
+"to open this location:"
+msgstr ""
+"Precisa de um nome de utilizador e uma palavra-passe\n"
+"para abrir esta localização:"
+
+#: ../katze/katze-http-auth.c:127
+msgid "Username"
+msgstr "Nome de Utilizador"
+
+#: ../katze/katze-http-auth.c:138
+msgid "Password"
+msgstr "Palavra-passe"
+
+#: ../katze/katze-throbber.c:828
+#, c-format
+msgid "Named icon '%s' couldn't be loaded"
+msgstr "O ícone  '%s'  não foi carregado"
+
+#: ../katze/katze-throbber.c:841
+#, c-format
+msgid "Stock icon '%s' couldn't be loaded"
+msgstr "O ícone  '%s'  não foi carregado"
+
+#: ../katze/katze-throbber.c:907
+msgid "Animation frames are broken"
+msgstr "As frames de animação estão corrompidas"
+
+#: ../katze/katze-utils.c:183
+#: ../katze/katze-utils.c:385
+#, c-format
+msgid "Property '%s' is invalid for %s"
+msgstr "Propriedade %s' é inválida para %s"
+
+#: ../katze/katze-utils.c:215
+#: ../katze/katze-utils.c:244
+msgid "Choose file"
+msgstr "Escolha ficheiro"
+
+#: ../katze/katze-utils.c:230
+msgid "Choose folder"
+msgstr "Escolha pasta"
+
+#: ../extensions/colorful-tabs.c:115
+msgid "Tint tabs distinctly"
+msgstr "Cor distinta de separadores"
+
+#: ../extensions/colorful-tabs.c:151
+msgid "Colorful Tabs"
+msgstr "Separadores Coloridos"
+
+#: ../extensions/colorful-tabs.c:152
+msgid "Tint each tab distinctly"
+msgstr "Cor distinta para cada separador"
+
+#: ../extensions/cookie-manager.c:201
+msgid "At the end of the session"
+msgstr "No fim da sessão"
+
+#: ../extensions/cookie-manager.c:204
+#, c-format
+msgid ""
+"<b>Host</b>: %s\n"
+"<b>Name</b>: %s\n"
+"<b>Value</b>: %s\n"
+"<b>Path</b>: %s\n"
+"<b>Secure</b>: %s\n"
+"<b>Expires</b>: %s"
+msgstr ""
+"<b>Hospedeiro</b>: %s\n"
+"<b>Nome</b>: %s\n"
+"<b>Valor</b>: %s\n"
+"<b>Caminho</b>: %s\n"
+"<b>Seguro</b>: %s\n"
+"<b>Expira</b>: %s"
+
+#: ../extensions/cookie-manager.c:210
+msgid "Yes"
+msgstr "Sim"
+
+#: ../extensions/cookie-manager.c:210
+msgid "No"
+msgstr "Não"
+
+#: ../extensions/cookie-manager.c:493
+msgid "Do you really want to delete all cookies?"
+msgstr "Deseja realmente apagar todos os cookies?"
+
+#: ../extensions/cookie-manager.c:495
+msgid "Question"
+msgstr "Pergunta"
+
+#: ../extensions/cookie-manager.c:504
+msgid "Only cookies which match the filter will be deleted."
+msgstr "Apenas serão apagados os cookies que coincidam com o filtro."
+
+#: ../extensions/cookie-manager.c:682
+msgid "Name"
+msgstr "Nome"
+
+#: ../extensions/cookie-manager.c:742
+msgid "_Expand All"
+msgstr "_Expandir Todos"
+
+#: ../extensions/cookie-manager.c:750
+msgid "_Collapse All"
+msgstr "_Unir Todos"
+
+#: ../extensions/cookie-manager.c:823
+msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
+msgstr "Apagar todos os cookies mostrados. Se definir um filtro, só serão eliminados os cookies que coincidirem com o filtro."
+
+#: ../extensions/cookie-manager.c:838
+msgid "Expand All"
+msgstr "Expandir Todos"
+
+#: ../extensions/cookie-manager.c:845
+msgid "Collapse All"
+msgstr "_Unir Todos"
+
+#: ../extensions/cookie-manager.c:876
+msgid "Filter:"
+msgstr "Filtro:"
+
+#: ../extensions/cookie-manager.c:881
+msgid "Enter a filter string to show only cookies whose name or domain field match the entered filter"
+msgstr "Introduza um filtro para apenas mostrar os cookies cujo nome ou domínio coincidam com o filtro"
+
+#: ../extensions/cookie-manager.c:916
+#: ../extensions/cookie-manager.c:964
+msgid "Cookie Manager"
+msgstr "Gestor de Cookies"
+
+#: ../extensions/cookie-manager.c:948
+msgid "_Cookie Manager"
+msgstr "Gestor de _Cookies"
+
+#: ../extensions/cookie-manager.c:965
+msgid "List, view and delete cookies"
+msgstr "Listar, ver e apagar cookies"
+
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr "Falha ao encontrar os elementos de \"entrada\" Atom nos dados XML."
+
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr "Falha ao encontrar os elementos de \"feed\" Atom nos dados XML."
+
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "Última actualização : %s."
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "Feeds"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "Adicionar novo feed"
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "Apagar feed"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "_Feeds"
+
+#: ../extensions/feed-panel/feed-parse.c:175
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "Falha ao encontrar os elementos root nos dados feed XML."
+
+#: ../extensions/feed-panel/feed-parse.c:215
+#, c-format
+msgid "Unsupported feed format."
+msgstr "Formato de feed não suportado"
+
+#: ../extensions/feed-panel/feed-parse.c:245
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "Falha ao analisar o XML do feed: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr "Falha ao encontrar os elementos de \"canal\" nos dados RSS XML."
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "Encontrada uma versão RSS não suportada."
+
+#: ../extensions/feed-panel/feed-rss.c:144
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "Falha ao encontrar os elementos de RSS \"item\" nos dados XML."
+
+#: ../extensions/feed-panel/feed-rss.c:229
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr "Falha ao encontrar os elementos de RSS \"canal\" nos dados XML."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "A feed '%s'' já existe"
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "Erro ao carregar o feed '%s'"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "Novo feed"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "Painel de Feeds"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Ler feeds Atom/ RSS"
+
+#: ../extensions/mouse-gestures/main.c:216
+msgid "Mouse Gestures"
+msgstr "Gestos de Rato"
+
+#: ../extensions/mouse-gestures/main.c:217
+msgid "Control Midori by moving the mouse"
+msgstr "Controlar Midori movendo o rato"
+
+#. i18n: A panel showing a user specified web page
+#: ../extensions/page-holder.c:129
+#: ../extensions/page-holder.c:177
+msgid "Pageholder"
+msgstr "Titular de Página"
+
+#: ../extensions/page-holder.c:161
+msgid "_Pageholder"
+msgstr "Titular de _Página"
+
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr "Funçoes da barra de estado"
+
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr "Alternar facilmente as funções ligado e desligado nas páginas web"
+
+#~ msgid "P_lugins"
+#~ msgstr "P_lugins"
+#~ msgid "Plugins"
+#~ msgstr "Plugins"
+#~ msgid "%s has no property '%s'"
+#~ msgstr "%s não tem a propriedade '%s'"
+#~ msgid "%s cannot be assigned to %s.%s"
+#~ msgstr "Não pode assinar %s para %s.%s"
+#~ msgid "%s.%s cannot be accessed"
+#~ msgstr "%s. Não pode aceder a %s"
+#~ msgid "Images"
+#~ msgstr "Imagens"
+#~ msgid "Scripts"
+#~ msgstr "Argumentos"
+#~ msgid "Source"
+#~ msgstr "Origem"
+#~ msgid "URIs"
+#~ msgstr "URIs"
+#~ msgid "[URIs]"
+#~ msgstr "[URIs]"
+#~ msgid "_URL:"
+#~ msgstr "_URL:"
+#~ msgid "Root"
+#~ msgstr "Administrador"
+#~ msgid "HTTP Proxy"
+#~ msgstr "HTTP Proxy"
+#~ msgid "Open URL in New _Tab"
+#~ msgstr "Abrir URL em Novo _Separador"
+#~ msgid "_Icon (name or file):"
+#~ msgstr "_Ícone (nome ou ficheiro):"
+#~ msgid "Manage search engines"
+#~ msgstr "Gerir motores de procura"
+
diff --git a/po/pt_PT.po b/po/pt_PT.po
deleted file mode 100644 (file)
index c353688..0000000
+++ /dev/null
@@ -1,1724 +0,0 @@
-# Portuguese translations for midori package.
-# Copyright (C) 2008 THE midori'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the midori package.
-# Sérgio Marques <smarquespt@gmail.com> 2008-2009
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Midori 0.1.5\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-22 22:19+0100\n"
-"PO-Revision-Date: \n"
-"Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
-"Language-Team: Portuguese <pt@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../data/midori.desktop.in.h:1
-msgid "Lightweight web browser"
-msgstr "Navegador Web leve"
-
-#: ../data/midori.desktop.in.h:2
-#: ../midori/main.c:1580
-#: ../midori/main.c:1672
-#: ../midori/main.c:1681
-#: ../midori/main.c:1692
-#: ../midori/midori-websettings.c:269
-msgid "Midori"
-msgstr "Midori"
-
-#: ../data/midori.desktop.in.h:3
-msgid "Web Browser"
-msgstr "Navegador Web"
-
-#: ../midori/main.c:103
-#, c-format
-msgid "The configuration couldn't be loaded: %s\n"
-msgstr "A configuração não foi carregada: %s\n"
-
-#: ../midori/main.c:158
-#, c-format
-msgid "Value '%s' is invalid for %s"
-msgstr "O valor  '%s' é inválido para %s"
-
-#: ../midori/main.c:165
-#: ../midori/main.c:235
-#, c-format
-msgid "Invalid configuration value '%s'"
-msgstr "Valor de configuração inválido '%s'"
-
-#: ../midori/main.c:477
-msgid "File not found."
-msgstr "Ficheiro não encontrado."
-
-#: ../midori/main.c:485
-#: ../midori/main.c:494
-msgid "Malformed document."
-msgstr "Documento mal formado."
-
-#: ../midori/main.c:516
-#, c-format
-msgid "Failed to open database: %s\n"
-msgstr "Falha ao abrir a base de dados: %s\n"
-
-#: ../midori/main.c:548
-#, c-format
-msgid "Failed to execute database statement: %s\n"
-msgstr "Falha ao executar a declaração da base de dados: %s\n"
-
-#: ../midori/main.c:602
-#, c-format
-msgid "Failed to remove history item: %s\n"
-msgstr "Falha ao remover histórico: %s\n"
-
-#: ../midori/main.c:626
-#, c-format
-msgid "Failed to clear history: %s\n"
-msgstr "Falha ao limpar histórico: %s\n"
-
-#: ../midori/main.c:649
-#: ../midori/main.c:683
-#: ../midori/main.c:699
-#, c-format
-msgid "Failed to add history item: %s\n"
-msgstr "Falha ao adicionar histórico: %s\n"
-
-#. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:879
-#, c-format
-msgid "Failed to remove old history items: %s\n"
-msgstr "Falha ao remover histórico antigo: %s\n"
-
-#: ../midori/main.c:907
-#, c-format
-msgid "The configuration couldn't be saved. %s"
-msgstr "A configuração não foi guardada. %s"
-
-#: ../midori/main.c:936
-#, c-format
-msgid "The search engines couldn't be saved. %s"
-msgstr "Os motores de pesquisa não foram guardados. %s"
-
-#: ../midori/main.c:1066
-#: ../midori/sokoke.c:617
-#, c-format
-msgid "Writing failed."
-msgstr "Falhou escrita."
-
-#: ../midori/main.c:1087
-#: ../midori/main.c:1114
-#: ../midori/main.c:1142
-#, c-format
-msgid "The bookmarks couldn't be saved. %s"
-msgstr "Os marcadores não foram guardados. %s"
-
-#. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:1166
-#: ../midori/main.c:1190
-#, c-format
-msgid "The trash couldn't be saved. %s"
-msgstr "O lixo não foi guardado. %s"
-
-#: ../midori/main.c:1261
-#, c-format
-msgid "The session couldn't be saved. %s"
-msgstr "A sessão não foi guardada. %s"
-
-#: ../midori/main.c:1377
-msgid "Midori seems to have crashed the last time it was opened. If this happend repeatedly, try one of the following options to solve the problem."
-msgstr "O Midori encerrou abruptamente da última vez que foi aberto. Se isto ocorrer repetidamente, tente uma das seguintes opções para resolver o problema."
-
-#: ../midori/main.c:1392
-msgid "Modify _preferences"
-msgstr "Modificar _preferências"
-
-#: ../midori/main.c:1396
-msgid "Reset the last _session"
-msgstr "Restaurar última _sessão"
-
-#: ../midori/main.c:1401
-msgid "Disable all _extensions"
-msgstr "Desactivar todas as _extensões"
-
-#: ../midori/main.c:1580
-msgid "No filename specified"
-msgstr "Nenhum  nome especificado"
-
-#: ../midori/main.c:1603
-#: ../midori/gjs.c:515
-msgid "An unknown error occured."
-msgstr "Ocorreu um erro desconhecido."
-
-#: ../midori/main.c:1626
-msgid "Run the specified filename as javascript"
-msgstr "Executar o ficheiro especificado como argumento java"
-
-#: ../midori/main.c:1628
-msgid "Display program version"
-msgstr "Apresentar versão do programa"
-
-#: ../midori/main.c:1630
-msgid "Addresses"
-msgstr "Endereços "
-
-#: ../midori/main.c:1669
-msgid "[Addresses]"
-msgstr "[Endereços]"
-
-#: ../midori/main.c:1693
-msgid "Please report comments, suggestions and bugs to:"
-msgstr "Por favor reporte comentários, sugestões e erros para:"
-
-#: ../midori/main.c:1695
-msgid "Check for new versions at:"
-msgstr "Verificar por novas versões a:"
-
-#: ../midori/main.c:1722
-msgid "An instance of Midori is already running but not responding.\n"
-msgstr "Já existe uma instância de Midori em execução mas que não está respondendo.\n"
-
-#: ../midori/main.c:1772
-#, c-format
-msgid "The search engines couldn't be loaded. %s\n"
-msgstr "Os motores de pesquisa não foram carregados. %s\n"
-
-#: ../midori/main.c:1784
-#, c-format
-msgid "The bookmarks couldn't be loaded: %s\n"
-msgstr "Os marcadores não foram carregados: %s\n"
-
-#: ../midori/main.c:1799
-#, c-format
-msgid "The session couldn't be loaded: %s\n"
-msgstr "A sessão não foi carregada: %s\n"
-
-#: ../midori/main.c:1812
-#, c-format
-msgid "The trash couldn't be loaded: %s\n"
-msgstr "O lixo não foi carregado: %s\n"
-
-#: ../midori/main.c:1825
-#, c-format
-msgid "The history couldn't be loaded: %s\n"
-msgstr "O histórico não foi carregado: %s\n"
-
-#: ../midori/main.c:1837
-msgid "The following errors occured:"
-msgstr "Ocorreram os seguintes erros:"
-
-#: ../midori/main.c:1853
-msgid "_Ignore"
-msgstr "_Ignorar "
-
-#: ../midori/midori-browser.c:278
-#: ../midori/midori-browser.c:3262
-#: ../midori/midori-browser.c:3268
-msgid "Reload the current page"
-msgstr "Recarregar página actual"
-
-#: ../midori/midori-browser.c:289
-#: ../midori/midori-browser.c:3265
-msgid "Stop loading the current page"
-msgstr "Parar o carregamento da página actual"
-
-#: ../midori/midori-browser.c:351
-#, c-format
-msgid "%d%% loaded"
-msgstr "%d%% carregado"
-
-#: ../midori/midori-browser.c:376
-#, c-format
-msgid "Unexpected action '%s'."
-msgstr "Acção inesperada  '%s'."
-
-#: ../midori/midori-browser.c:553
-msgid "New folder"
-msgstr "Nova pasta"
-
-#: ../midori/midori-browser.c:553
-msgid "Edit folder"
-msgstr "Editar pasta"
-
-#: ../midori/midori-browser.c:555
-msgid "New bookmark"
-msgstr "Novo marcador"
-
-#: ../midori/midori-browser.c:555
-msgid "Edit bookmark"
-msgstr "Editar marcador"
-
-#: ../midori/midori-browser.c:585
-msgid "_Title:"
-msgstr "_Título:"
-
-#: ../midori/midori-browser.c:598
-#: ../midori/midori-searchaction.c:855
-msgid "_Description:"
-msgstr "_Descrição:"
-
-#: ../midori/midori-browser.c:617
-#: ../midori/midori-searchaction.c:869
-msgid "_Address:"
-msgstr "_Endereço:"
-
-#: ../midori/midori-browser.c:636
-msgid "_Folder:"
-msgstr "_Pasta:"
-
-#: ../midori/midori-browser.c:641
-#: ../midori/midori-browser.c:682
-msgid "Toplevel folder"
-msgstr "Pasta Superior"
-
-#: ../midori/midori-browser.c:762
-msgid "Save file as"
-msgstr "Guardar como"
-
-#: ../midori/midori-browser.c:1538
-msgid "Open file"
-msgstr "Abrir ficheiro"
-
-#: ../midori/midori-browser.c:2837
-#: ../panels/midori-bookmarks.c:776
-#: ../panels/midori-history.c:810
-msgid "Open all in _Tabs"
-msgstr "Abrir todas em _Separadores"
-
-#: ../midori/midori-browser.c:2844
-#: ../panels/midori-bookmarks.c:782
-#: ../panels/midori-history.c:816
-msgid "Open in New _Tab"
-msgstr "Abrir em Novo _Separador"
-
-#: ../midori/midori-browser.c:2847
-#: ../panels/midori-bookmarks.c:784
-#: ../panels/midori-history.c:818
-msgid "Open in New _Window"
-msgstr "Abrir em Nova _Janela"
-
-#: ../midori/midori-browser.c:3001
-msgid "A lightweight web browser."
-msgstr "Um navegador web leve."
-
-#: ../midori/midori-browser.c:3009
-msgid "translator-credits"
-msgstr "Sérgio Marques <smarquespt@gmail.com>"
-
-#: ../midori/midori-browser.c:3196
-msgid "_File"
-msgstr "_Ficheiro"
-
-#: ../midori/midori-browser.c:3199
-msgid "Open a new window"
-msgstr "Abrir nova janela"
-
-#: ../midori/midori-browser.c:3202
-msgid "Open a new tab"
-msgstr "Abrir novo separador"
-
-#: ../midori/midori-browser.c:3205
-msgid "Open a file"
-msgstr "Abrir ficheiro"
-
-#: ../midori/midori-browser.c:3208
-msgid "Save to a file"
-msgstr "Guardar para ficheiro"
-
-#: ../midori/midori-browser.c:3210
-msgid "_Close Tab"
-msgstr "_Fechar Separador"
-
-#: ../midori/midori-browser.c:3211
-msgid "Close the current tab"
-msgstr "Fechar separador actual"
-
-#: ../midori/midori-browser.c:3213
-msgid "C_lose Window"
-msgstr "Fechar Jane_la"
-
-#: ../midori/midori-browser.c:3214
-msgid "Close this window"
-msgstr "Fechar esta janela"
-
-#: ../midori/midori-browser.c:3217
-msgid "Print the current page"
-msgstr "Imprimir página actual"
-
-#: ../midori/midori-browser.c:3220
-msgid "Quit the application"
-msgstr "Sair da aplicação"
-
-#: ../midori/midori-browser.c:3222
-msgid "_Edit"
-msgstr "_Editar"
-
-#: ../midori/midori-browser.c:3225
-msgid "Cut the selected text"
-msgstr "Cortar o texto seleccionado"
-
-#: ../midori/midori-browser.c:3228
-#: ../midori/midori-browser.c:3231
-msgid "Copy the selected text"
-msgstr "Copiar o texto seleccionado"
-
-#: ../midori/midori-browser.c:3234
-msgid "Paste text from the clipboard"
-msgstr "Colar itens da área de transferência"
-
-#: ../midori/midori-browser.c:3237
-msgid "Delete the selected text"
-msgstr "Eliminar o texto seleccionado"
-
-#: ../midori/midori-browser.c:3240
-msgid "Select all text"
-msgstr "Seleccionar tudo"
-
-#: ../midori/midori-browser.c:3243
-msgid "Find a word or phrase in the page"
-msgstr "Localizar uma palavra ou frase na página"
-
-#: ../midori/midori-browser.c:3245
-msgid "Find _Next"
-msgstr "Localizar _Próxima"
-
-#: ../midori/midori-browser.c:3246
-msgid "Find the next occurrence of a word or phrase"
-msgstr "Localizar próxima ocorrência da palavra ou frase"
-
-#: ../midori/midori-browser.c:3248
-msgid "Find _Previous"
-msgstr "Localizar _Anterior"
-
-#: ../midori/midori-browser.c:3249
-msgid "Find the previous occurrence of a word or phrase"
-msgstr "Localizar a ocurrência anterior de uma palavra ou frase"
-
-#: ../midori/midori-browser.c:3252
-msgid "_Quick Find"
-msgstr "Localização _Rápida"
-
-#: ../midori/midori-browser.c:3253
-msgid "Quickly jump to a word or phrase"
-msgstr "Avanço rápido para palavra ou frase"
-
-#: ../midori/midori-browser.c:3256
-msgid "Configure the application preferences"
-msgstr "Configurar preferências da aplicação"
-
-#: ../midori/midori-browser.c:3258
-msgid "_View"
-msgstr "_Ver"
-
-#: ../midori/midori-browser.c:3259
-msgid "_Toolbars"
-msgstr "_Barra de Ferramentas"
-
-#: ../midori/midori-browser.c:3271
-msgid "Increase the zoom level"
-msgstr "Aumentar Zoom"
-
-#: ../midori/midori-browser.c:3274
-msgid "Decrease the zoom level"
-msgstr "Diminuir Zoom"
-
-#: ../midori/midori-browser.c:3277
-msgid "Reset the zoom level"
-msgstr "Restaurar Zoom"
-
-#: ../midori/midori-browser.c:3278
-msgid "_Encoding"
-msgstr "_Codificação"
-
-#: ../midori/midori-browser.c:3280
-msgid "_Automatic"
-msgstr "_Automático"
-
-#: ../midori/midori-browser.c:3283
-#: ../midori/midori-websettings.c:196
-msgid "Chinese (BIG5)"
-msgstr "Chinês (BIG5)"
-
-#: ../midori/midori-browser.c:3286
-#: ../midori/midori-websettings.c:197
-msgid "Japanese (SHIFT_JIS)"
-msgstr "Japonês (SHIFT_JIS)"
-
-#: ../midori/midori-browser.c:3289
-#: ../midori/midori-websettings.c:198
-msgid "Russian (KOI8-R)"
-msgstr "Russo (KOI8-R)"
-
-#: ../midori/midori-browser.c:3292
-#: ../midori/midori-websettings.c:199
-msgid "Unicode (UTF-8)"
-msgstr "Unicode (UTF-8)"
-
-#: ../midori/midori-browser.c:3295
-#: ../midori/midori-websettings.c:200
-msgid "Western (ISO-8859-1)"
-msgstr "Ocidental (ISO-8859-1)"
-
-#: ../midori/midori-browser.c:3298
-#: ../midori/midori-websettings.c:201
-#: ../midori/midori-websettings.c:273
-msgid "Custom..."
-msgstr "Personalizar..."
-
-#: ../midori/midori-browser.c:3301
-#: ../midori/midori-view.c:1111
-msgid "View _Source"
-msgstr "Ver _Origem"
-
-#: ../midori/midori-browser.c:3302
-msgid "View the source code of the page"
-msgstr "Ver código fonte da página"
-
-#: ../midori/midori-browser.c:3304
-msgid "View Selection Source"
-msgstr "Ver Origem da Selecção"
-
-#: ../midori/midori-browser.c:3305
-msgid "View the source code of the selection"
-msgstr "Ver código fonte da selecção"
-
-#: ../midori/midori-browser.c:3309
-msgid "Toggle fullscreen view"
-msgstr "Alternar para ecrã completo"
-
-#: ../midori/midori-browser.c:3311
-msgid "_Go"
-msgstr "_Ir"
-
-#: ../midori/midori-browser.c:3314
-msgid "Go back to the previous page"
-msgstr "Ir para página anterior"
-
-#: ../midori/midori-browser.c:3317
-msgid "Go forward to the next page"
-msgstr "Ir para página seguinte"
-
-#: ../midori/midori-browser.c:3320
-msgid "Go to your homepage"
-msgstr "Ir para página inicial"
-
-#: ../midori/midori-browser.c:3322
-msgid "Empty Trash"
-msgstr "Esvaziar Lixo"
-
-#: ../midori/midori-browser.c:3323
-msgid "Delete the contents of the trash"
-msgstr "Eliminar conteúdos do lixo"
-
-#: ../midori/midori-browser.c:3325
-#: ../midori/midori-view.c:1083
-msgid "Undo Close Tab"
-msgstr "Desfazer Fecho de Separador"
-
-#: ../midori/midori-browser.c:3326
-msgid "Open the last closed tab"
-msgstr "Abrir último separador fechado"
-
-#: ../midori/midori-browser.c:3330
-#: ../panels/midori-bookmarks.c:228
-msgid "Add a new bookmark"
-msgstr "Adicionar novo marcador"
-
-#: ../midori/midori-browser.c:3331
-msgid "_Tools"
-msgstr "_Ferramentas"
-
-#: ../midori/midori-browser.c:3333
-#: ../midori/midori-searchaction.c:464
-msgid "_Manage Search Engines"
-msgstr "Gerir _Motores de Pesquisa"
-
-#: ../midori/midori-browser.c:3334
-msgid "Add, edit and remove search engines..."
-msgstr "Adicionar, editar e remover motores de pesquisa..."
-
-#: ../midori/midori-browser.c:3338
-msgid "_Previous Tab"
-msgstr "Separador _Anterior"
-
-#: ../midori/midori-browser.c:3339
-msgid "Switch to the previous tab"
-msgstr "Mudar para separador anterior"
-
-#: ../midori/midori-browser.c:3341
-msgid "_Next Tab"
-msgstr "_Próximo Separador"
-
-#: ../midori/midori-browser.c:3342
-msgid "Switch to the next tab"
-msgstr "Trocar para próximo separador"
-
-#: ../midori/midori-browser.c:3344
-msgid "_Help"
-msgstr "_Ajuda"
-
-#: ../midori/midori-browser.c:3346
-msgid "_Contents"
-msgstr "_Conteúdos"
-
-#: ../midori/midori-browser.c:3347
-msgid "Show the documentation"
-msgstr "Mostrar documentação"
-
-#: ../midori/midori-browser.c:3349
-msgid "_Frequent Questions"
-msgstr "Questões _Frequentes"
-
-#: ../midori/midori-browser.c:3350
-msgid "Show the Frequently Asked Questions"
-msgstr "Mostrar Questões Frequentes"
-
-#: ../midori/midori-browser.c:3352
-msgid "_Report a Bug"
-msgstr "_Reportar Erro"
-
-#: ../midori/midori-browser.c:3353
-msgid "Open Midori's bug tracker"
-msgstr "Abrir Midori's bug tracker"
-
-#: ../midori/midori-browser.c:3356
-msgid "Show information about the program"
-msgstr "Mostrar informação sobre o programa"
-
-#: ../midori/midori-browser.c:3363
-msgid "P_rivate Browsing"
-msgstr "Navegação P_rivada"
-
-#: ../midori/midori-browser.c:3364
-msgid "Don't save any private data while browsing"
-msgstr "Não guardar quaisquer dados privados ao navegar"
-
-#: ../midori/midori-browser.c:3369
-msgid "_Menubar"
-msgstr "Barra de _Menu"
-
-#: ../midori/midori-browser.c:3370
-msgid "Show menubar"
-msgstr "Mostrar barra de menu"
-
-#: ../midori/midori-browser.c:3373
-msgid "_Navigationbar"
-msgstr "Barra de _Navegação"
-
-#: ../midori/midori-browser.c:3374
-msgid "Show navigationbar"
-msgstr "Mostrar barra de navegação"
-
-#: ../midori/midori-browser.c:3377
-msgid "Side_panel"
-msgstr "Pai_nel lateral"
-
-#: ../midori/midori-browser.c:3378
-msgid "Show sidepanel"
-msgstr "Mostrar painel lateral"
-
-#: ../midori/midori-browser.c:3381
-msgid "_Bookmarkbar"
-msgstr "_Barra de Marcadores"
-
-#: ../midori/midori-browser.c:3382
-msgid "Show bookmarkbar"
-msgstr "Mostrar barra de marcadores"
-
-#: ../midori/midori-browser.c:3385
-msgid "_Transferbar"
-msgstr "Barra de _Transferências"
-
-#: ../midori/midori-browser.c:3386
-msgid "Show transferbar"
-msgstr "Mostrar barra de transferências"
-
-#: ../midori/midori-browser.c:3389
-msgid "_Statusbar"
-msgstr "Barra de _Estado"
-
-#: ../midori/midori-browser.c:3390
-msgid "Show statusbar"
-msgstr "Mostrar barra de estado"
-
-#: ../midori/midori-browser.c:3821
-msgid "_Separator"
-msgstr "_Separador"
-
-#: ../midori/midori-browser.c:3828
-msgid "_Location..."
-msgstr "_Localização..."
-
-#: ../midori/midori-browser.c:3830
-msgid "Open a particular location"
-msgstr "Abrir localização específica"
-
-#: ../midori/midori-browser.c:3854
-msgid "_Web Search..."
-msgstr "Pesquisa _Web..."
-
-#: ../midori/midori-browser.c:3856
-msgid "Run a web search"
-msgstr "Executar uma pesquisa web"
-
-#: ../midori/midori-browser.c:3875
-msgid "Reopen a previously closed tab or window"
-msgstr "Reabrir janela ou separador anteriormente fechado"
-
-#: ../midori/midori-browser.c:3888
-msgid "_Recently visited pages"
-msgstr "Páginas _Recentes"
-
-#: ../midori/midori-browser.c:3890
-msgid "Reopen pages that you visited earlier"
-msgstr "Reabrir páginas visitadas anteriormente"
-
-#: ../midori/midori-browser.c:3903
-#: ../midori/sokoke.c:772
-msgid "_Bookmarks"
-msgstr "_Marcadores"
-
-#: ../midori/midori-browser.c:3905
-msgid "Show the saved bookmarks"
-msgstr "Mostrar marcadores guardados"
-
-#: ../midori/midori-browser.c:3918
-msgid "_Window"
-msgstr "_Janela"
-
-#: ../midori/midori-browser.c:3920
-msgid "Show a list of all open tabs"
-msgstr "Mostrar lista de separadores abertos"
-
-#. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:4085
-msgid "_Inline Find:"
-msgstr "Localizar:"
-
-#: ../midori/midori-browser.c:4110
-msgid "Previous"
-msgstr "Anterior"
-
-#: ../midori/midori-browser.c:4115
-msgid "Next"
-msgstr "Seguinte"
-
-#: ../midori/midori-browser.c:4120
-msgid "Match Case"
-msgstr "Maiúsculas e Minúsculas"
-
-#: ../midori/midori-browser.c:4128
-msgid "Highlight Matches"
-msgstr "Realçar Correspondências"
-
-#: ../midori/midori-browser.c:4138
-msgid "Close Findbar"
-msgstr "Fechar"
-
-#: ../midori/midori-browser.c:4444
-#, c-format
-msgid "Unexpected setting '%s'"
-msgstr "Definição inesperada '%s'"
-
-#: ../midori/midori-panel.c:229
-#: ../midori/midori-websettings.c:511
-msgid "Align sidepanel on the right"
-msgstr "Alinhar painel lateral à direita"
-
-#: ../midori/midori-panel.c:231
-#: ../midori/midori-websettings.c:512
-msgid "Whether to align the sidepanel on the right"
-msgstr "Se alinha painel lateral na direita"
-
-#: ../midori/midori-panel.c:241
-#: ../midori/midori-panel.c:242
-msgid "Close panel"
-msgstr "Fechar painel"
-
-#: ../midori/midori-websettings.c:179
-#: ../midori/midori-view.c:1888
-msgid "Blank page"
-msgstr "Página em branco"
-
-#: ../midori/midori-websettings.c:180
-#: ../midori/midori-websettings.c:531
-msgid "Homepage"
-msgstr "Página Inicial"
-
-#: ../midori/midori-websettings.c:181
-msgid "Last open pages"
-msgstr "Últimas páginas abertas"
-
-#: ../midori/midori-websettings.c:216
-msgid "New tab"
-msgstr "Novo separador"
-
-#: ../midori/midori-websettings.c:217
-msgid "New window"
-msgstr "Nova janela"
-
-#: ../midori/midori-websettings.c:218
-msgid "Current tab"
-msgstr "Separador actual"
-
-#: ../midori/midori-websettings.c:233
-msgid "Default"
-msgstr "Padrão"
-
-#: ../midori/midori-websettings.c:234
-msgid "Icons"
-msgstr "Ícones"
-
-#: ../midori/midori-websettings.c:235
-msgid "Text"
-msgstr "Texto"
-
-#: ../midori/midori-websettings.c:236
-msgid "Both"
-msgstr "Texto e Ícones"
-
-#: ../midori/midori-websettings.c:237
-msgid "Both horizontal"
-msgstr "Ambos na horizontal"
-
-#: ../midori/midori-websettings.c:252
-msgid "All cookies"
-msgstr "Todos os cookies"
-
-#: ../midori/midori-websettings.c:253
-msgid "Session cookies"
-msgstr "Cookies da sessão"
-
-#: ../midori/midori-websettings.c:254
-#: ../panels/midori-addons.c:94
-msgid "None"
-msgstr "Nenhum"
-
-#: ../midori/midori-websettings.c:270
-msgid "Safari"
-msgstr "Safari"
-
-#: ../midori/midori-websettings.c:271
-msgid "Firefox"
-msgstr "Firefox"
-
-#: ../midori/midori-websettings.c:272
-msgid "Internet Explorer"
-msgstr "Internet Explorer"
-
-#: ../midori/midori-websettings.c:325
-msgid "Remember last window size"
-msgstr "Lembrar último tamanho de janela"
-
-#: ../midori/midori-websettings.c:326
-msgid "Whether to save the last window size"
-msgstr "Se guarda o último tamanho de janela"
-
-#: ../midori/midori-websettings.c:334
-msgid "Last window width"
-msgstr "Largura da última janela"
-
-#: ../midori/midori-websettings.c:335
-msgid "The last saved window width"
-msgstr "Última largura de janela guardada"
-
-#: ../midori/midori-websettings.c:343
-msgid "Last window height"
-msgstr "Altura da última janela"
-
-#: ../midori/midori-websettings.c:344
-msgid "The last saved window height"
-msgstr "Última altura de janela guardada"
-
-#: ../midori/midori-websettings.c:369
-msgid "Last panel position"
-msgstr "Última posição do painel"
-
-#: ../midori/midori-websettings.c:370
-msgid "The last saved panel position"
-msgstr "Última posição de painel guardada"
-
-#. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:379
-msgid "Last panel page"
-msgstr "Última página do painel"
-
-#: ../midori/midori-websettings.c:380
-msgid "The last saved panel page"
-msgstr "Última posição de painel de página guardada"
-
-#: ../midori/midori-websettings.c:388
-msgid "Last Web search"
-msgstr "Última pesquisa na Web"
-
-#: ../midori/midori-websettings.c:389
-msgid "The last saved Web search"
-msgstr "Última pesquisa Web guardada"
-
-#: ../midori/midori-websettings.c:398
-msgid "Show Menubar"
-msgstr "Mostrar Barra de Menu"
-
-#: ../midori/midori-websettings.c:399
-msgid "Whether to show the menubar"
-msgstr "Se mostra a barra de menu"
-
-#: ../midori/midori-websettings.c:407
-msgid "Show Navigationbar"
-msgstr "Mostrar Barra de Navegação"
-
-#: ../midori/midori-websettings.c:408
-msgid "Whether to show the navigationbar"
-msgstr "Se mostra a barra de navegação"
-
-#: ../midori/midori-websettings.c:416
-msgid "Show Bookmarkbar"
-msgstr "Mostrar Barra de Marcadores"
-
-#: ../midori/midori-websettings.c:417
-msgid "Whether to show the bookmarkbar"
-msgstr "Se mostra a barra de marcadores"
-
-#: ../midori/midori-websettings.c:425
-msgid "Show Panel"
-msgstr "Mostrar Painel"
-
-#: ../midori/midori-websettings.c:426
-msgid "Whether to show the panel"
-msgstr "Se mostra o painel"
-
-#: ../midori/midori-websettings.c:441
-msgid "Show Transferbar"
-msgstr "Mostrar barra de transferências"
-
-#: ../midori/midori-websettings.c:442
-msgid "Whether to show the transferbar"
-msgstr "Se mostra a barra de transferências"
-
-#: ../midori/midori-websettings.c:450
-msgid "Show Statusbar"
-msgstr "Mostrar Barra de Estado"
-
-#: ../midori/midori-websettings.c:451
-msgid "Whether to show the statusbar"
-msgstr "Se mostra a barra de estado"
-
-#: ../midori/midori-websettings.c:460
-msgid "Toolbar Style"
-msgstr "Estilo da Barra de Ferramentas"
-
-#: ../midori/midori-websettings.c:461
-msgid "The style of the toolbar"
-msgstr "O estilo da barra de ferramentas"
-
-#: ../midori/midori-websettings.c:477
-msgid "Show progress in location entry"
-msgstr "Mostrar evolução na entrada de localização"
-
-#: ../midori/midori-websettings.c:478
-msgid "Whether to show loading progress in the location entry"
-msgstr "Se mostra evolução de carregamento na entrada de localização"
-
-#: ../midori/midori-websettings.c:486
-msgid "Toolbar Items"
-msgstr "Itens da Barra de Ferramentas"
-
-#: ../midori/midori-websettings.c:487
-msgid "The items to show on the toolbar"
-msgstr "Itens a mostrar na barra de ferramentas"
-
-#: ../midori/midori-websettings.c:495
-msgid "Compact Sidepanel"
-msgstr "Compactar Painel Lateral"
-
-#: ../midori/midori-websettings.c:496
-msgid "Whether to make the sidepanel compact"
-msgstr "Se implica compactação do painel lateral"
-
-#: ../midori/midori-websettings.c:521
-msgid "Load on Startup"
-msgstr "Carregar ao Iniciar"
-
-#: ../midori/midori-websettings.c:522
-msgid "What to load on startup"
-msgstr "Carregar ao iniciar"
-
-#: ../midori/midori-websettings.c:532
-msgid "The homepage"
-msgstr "A página inicial"
-
-#: ../midori/midori-websettings.c:547
-msgid "Show crash dialog"
-msgstr "Mostrar diálogo sobre encerramento"
-
-#: ../midori/midori-websettings.c:548
-msgid "Show a dialog after Midori crashed"
-msgstr "Mostrar diálogo após o encerramento do Midori"
-
-#: ../midori/midori-websettings.c:556
-msgid "Download Folder"
-msgstr "Pasta de Transferências"
-
-#: ../midori/midori-websettings.c:557
-msgid "The folder downloaded files are saved to"
-msgstr "A pasta para guardar transferências"
-
-#: ../midori/midori-websettings.c:569
-msgid "Download Manager"
-msgstr "Gestor de Transferências"
-
-#: ../midori/midori-websettings.c:570
-msgid "An external download manager"
-msgstr "Um gestor de transferências externo"
-
-#: ../midori/midori-websettings.c:578
-msgid "Text Editor"
-msgstr "Editor de Texto"
-
-#: ../midori/midori-websettings.c:579
-msgid "An external text editor"
-msgstr "Um editor de texto externo"
-
-#: ../midori/midori-websettings.c:587
-msgid "Location entry Search"
-msgstr "Pesquisa de entrada Local"
-
-#: ../midori/midori-websettings.c:588
-msgid "The search to perform inside the location entry"
-msgstr "A pesquisa a executar dentro da entrada local"
-
-#: ../midori/midori-websettings.c:596
-msgid "Preferred Encoding"
-msgstr "Codificação Preferida"
-
-#: ../midori/midori-websettings.c:597
-msgid "The preferred character encoding"
-msgstr "A codificação de caracteres preferida"
-
-#: ../midori/midori-websettings.c:607
-msgid "Always Show Tabbar"
-msgstr "Mostrar sempre Barra de Separadores"
-
-#: ../midori/midori-websettings.c:608
-msgid "Always show the tabbar"
-msgstr "Mostrar sempre barra de separadores"
-
-#: ../midori/midori-websettings.c:616
-msgid "Close Buttons on Tabs"
-msgstr "Ícone Fechar nos Separadores"
-
-#: ../midori/midori-websettings.c:617
-msgid "Whether tabs have close buttons"
-msgstr "Se separadores têm botões para fechar"
-
-#: ../midori/midori-websettings.c:625
-msgid "Open new pages in"
-msgstr "Abrir novas páginas em"
-
-#: ../midori/midori-websettings.c:626
-msgid "Where to open new pages"
-msgstr "Onde abrir novas páginas"
-
-#: ../midori/midori-websettings.c:635
-msgid "Open external pages in"
-msgstr "Abrir páginas externas em"
-
-#: ../midori/midori-websettings.c:636
-msgid "Where to open externally opened pages"
-msgstr "Onde abrir páginas abertas externamente"
-
-#: ../midori/midori-websettings.c:649
-msgid "Middle click opens Selection"
-msgstr "Clique na roda do rato abre Selecção"
-
-#: ../midori/midori-websettings.c:650
-msgid "Load an address from the selection via middle click"
-msgstr "Carregar endereço através do clique na roda do rato"
-
-#: ../midori/midori-websettings.c:658
-msgid "Open tabs in the background"
-msgstr "Abrir separadores em segundo plano"
-
-#: ../midori/midori-websettings.c:659
-msgid "Whether to open new tabs in the background"
-msgstr "Se abre novos separadores em segundo plano"
-
-#: ../midori/midori-websettings.c:667
-msgid "Open Tabs next to Current"
-msgstr "Abrir Separadores perto do Actual"
-
-#: ../midori/midori-websettings.c:668
-msgid "Whether to open new tabs next to the current tab or after the last one"
-msgstr "Se abre novos separadores perto do actual ou após o último "
-
-#: ../midori/midori-websettings.c:676
-msgid "Open popups in tabs"
-msgstr "Abrir popups em separadores"
-
-#: ../midori/midori-websettings.c:677
-msgid "Whether to open popup windows in tabs"
-msgstr "Se abre janelas popup em separadores"
-
-#: ../midori/midori-websettings.c:693
-msgid "Zoom Text and Images"
-msgstr "Zoom de Texto e Imagens"
-
-#: ../midori/midori-websettings.c:694
-msgid "Whether to zoom text and images"
-msgstr "Se ajusta zoom de texto e imagens"
-
-#: ../midori/midori-websettings.c:709
-msgid "Find inline while typing"
-msgstr "Encontrar ao escrever"
-
-#: ../midori/midori-websettings.c:710
-msgid "Whether to automatically find inline while typing"
-msgstr "Se deve encontrar automaticamente ao escrever"
-
-#: ../midori/midori-websettings.c:718
-msgid "Accept cookies"
-msgstr "Aceitar cookies"
-
-#: ../midori/midori-websettings.c:719
-msgid "What type of cookies to accept"
-msgstr "Tipo de cookies a aceitar"
-
-#: ../midori/midori-websettings.c:728
-msgid "Original cookies only"
-msgstr "Apenas cookies originais"
-
-#: ../midori/midori-websettings.c:729
-msgid "Accept cookies from the original website only"
-msgstr "Aceitar cookies apenas do sítio web original"
-
-#: ../midori/midori-websettings.c:737
-msgid "Maximum cookie age"
-msgstr "Antiguidade máxima de cookies"
-
-#: ../midori/midori-websettings.c:738
-msgid "The maximum number of days to save cookies for"
-msgstr "Número máximo de dias para guardar cookies"
-
-#: ../midori/midori-websettings.c:748
-msgid "Remember last visited pages"
-msgstr "Lembrar últimas páginas visitadas"
-
-#: ../midori/midori-websettings.c:749
-msgid "Whether the last visited pages are saved"
-msgstr "Se as últimas páginas visitadas são guardadas"
-
-#: ../midori/midori-websettings.c:757
-msgid "Maximum history age"
-msgstr "Antiguidade máxima do histórico"
-
-#: ../midori/midori-websettings.c:758
-msgid "The maximum number of days to save the history for"
-msgstr "O número máximo de dias para guardar histórico"
-
-#: ../midori/midori-websettings.c:766
-msgid "Remember last form inputs"
-msgstr "Lembrar dados de formulários"
-
-#: ../midori/midori-websettings.c:767
-msgid "Whether the last form inputs are saved"
-msgstr "Se os dados de formulário são guardados"
-
-#: ../midori/midori-websettings.c:775
-msgid "Remember last downloaded files"
-msgstr "Lembrar últimas transferências "
-
-#: ../midori/midori-websettings.c:776
-msgid "Whether the last downloaded files are saved"
-msgstr "Se as últimas transferências são guardadas"
-
-#: ../midori/midori-websettings.c:786
-msgid "Proxy Server"
-msgstr "Servidor Proxy"
-
-#: ../midori/midori-websettings.c:787
-msgid "The proxy server used for HTTP connections"
-msgstr "Servidor proxy para ligações HTTP"
-
-#: ../midori/midori-websettings.c:802
-msgid "Detect proxy server automatically"
-msgstr "Detectar servidor proxy automaticamente"
-
-#: ../midori/midori-websettings.c:803
-msgid "Whether to detect the proxy server automatically from the environment"
-msgstr "Se deve detectar automaticamente o servidor proxy do ambiente"
-
-#. i18n: This refers to an application, not the 'user agent' string
-#: ../midori/midori-websettings.c:819
-msgid "Identify as"
-msgstr "Identificar como"
-
-#: ../midori/midori-websettings.c:820
-msgid "What to identify as to web pages"
-msgstr "Identificar nas páginas web como"
-
-#: ../midori/midori-websettings.c:836
-msgid "Identification string"
-msgstr "Linha de Identificação"
-
-#: ../midori/midori-websettings.c:837
-msgid "The application identification string"
-msgstr "A linha de identificação da aplicação"
-
-#: ../midori/midori-websettings.c:845
-msgid "Cache size"
-msgstr "Tamanho de cache"
-
-#: ../midori/midori-websettings.c:846
-msgid "The allowed size of the cache"
-msgstr "Tamanho de cache permitido"
-
-#. i18n: The title of the 404 - Not found error page
-#: ../midori/midori-view.c:656
-#, c-format
-msgid "Not found - %s"
-msgstr "Não encontrada(o) - %s"
-
-#: ../midori/midori-view.c:988
-msgid "Open _Link"
-msgstr "Abrir _Ligação"
-
-#: ../midori/midori-view.c:990
-msgid "Open Link in New _Tab"
-msgstr "Abrir Ligação em Novo _Separador"
-
-#: ../midori/midori-view.c:1007
-msgid "Open Link in New _Window"
-msgstr "Abrir Ligação em Nova _Janela"
-
-#: ../midori/midori-view.c:1016
-#: ../midori/midori-view.c:1030
-msgid "_Download Link destination"
-msgstr "_Destino de Transferir Ligação"
-
-#: ../midori/midori-view.c:1022
-msgid "_Save Link destination"
-msgstr "De_stino para Guardar Ligação"
-
-#: ../midori/midori-view.c:1053
-msgid "_Search the Web"
-msgstr "_Pesquisar na Web"
-
-#: ../midori/midori-view.c:1062
-msgid "Open Address in New _Tab"
-msgstr "Abrir Endereço em Novo _Separador"
-
-#: ../midori/midori-view.c:1201
-msgid "Open or download file"
-msgstr "Abrir ou transferir ficheiro"
-
-#: ../midori/midori-view.c:1210
-#, c-format
-msgid "File Type: %s ('%s')"
-msgstr "Tipo de ficheiro: %s ('%s')"
-
-#. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
-#: ../midori/midori-view.c:1214
-#, c-format
-msgid "Open %s"
-msgstr "Abrir %s"
-
-#: ../midori/midori-view.c:1610
-#, c-format
-msgid "Inspect page - %s"
-msgstr "Inspeccionar página - %s"
-
-#: ../midori/midori-view.c:1755
-#, c-format
-msgid "Document cannot be displayed"
-msgstr "O documento não pode ser apresentado"
-
-#: ../midori/midori-view.c:1771
-#, c-format
-msgid "No documentation installed"
-msgstr "Nenhuma documentação instalada"
-
-#: ../midori/midori-preferences.c:91
-#, c-format
-msgid "Preferences for %s"
-msgstr "Preferências para %s"
-
-#. Page "General"
-#: ../midori/midori-preferences.c:398
-msgid "General"
-msgstr "Geral"
-
-#: ../midori/midori-preferences.c:399
-msgid "Startup"
-msgstr "Início"
-
-#: ../midori/midori-preferences.c:415
-msgid "Use current page as homepage"
-msgstr "Usar página actual como página inicial"
-
-#: ../midori/midori-preferences.c:423
-#: ../panels/midori-transfers.c:88
-msgid "Transfers"
-msgstr "Transferências"
-
-#. Page "Appearance"
-#: ../midori/midori-preferences.c:462
-msgid "Appearance"
-msgstr "Aparência"
-
-#: ../midori/midori-preferences.c:463
-msgid "Font settings"
-msgstr "Definições de fontes"
-
-#: ../midori/midori-preferences.c:465
-msgid "Default Font Family"
-msgstr "Família de Fontes Padrão"
-
-#: ../midori/midori-preferences.c:471
-msgid "The default font size used to display text"
-msgstr "O tamanho padrão de fonte para apresentar texto"
-
-#: ../midori/midori-preferences.c:474
-msgid "Minimum Font Size"
-msgstr "Tmanho Mínimo de Fonte"
-
-#: ../midori/midori-preferences.c:477
-msgid "The minimum font size used to display text"
-msgstr "Tamanho mínimo de fonte para apresentar texto"
-
-#: ../midori/midori-preferences.c:484
-msgid "Encoding"
-msgstr "Codificação"
-
-#: ../midori/midori-preferences.c:487
-msgid "The character encoding to use by default"
-msgstr "A codificação de caracteres preferida"
-
-#. Page "Behavior"
-#: ../midori/midori-preferences.c:494
-msgid "Behavior"
-msgstr "Comportamento"
-
-#: ../midori/midori-preferences.c:495
-msgid "Features"
-msgstr "Funções"
-
-#: ../midori/midori-preferences.c:498
-#: ../extensions/statusbar-features.c:42
-msgid "Load images automatically"
-msgstr "Carregar imagens automaticamente"
-
-#: ../midori/midori-preferences.c:499
-msgid "Load and display images automatically"
-msgstr "Carregar e apresentar automaticamente as imagens "
-
-#: ../midori/midori-preferences.c:502
-msgid "Shrink images automatically"
-msgstr "Encolher imagens automaticamente"
-
-#: ../midori/midori-preferences.c:503
-msgid "Automatically shrink standalone images to fit"
-msgstr "Encolher imagens automaticamente"
-
-#: ../midori/midori-preferences.c:506
-msgid "Print background images"
-msgstr "Imprimir imagens em segundo plano"
-
-#: ../midori/midori-preferences.c:507
-msgid "Whether background images should be printed"
-msgstr "Se imagens em segundo plano devem ser impressas"
-
-#: ../midori/midori-preferences.c:510
-msgid "Resizable text areas"
-msgstr "Áreas de texto dimensionáveis"
-
-#: ../midori/midori-preferences.c:511
-msgid "Whether text areas are resizable"
-msgstr "Se as áreas de texto são redimensionáveis"
-
-#: ../midori/midori-preferences.c:514
-#: ../extensions/statusbar-features.c:49
-msgid "Enable scripts"
-msgstr "Activar argumentos"
-
-#: ../midori/midori-preferences.c:515
-msgid "Enable embedded scripting languages"
-msgstr "Activar argumentos de idiomas incorporados"
-
-#: ../midori/midori-preferences.c:518
-#: ../extensions/statusbar-features.c:56
-msgid "Enable plugins"
-msgstr "Activar plugins"
-
-#: ../midori/midori-preferences.c:519
-msgid "Enable embedded plugin objects"
-msgstr "Activar plugin de objectos incorporados"
-
-#: ../midori/midori-preferences.c:522
-msgid "Enforce 96 dots per inch"
-msgstr "Forçar 96 pontos por polegalda"
-
-#: ../midori/midori-preferences.c:523
-msgid "Enforce a video dot density of 96 DPI"
-msgstr "Forçar densidade de vídeo de 96 PPP"
-
-#: ../midori/midori-preferences.c:526
-msgid "Enable developer tools"
-msgstr "Activar ferramentas de desenvolvimento"
-
-#: ../midori/midori-preferences.c:527
-msgid "Enable special extensions for developers"
-msgstr "Activar extensões especiais de desenvolvimento"
-
-#. Page "Interface"
-#: ../midori/midori-preferences.c:539
-msgid "Interface"
-msgstr "Interface"
-
-#: ../midori/midori-preferences.c:540
-msgid "Navigationbar"
-msgstr "Barra de Navegação"
-
-#: ../midori/midori-preferences.c:549
-msgid "Browsing"
-msgstr "Navegar"
-
-#. Page "Network"
-#: ../midori/midori-preferences.c:579
-#: ../midori/midori-preferences.c:580
-msgid "Network"
-msgstr "Rede"
-
-#: ../midori/midori-preferences.c:607
-msgid "MB"
-msgstr "MB"
-
-#. Page "Privacy"
-#: ../midori/midori-preferences.c:612
-msgid "Privacy"
-msgstr "Privacidade"
-
-#: ../midori/midori-preferences.c:613
-msgid "Web Cookies"
-msgstr "Web Cookies"
-
-#: ../midori/midori-preferences.c:626
-#: ../midori/midori-preferences.c:636
-msgid "days"
-msgstr "dias"
-
-#: ../midori/midori-preferences.c:629
-#: ../panels/midori-history.c:104
-msgid "History"
-msgstr "Histórico"
-
-#: ../midori/midori-searchaction.c:455
-#: ../katze/katze-arrayaction.c:277
-msgid "Empty"
-msgstr "Vazio"
-
-#: ../midori/midori-searchaction.c:811
-msgid "Add search engine"
-msgstr "Adicionar motor de pesquisa"
-
-#: ../midori/midori-searchaction.c:811
-msgid "Edit search engine"
-msgstr "Editar motor de pesquisa"
-
-#: ../midori/midori-searchaction.c:839
-msgid "_Name:"
-msgstr "_Nome:"
-
-#: ../midori/midori-searchaction.c:883
-msgid "_Icon:"
-msgstr "_Icone:"
-
-#: ../midori/midori-searchaction.c:897
-msgid "_Token:"
-msgstr "_Token:"
-
-#: ../midori/midori-searchaction.c:1077
-msgid "Manage Search Engines"
-msgstr "Gerir Motores de Pesquisa"
-
-#: ../midori/sokoke.c:109
-#: ../midori/sokoke.c:121
-msgid "Could not run external program."
-msgstr "Não é possível executar o programa externo."
-
-#. i18n: A superuser, or system administrator, may not be 'root'
-#: ../midori/sokoke.c:440
-msgid "Warning: You are using a superuser account!"
-msgstr "Aviso: Está a utilizar uma conta de super utilizador!"
-
-#: ../midori/sokoke.c:771
-msgid "_Bookmark"
-msgstr "_Marcador"
-
-#: ../midori/sokoke.c:773
-msgid "_Add Bookmark"
-msgstr "_Adicionar Marcador"
-
-#: ../midori/sokoke.c:774
-msgid "_Console"
-msgstr "_Consola"
-
-#: ../midori/sokoke.c:775
-msgid "_Extensions"
-msgstr "_Extensões"
-
-#: ../midori/sokoke.c:776
-msgid "_History"
-msgstr "_Histórico"
-
-#: ../midori/sokoke.c:777
-msgid "_Homepage"
-msgstr "_Página Inicial"
-
-#: ../midori/sokoke.c:778
-msgid "_Userscripts"
-msgstr "Argumentos de _Utilizador"
-
-#: ../midori/sokoke.c:779
-msgid "User_styles"
-msgstr "E_stilos de Utilizador"
-
-#: ../midori/sokoke.c:780
-msgid "New _Tab"
-msgstr "Novo _Separador"
-
-#: ../midori/sokoke.c:781
-msgid "_Transfers"
-msgstr "_Transferências"
-
-#: ../midori/sokoke.c:782
-msgid "_Closed Tabs and Windows"
-msgstr "Separadores e Janelas Fe_chadas"
-
-#: ../midori/sokoke.c:783
-msgid "New _Window"
-msgstr "Nova _Janela"
-
-#: ../midori/gjs.c:743
-#: ../midori/gjs.c:833
-#, c-format
-msgid "%s has no property '%s'"
-msgstr "%s não tem a propriedade '%s'"
-
-#: ../midori/gjs.c:879
-#, c-format
-msgid "%s cannot be assigned to %s.%s"
-msgstr "Não pode assinar %s para %s.%s"
-
-#: ../midori/gjs.c:889
-#, c-format
-msgid "%s.%s cannot be accessed"
-msgstr "%s. Não pode aceder a %s"
-
-#: ../panels/midori-addons.c:95
-#: ../panels/midori-addons.c:141
-msgid "Userscripts"
-msgstr "Argumentos de Utilizador"
-
-#: ../panels/midori-addons.c:96
-#: ../panels/midori-addons.c:143
-msgid "Userstyles"
-msgstr "Estilos de utilizador"
-
-#: ../panels/midori-addons.c:922
-#: ../panels/midori-extensions.c:144
-msgid "_Enable"
-msgstr "_Activar"
-
-#: ../panels/midori-addons.c:923
-#: ../panels/midori-extensions.c:145
-msgid "Enable"
-msgstr "Activar"
-
-#: ../panels/midori-addons.c:932
-#: ../panels/midori-extensions.c:154
-msgid "_Disable"
-msgstr "_Desactivar"
-
-#: ../panels/midori-addons.c:933
-#: ../panels/midori-extensions.c:155
-msgid "Disable"
-msgstr "Desactivar"
-
-#: ../panels/midori-bookmarks.c:103
-msgid "Bookmarks"
-msgstr "Marcadores"
-
-#: ../panels/midori-bookmarks.c:236
-msgid "Edit the selected bookmark"
-msgstr "Editar marcador seleccionado"
-
-#: ../panels/midori-bookmarks.c:244
-msgid "Delete the selected bookmark"
-msgstr "Eliminar marcador seleccionado"
-
-#: ../panels/midori-bookmarks.c:257
-msgid "Add a new folder"
-msgstr "Adicionar nova pasta"
-
-#: ../panels/midori-bookmarks.c:589
-msgid "<i>Separator</i>"
-msgstr "<i>Separador</i>"
-
-#: ../panels/midori-console.c:87
-msgid "Console"
-msgstr "Consola"
-
-#: ../panels/midori-extensions.c:87
-msgid "Extensions"
-msgstr "Extensões"
-
-#: ../panels/midori-history.c:159
-msgid "Are you sure you want to remove all history items?"
-msgstr "Tem a certeza que quer remover todo o histórico?"
-
-#: ../panels/midori-history.c:216
-msgid "Bookmark the selected history item"
-msgstr "Marcar o item de histórico seleccionado"
-
-#: ../panels/midori-history.c:225
-msgid "Delete the selected history item"
-msgstr "Eliminar item de histórico seleccionado"
-
-#: ../panels/midori-history.c:233
-msgid "Clear the entire history"
-msgstr "Limpar todo o histórico"
-
-#: ../panels/midori-history.c:603
-#, c-format
-msgid "A week ago"
-msgstr "Uma semana atrás"
-
-#: ../panels/midori-history.c:609
-#, c-format
-msgid "%d days ago"
-msgstr "%d dias atrás"
-
-#: ../panels/midori-history.c:616
-msgid "Today"
-msgstr "Hoje"
-
-#: ../panels/midori-history.c:618
-msgid "Yesterday"
-msgstr "Ontem"
-
-#: ../panels/midori-plugins.c:87
-#: ../extensions/statusbar-features.c:54
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../panels/midori-transfers.c:256
-#, c-format
-msgid "%s of %s"
-msgstr "%s de %s"
-
-#: ../katze/katze-http-auth.c:97
-msgid "Authentication Required"
-msgstr "Autenticação Necessária "
-
-#: ../katze/katze-http-auth.c:113
-msgid ""
-"A username and a password are required\n"
-"to open this location:"
-msgstr ""
-"Precisa de um nome de utilizador e uma palavra-passe\n"
-"para abrir esta localização:"
-
-#: ../katze/katze-http-auth.c:127
-msgid "Username"
-msgstr "Nome de Utilizador"
-
-#: ../katze/katze-http-auth.c:138
-msgid "Password"
-msgstr "Palavra-passe"
-
-#: ../katze/katze-throbber.c:828
-#, c-format
-msgid "Named icon '%s' couldn't be loaded"
-msgstr "O ícone  '%s'  não foi carregado"
-
-#: ../katze/katze-throbber.c:841
-#, c-format
-msgid "Stock icon '%s' couldn't be loaded"
-msgstr "O ícone  '%s'  não foi carregado"
-
-#: ../katze/katze-throbber.c:907
-msgid "Animation frames are broken"
-msgstr "As frames de animação estão corrompidas"
-
-#: ../katze/katze-utils.c:180
-#: ../katze/katze-utils.c:389
-#, c-format
-msgid "Property '%s' is invalid for %s"
-msgstr "Propriedade %s' é inválida para %s"
-
-#: ../katze/katze-utils.c:209
-#: ../katze/katze-utils.c:248
-msgid "Choose file"
-msgstr "Escolha ficheiro"
-
-#: ../katze/katze-utils.c:229
-msgid "Choose folder"
-msgstr "Escolha pasta"
-
-#: ../extensions/colorful-tabs.c:97
-msgid "Tint tabs distinctly"
-msgstr "Cor distinta de separadores"
-
-#: ../extensions/colorful-tabs.c:133
-msgid "Colorful Tabs"
-msgstr "Separadores Coloridos"
-
-#: ../extensions/colorful-tabs.c:134
-msgid "Tint each tab distinctly"
-msgstr "Cor distinta para cada separador"
-
-#: ../extensions/mouse-gestures/main.c:176
-msgid "Mouse Gestures"
-msgstr "Gestos de Rato"
-
-#: ../extensions/mouse-gestures/main.c:177
-msgid "Control Midori by moving the mouse"
-msgstr "Controlar Midori movendo o rato"
-
-#. i18n: A panel showing a user specified web page
-#: ../extensions/page-holder.c:116
-#: ../extensions/page-holder.c:153
-msgid "Pageholder"
-msgstr "Titular de Página"
-
-#: ../extensions/page-holder.c:137
-msgid "_Pageholder"
-msgstr "Titular de _Página"
-
-#: ../extensions/statusbar-features.c:40
-msgid "Images"
-msgstr "Imagens"
-
-#: ../extensions/statusbar-features.c:47
-msgid "Scripts"
-msgstr "Argumentos"
-
-#~ msgid "Source"
-#~ msgstr "Origem"
-#~ msgid "URIs"
-#~ msgstr "URIs"
-#~ msgid "[URIs]"
-#~ msgstr "[URIs]"
-#~ msgid "_URL:"
-#~ msgstr "_URL:"
-#~ msgid "Root"
-#~ msgstr "Administrador"
-#~ msgid "HTTP Proxy"
-#~ msgstr "HTTP Proxy"
-#~ msgid "Open URL in New _Tab"
-#~ msgstr "Abrir URL em Novo _Separador"
-#~ msgid "_Icon (name or file):"
-#~ msgstr "_Ícone (nome ou ficheiro):"
-#~ msgid "Manage search engines"
-#~ msgstr "Gerir motores de procura"
-
diff --git a/po/ro.po b/po/ro.po
new file mode 100644 (file)
index 0000000..564d146
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,2021 @@
+# Romanian translations for midori package
+# Traducerea în limba română pentru pachetul midori.
+# Copyright (C) 2009 THE midori'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the midori package.
+# Igor Stirbu <igor.stirbu@gmail.com> 2009
+# Mișu Moldovan <dumol@gnome.ro> 2009
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: midori 0.1.6\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-05 15:17+0300\n"
+"PO-Revision-Date: 2009-05-05 16:11+0300\n"
+"Last-Translator: Igor Stirbu <igor.stirbu@gmail.com>\n"
+"Language-Team: Romanian <xfce-i18n@xfce.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+
+#: ../data/midori.desktop.in.h:1
+msgid "Lightweight web browser"
+msgstr "Mic navigator pentru Internet"
+
+#: ../data/midori.desktop.in.h:2 ../midori/main.c:1315 ../midori/main.c:1445
+#: ../midori/main.c:1453 ../midori/main.c:1464
+#: ../midori/midori-websettings.c:275
+msgid "Midori"
+msgstr "Midori"
+
+#: ../data/midori.desktop.in.h:3
+msgid "Web Browser"
+msgstr "Navigator Internet"
+
+#: ../midori/main.c:96
+#, c-format
+msgid "The configuration couldn't be loaded: %s\n"
+msgstr "Nu s-au putut încărca preferințele: %s\n"
+
+#: ../midori/main.c:151
+#, c-format
+msgid "Value '%s' is invalid for %s"
+msgstr "Valoarea „%s” nu este validă pentru %s"
+
+#: ../midori/main.c:158 ../midori/main.c:238
+#, c-format
+msgid "Invalid configuration value '%s'"
+msgstr "Valoare nevalidă pentru preferințe „%s”"
+
+#: ../midori/main.c:350
+#, c-format
+msgid "Failed to open database: %s\n"
+msgstr "Eșec la deschiderea bazei de date: %s\n"
+
+#: ../midori/main.c:382
+#, c-format
+msgid "Failed to execute database statement: %s\n"
+msgstr "Eșec la executarea comenzii pentru baza de date: %s\n"
+
+#: ../midori/main.c:436
+#, c-format
+msgid "Failed to remove history item: %s\n"
+msgstr "Eșec la ștergerea elementului din istoric: %s\n"
+
+#: ../midori/main.c:460
+#, c-format
+msgid "Failed to clear history: %s\n"
+msgstr "Eșec la curățarea istoricului: %s\n"
+
+#: ../midori/main.c:483 ../midori/main.c:517 ../midori/main.c:533
+#, c-format
+msgid "Failed to add history item: %s\n"
+msgstr "Eșec la adăugarea elementului în istoric: %s\n"
+
+#. i18n: Couldn't remove items that are older than n days
+#: ../midori/main.c:712
+#, c-format
+msgid "Failed to remove old history items: %s\n"
+msgstr "Eșec la ștergerea elementelor vechi din istoric: %s\n"
+
+#: ../midori/main.c:741
+#, c-format
+msgid "The configuration couldn't be saved. %s"
+msgstr "Nu s-au putut salva preferințele. %s"
+
+#: ../midori/main.c:770
+#, c-format
+msgid "The search engines couldn't be saved. %s"
+msgstr "Nu s-au putut salva motoarele de căutare. %s"
+
+#: ../midori/main.c:789 ../midori/main.c:817 ../midori/main.c:846
+#, c-format
+msgid "The bookmarks couldn't be saved. %s"
+msgstr "Nu s-au putut salva favoritele. %s"
+
+#. i18n: Trash, or wastebin, containing closed tabs
+#: ../midori/main.c:869 ../midori/main.c:892
+#, c-format
+msgid "The trash couldn't be saved. %s"
+msgstr "Nu s-a putut salva gunoiul. %s"
+
+#: ../midori/main.c:965
+#, c-format
+msgid "The session couldn't be saved. %s"
+msgstr "Nu s-a putut salva sesiunea. %s"
+
+#: ../midori/main.c:1092
+msgid ""
+"Midori seems to have crashed the last time it was opened. If this happened "
+"repeatedly, try one of the following options to solve the problem."
+msgstr ""
+"Se pare că Midori s-a terminat prematur la ultima pornire. Dacă se repetă "
+"problema, încercați una dintre opțiunile de mai jos pentru remediere."
+
+#: ../midori/main.c:1107
+msgid "Modify _preferences"
+msgstr "_Modificare preferințe"
+
+#: ../midori/main.c:1111
+msgid "Reset the last _session"
+msgstr "Ignoră ultima _sesiune"
+
+#: ../midori/main.c:1116
+msgid "Disable all _extensions"
+msgstr "Dezactivează _extensiile"
+
+#: ../midori/main.c:1315
+msgid "No filename specified"
+msgstr "Nu s-a precizat un fișier"
+
+#: ../midori/main.c:1338
+msgid "An unknown error occured."
+msgstr "A intervenit o eroare necunoscută."
+
+#: ../midori/main.c:1369
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "Captură salvată în : %s\n"
+
+#: ../midori/main.c:1389
+msgid "Run ADDRESS as a web application"
+msgstr "Execută ADRESA ca o aplicație web"
+
+#: ../midori/main.c:1389
+msgid "ADDRESS"
+msgstr "ADRESA"
+
+#: ../midori/main.c:1391
+msgid "Use FOLDER as configuration folder"
+msgstr "Folosește DOSAR ca dosar cu preferințe"
+
+#: ../midori/main.c:1391
+msgid "FOLDER"
+msgstr "DOSAR"
+
+#: ../midori/main.c:1393
+msgid "Run the specified filename as javascript"
+msgstr "Execută fișierul precizat ca JavaScript"
+
+#: ../midori/main.c:1395
+msgid "Take a snapshot of the specified URI"
+msgstr "Ia o captură a URI-ului specificat"
+
+#: ../midori/main.c:1397
+msgid "Display program version"
+msgstr "Afișează versiunea aplicației"
+
+#: ../midori/main.c:1399
+msgid "Addresses"
+msgstr "Adrese"
+
+#: ../midori/main.c:1442
+msgid "[Addresses]"
+msgstr "[Adrese]"
+
+#: ../midori/main.c:1465
+msgid "Please report comments, suggestions and bugs to:"
+msgstr "Trimiteți comentarii, sugestii și raportați defectele la:"
+
+#: ../midori/main.c:1467
+msgid "Check for new versions at:"
+msgstr "Versiunile noi sunt disponibile la:"
+
+#: ../midori/main.c:1543
+msgid "The specified configuration folder is invalid."
+msgstr "Dosarul cu preferințe precizat nu este valid."
+
+#: ../midori/main.c:1578
+msgid "An instance of Midori is already running but not responding.\n"
+msgstr "O instanță de Midori este deja pornită, dar nu răspunde.\n"
+
+#: ../midori/main.c:1628
+#, c-format
+msgid "The search engines couldn't be loaded. %s\n"
+msgstr "Nu s-au putut încărca motoarele de căutare. %s\n"
+
+#: ../midori/main.c:1640
+#, c-format
+msgid "The bookmarks couldn't be loaded: %s\n"
+msgstr "Nu s-au putut încărca favoritele: %s\n"
+
+#: ../midori/main.c:1655
+#, c-format
+msgid "The session couldn't be loaded: %s\n"
+msgstr "Nu s-a putut încărca sesiunea: %s\n"
+
+#: ../midori/main.c:1668
+#, c-format
+msgid "The trash couldn't be loaded: %s\n"
+msgstr "Nu s-a putut încărca gunoiul: %s\n"
+
+#: ../midori/main.c:1681
+#, c-format
+msgid "The history couldn't be loaded: %s\n"
+msgstr "Nu s-a putut încărca istoricul: %s\n"
+
+#: ../midori/main.c:1693
+msgid "The following errors occured:"
+msgstr "Au intervenit următoarele erori:"
+
+#: ../midori/main.c:1709
+msgid "_Ignore"
+msgstr "_Ignoră"
+
+#: ../midori/midori-array.c:195
+msgid "File not found."
+msgstr "Nu s-a găsit fișierul."
+
+#: ../midori/midori-array.c:203 ../midori/midori-array.c:212
+msgid "Malformed document."
+msgstr "Document deteriorat."
+
+#: ../midori/midori-array.c:338 ../midori/sokoke.c:716
+#, c-format
+msgid "Writing failed."
+msgstr "Eșec la scriere."
+
+#: ../midori/midori-browser.c:281 ../midori/midori-browser.c:3522
+#: ../midori/midori-browser.c:3528
+msgid "Reload the current page"
+msgstr "Reîncarcă pagina curentă"
+
+#: ../midori/midori-browser.c:292 ../midori/midori-browser.c:3525
+msgid "Stop loading the current page"
+msgstr "Oprește încărcarea paginii curente"
+
+#: ../midori/midori-browser.c:354
+#, c-format
+msgid "%d%% loaded"
+msgstr "%d%% încărcat"
+
+#: ../midori/midori-browser.c:379
+#, c-format
+msgid "Unexpected action '%s'."
+msgstr "Acțiune neașteptată „%s”."
+
+#: ../midori/midori-browser.c:598
+msgid "New folder"
+msgstr "Dosar nou"
+
+#: ../midori/midori-browser.c:598
+msgid "Edit folder"
+msgstr "Editare dosar"
+
+#: ../midori/midori-browser.c:600
+msgid "New bookmark"
+msgstr "Favorit nou"
+
+#: ../midori/midori-browser.c:600
+msgid "Edit bookmark"
+msgstr "Editare favorite"
+
+#: ../midori/midori-browser.c:630
+msgid "_Title:"
+msgstr "_Titlu:"
+
+#: ../midori/midori-browser.c:643 ../midori/midori-searchaction.c:948
+msgid "_Description:"
+msgstr "_Descriere:"
+
+#: ../midori/midori-browser.c:662 ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
+msgid "_Address:"
+msgstr "_Adresă:"
+
+#: ../midori/midori-browser.c:681
+msgid "_Folder:"
+msgstr "D_osar:"
+
+#: ../midori/midori-browser.c:686 ../midori/midori-browser.c:727
+msgid "Toplevel folder"
+msgstr "Dosarul rădăcină"
+
+#: ../midori/midori-browser.c:803
+msgid "Save file as"
+msgstr "Salvare fișier"
+
+#: ../midori/midori-browser.c:977
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "S-a descărcat fișierul <b>%s</b>."
+
+#: ../midori/midori-browser.c:980
+msgid "Transfer completed"
+msgstr "Descărcare finalizată"
+
+#: ../midori/midori-browser.c:1658
+msgid "Open file"
+msgstr "Deschidere fișier"
+
+#: ../midori/midori-browser.c:2961 ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:808
+msgid "Open all in _Tabs"
+msgstr "Deschide tot în _taburi"
+
+#: ../midori/midori-browser.c:2968 ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:814 ../extensions/feed-panel/feed-panel.c:538
+msgid "Open in New _Tab"
+msgstr "Deschide într-un _tab nou"
+
+#: ../midori/midori-browser.c:2971 ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:816 ../extensions/feed-panel/feed-panel.c:540
+msgid "Open in New _Window"
+msgstr "Deschide într-o _fereastră nouă"
+
+#: ../midori/midori-browser.c:3132
+msgid "Clear Private Data"
+msgstr "Curăță datele private"
+
+#: ../midori/midori-browser.c:3135
+msgid "_Clear private data"
+msgstr "Șterge datele pri_vate"
+
+#: ../midori/midori-browser.c:3148
+msgid "Clear the following data:"
+msgstr "Șterge următoarele date:"
+
+#: ../midori/midori-browser.c:3156 ../midori/midori-preferences.c:669
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "Istoric"
+
+#: ../midori/midori-browser.c:3159
+msgid "Cookies"
+msgstr "Cookie-uri"
+
+#: ../midori/midori-browser.c:3162
+msgid "'Flash' Cookies"
+msgstr "Cookie-uri Flash"
+
+#: ../midori/midori-browser.c:3165
+msgid "Website icons"
+msgstr "Iconițele siturilor"
+
+#: ../midori/midori-browser.c:3245
+msgid "A lightweight web browser."
+msgstr "Un mic navigator pentru Internet."
+
+#: ../midori/midori-browser.c:3253
+msgid "translator-credits"
+msgstr ""
+"Igor Știrbu <igor.stirbu@gmail.com>\n"
+"Mișu Moldovan <dumol@gnome.ro>"
+
+#: ../midori/midori-browser.c:3456
+msgid "_File"
+msgstr "_Fișier"
+
+#: ../midori/midori-browser.c:3459
+msgid "Open a new window"
+msgstr "Deschide o fereastră nouă"
+
+#: ../midori/midori-browser.c:3462
+msgid "Open a new tab"
+msgstr "Deschide un tab nou"
+
+#: ../midori/midori-browser.c:3465
+msgid "Open a file"
+msgstr "Deschide un fișier"
+
+#: ../midori/midori-browser.c:3468
+msgid "Save to a file"
+msgstr "Salvează într-un fișier"
+
+#: ../midori/midori-browser.c:3470
+msgid "_Close Tab"
+msgstr "În_chide tabul"
+
+#: ../midori/midori-browser.c:3471
+msgid "Close the current tab"
+msgstr "Închide tabul curent"
+
+#: ../midori/midori-browser.c:3473
+msgid "C_lose Window"
+msgstr "Înc_hide fereastra"
+
+#: ../midori/midori-browser.c:3474
+msgid "Close this window"
+msgstr "Închide această fereastră"
+
+#: ../midori/midori-browser.c:3477
+msgid "Print the current page"
+msgstr "Tipărește pagina curentă"
+
+#: ../midori/midori-browser.c:3480
+msgid "Quit the application"
+msgstr "Ieșire din aplicație"
+
+#: ../midori/midori-browser.c:3482
+msgid "_Edit"
+msgstr "_Editare"
+
+#: ../midori/midori-browser.c:3485
+msgid "Cut the selected text"
+msgstr "Taie textul selectat"
+
+#: ../midori/midori-browser.c:3488 ../midori/midori-browser.c:3491
+msgid "Copy the selected text"
+msgstr "Copiază textul selectat"
+
+#: ../midori/midori-browser.c:3494
+msgid "Paste text from the clipboard"
+msgstr "Lipește textul din clipboard"
+
+#: ../midori/midori-browser.c:3497
+msgid "Delete the selected text"
+msgstr "Șterge textul selectat"
+
+#: ../midori/midori-browser.c:3500
+msgid "Select all text"
+msgstr "Selectează tot textul"
+
+#: ../midori/midori-browser.c:3503
+msgid "Find a word or phrase in the page"
+msgstr "Caută un cuvânt sau o frază în pagină"
+
+#: ../midori/midori-browser.c:3505
+msgid "Find _Next"
+msgstr "Caută înai_nte"
+
+#: ../midori/midori-browser.c:3506
+msgid "Find the next occurrence of a word or phrase"
+msgstr "Caută următoarea potrivire a cuvântului sau a expresiei"
+
+#: ../midori/midori-browser.c:3508
+msgid "Find _Previous"
+msgstr "Caută înap_oi"
+
+#: ../midori/midori-browser.c:3509
+msgid "Find the previous occurrence of a word or phrase"
+msgstr "Caută apariția anterioară a cuvântului sau a expresiei"
+
+#: ../midori/midori-browser.c:3512
+msgid "_Quick Find"
+msgstr "Căutare _rapidă"
+
+#: ../midori/midori-browser.c:3513
+msgid "Quickly jump to a word or phrase"
+msgstr "Salt rapid la un cuvânt sau o expresie"
+
+#: ../midori/midori-browser.c:3516
+msgid "Configure the application preferences"
+msgstr "Schimbați preferințele aplicației"
+
+#: ../midori/midori-browser.c:3518
+msgid "_View"
+msgstr "_Vizualizare"
+
+#: ../midori/midori-browser.c:3519
+msgid "_Toolbars"
+msgstr "_Bare cu unelte"
+
+#: ../midori/midori-browser.c:3531
+msgid "Increase the zoom level"
+msgstr "Mărește"
+
+#: ../midori/midori-browser.c:3534
+msgid "Decrease the zoom level"
+msgstr "Micșorează"
+
+#: ../midori/midori-browser.c:3537
+msgid "Reset the zoom level"
+msgstr "Resetează mărimea"
+
+#: ../midori/midori-browser.c:3538
+msgid "_Encoding"
+msgstr "C_odare"
+
+#: ../midori/midori-browser.c:3540
+msgid "_Automatic"
+msgstr "_Automată"
+
+#: ../midori/midori-browser.c:3543 ../midori/midori-websettings.c:202
+msgid "Chinese (BIG5)"
+msgstr "Chineză (BIG5)"
+
+#: ../midori/midori-browser.c:3546 ../midori/midori-websettings.c:203
+msgid "Japanese (SHIFT_JIS)"
+msgstr "Japoneză (SHIFT_JIS)"
+
+#: ../midori/midori-browser.c:3549 ../midori/midori-websettings.c:204
+msgid "Russian (KOI8-R)"
+msgstr "Rusă (KOI8-R)"
+
+#: ../midori/midori-browser.c:3552 ../midori/midori-websettings.c:205
+msgid "Unicode (UTF-8)"
+msgstr "Unicode (UTF-8)"
+
+#: ../midori/midori-browser.c:3555 ../midori/midori-websettings.c:206
+msgid "Western (ISO-8859-1)"
+msgstr "Vestică (ISO-8859-1)"
+
+#: ../midori/midori-browser.c:3558 ../midori/midori-websettings.c:207
+#: ../midori/midori-websettings.c:279
+msgid "Custom..."
+msgstr "Personalizată..."
+
+#: ../midori/midori-browser.c:3561 ../midori/midori-view.c:1213
+msgid "View _Source"
+msgstr "Vizualizare s_ursă"
+
+#: ../midori/midori-browser.c:3562
+msgid "View the source code of the page"
+msgstr "Vizualizare a codului sursă a paginii"
+
+#: ../midori/midori-browser.c:3564
+msgid "View Selection Source"
+msgstr "Vizualizare sursă selecție"
+
+#: ../midori/midori-browser.c:3565
+msgid "View the source code of the selection"
+msgstr "Vizualizare a codului sursă din selecție"
+
+#: ../midori/midori-browser.c:3569
+msgid "Toggle fullscreen view"
+msgstr "Comută modul pe tot ecranul"
+
+#: ../midori/midori-browser.c:3571
+msgid "_Go"
+msgstr "_Navigare"
+
+#: ../midori/midori-browser.c:3574
+msgid "Go back to the previous page"
+msgstr "Salt la pagina anterioară"
+
+#: ../midori/midori-browser.c:3577
+msgid "Go forward to the next page"
+msgstr "Salt la pagina următoare"
+
+#: ../midori/midori-browser.c:3580
+msgid "Go to your homepage"
+msgstr "Salt la pagina principală"
+
+#: ../midori/midori-browser.c:3582
+msgid "Empty Trash"
+msgstr "Golește gunoiul"
+
+#: ../midori/midori-browser.c:3583
+msgid "Delete the contents of the trash"
+msgstr "Șterge conținutul coșului de gunoi"
+
+#: ../midori/midori-browser.c:3585 ../midori/midori-view.c:1185
+msgid "Undo Close Tab"
+msgstr "Revocă închiderea tabului"
+
+#: ../midori/midori-browser.c:3586
+msgid "Open the last closed tab"
+msgstr "Deschide ultimul tab închis"
+
+#: ../midori/midori-browser.c:3590 ../panels/midori-bookmarks.c:230
+msgid "Add a new bookmark"
+msgstr "Adaugă un favorit nou"
+
+#: ../midori/midori-browser.c:3592 ../panels/midori-bookmarks.c:259
+msgid "Add a new folder"
+msgstr "Adaugă un dosar nou"
+
+#: ../midori/midori-browser.c:3593
+msgid "Add a new bookmark folder"
+msgstr "Adaugă un dosar cu favorite"
+
+#: ../midori/midori-browser.c:3594
+msgid "_Tools"
+msgstr "_Unelte"
+
+#: ../midori/midori-browser.c:3596 ../midori/midori-searchaction.c:493
+msgid "_Manage Search Engines"
+msgstr "Gestionare _motoare de căutare"
+
+#: ../midori/midori-browser.c:3597
+msgid "Add, edit and remove search engines..."
+msgstr "Adăugați, editați și ștergeți motoare de căutare..."
+
+#: ../midori/midori-browser.c:3600
+msgid "_Clear Private Data"
+msgstr "Șt_erge datele private"
+
+#: ../midori/midori-browser.c:3601
+msgid "Clear private data..."
+msgstr "Ștergere date private..."
+
+#: ../midori/midori-browser.c:3605
+msgid "_Previous Tab"
+msgstr "Tabul a_nterior"
+
+#: ../midori/midori-browser.c:3606
+msgid "Switch to the previous tab"
+msgstr "Comută la tabul anterior"
+
+#: ../midori/midori-browser.c:3608
+msgid "_Next Tab"
+msgstr "Tabul u_rmător"
+
+#: ../midori/midori-browser.c:3609
+msgid "Switch to the next tab"
+msgstr "Comută la tabul următor"
+
+#: ../midori/midori-browser.c:3611
+msgid "_Help"
+msgstr "_Ajutor"
+
+#: ../midori/midori-browser.c:3613
+msgid "_Contents"
+msgstr "_Conținut"
+
+#: ../midori/midori-browser.c:3614
+msgid "Show the documentation"
+msgstr "Arată documentația"
+
+#: ../midori/midori-browser.c:3616
+msgid "_Frequent Questions"
+msgstr "Întrebări _frecvente"
+
+#: ../midori/midori-browser.c:3617
+msgid "Show the Frequently Asked Questions"
+msgstr "Arată întrebările frecvente"
+
+#: ../midori/midori-browser.c:3619
+msgid "_Report a Bug"
+msgstr "_Raportare defect"
+
+#: ../midori/midori-browser.c:3620
+msgid "Open Midori's bug tracker"
+msgstr "Deschide gestionarul de defecte al Midori"
+
+#: ../midori/midori-browser.c:3623
+msgid "Show information about the program"
+msgstr "Arată detalii despre aplicație"
+
+#: ../midori/midori-browser.c:3630
+msgid "P_rivate Browsing"
+msgstr "Navigare p_rivată"
+
+#: ../midori/midori-browser.c:3631
+msgid "Don't save any private data while browsing"
+msgstr "Nu salva date private în timpul navigării"
+
+#: ../midori/midori-browser.c:3636
+msgid "_Menubar"
+msgstr "Bară de _meniu"
+
+#: ../midori/midori-browser.c:3637
+msgid "Show menubar"
+msgstr "Arată bara de meniu"
+
+#: ../midori/midori-browser.c:3640
+msgid "_Navigationbar"
+msgstr "Bară de _navigare"
+
+#: ../midori/midori-browser.c:3641
+msgid "Show navigationbar"
+msgstr "Arată bara de navigare"
+
+#: ../midori/midori-browser.c:3644
+msgid "Side_panel"
+msgstr "_Panou lateral"
+
+#: ../midori/midori-browser.c:3645
+msgid "Show sidepanel"
+msgstr "Arată panoul lateral"
+
+#: ../midori/midori-browser.c:3648
+msgid "_Bookmarkbar"
+msgstr "Bară cu _favorite"
+
+#: ../midori/midori-browser.c:3649
+msgid "Show bookmarkbar"
+msgstr "Arată bara cu favorite"
+
+#: ../midori/midori-browser.c:3652
+msgid "_Transferbar"
+msgstr "Bară de _descărcare"
+
+#: ../midori/midori-browser.c:3653
+msgid "Show transferbar"
+msgstr "Arată bara descărcărilor"
+
+#: ../midori/midori-browser.c:3656
+msgid "_Statusbar"
+msgstr "Bară de _stare"
+
+#: ../midori/midori-browser.c:3657
+msgid "Show statusbar"
+msgstr "Arată bara de stare"
+
+#: ../midori/midori-browser.c:4088
+msgid "_Separator"
+msgstr "_Separator"
+
+#: ../midori/midori-browser.c:4095
+msgid "_Location..."
+msgstr "_Locație..."
+
+#: ../midori/midori-browser.c:4097
+msgid "Open a particular location"
+msgstr "Deschide o anumită locație"
+
+#: ../midori/midori-browser.c:4119
+msgid "_Web Search..."
+msgstr "Caută pe _Internet..."
+
+#: ../midori/midori-browser.c:4121
+msgid "Run a web search"
+msgstr "Pornește o căutare pe Internet"
+
+#: ../midori/midori-browser.c:4142
+msgid "Reopen a previously closed tab or window"
+msgstr "Redeschideți taburi ori ferestre închise recent"
+
+#: ../midori/midori-browser.c:4155
+msgid "_Recently visited pages"
+msgstr "Pagini vizitate _recent"
+
+#: ../midori/midori-browser.c:4157
+msgid "Reopen pages that you visited earlier"
+msgstr "Redeschideți pagini vizitate recent"
+
+#: ../midori/midori-browser.c:4170 ../midori/sokoke.c:872
+msgid "_Bookmarks"
+msgstr "Favo_rite"
+
+#: ../midori/midori-browser.c:4172
+msgid "Show the saved bookmarks"
+msgstr "Arată favoritele salvate"
+
+#: ../midori/midori-browser.c:4187
+msgid "_Window"
+msgstr "Fereas_tră"
+
+#: ../midori/midori-browser.c:4189
+msgid "Show a list of all open tabs"
+msgstr "Arată lista tuturor taburilor deschise"
+
+#. i18n: A panel at the bottom, to search text in pages
+#: ../midori/midori-browser.c:4356
+msgid "_Inline Find:"
+msgstr "Căutare _inclusă:"
+
+#: ../midori/midori-browser.c:4381
+msgid "Previous"
+msgstr "Anterioară"
+
+#: ../midori/midori-browser.c:4386
+msgid "Next"
+msgstr "Următoare"
+
+#: ../midori/midori-browser.c:4391
+msgid "Match Case"
+msgstr "Majuscule semnificative"
+
+#: ../midori/midori-browser.c:4399
+msgid "Highlight Matches"
+msgstr "Evidențiază potrivirile"
+
+#: ../midori/midori-browser.c:4409
+msgid "Close Findbar"
+msgstr "Închide bara de căutare"
+
+#: ../midori/midori-browser.c:4444 ../extensions/cookie-manager.c:821
+msgid "Delete All"
+msgstr "Șterge tot"
+
+#: ../midori/midori-browser.c:4837
+#, c-format
+msgid "Unexpected setting '%s'"
+msgstr "Opțiune neașteptată „%s”"
+
+#: ../midori/midori-panel.c:333
+msgid "Detach chosen panel from the window"
+msgstr "Detașează de fereastră panoul ales"
+
+#: ../midori/midori-panel.c:335
+msgid "Whether to detach the chosen panel from the window"
+msgstr "Specifică dacă se detașează de fereastră panoul ales"
+
+#: ../midori/midori-panel.c:345 ../midori/midori-websettings.c:533
+msgid "Align sidepanel on the right"
+msgstr "Aliniază la dreapta panoul lateral"
+
+#: ../midori/midori-panel.c:347 ../midori/midori-websettings.c:534
+msgid "Whether to align the sidepanel on the right"
+msgstr "Specifică dacă panoul lateral se aliniază la dreapta"
+
+#: ../midori/midori-panel.c:357 ../midori/midori-panel.c:358
+msgid "Close panel"
+msgstr "Închide panoul"
+
+#: ../midori/midori-websettings.c:185 ../midori/midori-view.c:2032
+msgid "Blank page"
+msgstr "O pagină goală"
+
+#: ../midori/midori-websettings.c:186 ../midori/midori-websettings.c:553
+msgid "Homepage"
+msgstr "Pagina de pornire"
+
+#: ../midori/midori-websettings.c:187
+msgid "Last open pages"
+msgstr "Ultimele pagini deschise"
+
+#: ../midori/midori-websettings.c:222
+msgid "New tab"
+msgstr "Tab nou"
+
+#: ../midori/midori-websettings.c:223
+msgid "New window"
+msgstr "Fereastră nouă"
+
+#: ../midori/midori-websettings.c:224
+msgid "Current tab"
+msgstr "Tab curent"
+
+#: ../midori/midori-websettings.c:239
+msgid "Default"
+msgstr "Implicit"
+
+#: ../midori/midori-websettings.c:240
+msgid "Icons"
+msgstr "Iconițe"
+
+#: ../midori/midori-websettings.c:241
+msgid "Text"
+msgstr "Text"
+
+#: ../midori/midori-websettings.c:242
+msgid "Both"
+msgstr "Ambele"
+
+#: ../midori/midori-websettings.c:243
+msgid "Both horizontal"
+msgstr "Ambele pe orizontală"
+
+#: ../midori/midori-websettings.c:258
+msgid "All cookies"
+msgstr "Toate cookie-urile"
+
+#: ../midori/midori-websettings.c:259
+msgid "Session cookies"
+msgstr "Cookie-uri de sesiune"
+
+#: ../midori/midori-websettings.c:260 ../panels/midori-addons.c:94
+msgid "None"
+msgstr "Fără"
+
+#: ../midori/midori-websettings.c:276
+msgid "Safari"
+msgstr "Safari"
+
+#: ../midori/midori-websettings.c:277
+msgid "Firefox"
+msgstr "Firefox"
+
+#: ../midori/midori-websettings.c:278
+msgid "Internet Explorer"
+msgstr "Internet Explorer"
+
+#: ../midori/midori-websettings.c:331
+msgid "Remember last window size"
+msgstr "Reține dimensiunea ultimei ferestre"
+
+#: ../midori/midori-websettings.c:332
+msgid "Whether to save the last window size"
+msgstr "Specifică dacă se salvează dimensiunea ultimei ferestre"
+
+#: ../midori/midori-websettings.c:340
+msgid "Last window width"
+msgstr "Lățimea ultimei ferestre"
+
+#: ../midori/midori-websettings.c:341
+msgid "The last saved window width"
+msgstr "Ultima lățime salvată a ferestrei"
+
+#: ../midori/midori-websettings.c:349
+msgid "Last window height"
+msgstr "Înălțimea ultimei ferestre"
+
+#: ../midori/midori-websettings.c:350
+msgid "The last saved window height"
+msgstr "Ultima înălțime salvată a ferestrei"
+
+#: ../midori/midori-websettings.c:375
+msgid "Last panel position"
+msgstr "Ultima poziție a panoului"
+
+#: ../midori/midori-websettings.c:376
+msgid "The last saved panel position"
+msgstr "Ultima poziție salvată a panoului"
+
+#. i18n: The internal index of the last opened panel
+#: ../midori/midori-websettings.c:385
+msgid "Last panel page"
+msgstr "Ultima pagină a panoului"
+
+#: ../midori/midori-websettings.c:386
+msgid "The last saved panel page"
+msgstr "Ulima pagină salvată a panoului"
+
+#: ../midori/midori-websettings.c:394
+msgid "Last Web search"
+msgstr "Ultima căutare web"
+
+#: ../midori/midori-websettings.c:395
+msgid "The last saved Web search"
+msgstr "Ultima căutare web salvată"
+
+#: ../midori/midori-websettings.c:404
+msgid "Show Menubar"
+msgstr "Arată bara de meniu"
+
+#: ../midori/midori-websettings.c:405
+msgid "Whether to show the menubar"
+msgstr "Specifică dacă se afișează bara de meniu"
+
+#: ../midori/midori-websettings.c:413
+msgid "Show Navigationbar"
+msgstr "Arată bara de navigare"
+
+#: ../midori/midori-websettings.c:414
+msgid "Whether to show the navigationbar"
+msgstr "Specifică dacă se afișează bara de navigare"
+
+#: ../midori/midori-websettings.c:422
+msgid "Show Bookmarkbar"
+msgstr "Arată bara cu favorite"
+
+#: ../midori/midori-websettings.c:423
+msgid "Whether to show the bookmarkbar"
+msgstr "Specifică dacă se afișează bara cu favorite"
+
+#: ../midori/midori-websettings.c:431
+msgid "Show Panel"
+msgstr "Arată panoul"
+
+#: ../midori/midori-websettings.c:432
+msgid "Whether to show the panel"
+msgstr "Specifică dacă se afișează panoul"
+
+#: ../midori/midori-websettings.c:447
+msgid "Show Transferbar"
+msgstr "Arată bara descărcărilor"
+
+#: ../midori/midori-websettings.c:448
+msgid "Whether to show the transferbar"
+msgstr "Specifică dacă se afișează bara descărcărilor"
+
+#: ../midori/midori-websettings.c:456
+msgid "Show Statusbar"
+msgstr "Arată bara de stare"
+
+#: ../midori/midori-websettings.c:457
+msgid "Whether to show the statusbar"
+msgstr "Specifică dacă se afișează bara de stare"
+
+#: ../midori/midori-websettings.c:466
+msgid "Toolbar Style"
+msgstr "Stil bară cu unelte"
+
+#: ../midori/midori-websettings.c:467
+msgid "The style of the toolbar"
+msgstr "Stilul barei cu unelte"
+
+#: ../midori/midori-websettings.c:483
+msgid "Show progress in location entry"
+msgstr "Arată progresul în bara de adrese"
+
+#: ../midori/midori-websettings.c:484
+msgid "Whether to show loading progress in the location entry"
+msgstr "Specifică dacă se afișează progresul încărcării în bara de adrese"
+
+#: ../midori/midori-websettings.c:499
+msgid "Search engines in location completion"
+msgstr "Arată motoarele în bara de adrese"
+
+#: ../midori/midori-websettings.c:500
+msgid "Whether to show search engines in the location completion"
+msgstr ""
+"Specifică dacă se afișează motoarele de căutare la completare în bara de "
+"adrese"
+
+#: ../midori/midori-websettings.c:508
+msgid "Toolbar Items"
+msgstr "Elementele barei cu unelte"
+
+#: ../midori/midori-websettings.c:509
+msgid "The items to show on the toolbar"
+msgstr "Elementele de arătat în bara cu unelte"
+
+#: ../midori/midori-websettings.c:517
+msgid "Compact Sidepanel"
+msgstr "Panou lateral compact"
+
+#: ../midori/midori-websettings.c:518
+msgid "Whether to make the sidepanel compact"
+msgstr "Specifică dacă panoul lateral e compact"
+
+#: ../midori/midori-websettings.c:543
+msgid "Load on Startup"
+msgstr "De încărcat la pornire"
+
+#: ../midori/midori-websettings.c:544
+msgid "What to load on startup"
+msgstr "Alegeți ce să se încarce la pornire"
+
+#: ../midori/midori-websettings.c:554
+msgid "The homepage"
+msgstr "Pagina de pornire"
+
+#: ../midori/midori-websettings.c:569
+msgid "Show crash dialog"
+msgstr "Întreabă la pornire după o terminare prematură"
+
+#: ../midori/midori-websettings.c:570
+msgid "Show a dialog after Midori crashed"
+msgstr "Afișează o fereastră la următoarea pornire după o terminare prematură"
+
+#: ../midori/midori-websettings.c:578
+msgid "Download Folder"
+msgstr "Dosar pentru descărcări"
+
+#: ../midori/midori-websettings.c:579
+msgid "The folder downloaded files are saved to"
+msgstr "Calea către dosarul pentru salvarea fișierelor descărcate"
+
+#: ../midori/midori-websettings.c:598
+msgid "Ask for the destination folder"
+msgstr "Cere un dosar de destinație"
+
+#: ../midori/midori-websettings.c:599
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr ""
+"Specifică dacă se va cere precizarea dosarului în care se face descărcarea"
+
+#: ../midori/midori-websettings.c:618
+msgid "Notify when a transfer has been completed"
+msgstr "Notifică la finalizarea descărcărilor"
+
+#: ../midori/midori-websettings.c:619
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "Specifică dacă se afișează o notificare la finalizarea unei descărcări"
+
+#: ../midori/midori-websettings.c:631
+msgid "Download Manager"
+msgstr "Gestionar de descărcări"
+
+#: ../midori/midori-websettings.c:632
+msgid "An external download manager"
+msgstr "Gestionar extern de descărcări"
+
+#: ../midori/midori-websettings.c:640
+msgid "Text Editor"
+msgstr "Editor de text"
+
+#: ../midori/midori-websettings.c:641
+msgid "An external text editor"
+msgstr "Editor extern de text"
+
+#: ../midori/midori-websettings.c:656
+msgid "News Aggregator"
+msgstr "Agregator de știri"
+
+#: ../midori/midori-websettings.c:657
+msgid "An external news aggregator"
+msgstr "Agregator extern de știri"
+
+#: ../midori/midori-websettings.c:665
+msgid "Location entry Search"
+msgstr "Căutarea în bara de adrese"
+
+#: ../midori/midori-websettings.c:666
+msgid "The search to perform inside the location entry"
+msgstr "Căutarea de efectuat în bara de adrese"
+
+#: ../midori/midori-websettings.c:674
+msgid "Preferred Encoding"
+msgstr "Codare preferată"
+
+#: ../midori/midori-websettings.c:675
+msgid "The preferred character encoding"
+msgstr "Codarea de caractere preferată"
+
+#: ../midori/midori-websettings.c:685
+msgid "Always Show Tabbar"
+msgstr "Arată întotdeauna bara cu taburi"
+
+#: ../midori/midori-websettings.c:686
+msgid "Always show the tabbar"
+msgstr "Arată întotdeauna bara cu taburi"
+
+#: ../midori/midori-websettings.c:694
+msgid "Close Buttons on Tabs"
+msgstr "Butoane de închidere pe taburi"
+
+#: ../midori/midori-websettings.c:695
+msgid "Whether tabs have close buttons"
+msgstr "Specifică dacă se adaugă butoane de închidere pe taburi"
+
+#: ../midori/midori-websettings.c:703
+msgid "Open new pages in"
+msgstr "Paginile noi se vor deschide în"
+
+#: ../midori/midori-websettings.c:704
+msgid "Where to open new pages"
+msgstr "Alegeți unde să se deschidă paginile noi"
+
+#: ../midori/midori-websettings.c:713
+msgid "Open external pages in"
+msgstr "Paginile externe se vor deschide în"
+
+#: ../midori/midori-websettings.c:714
+msgid "Where to open externally opened pages"
+msgstr "Alegeți unde să se deschidă paginile externe"
+
+#: ../midori/midori-websettings.c:727
+msgid "Middle click opens Selection"
+msgstr "Butonul din mijloc deschide selecția"
+
+#: ../midori/midori-websettings.c:728
+msgid "Load an address from the selection via middle click"
+msgstr ""
+"Încarcă adresa din clipboard prin clic pe butonul din mijloc al mausului"
+
+#: ../midori/midori-websettings.c:736
+msgid "Open tabs in the background"
+msgstr "Deschide taburile în fundal"
+
+#: ../midori/midori-websettings.c:737
+msgid "Whether to open new tabs in the background"
+msgstr "Specifică dacă taburile noi se deschid în fundal"
+
+#: ../midori/midori-websettings.c:745
+msgid "Open Tabs next to Current"
+msgstr "Deschide taburile lângă cel curent"
+
+#: ../midori/midori-websettings.c:746
+msgid "Whether to open new tabs next to the current tab or after the last one"
+msgstr ""
+"Specifică dacă taburile noi se deschid lângă cel curent sau după ultimul tab"
+
+#: ../midori/midori-websettings.c:754
+msgid "Open popups in tabs"
+msgstr "Deschide popup-urile în taburi"
+
+#: ../midori/midori-websettings.c:755
+msgid "Whether to open popup windows in tabs"
+msgstr "Specifică dacă ferestrele popup se deschid în taburi"
+
+#: ../midori/midori-websettings.c:771
+msgid "Zoom Text and Images"
+msgstr "Scalează imaginile odată cu textul"
+
+#: ../midori/midori-websettings.c:772
+msgid "Whether to zoom text and images"
+msgstr "Specifică dacă se scalează concomitent textul și imaginile"
+
+#: ../midori/midori-websettings.c:787
+msgid "Find inline while typing"
+msgstr "Caută în pagină pe măsură ce se tastează"
+
+#: ../midori/midori-websettings.c:788
+msgid "Whether to automatically find inline while typing"
+msgstr "Specifică dacă se caută automat pe măsură ce se tastează"
+
+#: ../midori/midori-websettings.c:796
+msgid "Accept cookies"
+msgstr "Acceptă cookie-uri"
+
+#: ../midori/midori-websettings.c:797
+msgid "What type of cookies to accept"
+msgstr "Tipuri de cookie-uri acceptate"
+
+#: ../midori/midori-websettings.c:806
+msgid "Original cookies only"
+msgstr "Doar cookie-uri originale"
+
+#: ../midori/midori-websettings.c:807
+msgid "Accept cookies from the original website only"
+msgstr "Acceptă cookie-uri doar de la situl original"
+
+#: ../midori/midori-websettings.c:815
+msgid "Maximum cookie age"
+msgstr "Durata maximă pentru cookie-uri"
+
+#: ../midori/midori-websettings.c:816
+msgid "The maximum number of days to save cookies for"
+msgstr "Numărul maxim de zile pentru păstrarea cookie-urilor"
+
+#: ../midori/midori-websettings.c:826
+msgid "Remember last visited pages"
+msgstr "Reține ultimele pagini vizitate"
+
+#: ../midori/midori-websettings.c:827
+msgid "Whether the last visited pages are saved"
+msgstr "Specifică dacă se rețin ultimele pagini vizitate"
+
+#: ../midori/midori-websettings.c:835
+msgid "Maximum history age"
+msgstr "Vârsta maximă pentru istoric"
+
+#: ../midori/midori-websettings.c:836
+msgid "The maximum number of days to save the history for"
+msgstr "Numărul maxim de zile pentru păstrarea istoricului"
+
+#: ../midori/midori-websettings.c:844
+msgid "Remember last form inputs"
+msgstr "Reține datele din formulare"
+
+#: ../midori/midori-websettings.c:845
+msgid "Whether the last form inputs are saved"
+msgstr "Specifică dacă se rețin ultimele date introduse în formulare"
+
+#: ../midori/midori-websettings.c:853
+msgid "Remember last downloaded files"
+msgstr "Reține ultimele fișiere descărcate"
+
+#: ../midori/midori-websettings.c:854
+msgid "Whether the last downloaded files are saved"
+msgstr "Specifică dacă se rețin ultimele fișiere descărcate"
+
+#: ../midori/midori-websettings.c:864
+msgid "Proxy Server"
+msgstr "Server proxy"
+
+#: ../midori/midori-websettings.c:865
+msgid "The proxy server used for HTTP connections"
+msgstr "Serverul proxy pentru conexiuni HTTP"
+
+#: ../midori/midori-websettings.c:880
+msgid "Detect proxy server automatically"
+msgstr "Detectează automat serverul proxy"
+
+#: ../midori/midori-websettings.c:881
+msgid "Whether to detect the proxy server automatically from the environment"
+msgstr ""
+"Specifică dacă se detectează automat serverul proxy din variabilele de mediu"
+
+#. i18n: This refers to an application, not the 'user agent' string
+#: ../midori/midori-websettings.c:897
+msgid "Identify as"
+msgstr "Identificare"
+
+#: ../midori/midori-websettings.c:898
+msgid "What to identify as to web pages"
+msgstr "Alegeți identitatea de prezentat serverelor web"
+
+#: ../midori/midori-websettings.c:914
+msgid "Identification string"
+msgstr "Șir de identificare"
+
+#: ../midori/midori-websettings.c:915
+msgid "The application identification string"
+msgstr "Șirul de identificare al aplicației"
+
+#: ../midori/midori-websettings.c:923
+msgid "Cache size"
+msgstr "Mărime cache"
+
+#: ../midori/midori-websettings.c:924
+msgid "The allowed size of the cache"
+msgstr "Mărime maximă pentru cache"
+
+#: ../midori/midori-view.c:648
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "Nu s-a putut încărca pagina „%s”."
+
+#: ../midori/midori-view.c:650 ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "Eroare"
+
+#: ../midori/midori-view.c:653
+msgid "Try again"
+msgstr "Reîncearcă"
+
+#. i18n: The title of the 404 - Not found error page
+#. Error pages are special, we want to try loading the destination
+#. again, not the error page which isn't even a proper page
+#: ../midori/midori-view.c:680 ../midori/midori-view.c:2556
+#, c-format
+msgid "Not found - %s"
+msgstr "%s nu a fost găsit"
+
+#: ../midori/midori-view.c:1047
+msgid "Open _Link"
+msgstr "Deschide _linkul"
+
+#: ../midori/midori-view.c:1049
+msgid "Open Link in New _Tab"
+msgstr "Deschide linkul într-un _tab nou"
+
+#: ../midori/midori-view.c:1066
+msgid "Open Link in New _Window"
+msgstr "Deschide linkul într-o _fereastră nouă"
+
+#: ../midori/midori-view.c:1075
+msgid "_Download Link destination"
+msgstr "_Descarcă destinația linkului"
+
+#: ../midori/midori-view.c:1081
+msgid "_Save Link destination"
+msgstr "_Salvează destinația linkului"
+
+#: ../midori/midori-view.c:1090
+msgid "Download with Download _Manager"
+msgstr "D_escarcă cu gestionarul de descărcări"
+
+#: ../midori/midori-view.c:1119
+msgid "Search _with"
+msgstr "Caută c_u"
+
+#: ../midori/midori-view.c:1147
+msgid "_Search the Web"
+msgstr "C_aută pe Internet"
+
+#: ../midori/midori-view.c:1157
+msgid "Open Address in New _Tab"
+msgstr "Deschide adresa într-un _tab nou"
+
+#: ../midori/midori-view.c:1309
+msgid "Open or download file"
+msgstr "Deschide sau descarcă fișierul"
+
+#: ../midori/midori-view.c:1326
+#, c-format
+msgid "File Type: '%s'"
+msgstr "Tip fișier: „%s”"
+
+#: ../midori/midori-view.c:1329
+#, c-format
+msgid "File Type: %s ('%s')"
+msgstr "Tip fișier: %s („%s”)"
+
+#. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
+#: ../midori/midori-view.c:1333
+#, c-format
+msgid "Open %s"
+msgstr "Deschide %s"
+
+#: ../midori/midori-view.c:1742
+#, c-format
+msgid "Inspect page - %s"
+msgstr "Inspectare pagină - %s"
+
+#: ../midori/midori-view.c:1894
+#, c-format
+msgid "Document cannot be displayed"
+msgstr "Documentul nu poate fi afișat"
+
+#: ../midori/midori-view.c:1911
+#, c-format
+msgid "No documentation installed"
+msgstr "Documentația nu este instalată"
+
+#: ../midori/midori-preferences.c:91
+#, c-format
+msgid "Preferences for %s"
+msgstr "Preferințe %s"
+
+#. Page "General"
+#: ../midori/midori-preferences.c:399
+msgid "General"
+msgstr "Generale"
+
+#: ../midori/midori-preferences.c:400
+msgid "Startup"
+msgstr "Pornire"
+
+#: ../midori/midori-preferences.c:416
+msgid "Use current page as homepage"
+msgstr "Utilizează pagina curentă ca pagină principală"
+
+#: ../midori/midori-preferences.c:424 ../panels/midori-transfers.c:88
+msgid "Transfers"
+msgstr "Transferuri"
+
+#. Page "Appearance"
+#: ../midori/midori-preferences.c:440
+msgid "Appearance"
+msgstr "Aspect"
+
+#: ../midori/midori-preferences.c:441
+msgid "Font settings"
+msgstr "Preferințe fonturi"
+
+#: ../midori/midori-preferences.c:443
+msgid "Default Font Family"
+msgstr "Familie implicită de fonturi"
+
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "Familie implicită de fonturi pentru afișarea textului"
+
+#: ../midori/midori-preferences.c:450
+msgid "The default font size used to display text"
+msgstr "Mărime implicită a fontului pentru afișarea textului"
+
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "Familie de fonturi cu lățime fixă"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr "Familie de fonturi utilizată pentru afișarea textului de lățime fixă"
+
+#: ../midori/midori-preferences.c:458
+msgid "Minimum Font Size"
+msgstr "Mărime minimă a fontului"
+
+#: ../midori/midori-preferences.c:461
+msgid "The minimum font size used to display text"
+msgstr "Mărime minimă a fontului pentru afișarea textului"
+
+#: ../midori/midori-preferences.c:468
+msgid "Encoding"
+msgstr "Codare"
+
+#: ../midori/midori-preferences.c:471
+msgid "The character encoding to use by default"
+msgstr "Codarea implicită pentru caractere"
+
+#. Page "Behavior"
+#: ../midori/midori-preferences.c:478
+msgid "Behavior"
+msgstr "Comportament"
+
+#: ../midori/midori-preferences.c:479
+msgid "Features"
+msgstr "Facilități"
+
+#: ../midori/midori-preferences.c:482 ../extensions/statusbar-features.c:54
+msgid "Load images automatically"
+msgstr "Încarcă automat imaginile"
+
+#: ../midori/midori-preferences.c:483
+msgid "Load and display images automatically"
+msgstr "Încarcă și afișează automat imaginile"
+
+#: ../midori/midori-preferences.c:486
+msgid "Shrink images automatically"
+msgstr "Micșorează automat imaginile"
+
+#: ../midori/midori-preferences.c:487
+msgid "Automatically shrink standalone images to fit"
+msgstr "Micșorează automat imaginile pentru a le potrivi"
+
+#: ../midori/midori-preferences.c:490
+msgid "Print background images"
+msgstr "Tipărește imaginile de fundal"
+
+#: ../midori/midori-preferences.c:491
+msgid "Whether background images should be printed"
+msgstr "Specifică dacă se tipăresc și imaginile de fundal"
+
+#: ../midori/midori-preferences.c:494
+msgid "Resizable text areas"
+msgstr "Zone de text redimensionabile"
+
+#: ../midori/midori-preferences.c:495
+msgid "Whether text areas are resizable"
+msgstr "Specifică dacă se pot redimensiona zonele de text"
+
+#: ../midori/midori-preferences.c:498 ../extensions/statusbar-features.c:63
+msgid "Enable scripts"
+msgstr "Execută scripturi"
+
+#: ../midori/midori-preferences.c:499
+msgid "Enable embedded scripting languages"
+msgstr "Activează limbajele de scripting incluse"
+
+#: ../midori/midori-preferences.c:502 ../extensions/statusbar-features.c:72
+msgid "Enable Netscape plugins"
+msgstr "Utilizează module Netscape"
+
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "Activează modulele Netscape incluse"
+
+#: ../midori/midori-preferences.c:506
+msgid "Enforce 96 dots per inch"
+msgstr "Forțează afișarea în 96 DPI"
+
+#: ../midori/midori-preferences.c:507
+msgid "Enforce a video dot density of 96 DPI"
+msgstr "Forțează la 96 DPI densitatea punctelor vizualizării"
+
+#: ../midori/midori-preferences.c:510
+msgid "Enable developer tools"
+msgstr "Activează uneltele de dezvoltare"
+
+#: ../midori/midori-preferences.c:511
+msgid "Enable special extensions for developers"
+msgstr "Activează extensiile speciale pentru dezvoltatori"
+
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "Verificare ortografică"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "Activează verificarea ortografică"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "Verifică ortografia pe măsură ce se tastează"
+
+#: ../midori/midori-preferences.c:525
+msgid ""
+"A comma separated list of languages to be used for spell checking, for "
+"example \"en_GB,de_DE\""
+msgstr ""
+"O listă separată prin virgule de limbi pentru care se activează verificarea "
+"ortografică, de exemplu: „ro_RO,en_GB”"
+
+#. Page "Interface"
+#: ../midori/midori-preferences.c:530
+msgid "Interface"
+msgstr "Interfață"
+
+#: ../midori/midori-preferences.c:531
+msgid "Navigationbar"
+msgstr "Bară de navigare"
+
+#: ../midori/midori-preferences.c:542
+msgid "Browsing"
+msgstr "Navigare"
+
+#. Page "Applications"
+#: ../midori/midori-preferences.c:572
+msgid "Applications"
+msgstr "Aplicații"
+
+#: ../midori/midori-preferences.c:573
+msgid "External applications"
+msgstr "Aplicații externe"
+
+#. Page "Network"
+#: ../midori/midori-preferences.c:619 ../midori/midori-preferences.c:620
+msgid "Network"
+msgstr "Rețea"
+
+#: ../midori/midori-preferences.c:647
+msgid "MB"
+msgstr "MB"
+
+#. Page "Privacy"
+#: ../midori/midori-preferences.c:652
+msgid "Privacy"
+msgstr "Intimitate"
+
+#: ../midori/midori-preferences.c:653
+msgid "Web Cookies"
+msgstr "Cookie-uri Internet"
+
+#: ../midori/midori-preferences.c:666 ../midori/midori-preferences.c:676
+msgid "days"
+msgstr "zile"
+
+#: ../midori/midori-searchaction.c:484 ../katze/katze-arrayaction.c:314
+msgid "Empty"
+msgstr "Gol"
+
+#: ../midori/midori-searchaction.c:904
+msgid "Add search engine"
+msgstr "Adăugare motor de căutare"
+
+#: ../midori/midori-searchaction.c:904
+msgid "Edit search engine"
+msgstr "Editare motor de căutare"
+
+#: ../midori/midori-searchaction.c:932
+msgid "_Name:"
+msgstr "_Nume:"
+
+#: ../midori/midori-searchaction.c:976
+msgid "_Icon:"
+msgstr "_Iconiță:"
+
+#: ../midori/midori-searchaction.c:990
+msgid "_Token:"
+msgstr "_Etichetă:"
+
+#: ../midori/midori-searchaction.c:1195
+msgid "Manage Search Engines"
+msgstr "Gestionare motoare de căutare"
+
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "I_mplicit"
+
+#: ../midori/sokoke.c:162 ../midori/sokoke.c:174
+msgid "Could not run external program."
+msgstr "Nu s-a putut porni aplicația externă"
+
+#. i18n: A superuser, or system administrator, may not be 'root'
+#: ../midori/sokoke.c:520
+msgid "Warning: You are using a superuser account!"
+msgstr "Atenție: Folosiți un cont de utilizator privilegiat!"
+
+#: ../midori/sokoke.c:871
+msgid "_Bookmark"
+msgstr "_Favorit"
+
+#: ../midori/sokoke.c:873
+msgid "_Add Bookmark"
+msgstr "Adaugă un fa_vorit"
+
+#: ../midori/sokoke.c:874
+msgid "_Console"
+msgstr "_Consolă"
+
+#: ../midori/sokoke.c:875
+msgid "_Extensions"
+msgstr "E_xtensii"
+
+#: ../midori/sokoke.c:876
+msgid "_History"
+msgstr "_Istoric"
+
+#: ../midori/sokoke.c:877
+msgid "_Homepage"
+msgstr "P_agina principală"
+
+#: ../midori/sokoke.c:878
+msgid "_Userscripts"
+msgstr "Scripturi pr_oprii"
+
+#: ../midori/sokoke.c:879
+msgid "User_styles"
+msgstr "_Stiluri proprii"
+
+#: ../midori/sokoke.c:880
+msgid "New _Tab"
+msgstr "Ta_b nou"
+
+#: ../midori/sokoke.c:881
+msgid "_Transfers"
+msgstr "_Transferuri"
+
+#: ../midori/sokoke.c:882
+msgid "Netscape p_lugins"
+msgstr "Module _Netscape"
+
+#: ../midori/sokoke.c:883
+msgid "_Closed Tabs and Windows"
+msgstr "Taburi și ferestre în_chise"
+
+#: ../midori/sokoke.c:884
+msgid "New _Window"
+msgstr "_Fereastră nouă"
+
+#: ../panels/midori-addons.c:95 ../panels/midori-addons.c:141
+msgid "Userscripts"
+msgstr "Scripturi proprii"
+
+#: ../panels/midori-addons.c:96 ../panels/midori-addons.c:143
+msgid "Userstyles"
+msgstr "Stiluri proprii"
+
+#: ../panels/midori-addons.c:927 ../panels/midori-extensions.c:144
+msgid "_Enable"
+msgstr "_Activare"
+
+#: ../panels/midori-addons.c:928 ../panels/midori-extensions.c:145
+msgid "Enable"
+msgstr "Activare"
+
+#: ../panels/midori-addons.c:937 ../panels/midori-extensions.c:154
+msgid "_Disable"
+msgstr "_Dezactivare"
+
+#: ../panels/midori-addons.c:938 ../panels/midori-extensions.c:155
+msgid "Disable"
+msgstr "Dezactivare"
+
+#: ../panels/midori-bookmarks.c:107
+msgid "Bookmarks"
+msgstr "Favorite"
+
+#: ../panels/midori-bookmarks.c:238
+msgid "Edit the selected bookmark"
+msgstr "Editare favorit selectat"
+
+#: ../panels/midori-bookmarks.c:246
+msgid "Delete the selected bookmark"
+msgstr "Șterge favoritul selectat"
+
+#: ../panels/midori-bookmarks.c:591
+msgid "<i>Separator</i>"
+msgstr "<i>Separator</i>"
+
+#: ../panels/midori-console.c:87
+msgid "Console"
+msgstr "Consolă"
+
+#: ../panels/midori-extensions.c:87
+msgid "Extensions"
+msgstr "Extensii"
+
+#: ../panels/midori-history.c:162
+msgid "Are you sure you want to remove all history items?"
+msgstr "Sigur doriți să ștergeți toate elementele din istoric?"
+
+#: ../panels/midori-history.c:217
+msgid "Bookmark the selected history item"
+msgstr "Adaugă ca favorit elementul selectat din istoric"
+
+#: ../panels/midori-history.c:226
+msgid "Delete the selected history item"
+msgstr "Șterge elementul selectat din istoric"
+
+#: ../panels/midori-history.c:234
+msgid "Clear the entire history"
+msgstr "Șterge întregul istoric"
+
+#: ../panels/midori-history.c:599
+#, c-format
+msgid "A week ago"
+msgstr "Săptămâna trecută"
+
+#: ../panels/midori-history.c:605
+#, c-format
+msgid "%d days ago"
+msgstr "%d zile în urmă"
+
+#: ../panels/midori-history.c:612
+msgid "Today"
+msgstr "Azi"
+
+#: ../panels/midori-history.c:614
+msgid "Yesterday"
+msgstr "Ieri"
+
+#: ../panels/midori-plugins.c:87
+msgid "Netscape plugins"
+msgstr "Module Netscape"
+
+#: ../panels/midori-transfers.c:256
+#, c-format
+msgid "%s of %s"
+msgstr "%s din %s"
+
+#: ../katze/katze-http-auth.c:97
+msgid "Authentication Required"
+msgstr "Autentificare obligatorie"
+
+#: ../katze/katze-http-auth.c:113
+msgid ""
+"A username and a password are required\n"
+"to open this location:"
+msgstr ""
+"Pentru a deschide această adresă sunt\n"
+"necesare numele de utilizator și parola:"
+
+#: ../katze/katze-http-auth.c:127
+msgid "Username"
+msgstr "Utilizator"
+
+#: ../katze/katze-http-auth.c:138
+msgid "Password"
+msgstr "Parolă"
+
+#: ../katze/katze-throbber.c:828
+#, c-format
+msgid "Named icon '%s' couldn't be loaded"
+msgstr "Nu s-a putut încărca iconița cu numele „%s”"
+
+#: ../katze/katze-throbber.c:841
+#, c-format
+msgid "Stock icon '%s' couldn't be loaded"
+msgstr "Nu s-a putut încărca iconița-sistem „%s”"
+
+#: ../katze/katze-throbber.c:907
+msgid "Animation frames are broken"
+msgstr "Cadrele animației sunt nevalide"
+
+#: ../katze/katze-utils.c:183 ../katze/katze-utils.c:385
+#, c-format
+msgid "Property '%s' is invalid for %s"
+msgstr "Proprietatea „%s” nu este validă pentru %s"
+
+#: ../katze/katze-utils.c:215 ../katze/katze-utils.c:244
+msgid "Choose file"
+msgstr "Selectare fișier"
+
+#: ../katze/katze-utils.c:230
+msgid "Choose folder"
+msgstr "Selectare dosar"
+
+#: ../extensions/colorful-tabs.c:115
+msgid "Tint tabs distinctly"
+msgstr "Colorează diferit taburile"
+
+#: ../extensions/colorful-tabs.c:151
+msgid "Colorful Tabs"
+msgstr "Taburi colorate"
+
+#: ../extensions/colorful-tabs.c:152
+msgid "Tint each tab distinctly"
+msgstr "Nuanțează diferit fiecare tab"
+
+#: ../extensions/cookie-manager.c:201
+msgid "At the end of the session"
+msgstr "Până la sfârșitul sesiunii"
+
+#: ../extensions/cookie-manager.c:204
+#, c-format
+msgid ""
+"<b>Host</b>: %s\n"
+"<b>Name</b>: %s\n"
+"<b>Value</b>: %s\n"
+"<b>Path</b>: %s\n"
+"<b>Secure</b>: %s\n"
+"<b>Expires</b>: %s"
+msgstr ""
+"<b>Server</b>: %s\n"
+"<b>Nume</b>: %s\n"
+"<b>Valoare</b>: %s\n"
+"<b>Cale</b>: %s\n"
+"<b>Securizat</b>: %s\n"
+"<b>Expiră</b>: %s"
+
+#: ../extensions/cookie-manager.c:210
+msgid "Yes"
+msgstr "Da"
+
+#: ../extensions/cookie-manager.c:210
+msgid "No"
+msgstr "Nu"
+
+#: ../extensions/cookie-manager.c:493
+msgid "Do you really want to delete all cookies?"
+msgstr "Sigur doriți să ștergeți toate cookie-urile?"
+
+#: ../extensions/cookie-manager.c:495
+msgid "Question"
+msgstr "Întrebare"
+
+#: ../extensions/cookie-manager.c:504
+msgid "Only cookies which match the filter will be deleted."
+msgstr "Doar cookie-urile ce se potrivesc cu filtrul vor fi șterse."
+
+#: ../extensions/cookie-manager.c:682
+msgid "Name"
+msgstr "Nume"
+
+#: ../extensions/cookie-manager.c:742
+msgid "_Expand All"
+msgstr "_Extinde tot"
+
+#: ../extensions/cookie-manager.c:750
+msgid "_Collapse All"
+msgstr "Plia_ză tot"
+
+#: ../extensions/cookie-manager.c:823
+msgid ""
+"Deletes all shown cookies. If a filter is set, only those cookies are "
+"deleted which match the filter."
+msgstr ""
+"Șterge toate cookie-urile afișate. Dacă se aplică un filtru, doar cookie-"
+"urile ce se potrivesc cu respectivul filtru vor fi șterse."
+
+#: ../extensions/cookie-manager.c:838
+msgid "Expand All"
+msgstr "Extinde tot"
+
+#: ../extensions/cookie-manager.c:845
+msgid "Collapse All"
+msgstr "Pliază tot"
+
+#: ../extensions/cookie-manager.c:876
+msgid "Filter:"
+msgstr "Filtru:"
+
+#: ../extensions/cookie-manager.c:881
+msgid ""
+"Enter a filter string to show only cookies whose name or domain field match "
+"the entered filter"
+msgstr ""
+"Introduceți un filtru pentru a afișa doar cookie-urile ale căror nume ori "
+"domenii se potrivesc"
+
+#: ../extensions/cookie-manager.c:916 ../extensions/cookie-manager.c:964
+msgid "Cookie Manager"
+msgstr "Gestionare cookie-uri"
+
+#: ../extensions/cookie-manager.c:948
+msgid "_Cookie Manager"
+msgstr "Gestionare _cookie-uri"
+
+#: ../extensions/cookie-manager.c:965
+msgid "List, view and delete cookies"
+msgstr "Vizualizați și ștergeți cookie-uri"
+
+#: ../extensions/feed-panel/feed-atom.c:217
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr "Nu s-au găsit elementele necesare Atom „entry” în datele XML."
+
+#: ../extensions/feed-panel/feed-atom.c:323
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr "Nu s-au găsit elementele necesare Atom „feed” în datele XML."
+
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:398
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "Ultima actualizare: %s."
+
+#: ../extensions/feed-panel/feed-panel.c:660
+msgid "Feeds"
+msgstr "Fluxuri"
+
+#: ../extensions/feed-panel/feed-panel.c:713
+msgid "Add new feed"
+msgstr "Adăugare flux nou"
+
+#: ../extensions/feed-panel/feed-panel.c:720
+msgid "Delete feed"
+msgstr "Șterge fluxul"
+
+#: ../extensions/feed-panel/feed-panel.c:803
+msgid "_Feeds"
+msgstr "_Fluxuri"
+
+#: ../extensions/feed-panel/feed-parse.c:139
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "Nu s-a găsit elementul rădăcină în datele fluxului XML."
+
+#: ../extensions/feed-panel/feed-parse.c:179
+#, c-format
+msgid "Unsupported feed format."
+msgstr "Format de flux nesuportat."
+
+#: ../extensions/feed-panel/feed-parse.c:209
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "Eșec la analizarea fluxului XML: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr "Nu s-a găsit elementul „channel” în datele XML al RSS-ului."
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "A fost depistată o versiune de RSS nesuportată."
+
+#: ../extensions/feed-panel/feed-rss.c:144
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "Nu s-au găsit elementele necesare RSS „item” în datele XML."
+
+#: ../extensions/feed-panel/feed-rss.c:229
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr "Nu s-au găsit elementele necesare RSS „channel” în datele XML."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "Fluxul „%s” există deja"
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "Eroare la încărcarea fluxului „%s”"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "Flux nou"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "Panou cu fluxuri"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Citește fluxuri Atom/RSS"
+
+#: ../extensions/mouse-gestures/main.c:216
+msgid "Mouse Gestures"
+msgstr "Gesturi de maus"
+
+#: ../extensions/mouse-gestures/main.c:217
+msgid "Control Midori by moving the mouse"
+msgstr "Controlați Midori prin mișcările mausului"
+
+#. i18n: A panel showing a user specified web page
+#: ../extensions/page-holder.c:129 ../extensions/page-holder.c:177
+msgid "Pageholder"
+msgstr "Loc pentru pagini"
+
+#: ../extensions/page-holder.c:161
+msgid "_Pageholder"
+msgstr "_Loc pentru pagini"
+
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr "Facilități bară de stare"
+
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr "Activați ori dezactivați cu ușurință facilități pentru paginile web"
+
index d04623f3d051d12cb54f8695ee3ca475b69e30b6..ca9c46650ac6cbea5d914799e1481f45ca8d1b7c 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: midori 0.1.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 20:03+0900\n"
-"PO-Revision-Date: 2009-04-19 20:46+0800\n"
+"POT-Creation-Date: 2009-05-24 14:03+0900\n"
+"PO-Revision-Date: 2009-05-24 14:11+0800\n"
 "Last-Translator: Anton Shestakov <engored@ya.ru>\n"
 "Language-Team: Russian <ru@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -21,11 +21,11 @@ msgid "Lightweight web browser"
 msgstr "Легковесный Интернет-обозреватель"
 
 #: ../data/midori.desktop.in.h:2
-#: ../midori/main.c:1288
-#: ../midori/main.c:1388
-#: ../midori/main.c:1396
-#: ../midori/main.c:1407
-#: ../midori/midori-websettings.c:273
+#: ../midori/main.c:1315
+#: ../midori/main.c:1449
+#: ../midori/main.c:1457
+#: ../midori/main.c:1468
+#: ../midori/midori-websettings.c:281
 msgid "Midori"
 msgstr "Midori"
 
@@ -33,186 +33,195 @@ msgstr "Midori"
 msgid "Web Browser"
 msgstr "Интернет-обозреватель"
 
-#: ../midori/main.c:94
+#: ../midori/main.c:96
 #, c-format
 msgid "The configuration couldn't be loaded: %s\n"
 msgstr "Не удалось загрузить настройки: %s\n"
 
-#: ../midori/main.c:149
+#: ../midori/main.c:151
 #, c-format
 msgid "Value '%s' is invalid for %s"
 msgstr "Значение «%s» недействительно для %s"
 
-#: ../midori/main.c:156
-#: ../midori/main.c:228
+#: ../midori/main.c:158
+#: ../midori/main.c:238
 #, c-format
 msgid "Invalid configuration value '%s'"
 msgstr "Недопустимое значение параметра: «%s»"
 
-#: ../midori/main.c:332
+#: ../midori/main.c:350
 #, c-format
 msgid "Failed to open database: %s\n"
 msgstr "Не удалось открыть базу данных: %s\n"
 
-#: ../midori/main.c:364
+#: ../midori/main.c:382
 #, c-format
 msgid "Failed to execute database statement: %s\n"
 msgstr "Не удалось выполнить запрос к базе данных: %s\n"
 
-#: ../midori/main.c:418
+#: ../midori/main.c:436
 #, c-format
 msgid "Failed to remove history item: %s\n"
 msgstr "Не удалось удалить запись из журнала: %s\n"
 
-#: ../midori/main.c:442
+#: ../midori/main.c:460
 #, c-format
 msgid "Failed to clear history: %s\n"
 msgstr "Не удалось очистить журнал: %s\n"
 
-#: ../midori/main.c:465
-#: ../midori/main.c:499
-#: ../midori/main.c:515
+#: ../midori/main.c:483
+#: ../midori/main.c:517
+#: ../midori/main.c:533
 #, c-format
 msgid "Failed to add history item: %s\n"
 msgstr "Не удалось добавить запись в журнал: %s\n"
 
 #. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:694
+#: ../midori/main.c:712
 #, c-format
 msgid "Failed to remove old history items: %s\n"
 msgstr "Не удалось удалить устаревшие записи из журнала: %s\n"
 
-#: ../midori/main.c:722
+#: ../midori/main.c:741
 #, c-format
 msgid "The configuration couldn't be saved. %s"
 msgstr "Не удалось сохранить настройки. %s"
 
-#: ../midori/main.c:751
+#: ../midori/main.c:770
 #, c-format
 msgid "The search engines couldn't be saved. %s"
 msgstr "Не удалось сохранить средства поиска. %s"
 
-#: ../midori/main.c:770
-#: ../midori/main.c:798
-#: ../midori/main.c:827
+#: ../midori/main.c:789
+#: ../midori/main.c:817
+#: ../midori/main.c:846
 #, c-format
 msgid "The bookmarks couldn't be saved. %s"
 msgstr "Не удалось сохранить закладки. %s"
 
 #. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:850
-#: ../midori/main.c:873
+#: ../midori/main.c:869
+#: ../midori/main.c:892
 #, c-format
 msgid "The trash couldn't be saved. %s"
 msgstr "Не удалось сохранить содержимое корзины. %s"
 
-#: ../midori/main.c:946
+#: ../midori/main.c:965
 #, c-format
 msgid "The session couldn't be saved. %s"
 msgstr "Не удалось сохранить сеанс. %s"
 
-#: ../midori/main.c:1073
+#: ../midori/main.c:1092
 msgid "Midori seems to have crashed the last time it was opened. If this happened repeatedly, try one of the following options to solve the problem."
 msgstr "Возможно, работа Midori была аварийно прекращена. Если это часто повторяется, можно выбрать действие для решения проблемы ниже."
 
-#: ../midori/main.c:1088
+#: ../midori/main.c:1107
 msgid "Modify _preferences"
 msgstr "Изменить _параметры"
 
-#: ../midori/main.c:1092
+#: ../midori/main.c:1111
 msgid "Reset the last _session"
 msgstr "Удалить _данные последнего сеанса"
 
-#: ../midori/main.c:1097
+#: ../midori/main.c:1116
 msgid "Disable all _extensions"
 msgstr "Отключить все _расширения"
 
-#: ../midori/main.c:1288
+#: ../midori/main.c:1315
 msgid "No filename specified"
 msgstr "Имя файла не задано"
 
-#: ../midori/main.c:1311
+#: ../midori/main.c:1338
 msgid "An unknown error occured."
 msgstr "Обнаружена неизвестная ошибка"
 
-#: ../midori/main.c:1336
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "Снимок сохранён в: %s\n"
+
+#: ../midori/main.c:1391
 msgid "Run ADDRESS as a web application"
 msgstr "Запустить АДРЕС как веб-приложение"
 
-#: ../midori/main.c:1336
+#: ../midori/main.c:1391
 msgid "ADDRESS"
 msgstr "АДРЕС"
 
-#: ../midori/main.c:1338
+#: ../midori/main.c:1393
 msgid "Use FOLDER as configuration folder"
 msgstr "Использовать файлы параметров из ПАПКИ"
 
-#: ../midori/main.c:1338
+#: ../midori/main.c:1393
 msgid "FOLDER"
 msgstr "ПАПКА"
 
-#: ../midori/main.c:1340
+#: ../midori/main.c:1395
 msgid "Run the specified filename as javascript"
 msgstr "Выполнить указанный файл как javascript"
 
-#: ../midori/main.c:1342
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr "Создать снимок указанной страницы"
+
+#: ../midori/main.c:1401
 msgid "Display program version"
 msgstr "Отобразить версию программы"
 
-#: ../midori/main.c:1344
+#: ../midori/main.c:1403
 msgid "Addresses"
 msgstr "Адреса"
 
-#: ../midori/main.c:1385
+#: ../midori/main.c:1446
 msgid "[Addresses]"
 msgstr "[Адреса]"
 
-#: ../midori/main.c:1408
+#: ../midori/main.c:1469
 msgid "Please report comments, suggestions and bugs to:"
 msgstr "Предложения, комментарии и сообщения об ошибках направляйте по адресу:"
 
-#: ../midori/main.c:1410
+#: ../midori/main.c:1471
 msgid "Check for new versions at:"
 msgstr "Искать обновления на:"
 
-#: ../midori/main.c:1454
+#: ../midori/main.c:1548
 msgid "The specified configuration folder is invalid."
 msgstr "Указана некорректная папка файлов параметров."
 
-#: ../midori/main.c:1489
+#: ../midori/main.c:1583
 msgid "An instance of Midori is already running but not responding.\n"
 msgstr "Midori уже запущена, но не отвечает.\n"
 
-#: ../midori/main.c:1539
+#: ../midori/main.c:1633
 #, c-format
 msgid "The search engines couldn't be loaded. %s\n"
 msgstr "Не удалось загрузить средства поиска. %s\n"
 
-#: ../midori/main.c:1551
+#: ../midori/main.c:1645
 #, c-format
 msgid "The bookmarks couldn't be loaded: %s\n"
 msgstr "Не удалось загрузить закладки: %s\n"
 
-#: ../midori/main.c:1566
+#: ../midori/main.c:1660
 #, c-format
 msgid "The session couldn't be loaded: %s\n"
 msgstr "Не удалось загрузить сеанс: %s\n"
 
-#: ../midori/main.c:1579
+#: ../midori/main.c:1673
 #, c-format
 msgid "The trash couldn't be loaded: %s\n"
 msgstr "Не удалось загрузить содержимое корзины: %s\n"
 
-#: ../midori/main.c:1592
+#: ../midori/main.c:1686
 #, c-format
 msgid "The history couldn't be loaded: %s\n"
 msgstr "Не удалось загрузить журнал: %s\n"
 
-#: ../midori/main.c:1604
+#: ../midori/main.c:1698
 msgid "The following errors occured:"
 msgstr "Обнаружены следующие ошибки:"
 
-#: ../midori/main.c:1620
+#: ../midori/main.c:1714
 msgid "_Ignore"
 msgstr "_Игнорировать"
 
@@ -226,1122 +235,1214 @@ msgid "Malformed document."
 msgstr "Плохо сформированный документ."
 
 #: ../midori/midori-array.c:338
-#: ../midori/sokoke.c:625
+#: ../midori/sokoke.c:692
 #, c-format
 msgid "Writing failed."
 msgstr "Ошибка записи."
 
-#: ../midori/midori-browser.c:280
-#: ../midori/midori-browser.c:3368
-#: ../midori/midori-browser.c:3374
+#: ../midori/midori-browser.c:297
+#: ../midori/midori-browser.c:3965
+#: ../midori/midori-browser.c:3971
 msgid "Reload the current page"
 msgstr "Обновить страницу"
 
-#: ../midori/midori-browser.c:291
-#: ../midori/midori-browser.c:3371
+#: ../midori/midori-browser.c:308
+#: ../midori/midori-browser.c:3968
 msgid "Stop loading the current page"
 msgstr "Прекратить загрузку страницы"
 
-#: ../midori/midori-browser.c:353
+#: ../midori/midori-browser.c:370
 #, c-format
 msgid "%d%% loaded"
 msgstr "%d%% загружено"
 
-#: ../midori/midori-browser.c:378
+#: ../midori/midori-browser.c:395
 #, c-format
 msgid "Unexpected action '%s'."
 msgstr "Неожиданное действие «%s»."
 
-#: ../midori/midori-browser.c:541
+#: ../midori/midori-browser.c:637
 msgid "New folder"
 msgstr "Создание папки"
 
-#: ../midori/midori-browser.c:541
+#: ../midori/midori-browser.c:637
 msgid "Edit folder"
 msgstr "Изменить папку"
 
-#: ../midori/midori-browser.c:543
+#: ../midori/midori-browser.c:639
 msgid "New bookmark"
 msgstr "Новая закладка"
 
-#: ../midori/midori-browser.c:543
+#: ../midori/midori-browser.c:639
 msgid "Edit bookmark"
 msgstr "Изменение закладки"
 
-#: ../midori/midori-browser.c:573
+#: ../midori/midori-browser.c:669
 msgid "_Title:"
 msgstr "_Заголовок:"
 
-#: ../midori/midori-browser.c:586
+#: ../midori/midori-browser.c:682
 #: ../midori/midori-searchaction.c:948
 msgid "_Description:"
 msgstr "_Описание:"
 
-#: ../midori/midori-browser.c:605
+#: ../midori/midori-browser.c:701
 #: ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
 msgid "_Address:"
 msgstr "_Адрес:"
 
-#: ../midori/midori-browser.c:624
+#: ../midori/midori-browser.c:720
 msgid "_Folder:"
 msgstr "_Папка:"
 
-#: ../midori/midori-browser.c:629
-#: ../midori/midori-browser.c:670
+#: ../midori/midori-browser.c:725
+#: ../midori/midori-browser.c:766
 msgid "Toplevel folder"
 msgstr "Корневая папка"
 
-#: ../midori/midori-browser.c:746
+#: ../midori/midori-browser.c:842
 msgid "Save file as"
 msgstr "Сохранить файл как"
 
-#: ../midori/midori-browser.c:1523
+#: ../midori/midori-browser.c:1174
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "Файл <b>%s</b> загружен."
+
+#: ../midori/midori-browser.c:1178
+msgid "Transfer completed"
+msgstr "Передача завершена"
+
+#: ../midori/midori-browser.c:1888
 msgid "Open file"
 msgstr "Открыть файл"
 
-#: ../midori/midori-browser.c:2803
-#: ../panels/midori-bookmarks.c:782
-#: ../panels/midori-history.c:809
+#: ../midori/midori-browser.c:3242
+#: ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:811
 msgid "Open all in _Tabs"
 msgstr "Открыть всё в отдельных _вкладках"
 
-#: ../midori/midori-browser.c:2810
-#: ../panels/midori-bookmarks.c:788
-#: ../panels/midori-history.c:815
+#: ../midori/midori-browser.c:3249
+#: ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:817
+#: ../extensions/feed-panel/feed-panel.c:542
 msgid "Open in New _Tab"
 msgstr "Открыть в новой _вкладке"
 
-#: ../midori/midori-browser.c:2813
-#: ../panels/midori-bookmarks.c:790
-#: ../panels/midori-history.c:817
+#: ../midori/midori-browser.c:3252
+#: ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:819
+#: ../extensions/feed-panel/feed-panel.c:544
 msgid "Open in New _Window"
 msgstr "Открыть в новом _окне"
 
-#: ../midori/midori-browser.c:2974
+#: ../midori/midori-browser.c:3551
 msgid "Clear Private Data"
 msgstr "Удаление личных данных"
 
-#: ../midori/midori-browser.c:2977
+#: ../midori/midori-browser.c:3554
 msgid "_Clear private data"
 msgstr "_Удалить личные данные"
 
-#: ../midori/midori-browser.c:2990
+#: ../midori/midori-browser.c:3567
 msgid "Clear the following data:"
 msgstr "Удалить следующие данные:"
 
-#: ../midori/midori-browser.c:2998
-#: ../midori/midori-preferences.c:639
+#: ../midori/midori-browser.c:3575
+#: ../midori/midori-preferences.c:670
 #: ../panels/midori-history.c:108
 msgid "History"
 msgstr "Журнал"
 
-#: ../midori/midori-browser.c:3001
+#: ../midori/midori-browser.c:3580
 msgid "Cookies"
 msgstr "Фрагменты данных"
 
-#: ../midori/midori-browser.c:3004
+#: ../midori/midori-browser.c:3585
 msgid "'Flash' Cookies"
 msgstr "Фрагменты данных Flash"
 
-#: ../midori/midori-browser.c:3007
+#: ../midori/midori-browser.c:3590
 msgid "Website icons"
 msgstr "Значки веб-сайтов"
 
-#: ../midori/midori-browser.c:3093
+#: ../midori/midori-browser.c:3596
+#: ../midori/sokoke.c:859
+msgid "_Closed Tabs and Windows"
+msgstr "За_крытые вкладки и окна"
+
+#: ../midori/midori-browser.c:3677
 msgid "A lightweight web browser."
 msgstr "Легковесный Интернет-обозреватель."
 
-#: ../midori/midori-browser.c:3101
+#: ../midori/midori-browser.c:3685
 msgid "translator-credits"
 msgstr ""
 "Troitskiy Nikita <niktr@mail.ru>\n"
 "Anton Shestakov <engored@ya.ru>"
 
-#: ../midori/midori-browser.c:3302
+#: ../midori/midori-browser.c:3899
 msgid "_File"
 msgstr "_Файл"
 
-#: ../midori/midori-browser.c:3305
+#: ../midori/midori-browser.c:3902
 msgid "Open a new window"
 msgstr "Открыть в новом окне"
 
-#: ../midori/midori-browser.c:3308
+#: ../midori/midori-browser.c:3905
 msgid "Open a new tab"
 msgstr "Открыть в новой вкладке"
 
-#: ../midori/midori-browser.c:3311
+#: ../midori/midori-browser.c:3908
 msgid "Open a file"
 msgstr "Открыть файл"
 
-#: ../midori/midori-browser.c:3314
+#: ../midori/midori-browser.c:3911
 msgid "Save to a file"
 msgstr "Сохранить в файл"
 
-#: ../midori/midori-browser.c:3316
+#: ../midori/midori-browser.c:3913
+#: ../midori/midori-view.c:1337
+msgid "Add to Speed _dial"
+msgstr "Добавить в _быстрый набор"
+
+#: ../midori/midori-browser.c:3914
+msgid "Add shortcut to speed dial"
+msgstr "Добавить страницу в панель быстрого набора"
+
+#: ../midori/midori-browser.c:3916
 msgid "_Close Tab"
 msgstr "_Закрыть вкладку"
 
-#: ../midori/midori-browser.c:3317
+#: ../midori/midori-browser.c:3917
 msgid "Close the current tab"
 msgstr "Закрыть данную вкладку"
 
-#: ../midori/midori-browser.c:3319
+#: ../midori/midori-browser.c:3919
 msgid "C_lose Window"
 msgstr "З_акрыть окно"
 
-#: ../midori/midori-browser.c:3320
+#: ../midori/midori-browser.c:3920
 msgid "Close this window"
 msgstr "Закрыть данное окно"
 
-#: ../midori/midori-browser.c:3323
+#: ../midori/midori-browser.c:3923
 msgid "Print the current page"
 msgstr "Распечатать страницу"
 
-#: ../midori/midori-browser.c:3326
+#: ../midori/midori-browser.c:3926
 msgid "Quit the application"
 msgstr "Выйти из программы"
 
-#: ../midori/midori-browser.c:3328
+#: ../midori/midori-browser.c:3928
 msgid "_Edit"
 msgstr "_Правка"
 
-#: ../midori/midori-browser.c:3331
+#: ../midori/midori-browser.c:3931
 msgid "Cut the selected text"
 msgstr "Вырезать выделенный текст"
 
-#: ../midori/midori-browser.c:3334
-#: ../midori/midori-browser.c:3337
+#: ../midori/midori-browser.c:3934
+#: ../midori/midori-browser.c:3937
 msgid "Copy the selected text"
 msgstr "Копировать выделенный текст"
 
-#: ../midori/midori-browser.c:3340
+#: ../midori/midori-browser.c:3940
 msgid "Paste text from the clipboard"
 msgstr "Вставить текст из буфера обмена"
 
-#: ../midori/midori-browser.c:3343
+#: ../midori/midori-browser.c:3943
 msgid "Delete the selected text"
 msgstr "Удалить выделенный текст"
 
-#: ../midori/midori-browser.c:3346
+#: ../midori/midori-browser.c:3946
 msgid "Select all text"
 msgstr "Выделить весь текст"
 
-#: ../midori/midori-browser.c:3349
+#: ../midori/midori-browser.c:3949
 msgid "Find a word or phrase in the page"
 msgstr "Поиск слова или фразы на странице"
 
-#: ../midori/midori-browser.c:3351
+#: ../midori/midori-browser.c:3951
 msgid "Find _Next"
 msgstr "Найти _следующее"
 
-#: ../midori/midori-browser.c:3352
+#: ../midori/midori-browser.c:3952
 msgid "Find the next occurrence of a word or phrase"
 msgstr "Найти следующее местонахождение слова или фразы"
 
-#: ../midori/midori-browser.c:3354
+#: ../midori/midori-browser.c:3954
 msgid "Find _Previous"
 msgstr "Найти _предыдущее"
 
-#: ../midori/midori-browser.c:3355
+#: ../midori/midori-browser.c:3955
 msgid "Find the previous occurrence of a word or phrase"
 msgstr "Найти предыдущее местонахождение слова или фразы"
 
-#: ../midori/midori-browser.c:3358
-msgid "_Quick Find"
-msgstr "_Быстрый поиск"
-
-#: ../midori/midori-browser.c:3359
-msgid "Quickly jump to a word or phrase"
-msgstr "Перейти на слово или фразу"
-
-#: ../midori/midori-browser.c:3362
+#: ../midori/midori-browser.c:3959
 msgid "Configure the application preferences"
 msgstr "Настройка приложения"
 
-#: ../midori/midori-browser.c:3364
+#: ../midori/midori-browser.c:3961
 msgid "_View"
 msgstr "_Вид"
 
-#: ../midori/midori-browser.c:3365
+#: ../midori/midori-browser.c:3962
 msgid "_Toolbars"
 msgstr "_Панели инструментов"
 
-#: ../midori/midori-browser.c:3377
+#: ../midori/midori-browser.c:3974
 msgid "Increase the zoom level"
 msgstr "Увеличить масштаб"
 
-#: ../midori/midori-browser.c:3380
+#: ../midori/midori-browser.c:3977
 msgid "Decrease the zoom level"
 msgstr "Уменьшить масштаб"
 
-#: ../midori/midori-browser.c:3383
+#: ../midori/midori-browser.c:3980
 msgid "Reset the zoom level"
 msgstr "Сбросить значение масштаба"
 
-#: ../midori/midori-browser.c:3384
+#: ../midori/midori-browser.c:3981
 msgid "_Encoding"
 msgstr "_Кодировка"
 
-#: ../midori/midori-browser.c:3386
+#: ../midori/midori-browser.c:3983
 msgid "_Automatic"
 msgstr "_Автоматически"
 
-#: ../midori/midori-browser.c:3389
-#: ../midori/midori-websettings.c:200
+#: ../midori/midori-browser.c:3986
+#: ../midori/midori-websettings.c:208
 msgid "Chinese (BIG5)"
 msgstr "Китайская (BIG5)"
 
-#: ../midori/midori-browser.c:3392
-#: ../midori/midori-websettings.c:201
+#: ../midori/midori-browser.c:3989
+#: ../midori/midori-websettings.c:209
 msgid "Japanese (SHIFT_JIS)"
 msgstr "Японская (SHIFT_JIS)"
 
-#: ../midori/midori-browser.c:3395
-#: ../midori/midori-websettings.c:202
+#: ../midori/midori-browser.c:3992
+#: ../midori/midori-websettings.c:210
 msgid "Russian (KOI8-R)"
 msgstr "Кириллица (KOI8-R)"
 
-#: ../midori/midori-browser.c:3398
-#: ../midori/midori-websettings.c:203
+#: ../midori/midori-browser.c:3995
+#: ../midori/midori-websettings.c:211
 msgid "Unicode (UTF-8)"
 msgstr "Юникод (UTF-8)"
 
-#: ../midori/midori-browser.c:3401
-#: ../midori/midori-websettings.c:204
+#: ../midori/midori-browser.c:3998
+#: ../midori/midori-websettings.c:212
 msgid "Western (ISO-8859-1)"
 msgstr "Западно-европейская (ISO-8859-1)"
 
-#: ../midori/midori-browser.c:3404
-#: ../midori/midori-websettings.c:205
-#: ../midori/midori-websettings.c:277
+#: ../midori/midori-browser.c:4001
+#: ../midori/midori-websettings.c:213
+#: ../midori/midori-websettings.c:285
 msgid "Custom..."
 msgstr "Другая..."
 
-#: ../midori/midori-browser.c:3407
-#: ../midori/midori-view.c:1138
+#: ../midori/midori-browser.c:4004
+#: ../midori/midori-view.c:1356
 msgid "View _Source"
 msgstr "Ис_ходный код страницы"
 
-#: ../midori/midori-browser.c:3408
+#: ../midori/midori-browser.c:4005
 msgid "View the source code of the page"
 msgstr "Просмотр исходного кода страницы"
 
-#: ../midori/midori-browser.c:3410
+#: ../midori/midori-browser.c:4007
 msgid "View Selection Source"
 msgstr "Исходный код выделенного фрагмента"
 
-#: ../midori/midori-browser.c:3411
+#: ../midori/midori-browser.c:4008
 msgid "View the source code of the selection"
 msgstr "Просмотр исходного кода выделенного фрагмента"
 
-#: ../midori/midori-browser.c:3415
+#: ../midori/midori-browser.c:4012
 msgid "Toggle fullscreen view"
 msgstr "Переключить полноэкранный режим"
 
-#: ../midori/midori-browser.c:3417
+#: ../midori/midori-browser.c:4014
 msgid "_Go"
 msgstr "П_ереход"
 
-#: ../midori/midori-browser.c:3420
+#: ../midori/midori-browser.c:4017
 msgid "Go back to the previous page"
 msgstr "На предыдущую страницу"
 
-#: ../midori/midori-browser.c:3423
+#: ../midori/midori-browser.c:4020
 msgid "Go forward to the next page"
 msgstr "На следующую страницу"
 
-#: ../midori/midori-browser.c:3426
+#: ../midori/midori-browser.c:4023
 msgid "Go to your homepage"
 msgstr "На домашнюю страницу"
 
-#: ../midori/midori-browser.c:3428
+#: ../midori/midori-browser.c:4025
 msgid "Empty Trash"
 msgstr "Очистить"
 
-#: ../midori/midori-browser.c:3429
+#: ../midori/midori-browser.c:4026
 msgid "Delete the contents of the trash"
 msgstr "Удалить содержимое корзины"
 
-#: ../midori/midori-browser.c:3431
-#: ../midori/midori-view.c:1110
+#: ../midori/midori-browser.c:4028
+#: ../midori/midori-view.c:1314
 msgid "Undo Close Tab"
 msgstr "Отменить закрытие вкладок"
 
-#: ../midori/midori-browser.c:3432
+#: ../midori/midori-browser.c:4029
 msgid "Open the last closed tab"
 msgstr "Открыть последнюю закрытую вкладку"
 
-#: ../midori/midori-browser.c:3436
-#: ../panels/midori-bookmarks.c:232
+#: ../midori/midori-browser.c:4033
+#: ../panels/midori-bookmarks.c:230
 msgid "Add a new bookmark"
 msgstr "Новая закладка"
 
-#: ../midori/midori-browser.c:3438
-#: ../panels/midori-bookmarks.c:261
+#: ../midori/midori-browser.c:4035
+#: ../panels/midori-bookmarks.c:259
 msgid "Add a new folder"
 msgstr "Создать папку"
 
-#: ../midori/midori-browser.c:3439
+#: ../midori/midori-browser.c:4036
 msgid "Add a new bookmark folder"
 msgstr "Создать папку закладок"
 
-#: ../midori/midori-browser.c:3440
+#: ../midori/midori-browser.c:4037
 msgid "_Tools"
 msgstr "_Инструменты"
 
-#: ../midori/midori-browser.c:3442
+#: ../midori/midori-browser.c:4039
 #: ../midori/midori-searchaction.c:493
 msgid "_Manage Search Engines"
 msgstr "_Управление средствами поиска"
 
-#: ../midori/midori-browser.c:3443
+#: ../midori/midori-browser.c:4040
 msgid "Add, edit and remove search engines..."
 msgstr "Добавление, правка и удаление средства поиска..."
 
-#: ../midori/midori-browser.c:3446
+#: ../midori/midori-browser.c:4043
 msgid "_Clear Private Data"
 msgstr "Уда_лить личные данные"
 
-#: ../midori/midori-browser.c:3447
+#: ../midori/midori-browser.c:4044
 msgid "Clear private data..."
 msgstr "Удалить личные данные..."
 
-#: ../midori/midori-browser.c:3451
+#: ../midori/midori-browser.c:4048
 msgid "_Previous Tab"
 msgstr "_Предыдущая вкладка"
 
-#: ../midori/midori-browser.c:3452
+#: ../midori/midori-browser.c:4049
 msgid "Switch to the previous tab"
 msgstr "Переключиться на предыдущую вкладку"
 
-#: ../midori/midori-browser.c:3454
+#: ../midori/midori-browser.c:4051
 msgid "_Next Tab"
 msgstr "_Следующая вкладка"
 
-#: ../midori/midori-browser.c:3455
+#: ../midori/midori-browser.c:4052
 msgid "Switch to the next tab"
 msgstr "Переключиться на следующую вкладку"
 
-#: ../midori/midori-browser.c:3457
+#: ../midori/midori-browser.c:4054
 msgid "_Help"
 msgstr "_Справка"
 
-#: ../midori/midori-browser.c:3459
+#: ../midori/midori-browser.c:4056
 msgid "_Contents"
 msgstr "_Содержание"
 
-#: ../midori/midori-browser.c:3460
+#: ../midori/midori-browser.c:4057
 msgid "Show the documentation"
 msgstr "Документация"
 
-#: ../midori/midori-browser.c:3462
+#: ../midori/midori-browser.c:4059
 msgid "_Frequent Questions"
 msgstr "_Часто задаваемые вопросы"
 
-#: ../midori/midori-browser.c:3463
+#: ../midori/midori-browser.c:4060
 msgid "Show the Frequently Asked Questions"
 msgstr "Часто задаваемые вопросы (в сети)"
 
-#: ../midori/midori-browser.c:3465
+#: ../midori/midori-browser.c:4062
 msgid "_Report a Bug"
 msgstr "Соо_бщить об ошибке"
 
-#: ../midori/midori-browser.c:3466
+#: ../midori/midori-browser.c:4063
 msgid "Open Midori's bug tracker"
 msgstr "Открыть систему отчётов об ошибках Midori"
 
-#: ../midori/midori-browser.c:3469
+#: ../midori/midori-browser.c:4066
 msgid "Show information about the program"
 msgstr "О программе"
 
-#: ../midori/midori-browser.c:3476
+#: ../midori/midori-browser.c:4073
 msgid "P_rivate Browsing"
 msgstr "Кон_фиденциальный режим"
 
-#: ../midori/midori-browser.c:3477
+#: ../midori/midori-browser.c:4074
 msgid "Don't save any private data while browsing"
 msgstr "Не сохранять персональные данные во время навигации"
 
-#: ../midori/midori-browser.c:3482
+#: ../midori/midori-browser.c:4079
 msgid "_Menubar"
 msgstr "Панель _меню"
 
-#: ../midori/midori-browser.c:3483
+#: ../midori/midori-browser.c:4080
 msgid "Show menubar"
 msgstr "Показать строку меню"
 
-#: ../midori/midori-browser.c:3486
+#: ../midori/midori-browser.c:4083
 msgid "_Navigationbar"
 msgstr "Панель _навигации"
 
-#: ../midori/midori-browser.c:3487
+#: ../midori/midori-browser.c:4084
 msgid "Show navigationbar"
 msgstr "Показать панель навигации"
 
-#: ../midori/midori-browser.c:3490
+#: ../midori/midori-browser.c:4087
 msgid "Side_panel"
 msgstr "_Боковая панель"
 
-#: ../midori/midori-browser.c:3491
+#: ../midori/midori-browser.c:4088
 msgid "Show sidepanel"
 msgstr "Показать боковую панель"
 
-#: ../midori/midori-browser.c:3494
+#: ../midori/midori-browser.c:4091
 msgid "_Bookmarkbar"
 msgstr "Панель _закладок"
 
-#: ../midori/midori-browser.c:3495
+#: ../midori/midori-browser.c:4092
 msgid "Show bookmarkbar"
 msgstr "Показать панель закладок"
 
-#: ../midori/midori-browser.c:3498
+#: ../midori/midori-browser.c:4095
 msgid "_Transferbar"
 msgstr "П_ередачи"
 
-#: ../midori/midori-browser.c:3499
+#: ../midori/midori-browser.c:4096
 msgid "Show transferbar"
 msgstr "Показать вкладку передачи"
 
-#: ../midori/midori-browser.c:3502
+#: ../midori/midori-browser.c:4099
 msgid "_Statusbar"
 msgstr "Панель _состояния"
 
-#: ../midori/midori-browser.c:3503
+#: ../midori/midori-browser.c:4100
 msgid "Show statusbar"
 msgstr "Показать панель состояния"
 
-#: ../midori/midori-browser.c:3937
+#: ../midori/midori-browser.c:4534
 msgid "_Separator"
 msgstr "_Разделитель"
 
-#: ../midori/midori-browser.c:3944
+#: ../midori/midori-browser.c:4541
 msgid "_Location..."
 msgstr "_Адрес..."
 
-#: ../midori/midori-browser.c:3946
+#: ../midori/midori-browser.c:4543
 msgid "Open a particular location"
 msgstr "Открыть определённый адрес"
 
-#: ../midori/midori-browser.c:3970
+#: ../midori/midori-browser.c:4565
 msgid "_Web Search..."
 msgstr "_Поиск в сети..."
 
-#: ../midori/midori-browser.c:3972
+#: ../midori/midori-browser.c:4567
 msgid "Run a web search"
 msgstr "Запустить поиск в сети"
 
-#: ../midori/midori-browser.c:3993
+#: ../midori/midori-browser.c:4588
 msgid "Reopen a previously closed tab or window"
 msgstr "Открыть ранее закрытые вкладки или окна"
 
-#: ../midori/midori-browser.c:4006
+#: ../midori/midori-browser.c:4603
 msgid "_Recently visited pages"
 msgstr "_Недавно посещённые страницы"
 
-#: ../midori/midori-browser.c:4008
+#: ../midori/midori-browser.c:4605
 msgid "Reopen pages that you visited earlier"
 msgstr "Открывать страницы, посещённые ранее"
 
-#: ../midori/midori-browser.c:4021
-#: ../midori/sokoke.c:781
+#: ../midori/midori-browser.c:4620
+#: ../midori/sokoke.c:848
 msgid "_Bookmarks"
 msgstr "_Закладки"
 
-#: ../midori/midori-browser.c:4023
+#: ../midori/midori-browser.c:4622
 msgid "Show the saved bookmarks"
 msgstr "Показать все сохранённые закладки"
 
-#: ../midori/midori-browser.c:4036
+#: ../midori/midori-browser.c:4637
 msgid "_Window"
 msgstr "_Окно"
 
-#: ../midori/midori-browser.c:4038
+#: ../midori/midori-browser.c:4639
 msgid "Show a list of all open tabs"
 msgstr "Показать список всех открытых вкладок"
 
 #. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:4205
+#: ../midori/midori-browser.c:4814
 msgid "_Inline Find:"
 msgstr "_Найти:"
 
-#: ../midori/midori-browser.c:4230
+#: ../midori/midori-browser.c:4839
 msgid "Previous"
 msgstr "Назад"
 
-#: ../midori/midori-browser.c:4235
+#: ../midori/midori-browser.c:4844
 msgid "Next"
 msgstr "Далее"
 
-#: ../midori/midori-browser.c:4240
+#: ../midori/midori-browser.c:4849
 msgid "Match Case"
 msgstr "Учитывать регистр"
 
-#: ../midori/midori-browser.c:4248
+#: ../midori/midori-browser.c:4857
 msgid "Highlight Matches"
 msgstr "Подсветить совпадения"
 
-#: ../midori/midori-browser.c:4258
+#: ../midori/midori-browser.c:4867
 msgid "Close Findbar"
 msgstr "Закрыть вкладку поиска"
 
-#: ../midori/midori-browser.c:4598
+#: ../midori/midori-browser.c:4902
+#: ../extensions/cookie-manager/cookie-manager-page.c:129
+msgid "Delete All"
+msgstr "Удалить всё"
+
+#: ../midori/midori-browser.c:5224
 #, c-format
 msgid "Unexpected setting '%s'"
 msgstr "Неожиданный параметр «%s»"
 
-#: ../midori/midori-panel.c:309
+#: ../midori/midori-panel.c:333
 msgid "Detach chosen panel from the window"
 msgstr "Отсоединить выбранную панель от главного окна"
 
-#: ../midori/midori-panel.c:311
+#: ../midori/midori-panel.c:335
 msgid "Whether to detach the chosen panel from the window"
 msgstr "Отсоединить выбранную панель от главного окна"
 
-#: ../midori/midori-panel.c:321
-#: ../midori/midori-websettings.c:531
+#: ../midori/midori-panel.c:345
+#: ../midori/midori-websettings.c:539
 msgid "Align sidepanel on the right"
 msgstr "Расположить панель справа"
 
-#: ../midori/midori-panel.c:323
-#: ../midori/midori-websettings.c:532
+#: ../midori/midori-panel.c:347
+#: ../midori/midori-websettings.c:540
 msgid "Whether to align the sidepanel on the right"
 msgstr "Расположить боковую панель справа"
 
-#: ../midori/midori-panel.c:333
-#: ../midori/midori-panel.c:334
+#: ../midori/midori-panel.c:357
+#: ../midori/midori-panel.c:358
 msgid "Close panel"
 msgstr "Закрыть панель"
 
-#: ../midori/midori-websettings.c:183
-#: ../midori/midori-view.c:1949
+#: ../midori/midori-websettings.c:191
+#: ../midori/midori-view.c:2250
 msgid "Blank page"
 msgstr "Пустая страница"
 
-#: ../midori/midori-websettings.c:184
-#: ../midori/midori-websettings.c:551
+#: ../midori/midori-websettings.c:192
+#: ../midori/midori-websettings.c:559
 msgid "Homepage"
 msgstr "Домашняя страница"
 
-#: ../midori/midori-websettings.c:185
+#: ../midori/midori-websettings.c:193
 msgid "Last open pages"
 msgstr "Последние открытые страницы"
 
-#: ../midori/midori-websettings.c:220
+#: ../midori/midori-websettings.c:228
 msgid "New tab"
 msgstr "Новая вкладка"
 
-#: ../midori/midori-websettings.c:221
+#: ../midori/midori-websettings.c:229
 msgid "New window"
 msgstr "Новое окно"
 
-#: ../midori/midori-websettings.c:222
+#: ../midori/midori-websettings.c:230
 msgid "Current tab"
 msgstr "Текущая вкладка"
 
-#: ../midori/midori-websettings.c:237
+#: ../midori/midori-websettings.c:245
 msgid "Default"
 msgstr "По умолчанию"
 
-#: ../midori/midori-websettings.c:238
+#: ../midori/midori-websettings.c:246
 msgid "Icons"
 msgstr "Только значки"
 
-#: ../midori/midori-websettings.c:239
+#: ../midori/midori-websettings.c:247
 msgid "Text"
 msgstr "Только текст"
 
-#: ../midori/midori-websettings.c:240
+#: ../midori/midori-websettings.c:248
 msgid "Both"
 msgstr "Значки и текст"
 
-#: ../midori/midori-websettings.c:241
+#: ../midori/midori-websettings.c:249
 msgid "Both horizontal"
 msgstr "Значки и текст горизонтально"
 
-#: ../midori/midori-websettings.c:256
+#: ../midori/midori-websettings.c:264
 msgid "All cookies"
 msgstr "Все"
 
-#: ../midori/midori-websettings.c:257
+#: ../midori/midori-websettings.c:265
 msgid "Session cookies"
 msgstr "С информацией о сеансе"
 
-#: ../midori/midori-websettings.c:258
+#: ../midori/midori-websettings.c:266
 #: ../panels/midori-addons.c:94
 msgid "None"
 msgstr "Нет"
 
-#: ../midori/midori-websettings.c:274
+#: ../midori/midori-websettings.c:282
 msgid "Safari"
 msgstr "Safari"
 
-#: ../midori/midori-websettings.c:275
+#: ../midori/midori-websettings.c:283
 msgid "Firefox"
 msgstr "Firefox"
 
-#: ../midori/midori-websettings.c:276
+#: ../midori/midori-websettings.c:284
 msgid "Internet Explorer"
 msgstr "Internet Explorer"
 
-#: ../midori/midori-websettings.c:329
+#: ../midori/midori-websettings.c:337
 msgid "Remember last window size"
 msgstr "Запоминать размер последнего окна"
 
-#: ../midori/midori-websettings.c:330
+#: ../midori/midori-websettings.c:338
 msgid "Whether to save the last window size"
 msgstr "Запоминать последний размер окна"
 
-#: ../midori/midori-websettings.c:338
+#: ../midori/midori-websettings.c:346
 msgid "Last window width"
 msgstr "Ширина последнего окна"
 
-#: ../midori/midori-websettings.c:339
+#: ../midori/midori-websettings.c:347
 msgid "The last saved window width"
 msgstr "Ширина последнего сохранённого окна"
 
-#: ../midori/midori-websettings.c:347
+#: ../midori/midori-websettings.c:355
 msgid "Last window height"
 msgstr "Высота последнего сохранённого окна"
 
-#: ../midori/midori-websettings.c:348
+#: ../midori/midori-websettings.c:356
 msgid "The last saved window height"
 msgstr "Высота последнего сохранённого окна"
 
-#: ../midori/midori-websettings.c:373
+#: ../midori/midori-websettings.c:381
 msgid "Last panel position"
 msgstr "Позиция последней панели"
 
-#: ../midori/midori-websettings.c:374
+#: ../midori/midori-websettings.c:382
 msgid "The last saved panel position"
 msgstr "Последняя сохранённая позиция панели"
 
 #. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:383
+#: ../midori/midori-websettings.c:391
 msgid "Last panel page"
 msgstr "Последняя страница панели"
 
-#: ../midori/midori-websettings.c:384
+#: ../midori/midori-websettings.c:392
 msgid "The last saved panel page"
 msgstr "Последняя сохранённая страница панели"
 
-#: ../midori/midori-websettings.c:392
+#: ../midori/midori-websettings.c:400
 msgid "Last Web search"
 msgstr "Последний поиск"
 
-#: ../midori/midori-websettings.c:393
+#: ../midori/midori-websettings.c:401
 msgid "The last saved Web search"
 msgstr "Последний сохранённый поиск в сети"
 
-#: ../midori/midori-websettings.c:402
+#: ../midori/midori-websettings.c:410
 msgid "Show Menubar"
 msgstr "Показать меню"
 
-#: ../midori/midori-websettings.c:403
+#: ../midori/midori-websettings.c:411
 msgid "Whether to show the menubar"
 msgstr "Показывать панель меню"
 
-#: ../midori/midori-websettings.c:411
+#: ../midori/midori-websettings.c:419
 msgid "Show Navigationbar"
 msgstr "Показать панель навигации"
 
-#: ../midori/midori-websettings.c:412
+#: ../midori/midori-websettings.c:420
 msgid "Whether to show the navigationbar"
 msgstr "Показывать панель навигации"
 
-#: ../midori/midori-websettings.c:420
+#: ../midori/midori-websettings.c:428
 msgid "Show Bookmarkbar"
 msgstr "Показать закладки"
 
-#: ../midori/midori-websettings.c:421
+#: ../midori/midori-websettings.c:429
 msgid "Whether to show the bookmarkbar"
 msgstr "Показывать закладки"
 
-#: ../midori/midori-websettings.c:429
+#: ../midori/midori-websettings.c:437
 msgid "Show Panel"
 msgstr "Показать панель"
 
-#: ../midori/midori-websettings.c:430
+#: ../midori/midori-websettings.c:438
 msgid "Whether to show the panel"
 msgstr "Показывать панель"
 
-#: ../midori/midori-websettings.c:445
+#: ../midori/midori-websettings.c:453
 msgid "Show Transferbar"
 msgstr "Показать панель передач"
 
-#: ../midori/midori-websettings.c:446
+#: ../midori/midori-websettings.c:454
 msgid "Whether to show the transferbar"
 msgstr "Показывать панель передач"
 
-#: ../midori/midori-websettings.c:454
+#: ../midori/midori-websettings.c:462
 msgid "Show Statusbar"
 msgstr "Показать панель состояния"
 
-#: ../midori/midori-websettings.c:455
+#: ../midori/midori-websettings.c:463
 msgid "Whether to show the statusbar"
 msgstr "Показывать панель состояния"
 
-#: ../midori/midori-websettings.c:464
+#: ../midori/midori-websettings.c:472
 msgid "Toolbar Style"
 msgstr "Стиль панели инструментов"
 
-#: ../midori/midori-websettings.c:465
+#: ../midori/midori-websettings.c:473
 msgid "The style of the toolbar"
 msgstr "Стиль панели инструментов"
 
-#: ../midori/midori-websettings.c:481
+#: ../midori/midori-websettings.c:489
 msgid "Show progress in location entry"
 msgstr "Показывать прогресс загрузки страницы в адресной строке"
 
-#: ../midori/midori-websettings.c:482
+#: ../midori/midori-websettings.c:490
 msgid "Whether to show loading progress in the location entry"
 msgstr "Показывать ход загрузки страницы в виде полосы в адресной строке"
 
-#: ../midori/midori-websettings.c:497
+#: ../midori/midori-websettings.c:505
 msgid "Search engines in location completion"
 msgstr "Показывать средства поиска при автодополнении адреса"
 
-#: ../midori/midori-websettings.c:498
+#: ../midori/midori-websettings.c:506
 msgid "Whether to show search engines in the location completion"
 msgstr "Показывать средства поиска при вводе текста в адресную строку"
 
-#: ../midori/midori-websettings.c:506
+#: ../midori/midori-websettings.c:514
 msgid "Toolbar Items"
 msgstr "Элементы панели навигации"
 
-#: ../midori/midori-websettings.c:507
+#: ../midori/midori-websettings.c:515
 msgid "The items to show on the toolbar"
 msgstr "Элементы, которые будут показаны на панели инструментов"
 
-#: ../midori/midori-websettings.c:515
+#: ../midori/midori-websettings.c:523
 msgid "Compact Sidepanel"
 msgstr "Компактная боковая панель"
 
-#: ../midori/midori-websettings.c:516
+#: ../midori/midori-websettings.c:524
 msgid "Whether to make the sidepanel compact"
 msgstr "Не показывать подписи к значкам в боковой панели"
 
-#: ../midori/midori-websettings.c:541
+#: ../midori/midori-websettings.c:549
 msgid "Load on Startup"
 msgstr "Загружать при запуске"
 
-#: ../midori/midori-websettings.c:542
+#: ../midori/midori-websettings.c:550
 msgid "What to load on startup"
 msgstr "Загружать при запуске"
 
-#: ../midori/midori-websettings.c:552
+#: ../midori/midori-websettings.c:560
 msgid "The homepage"
 msgstr "Домашняя страница"
 
-#: ../midori/midori-websettings.c:567
+#: ../midori/midori-websettings.c:575
 msgid "Show crash dialog"
-msgstr "Показывать окно после сбоя"
+msgstr "Ð\9fоказÑ\8bваÑ\82Ñ\8c Ð¾ÐºÐ½Ð¾ Ð´ÐµÐ¹Ñ\81Ñ\82вий Ð¿Ð¾Ñ\81ле Ñ\81боÑ\8f"
 
-#: ../midori/midori-websettings.c:568
+#: ../midori/midori-websettings.c:576
 msgid "Show a dialog after Midori crashed"
 msgstr "Показывать окно действий после аварийного завершения работы"
 
-#: ../midori/midori-websettings.c:576
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:592
+msgid "Show speed dial in new tabs"
+msgstr "Показывать панель быстрого набора в новых вкладках"
+
+#: ../midori/midori-websettings.c:593
+msgid "Show speed dial in newly opened tabs"
+msgstr "Показывать панель быстрого набора в только что открытых вкладках"
+
+#: ../midori/midori-websettings.c:605
 msgid "Download Folder"
-msgstr "Ð\9aаÑ\82алог загрузок"
+msgstr "Ð\9fапка загрузок"
 
-#: ../midori/midori-websettings.c:577
+#: ../midori/midori-websettings.c:606
 msgid "The folder downloaded files are saved to"
-msgstr "Ð\9aаÑ\82алог, Ð² ÐºÐ¾Ñ\82оÑ\80Ñ\8bй будут сохраняться файлы"
+msgstr "Ð\9fапка, Ð² ÐºÐ¾Ñ\82оÑ\80Ñ\83Ñ\8e будут сохраняться файлы"
 
-#: ../midori/midori-websettings.c:589
+#: ../midori/midori-websettings.c:625
+msgid "Ask for the destination folder"
+msgstr "Запрашивать папку для загрузок"
+
+#: ../midori/midori-websettings.c:626
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr "Запрашивать конечную папку для каждого файла"
+
+#: ../midori/midori-websettings.c:645
+msgid "Notify when a transfer has been completed"
+msgstr "Уведомлять по завершении передачи"
+
+#: ../midori/midori-websettings.c:646
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "Показывать уведомление по окончании передачи файлов"
+
+#: ../midori/midori-websettings.c:658
 msgid "Download Manager"
 msgstr "Менеджер загрузок"
 
-#: ../midori/midori-websettings.c:590
+#: ../midori/midori-websettings.c:659
 msgid "An external download manager"
 msgstr "Внешний администратор загрузок"
 
-#: ../midori/midori-websettings.c:598
+#: ../midori/midori-websettings.c:667
 msgid "Text Editor"
 msgstr "Текстовый редактор"
 
-#: ../midori/midori-websettings.c:599
+#: ../midori/midori-websettings.c:668
 msgid "An external text editor"
 msgstr "Пользовательский текстовый редактор"
 
-#: ../midori/midori-websettings.c:614
+#: ../midori/midori-websettings.c:683
 msgid "News Aggregator"
-msgstr ""
+msgstr "Программа чтения лент новостей"
 
-#: ../midori/midori-websettings.c:615
-#, fuzzy
+#: ../midori/midori-websettings.c:684
 msgid "An external news aggregator"
-msgstr "Пользовательский текстовый редактор"
+msgstr "Программа чтения лент новостей"
 
-#: ../midori/midori-websettings.c:623
+#: ../midori/midori-websettings.c:692
 msgid "Location entry Search"
 msgstr "Поиск из адресной строки"
 
-#: ../midori/midori-websettings.c:624
+#: ../midori/midori-websettings.c:693
 msgid "The search to perform inside the location entry"
 msgstr "Поиск, производимый при вводе фразы в адресную строку"
 
-#: ../midori/midori-websettings.c:632
+#: ../midori/midori-websettings.c:701
 msgid "Preferred Encoding"
 msgstr "Предпочтительная кодировка"
 
-#: ../midori/midori-websettings.c:633
+#: ../midori/midori-websettings.c:702
 msgid "The preferred character encoding"
 msgstr "Предпочтительная кодировка символов"
 
-#: ../midori/midori-websettings.c:643
+#: ../midori/midori-websettings.c:712
 msgid "Always Show Tabbar"
 msgstr "Всегда показывать строку вкладок"
 
-#: ../midori/midori-websettings.c:644
+#: ../midori/midori-websettings.c:713
 msgid "Always show the tabbar"
 msgstr "Всегда показывать строку закладок"
 
-#: ../midori/midori-websettings.c:652
+#: ../midori/midori-websettings.c:721
 msgid "Close Buttons on Tabs"
 msgstr "Кнопки закрытия на вкладках"
 
-#: ../midori/midori-websettings.c:653
+#: ../midori/midori-websettings.c:722
 msgid "Whether tabs have close buttons"
 msgstr "Наличие кнопки закрытия на вкладках"
 
-#: ../midori/midori-websettings.c:661
+#: ../midori/midori-websettings.c:730
 msgid "Open new pages in"
 msgstr "Открывать новую страницу в"
 
-#: ../midori/midori-websettings.c:662
+#: ../midori/midori-websettings.c:731
 msgid "Where to open new pages"
 msgstr "Расположение новых страниц при открытии"
 
-#: ../midori/midori-websettings.c:671
+#: ../midori/midori-websettings.c:740
 msgid "Open external pages in"
 msgstr "Открывать внешние страницы в"
 
-#: ../midori/midori-websettings.c:672
+#: ../midori/midori-websettings.c:741
 msgid "Where to open externally opened pages"
 msgstr "Расположение сторонних страниц при открытии"
 
-#: ../midori/midori-websettings.c:685
+#: ../midori/midori-websettings.c:754
 msgid "Middle click opens Selection"
 msgstr "Переходить на выделенный адрес по средней кнопке"
 
-#: ../midori/midori-websettings.c:686
+#: ../midori/midori-websettings.c:755
 msgid "Load an address from the selection via middle click"
 msgstr "Загружать выделенный адрес средней кнопкой мыши"
 
-#: ../midori/midori-websettings.c:694
+#: ../midori/midori-websettings.c:763
 msgid "Open tabs in the background"
 msgstr "Открывать вкладки в фоне"
 
-#: ../midori/midori-websettings.c:695
+#: ../midori/midori-websettings.c:764
 msgid "Whether to open new tabs in the background"
 msgstr "Открывать новые вкладки в фоне"
 
-#: ../midori/midori-websettings.c:703
+#: ../midori/midori-websettings.c:772
 msgid "Open Tabs next to Current"
 msgstr "Открывать новые вкладки рядом с текущей"
 
-#: ../midori/midori-websettings.c:704
+#: ../midori/midori-websettings.c:773
 msgid "Whether to open new tabs next to the current tab or after the last one"
 msgstr "Открывать новую вкладку в следующей за данной или за последней"
 
-#: ../midori/midori-websettings.c:712
+#: ../midori/midori-websettings.c:781
 msgid "Open popups in tabs"
 msgstr "Открывать всплывающие окна во вкладках"
 
-#: ../midori/midori-websettings.c:713
+#: ../midori/midori-websettings.c:782
 msgid "Whether to open popup windows in tabs"
 msgstr "Открывать всплывающие окна во вкладках"
 
-#: ../midori/midori-websettings.c:729
+#: ../midori/midori-websettings.c:798
 msgid "Zoom Text and Images"
 msgstr "Масштабировать текст и изображения"
 
-#: ../midori/midori-websettings.c:730
+#: ../midori/midori-websettings.c:799
 msgid "Whether to zoom text and images"
 msgstr "Изменять масштаб текста и изображений"
 
-#: ../midori/midori-websettings.c:745
+#: ../midori/midori-websettings.c:814
 msgid "Find inline while typing"
 msgstr "Искать текст на странице по мере его набора"
 
-#: ../midori/midori-websettings.c:746
+#: ../midori/midori-websettings.c:815
 msgid "Whether to automatically find inline while typing"
 msgstr "По мере ввода текста на странице будет осуществляться быстрый поиск по фразе"
 
-#: ../midori/midori-websettings.c:754
+#: ../midori/midori-websettings.c:823
 msgid "Accept cookies"
 msgstr "Принимать фрагменты данных"
 
-#: ../midori/midori-websettings.c:755
+#: ../midori/midori-websettings.c:824
 msgid "What type of cookies to accept"
 msgstr "Разрешённый тип фрагментов данных"
 
-#: ../midori/midori-websettings.c:764
+#: ../midori/midori-websettings.c:833
 msgid "Original cookies only"
 msgstr "Только оригинальные фрагменты данных"
 
-#: ../midori/midori-websettings.c:765
+#: ../midori/midori-websettings.c:834
 msgid "Accept cookies from the original website only"
 msgstr "Принимать фрагменты данных только с оригинального сайта"
 
-#: ../midori/midori-websettings.c:773
+#: ../midori/midori-websettings.c:842
 msgid "Maximum cookie age"
 msgstr "Хранить фрагменты данных"
 
-#: ../midori/midori-websettings.c:774
+#: ../midori/midori-websettings.c:843
 msgid "The maximum number of days to save cookies for"
 msgstr "Максимальное число дней хранения фрагментов данных"
 
-#: ../midori/midori-websettings.c:784
+#: ../midori/midori-websettings.c:853
 msgid "Remember last visited pages"
 msgstr "Запоминать посещённые страницы"
 
-#: ../midori/midori-websettings.c:785
+#: ../midori/midori-websettings.c:854
 msgid "Whether the last visited pages are saved"
 msgstr "Сохранять историю последних посещений"
 
-#: ../midori/midori-websettings.c:793
+#: ../midori/midori-websettings.c:862
 msgid "Maximum history age"
 msgstr "Максимальный возраст записей"
 
-#: ../midori/midori-websettings.c:794
+#: ../midori/midori-websettings.c:863
 msgid "The maximum number of days to save the history for"
 msgstr "Максимальное число дней хранения записей в журнале"
 
-#: ../midori/midori-websettings.c:802
+#: ../midori/midori-websettings.c:871
 msgid "Remember last form inputs"
 msgstr "Запоминать введённые в формы данные"
 
-#: ../midori/midori-websettings.c:803
+#: ../midori/midori-websettings.c:872
 msgid "Whether the last form inputs are saved"
 msgstr "Сохранять последние введённые данные в формы ввода"
 
-#: ../midori/midori-websettings.c:811
+#: ../midori/midori-websettings.c:880
 msgid "Remember last downloaded files"
 msgstr "Запоминать последние загруженные файлы"
 
-#: ../midori/midori-websettings.c:812
+#: ../midori/midori-websettings.c:881
 msgid "Whether the last downloaded files are saved"
 msgstr "Сохранять историю последних загрузок"
 
-#: ../midori/midori-websettings.c:822
+#: ../midori/midori-websettings.c:891
 msgid "Proxy Server"
 msgstr "Прокси-сервер"
 
-#: ../midori/midori-websettings.c:823
+#: ../midori/midori-websettings.c:892
 msgid "The proxy server used for HTTP connections"
 msgstr "Прокси-сервер для соединений по HTTP"
 
-#: ../midori/midori-websettings.c:838
+#: ../midori/midori-websettings.c:907
 msgid "Detect proxy server automatically"
 msgstr "Автоматически обнаруживать прокси-сервер"
 
-#: ../midori/midori-websettings.c:839
+#: ../midori/midori-websettings.c:908
 msgid "Whether to detect the proxy server automatically from the environment"
 msgstr "Брать данные о прокси-сервере из переменных окружения"
 
 #. i18n: This refers to an application, not the 'user agent' string
-#: ../midori/midori-websettings.c:855
+#: ../midori/midori-websettings.c:924
 msgid "Identify as"
 msgstr "Представляться как"
 
-#: ../midori/midori-websettings.c:856
+#: ../midori/midori-websettings.c:925
 msgid "What to identify as to web pages"
 msgstr "Строка, которая будет посылаться на запросы идентификации обозревателя"
 
-#: ../midori/midori-websettings.c:872
+#: ../midori/midori-websettings.c:941
 msgid "Identification string"
 msgstr "Строка идентификации"
 
-#: ../midori/midori-websettings.c:873
+#: ../midori/midori-websettings.c:942
 msgid "The application identification string"
 msgstr "Строка идентификации приложения"
 
-#: ../midori/midori-websettings.c:881
+#: ../midori/midori-websettings.c:950
 msgid "Cache size"
 msgstr "Размер кэша"
 
-#: ../midori/midori-websettings.c:882
+#: ../midori/midori-websettings.c:951
 msgid "The allowed size of the cache"
 msgstr "Разрешённый размер кэша"
 
+#: ../midori/midori-websettings.c:966
+msgid "Clear private data"
+msgstr "Удалить личные данные"
+
+#: ../midori/midori-websettings.c:967
+msgid "The private data selected for deletion"
+msgstr "Выбранные для удаления личные данные"
+
+#: ../midori/midori-view.c:740
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "Не удалось открыть страницу «%s»."
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:742
+#: ../midori/midori-view.c:2773
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "Ошибка"
+
+#: ../midori/midori-view.c:745
+msgid "Try again"
+msgstr "Попытаться снова"
+
 #. i18n: The title of the 404 - Not found error page
 #. Error pages are special, we want to try loading the destination
 #. again, not the error page which isn't even a proper page
-#: ../midori/midori-view.c:637
-#: ../midori/midori-view.c:2473
+#: ../midori/midori-view.c:775
+#: ../midori/midori-view.c:2777
 #, c-format
 msgid "Not found - %s"
 msgstr "Страница не найдена — %s"
 
-#: ../midori/midori-view.c:976
+#: ../midori/midori-view.c:1176
 msgid "Open _Link"
 msgstr "_Открыть ссылку"
 
-#: ../midori/midori-view.c:978
+#: ../midori/midori-view.c:1178
 msgid "Open Link in New _Tab"
 msgstr "Открыть ссылку в новой _вкладке"
 
-#: ../midori/midori-view.c:995
+#: ../midori/midori-view.c:1195
 msgid "Open Link in New _Window"
 msgstr "Открыть ссылку в новом _окне"
 
-#: ../midori/midori-view.c:1004
+#: ../midori/midori-view.c:1204
 msgid "_Download Link destination"
 msgstr "_Загрузить объект"
 
-#: ../midori/midori-view.c:1010
+#: ../midori/midori-view.c:1210
 msgid "_Save Link destination"
 msgstr "_Сохранить объект"
 
-#: ../midori/midori-view.c:1019
+#: ../midori/midori-view.c:1219
 msgid "Download with Download _Manager"
 msgstr "Загрузить с помощью _менеджера загрузок"
 
-#: ../midori/midori-view.c:1048
+#: ../midori/midori-view.c:1248
 msgid "Search _with"
 msgstr "Найти _с помощью"
 
-#: ../midori/midori-view.c:1076
+#: ../midori/midori-view.c:1276
 msgid "_Search the Web"
 msgstr "_Найти в сети"
 
-#: ../midori/midori-view.c:1086
+#: ../midori/midori-view.c:1286
 msgid "Open Address in New _Tab"
 msgstr "Открыть ссылку в новой _вкладке"
 
-#: ../midori/midori-view.c:1234
+#: ../midori/midori-view.c:1453
 msgid "Open or download file"
 msgstr "Открыть или загрузить файл"
 
-#: ../midori/midori-view.c:1251
+#: ../midori/midori-view.c:1470
 #, c-format
 msgid "File Type: '%s'"
 msgstr "Тип файла: «%s»"
 
-#: ../midori/midori-view.c:1254
+#: ../midori/midori-view.c:1473
 #, c-format
 msgid "File Type: %s ('%s')"
 msgstr "Тип файла: %s («%s»)"
 
 #. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
-#: ../midori/midori-view.c:1258
+#: ../midori/midori-view.c:1477
 #, c-format
 msgid "Open %s"
 msgstr "Открыть %s"
 
-#: ../midori/midori-view.c:1661
+#: ../midori/midori-view.c:1886
 #, c-format
 msgid "Inspect page - %s"
 msgstr "Информация о странице — %s"
 
-#: ../midori/midori-view.c:1806
+#: ../midori/midori-view.c:2076
+msgid "Speed dial"
+msgstr "Быстрый набор"
+
+#: ../midori/midori-view.c:2077
+msgid "Click to add a shortcut"
+msgstr "Нажмите, чтобы добавить закладку"
+
+#: ../midori/midori-view.c:2078
+msgid "Enter shortcut address"
+msgstr "Введите адрес страницы"
+
+#: ../midori/midori-view.c:2079
+msgid "Enter shortcut title"
+msgstr "Введите название закладки"
+
+#: ../midori/midori-view.c:2080
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "Удалить визуальную закладку?"
+
+#: ../midori/midori-view.c:2110
 #, c-format
 msgid "Document cannot be displayed"
 msgstr "Не удалось отобразить документ"
 
-#: ../midori/midori-view.c:1822
+#: ../midori/midori-view.c:2127
 #, c-format
 msgid "No documentation installed"
 msgstr "Документация не установлена"
@@ -1364,159 +1465,197 @@ msgstr "Запуск"
 msgid "Use current page as homepage"
 msgstr "Установить текущую страницу в качестве домашней"
 
-#: ../midori/midori-preferences.c:423
+#: ../midori/midori-preferences.c:425
 #: ../panels/midori-transfers.c:88
 msgid "Transfers"
 msgstr "Передачи"
 
 #. Page "Appearance"
-#: ../midori/midori-preferences.c:475
+#: ../midori/midori-preferences.c:440
 msgid "Appearance"
 msgstr "Внешний вид"
 
-#: ../midori/midori-preferences.c:476
+#: ../midori/midori-preferences.c:441
 msgid "Font settings"
 msgstr "Настройки шрифта"
 
-#: ../midori/midori-preferences.c:478
+#: ../midori/midori-preferences.c:443
 msgid "Default Font Family"
 msgstr "Семейство шрифта по умолчанию"
 
-#: ../midori/midori-preferences.c:484
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "Семейство шрифта для отображения текста по умолчанию"
+
+#: ../midori/midori-preferences.c:450
 msgid "The default font size used to display text"
 msgstr "Размер шрифта для отображения текста по умолчанию"
 
-#: ../midori/midori-preferences.c:487
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "Семейство моноширинного шрифта"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr "Семейство моноширинного шрифта для отображения текста"
+
+#: ../midori/midori-preferences.c:458
 msgid "Minimum Font Size"
 msgstr "Минимальный размер шрифта"
 
-#: ../midori/midori-preferences.c:490
+#: ../midori/midori-preferences.c:461
 msgid "The minimum font size used to display text"
 msgstr "Наименьший размер шрифта для отображения текста"
 
-#: ../midori/midori-preferences.c:497
+#: ../midori/midori-preferences.c:468
 msgid "Encoding"
 msgstr "Кодировка"
 
-#: ../midori/midori-preferences.c:500
+#: ../midori/midori-preferences.c:471
 msgid "The character encoding to use by default"
 msgstr "Кодировка символов, которая будет использоваться по умолчанию"
 
 #. Page "Behavior"
-#: ../midori/midori-preferences.c:507
+#: ../midori/midori-preferences.c:478
 msgid "Behavior"
 msgstr "Поведение"
 
-#: ../midori/midori-preferences.c:508
+#: ../midori/midori-preferences.c:479
 msgid "Features"
 msgstr "Возможности"
 
-#: ../midori/midori-preferences.c:511
+#: ../midori/midori-preferences.c:482
 #: ../extensions/statusbar-features.c:54
 msgid "Load images automatically"
 msgstr "Загружать изображения автоматически"
 
-#: ../midori/midori-preferences.c:512
+#: ../midori/midori-preferences.c:483
 msgid "Load and display images automatically"
 msgstr "Загружать и отображать изображения автоматически"
 
-#: ../midori/midori-preferences.c:515
+#: ../midori/midori-preferences.c:486
 msgid "Shrink images automatically"
 msgstr "Масштабировать изображения автоматически"
 
-#: ../midori/midori-preferences.c:516
+#: ../midori/midori-preferences.c:487
 msgid "Automatically shrink standalone images to fit"
 msgstr "Автоматически уменьшать отдельные изображения по размеру экрана"
 
-#: ../midori/midori-preferences.c:519
+#: ../midori/midori-preferences.c:490
 msgid "Print background images"
 msgstr "Печатать фоновые изображения"
 
-#: ../midori/midori-preferences.c:520
+#: ../midori/midori-preferences.c:491
 msgid "Whether background images should be printed"
 msgstr "Должны ли быть выведены на печать фоновые изображения"
 
-#: ../midori/midori-preferences.c:523
+#: ../midori/midori-preferences.c:494
 msgid "Resizable text areas"
 msgstr "Изменяемый размер текстовых полей"
 
-#: ../midori/midori-preferences.c:524
+#: ../midori/midori-preferences.c:495
 msgid "Whether text areas are resizable"
 msgstr "Текстовые поля могут изменять размер"
 
-#: ../midori/midori-preferences.c:527
+#: ../midori/midori-preferences.c:498
 #: ../extensions/statusbar-features.c:63
 msgid "Enable scripts"
 msgstr "Выполнять сценарии"
 
-#: ../midori/midori-preferences.c:528
+#: ../midori/midori-preferences.c:499
 msgid "Enable embedded scripting languages"
 msgstr "Выполнять встроенные сценарии на страницах"
 
-#: ../midori/midori-preferences.c:531
+#: ../midori/midori-preferences.c:502
 #: ../extensions/statusbar-features.c:72
-msgid "Enable plugins"
-msgstr "Использовать модули"
+msgid "Enable Netscape plugins"
+msgstr "Использовать модули Netscape"
 
-#: ../midori/midori-preferences.c:532
-msgid "Enable embedded plugin objects"
-msgstr "Разрешить встроенные объекты модулей на страницах"
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "Разрешить встроенные объекты модулей Netscape на страницах"
 
-#: ../midori/midori-preferences.c:535
+#: ../midori/midori-preferences.c:506
 msgid "Enforce 96 dots per inch"
 msgstr "Всегда использовать разрешение 96 точек на дюйм"
 
-#: ../midori/midori-preferences.c:536
+#: ../midori/midori-preferences.c:507
 msgid "Enforce a video dot density of 96 DPI"
 msgstr "Принудительно использовать разрешение 96 точек на дюйм"
 
-#: ../midori/midori-preferences.c:539
+#: ../midori/midori-preferences.c:510
 msgid "Enable developer tools"
 msgstr "Включить средства разработчика"
 
-#: ../midori/midori-preferences.c:540
+#: ../midori/midori-preferences.c:511
 msgid "Enable special extensions for developers"
 msgstr "Включить особые расширения для разработчиков"
 
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "Проверка орфографии"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "Проверять орфографию"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "Проверять правописание вводимого текста"
+
+#. i18n: The example should be adjusted to contain a good local default
+#: ../midori/midori-preferences.c:526
+msgid "A comma separated list of languages to be used for spell checking, for example \"en_GB,de_DE\""
+msgstr "Список языков для проверки орфографии через запятую, например, «en_US,ru»"
+
 #. Page "Interface"
-#: ../midori/midori-preferences.c:547
+#: ../midori/midori-preferences.c:531
 msgid "Interface"
 msgstr "Интерфейс"
 
-#: ../midori/midori-preferences.c:548
+#: ../midori/midori-preferences.c:532
 msgid "Navigationbar"
 msgstr "Панель навигации"
 
-#: ../midori/midori-preferences.c:559
+#: ../midori/midori-preferences.c:543
 msgid "Browsing"
 msgstr "Навигация"
 
+#. Page "Applications"
+#: ../midori/midori-preferences.c:573
+msgid "Applications"
+msgstr "Приложения"
+
+#: ../midori/midori-preferences.c:574
+msgid "External applications"
+msgstr "Внешние приложения"
+
 #. Page "Network"
-#: ../midori/midori-preferences.c:589
-#: ../midori/midori-preferences.c:590
+#: ../midori/midori-preferences.c:620
+#: ../midori/midori-preferences.c:621
 msgid "Network"
 msgstr "Сеть"
 
-#: ../midori/midori-preferences.c:617
+#: ../midori/midori-preferences.c:648
 msgid "MB"
 msgstr "МБ"
 
 #. Page "Privacy"
-#: ../midori/midori-preferences.c:622
+#: ../midori/midori-preferences.c:653
 msgid "Privacy"
 msgstr "Конфиденциальность"
 
-#: ../midori/midori-preferences.c:623
+#: ../midori/midori-preferences.c:654
 msgid "Web Cookies"
 msgstr "Фрагменты данных"
 
-#: ../midori/midori-preferences.c:636
-#: ../midori/midori-preferences.c:646
+#: ../midori/midori-preferences.c:667
+#: ../midori/midori-preferences.c:677
 msgid "days"
 msgstr "дней"
 
 #: ../midori/midori-searchaction.c:484
-#: ../katze/katze-arrayaction.c:277
+#: ../katze/katze-arrayaction.c:331
 msgid "Empty"
 msgstr "Очистить"
 
@@ -1544,65 +1683,60 @@ msgstr "_Признак:"
 msgid "Manage Search Engines"
 msgstr "Управление средствами поиска"
 
-#: ../midori/sokoke.c:117
-#: ../midori/sokoke.c:129
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "Использовать _по умолчанию"
+
+#: ../midori/sokoke.c:164
+#: ../midori/sokoke.c:176
 msgid "Could not run external program."
 msgstr "Не удалось выполнить внешнюю программу."
 
-#. i18n: A superuser, or system administrator, may not be 'root'
-#: ../midori/sokoke.c:448
-msgid "Warning: You are using a superuser account!"
-msgstr "Внимание: используется учётная запись суперпользователя!"
-
-#: ../midori/sokoke.c:780
+#: ../midori/sokoke.c:847
 msgid "_Bookmark"
 msgstr "_Закладка"
 
-#: ../midori/sokoke.c:782
+#: ../midori/sokoke.c:849
 msgid "_Add Bookmark"
 msgstr "_Добавить закладку"
 
-#: ../midori/sokoke.c:783
+#: ../midori/sokoke.c:850
 msgid "_Console"
 msgstr "_Консоль"
 
-#: ../midori/sokoke.c:784
+#: ../midori/sokoke.c:851
 msgid "_Extensions"
 msgstr "_Дополнения"
 
-#: ../midori/sokoke.c:785
+#: ../midori/sokoke.c:852
 msgid "_History"
 msgstr "_Журнал"
 
-#: ../midori/sokoke.c:786
+#: ../midori/sokoke.c:853
 msgid "_Homepage"
 msgstr "Д_омашняя страница"
 
-#: ../midori/sokoke.c:787
+#: ../midori/sokoke.c:854
 msgid "_Userscripts"
 msgstr "_Сценарии пользователя"
 
-#: ../midori/sokoke.c:788
+#: ../midori/sokoke.c:855
 msgid "User_styles"
 msgstr "С_тили пользователя"
 
-#: ../midori/sokoke.c:789
+#: ../midori/sokoke.c:856
 msgid "New _Tab"
 msgstr "Но_вая вкладка"
 
-#: ../midori/sokoke.c:790
+#: ../midori/sokoke.c:857
 msgid "_Transfers"
 msgstr "_Передачи"
 
-#: ../midori/sokoke.c:791
-msgid "P_lugins"
-msgstr "_Модули"
+#: ../midori/sokoke.c:858
+msgid "Netscape p_lugins"
+msgstr "_Модули Netscape"
 
-#: ../midori/sokoke.c:792
-msgid "_Closed Tabs and Windows"
-msgstr "За_крытые вкладки и окна"
-
-#: ../midori/sokoke.c:793
+#: ../midori/sokoke.c:860
 msgid "New _Window"
 msgstr "_Новое окно"
 
@@ -1616,22 +1750,22 @@ msgstr "Сценарии"
 msgid "Userstyles"
 msgstr "Стили пользователя"
 
-#: ../panels/midori-addons.c:927
+#: ../panels/midori-addons.c:1031
 #: ../panels/midori-extensions.c:144
 msgid "_Enable"
 msgstr "_Включить"
 
-#: ../panels/midori-addons.c:928
+#: ../panels/midori-addons.c:1032
 #: ../panels/midori-extensions.c:145
 msgid "Enable"
 msgstr "Включить"
 
-#: ../panels/midori-addons.c:937
+#: ../panels/midori-addons.c:1041
 #: ../panels/midori-extensions.c:154
 msgid "_Disable"
 msgstr "_Отключить"
 
-#: ../panels/midori-addons.c:938
+#: ../panels/midori-addons.c:1042
 #: ../panels/midori-extensions.c:155
 msgid "Disable"
 msgstr "Отключить"
@@ -1640,15 +1774,15 @@ msgstr "Отключить"
 msgid "Bookmarks"
 msgstr "Закладки"
 
-#: ../panels/midori-bookmarks.c:240
+#: ../panels/midori-bookmarks.c:238
 msgid "Edit the selected bookmark"
 msgstr "Редактировать закладку"
 
-#: ../panels/midori-bookmarks.c:248
+#: ../panels/midori-bookmarks.c:246
 msgid "Delete the selected bookmark"
 msgstr "Удалить закладку"
 
-#: ../panels/midori-bookmarks.c:593
+#: ../panels/midori-bookmarks.c:591
 msgid "<i>Separator</i>"
 msgstr "<i>Разделитель</i>"
 
@@ -1660,45 +1794,49 @@ msgstr "Консоль"
 msgid "Extensions"
 msgstr "Дополнения"
 
-#: ../panels/midori-history.c:163
+#: ../panels/midori-history.c:162
 msgid "Are you sure you want to remove all history items?"
 msgstr "Удалить все записи в журнале?"
 
-#: ../panels/midori-history.c:218
+#: ../panels/midori-history.c:217
 msgid "Bookmark the selected history item"
 msgstr "Добавить выделенную запись в закладки"
 
-#: ../panels/midori-history.c:227
+#: ../panels/midori-history.c:226
 msgid "Delete the selected history item"
 msgstr "Удалить запись из журнала"
 
-#: ../panels/midori-history.c:235
+#: ../panels/midori-history.c:234
 msgid "Clear the entire history"
 msgstr "Очистить весь журнал"
 
-#: ../panels/midori-history.c:600
-#, c-format
+#: ../panels/midori-history.c:602
 msgid "A week ago"
 msgstr "Неделю назад"
 
-#: ../panels/midori-history.c:606
+#: ../panels/midori-history.c:607
+#, c-format
+msgid "%d day ago"
+msgstr "%d день назад"
+
+#: ../panels/midori-history.c:608
 #, c-format
 msgid "%d days ago"
 msgstr "%d дней назад"
 
-#: ../panels/midori-history.c:613
+#: ../panels/midori-history.c:615
 msgid "Today"
 msgstr "Сегодня"
 
-#: ../panels/midori-history.c:615
+#: ../panels/midori-history.c:617
 msgid "Yesterday"
 msgstr "Вчера"
 
 #: ../panels/midori-plugins.c:87
-msgid "Plugins"
-msgstr "Модули"
+msgid "Netscape plugins"
+msgstr "Модули Netscape"
 
-#: ../panels/midori-transfers.c:256
+#: ../panels/midori-transfers.c:271
 #, c-format
 msgid "%s of %s"
 msgstr "%s из %s"
@@ -1738,37 +1876,90 @@ msgid "Animation frames are broken"
 msgstr "Кадры анимации повреждены"
 
 #: ../katze/katze-utils.c:183
-#: ../katze/katze-utils.c:395
+#: ../katze/katze-utils.c:385
 #, c-format
 msgid "Property '%s' is invalid for %s"
 msgstr "Свойство «%s» недействительно для %s"
 
 #: ../katze/katze-utils.c:215
-#: ../katze/katze-utils.c:254
+#: ../katze/katze-utils.c:244
 msgid "Choose file"
 msgstr "Выберите файл"
 
-#: ../katze/katze-utils.c:235
+#: ../katze/katze-utils.c:230
 msgid "Choose folder"
 msgstr "Выберите папку"
 
-#: ../extensions/colorful-tabs.c:104
+#: ../extensions/adblock.c:78
+msgid "Configure Advertisement filters"
+msgstr "Настройка рекламных фильтров"
+
+#: ../extensions/adblock.c:214
+msgid "Configure _Advertisement filters..."
+msgstr "_Настроить рекламные фильтры..."
+
+#: ../extensions/adblock.c:374
+msgid "Advertisement blocker"
+msgstr "Блокировка рекламы"
+
+#: ../extensions/adblock.c:375
+msgid "Block advertisements according to a filter list"
+msgstr "Блокирует рекламу по списку фильтров"
+
+#: ../extensions/colorful-tabs.c:115
 msgid "Tint tabs distinctly"
 msgstr "Цвета вкладок"
 
-#: ../extensions/colorful-tabs.c:140
+#: ../extensions/colorful-tabs.c:151
 msgid "Colorful Tabs"
 msgstr "Цветные вкладки"
 
-#: ../extensions/colorful-tabs.c:141
+#: ../extensions/colorful-tabs.c:152
 msgid "Tint each tab distinctly"
 msgstr "Каждая вкладка имеет свой цвет"
 
-#: ../extensions/cookie-manager.c:201
+#: ../extensions/cookie-manager/cookie-manager.c:105
+msgid "_Cookie Manager"
+msgstr "Менеджер _фрагментов данных"
+
+#: ../extensions/cookie-manager/cookie-manager.c:121
+#: ../extensions/cookie-manager/cookie-manager-page.c:83
+msgid "Cookie Manager"
+msgstr "Менеджер фрагментов данных"
+
+#: ../extensions/cookie-manager/cookie-manager.c:122
+msgid "List, view and delete cookies"
+msgstr "Просмотр и удаление фрагментов данных"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:131
+msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
+msgstr "Будут удалены только видимые фрагменты. Если активен фильтр, будут удалены только те фрагменты, которые удовлетворяют его условиям."
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:146
+msgid "Expand All"
+msgstr "Развернуть всё"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:153
+msgid "Collapse All"
+msgstr "Свернуть всё"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:474
+msgid "Do you really want to delete all cookies?"
+msgstr "Удалить все сохранённые фрагменты данных?"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:476
+msgid "Question"
+msgstr "Вопрос"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:485
+msgid "Only cookies which match the filter will be deleted."
+msgstr "Будут удалены только фрагменты, удовлетворяющие условиям фильтра."
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:553
 msgid "At the end of the session"
 msgstr "В конце сеанса"
 
-#: ../extensions/cookie-manager.c:204
+#: ../extensions/cookie-manager/cookie-manager-page.c:556
 #, c-format
 msgid ""
 "<b>Host</b>: %s\n"
@@ -1785,80 +1976,123 @@ msgstr ""
 "<b>Защищённый</b>: %s\n"
 "<b>Срок истекает</b>: %s"
 
-#: ../extensions/cookie-manager.c:210
+#: ../extensions/cookie-manager/cookie-manager-page.c:562
 msgid "Yes"
 msgstr "Да"
 
-#: ../extensions/cookie-manager.c:210
+#: ../extensions/cookie-manager/cookie-manager-page.c:562
 msgid "No"
 msgstr "Нет"
 
-#: ../extensions/cookie-manager.c:491
-msgid "Do you really want to delete all cookies?"
-msgstr "Удалить все сохранённые фрагменты данных?"
-
-#: ../extensions/cookie-manager.c:493
-msgid "Question"
-msgstr "Вопрос"
-
-#: ../extensions/cookie-manager.c:501
-msgid "Only the visible cookies are deleted which match the entered filter string."
-msgstr "Будут удалены только видимые фрагменты, удовлетворяющие условиям фильтра."
-
-#: ../extensions/cookie-manager.c:679
+#: ../extensions/cookie-manager/cookie-manager-page.c:819
 msgid "Name"
 msgstr "Имя"
 
-#: ../extensions/cookie-manager.c:739
+#: ../extensions/cookie-manager/cookie-manager-page.c:884
 msgid "_Expand All"
 msgstr "_Развернуть всё"
 
-#: ../extensions/cookie-manager.c:747
+#: ../extensions/cookie-manager/cookie-manager-page.c:892
 msgid "_Collapse All"
 msgstr "_Свернуть всё"
 
-#: ../extensions/cookie-manager.c:818
-msgid "Delete All"
-msgstr "Удалить всё"
-
-#: ../extensions/cookie-manager.c:820
-msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
-msgstr "Будут удалены только видимые фрагменты. Если активен фильтр, будут удалены только те фрагменты, которые удовлетворяют его условиям."
-
-#: ../extensions/cookie-manager.c:835
-msgid "Expand All"
-msgstr "Развернуть всё"
-
-#: ../extensions/cookie-manager.c:842
-msgid "Collapse All"
-msgstr "Свернуть всё"
-
-#: ../extensions/cookie-manager.c:873
+#: ../extensions/cookie-manager/cookie-manager-page.c:942
 msgid "Filter:"
 msgstr "Фильтр:"
 
-#: ../extensions/cookie-manager.c:878
+#: ../extensions/cookie-manager/cookie-manager-page.c:947
 msgid "Enter a filter string to show only cookies whose name or domain field match the entered filter"
 msgstr "Строка для фильтрации по имени фрагмента или адресу веб-сайта"
 
-#: ../extensions/cookie-manager.c:913
-#: ../extensions/cookie-manager.c:961
-msgid "Cookie Manager"
-msgstr "Менеджер фрагментов данных"
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr "Не удалось найти обязательные элементы Atom «entry» в данных XML."
 
-#: ../extensions/cookie-manager.c:945
-msgid "_Cookie Manager"
-msgstr "Ð\9cенеджеÑ\80 _Ñ\84Ñ\80агменÑ\82ов Ð´Ð°Ð½Ð½Ñ\8bÑ\85"
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð½Ð°Ð¹Ñ\82и Ð¾Ð±Ñ\8fзаÑ\82елÑ\8cнÑ\8bе Ñ\8dлеменÑ\82Ñ\8b Atom Â«feed» Ð² Ð´Ð°Ð½Ð½Ñ\8bÑ\85 XML."
 
-#: ../extensions/cookie-manager.c:962
-msgid "List, view and delete cookies"
-msgstr "Просмотр и удаление фрагментов данных"
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "Последнее обновление: %s."
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "Ленты"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "Добавить ленту"
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "Удалить ленту"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "Л_енты"
+
+#: ../extensions/feed-panel/feed-parse.c:185
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "Не удалось найти корневой элемент в данных XML."
+
+#: ../extensions/feed-panel/feed-parse.c:225
+#, c-format
+msgid "Unsupported feed format."
+msgstr "Формат ленты не поддерживается."
+
+#: ../extensions/feed-panel/feed-parse.c:255
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "Не удалось обработать XML-ленту: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr "Не удалось найти элемент «channel» в данных RSS XML."
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "Обнаруженная версия RSS не поддерживается."
+
+#: ../extensions/feed-panel/feed-rss.c:148
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "Не удалось найти обязательные элементы RSS «item» в данных XML."
+
+#: ../extensions/feed-panel/feed-rss.c:248
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr "Не удалось найти обязательные элементы RSS «channel» в данных XML."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "Лента «%s» уже была добавлена"
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "Не удалось загрузить ленту «%s»"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "Новая лента"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "Панель лент новостей"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Чтение лент RSS/Atom"
 
-#: ../extensions/mouse-gestures/main.c:216
+#: ../extensions/mouse-gestures/main.c:244
 msgid "Mouse Gestures"
 msgstr "Жесты мышью"
 
-#: ../extensions/mouse-gestures/main.c:217
+#: ../extensions/mouse-gestures/main.c:245
 msgid "Control Midori by moving the mouse"
 msgstr "Управление Midori с помощью движений мыши"
 
@@ -1872,6 +2106,28 @@ msgstr "Контейнер"
 msgid "_Pageholder"
 msgstr "К_онтейнер"
 
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr "Настройка возможностей"
+
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr "Быстрая настройка режимов отображения страниц"
+
+#~ msgid "_Quick Find"
+#~ msgstr "_Быстрый поиск"
+#~ msgid "Quickly jump to a word or phrase"
+#~ msgstr "Перейти на слово или фразу"
+#~ msgid "Add to customized _homepage"
+#~ msgstr "До_бавить в визуальные закладки"
+#~ msgid "Search"
+#~ msgstr "Найти"
+#~ msgid "Warning: You are using a superuser account!"
+#~ msgstr "Внимание: используется учётная запись суперпользователя!"
+#~ msgid "P_lugins"
+#~ msgstr "_Модули"
+#~ msgid "Plugins"
+#~ msgstr "Модули"
 #~ msgid "%s has no property '%s'"
 #~ msgstr "%s не обладает свойством «%s»"
 #~ msgid "%s cannot be assigned to %s.%s"
@@ -1960,8 +2216,6 @@ msgstr "К_онтейнер"
 #~ msgstr "Панель состояния"
 #~ msgid "The statusbar"
 #~ msgstr "Панель состояния"
-#~ msgid "Statusbar Text"
-#~ msgstr "Текст вкладки статуса"
 #~ msgid "The text that is displayed in the statusbar"
 #~ msgstr "Текст отображаемый во вкладке статуса"
 #~ msgid "The list of search engines to be used for web search"
@@ -1984,8 +2238,6 @@ msgstr "К_онтейнер"
 #~ msgstr "Показать кнопку Новая Вкладка в панели инструментов"
 #~ msgid "Show Homepage"
 #~ msgstr "Показать домашнюю страницу"
-#~ msgid "Show the Homepage button in the toolbar"
-#~ msgstr "Показать кнопку Домашняя Страница в панели инструментов"
 #~ msgid "Show Web search"
 #~ msgstr "Показать поиск"
 #~ msgid "Show the Web search entry in the toolbar"
@@ -2014,8 +2266,6 @@ msgstr "К_онтейнер"
 #~ msgstr "Имя иконки содержащей анимационные рамки"
 #~ msgid "The name of an icon to be used as the static image"
 #~ msgstr "Имя иконки для статичного изобрадения"
-#~ msgid "Icon '%s' couldn't be loaded"
-#~ msgstr "Значок '%s'  не может быть загружен"
 #~ msgid "The descriptive text of the item"
 #~ msgstr "Описание пункта"
 #~ msgid "Token"
diff --git a/po/sk.po b/po/sk.po
new file mode 100644 (file)
index 0000000..3d69a6b
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,1871 @@
+# Slovak translations for midori package.
+# Copyright (C) 2008 THE Midori'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the midori package.
+# Robert Hartl <hartl.robert@gmail.com> 2009
+msgid ""
+msgstr ""
+"Project-Id-Version: midori 0.1.6\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-04-19 16:44+0200\n"
+"PO-Revision-Date: 2009-04-27 19:01+0100\n"
+"Last-Translator: Robert Hartl <hartl.robert@gmail.com>\n"
+"Language-Team: slovak <sk-i18n@lists.linux.sk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../data/midori.desktop.in.h:1
+msgid "Lightweight web browser"
+msgstr ""
+
+#: ../data/midori.desktop.in.h:2
+#: ../midori/main.c:1288
+#: ../midori/main.c:1388
+#: ../midori/main.c:1396
+#: ../midori/main.c:1407
+#: ../midori/midori-websettings.c:273
+msgid "Midori"
+msgstr "Midori"
+
+#: ../data/midori.desktop.in.h:3
+msgid "Web Browser"
+msgstr "Webový prehliadač"
+
+#: ../midori/main.c:94
+#, c-format
+msgid "The configuration couldn't be loaded: %s\n"
+msgstr ""
+
+#: ../midori/main.c:149
+#, c-format
+msgid "Value '%s' is invalid for %s"
+msgstr ""
+
+#: ../midori/main.c:156
+#: ../midori/main.c:228
+#, c-format
+msgid "Invalid configuration value '%s'"
+msgstr ""
+
+#: ../midori/main.c:332
+#, c-format
+msgid "Failed to open database: %s\n"
+msgstr ""
+
+#: ../midori/main.c:364
+#, c-format
+msgid "Failed to execute database statement: %s\n"
+msgstr ""
+
+#: ../midori/main.c:418
+#, c-format
+msgid "Failed to remove history item: %s\n"
+msgstr ""
+
+#: ../midori/main.c:442
+#, c-format
+msgid "Failed to clear history: %s\n"
+msgstr ""
+
+#: ../midori/main.c:465
+#: ../midori/main.c:499
+#: ../midori/main.c:515
+#, c-format
+msgid "Failed to add history item: %s\n"
+msgstr ""
+
+#. i18n: Couldn't remove items that are older than n days
+#: ../midori/main.c:694
+#, c-format
+msgid "Failed to remove old history items: %s\n"
+msgstr ""
+
+#: ../midori/main.c:722
+#, c-format
+msgid "The configuration couldn't be saved. %s"
+msgstr ""
+
+#: ../midori/main.c:751
+#, c-format
+msgid "The search engines couldn't be saved. %s"
+msgstr ""
+
+#: ../midori/main.c:770
+#: ../midori/main.c:798
+#: ../midori/main.c:827
+#, c-format
+msgid "The bookmarks couldn't be saved. %s"
+msgstr ""
+
+#. i18n: Trash, or wastebin, containing closed tabs
+#: ../midori/main.c:850
+#: ../midori/main.c:873
+#, c-format
+msgid "The trash couldn't be saved. %s"
+msgstr ""
+
+#: ../midori/main.c:946
+#, c-format
+msgid "The session couldn't be saved. %s"
+msgstr ""
+
+#: ../midori/main.c:1073
+msgid "Midori seems to have crashed the last time it was opened. If this happened repeatedly, try one of the following options to solve the problem."
+msgstr ""
+
+#: ../midori/main.c:1088
+msgid "Modify _preferences"
+msgstr "Zmeniť _nastavenia"
+
+#: ../midori/main.c:1092
+msgid "Reset the last _session"
+msgstr ""
+
+#: ../midori/main.c:1097
+msgid "Disable all _extensions"
+msgstr "Zakázať všetky _rozšírenia"
+
+#: ../midori/main.c:1288
+msgid "No filename specified"
+msgstr ""
+
+#: ../midori/main.c:1311
+msgid "An unknown error occured."
+msgstr ""
+
+#: ../midori/main.c:1336
+msgid "Run ADDRESS as a web application"
+msgstr ""
+
+#: ../midori/main.c:1336
+msgid "ADDRESS"
+msgstr "ADRESA"
+
+#: ../midori/main.c:1338
+msgid "Use FOLDER as configuration folder"
+msgstr "Použiť PRIEČINOK ako konfiguračný priečinok"
+
+#: ../midori/main.c:1338
+msgid "FOLDER"
+msgstr "PRIEČINOK"
+
+#: ../midori/main.c:1340
+msgid "Run the specified filename as javascript"
+msgstr ""
+
+#: ../midori/main.c:1342
+msgid "Display program version"
+msgstr "Zobraziť verziu programu"
+
+#: ../midori/main.c:1344
+msgid "Addresses"
+msgstr "Adresy"
+
+#: ../midori/main.c:1385
+msgid "[Addresses]"
+msgstr "[Adresy]"
+
+#: ../midori/main.c:1408
+msgid "Please report comments, suggestions and bugs to:"
+msgstr ""
+
+#: ../midori/main.c:1410
+msgid "Check for new versions at:"
+msgstr ""
+
+#: ../midori/main.c:1454
+msgid "The specified configuration folder is invalid."
+msgstr ""
+
+#: ../midori/main.c:1489
+msgid "An instance of Midori is already running but not responding.\n"
+msgstr ""
+
+#: ../midori/main.c:1539
+#, c-format
+msgid "The search engines couldn't be loaded. %s\n"
+msgstr ""
+
+#: ../midori/main.c:1551
+#, c-format
+msgid "The bookmarks couldn't be loaded: %s\n"
+msgstr "Záložky nie je možné načítať: %s\n"
+
+#: ../midori/main.c:1566
+#, c-format
+msgid "The session couldn't be loaded: %s\n"
+msgstr "Sedenie nie je možné načítať: %s\n"
+
+#: ../midori/main.c:1579
+#, c-format
+msgid "The trash couldn't be loaded: %s\n"
+msgstr ""
+
+#: ../midori/main.c:1592
+#, c-format
+msgid "The history couldn't be loaded: %s\n"
+msgstr "Históriu nie je možné načítať: %s\n"
+
+#: ../midori/main.c:1604
+msgid "The following errors occured:"
+msgstr ""
+
+#: ../midori/main.c:1620
+msgid "_Ignore"
+msgstr "_Ignorovať"
+
+#: ../midori/midori-array.c:195
+msgid "File not found."
+msgstr "Súbor sa nenašiel."
+
+#: ../midori/midori-array.c:203
+#: ../midori/midori-array.c:212
+msgid "Malformed document."
+msgstr ""
+
+#: ../midori/midori-array.c:338
+#: ../midori/sokoke.c:625
+#, c-format
+msgid "Writing failed."
+msgstr "Zapisovanie zlyhalo."
+
+#: ../midori/midori-browser.c:280
+#: ../midori/midori-browser.c:3368
+#: ../midori/midori-browser.c:3374
+msgid "Reload the current page"
+msgstr "Obnoviť aktuálnu stránku"
+
+#: ../midori/midori-browser.c:291
+#: ../midori/midori-browser.c:3371
+msgid "Stop loading the current page"
+msgstr "Zastaviť načítanie aktuálnej stránky"
+
+#: ../midori/midori-browser.c:353
+#, c-format
+msgid "%d%% loaded"
+msgstr ""
+
+#: ../midori/midori-browser.c:378
+#, c-format
+msgid "Unexpected action '%s'."
+msgstr ""
+
+#: ../midori/midori-browser.c:541
+msgid "New folder"
+msgstr "Nový priečinok"
+
+#: ../midori/midori-browser.c:541
+msgid "Edit folder"
+msgstr "Upraviť priečinok"
+
+#: ../midori/midori-browser.c:543
+msgid "New bookmark"
+msgstr "Nová záložka"
+
+#: ../midori/midori-browser.c:543
+msgid "Edit bookmark"
+msgstr "Upraviť záložku"
+
+#: ../midori/midori-browser.c:573
+msgid "_Title:"
+msgstr "_Názov:"
+
+#: ../midori/midori-browser.c:586
+#: ../midori/midori-searchaction.c:948
+msgid "_Description:"
+msgstr "_Poznámka:"
+
+#: ../midori/midori-browser.c:605
+#: ../midori/midori-searchaction.c:962
+msgid "_Address:"
+msgstr "_Adresa:"
+
+#: ../midori/midori-browser.c:624
+msgid "_Folder:"
+msgstr "_Priečinok:"
+
+#: ../midori/midori-browser.c:629
+#: ../midori/midori-browser.c:670
+msgid "Toplevel folder"
+msgstr "Priečinok najvyššej úrovne"
+
+#: ../midori/midori-browser.c:746
+msgid "Save file as"
+msgstr "Uložiť súbor ako"
+
+#: ../midori/midori-browser.c:1523
+msgid "Open file"
+msgstr "Otvoriť súbor"
+
+#: ../midori/midori-browser.c:2803
+#: ../panels/midori-bookmarks.c:782
+#: ../panels/midori-history.c:809
+msgid "Open all in _Tabs"
+msgstr ""
+
+#: ../midori/midori-browser.c:2810
+#: ../panels/midori-bookmarks.c:788
+#: ../panels/midori-history.c:815
+msgid "Open in New _Tab"
+msgstr "Otvoriť na novej _karte"
+
+#: ../midori/midori-browser.c:2813
+#: ../panels/midori-bookmarks.c:790
+#: ../panels/midori-history.c:817
+msgid "Open in New _Window"
+msgstr "Otvoriť v novom _okne"
+
+#: ../midori/midori-browser.c:2974
+msgid "Clear Private Data"
+msgstr "Odstrániť súkromné údaje"
+
+#: ../midori/midori-browser.c:2977
+msgid "_Clear private data"
+msgstr "_Odstrániť súkromné údaje"
+
+#: ../midori/midori-browser.c:2990
+msgid "Clear the following data:"
+msgstr "Odstrániť nasledujúce údaje:"
+
+#: ../midori/midori-browser.c:2998
+#: ../midori/midori-preferences.c:640
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "História"
+
+#: ../midori/midori-browser.c:3001
+msgid "Cookies"
+msgstr "Cookies"
+
+#: ../midori/midori-browser.c:3004
+msgid "'Flash' Cookies"
+msgstr "'Flash' Cookies"
+
+#: ../midori/midori-browser.c:3007
+msgid "Website icons"
+msgstr "Ikony webových stránok"
+
+#: ../midori/midori-browser.c:3093
+msgid "A lightweight web browser."
+msgstr ""
+
+#: ../midori/midori-browser.c:3101
+msgid "translator-credits"
+msgstr "Robert Hartl <hartl.robert@gmail.com> 2009"
+
+#: ../midori/midori-browser.c:3302
+msgid "_File"
+msgstr "_Súbor"
+
+#: ../midori/midori-browser.c:3305
+msgid "Open a new window"
+msgstr "Otvoriť nové okno"
+
+#: ../midori/midori-browser.c:3308
+msgid "Open a new tab"
+msgstr "Otvoriť novú kartu"
+
+#: ../midori/midori-browser.c:3311
+msgid "Open a file"
+msgstr "Otvoriť súbor"
+
+#: ../midori/midori-browser.c:3314
+msgid "Save to a file"
+msgstr ""
+
+#: ../midori/midori-browser.c:3316
+msgid "_Close Tab"
+msgstr "_Zatvoriť kartu"
+
+#: ../midori/midori-browser.c:3317
+msgid "Close the current tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:3319
+msgid "C_lose Window"
+msgstr "Zatvoriť okno"
+
+#: ../midori/midori-browser.c:3320
+msgid "Close this window"
+msgstr ""
+
+#: ../midori/midori-browser.c:3323
+msgid "Print the current page"
+msgstr ""
+
+#: ../midori/midori-browser.c:3326
+msgid "Quit the application"
+msgstr ""
+
+#: ../midori/midori-browser.c:3328
+msgid "_Edit"
+msgstr "_Upraviť"
+
+#: ../midori/midori-browser.c:3331
+msgid "Cut the selected text"
+msgstr ""
+
+#: ../midori/midori-browser.c:3334
+#: ../midori/midori-browser.c:3337
+msgid "Copy the selected text"
+msgstr ""
+
+#: ../midori/midori-browser.c:3340
+msgid "Paste text from the clipboard"
+msgstr ""
+
+#: ../midori/midori-browser.c:3343
+msgid "Delete the selected text"
+msgstr "Odstrániť označený text"
+
+#: ../midori/midori-browser.c:3346
+msgid "Select all text"
+msgstr "Vybrať všetok text"
+
+#: ../midori/midori-browser.c:3349
+msgid "Find a word or phrase in the page"
+msgstr ""
+
+#: ../midori/midori-browser.c:3351
+msgid "Find _Next"
+msgstr "Hľadať _ďalšie"
+
+#: ../midori/midori-browser.c:3352
+msgid "Find the next occurrence of a word or phrase"
+msgstr ""
+
+#: ../midori/midori-browser.c:3354
+msgid "Find _Previous"
+msgstr ""
+
+#: ../midori/midori-browser.c:3355
+msgid "Find the previous occurrence of a word or phrase"
+msgstr ""
+
+#: ../midori/midori-browser.c:3358
+msgid "_Quick Find"
+msgstr "_Rýchle hľadanie"
+
+#: ../midori/midori-browser.c:3359
+msgid "Quickly jump to a word or phrase"
+msgstr ""
+
+#: ../midori/midori-browser.c:3362
+msgid "Configure the application preferences"
+msgstr ""
+
+#: ../midori/midori-browser.c:3364
+msgid "_View"
+msgstr "_Zobraziť"
+
+#: ../midori/midori-browser.c:3365
+msgid "_Toolbars"
+msgstr "_Panely s nástrojmi"
+
+#: ../midori/midori-browser.c:3377
+msgid "Increase the zoom level"
+msgstr ""
+
+#: ../midori/midori-browser.c:3380
+msgid "Decrease the zoom level"
+msgstr ""
+
+#: ../midori/midori-browser.c:3383
+msgid "Reset the zoom level"
+msgstr ""
+
+#: ../midori/midori-browser.c:3384
+msgid "_Encoding"
+msgstr "_Kódovanie"
+
+#: ../midori/midori-browser.c:3386
+msgid "_Automatic"
+msgstr "_Automatické"
+
+#: ../midori/midori-browser.c:3389
+#: ../midori/midori-websettings.c:200
+msgid "Chinese (BIG5)"
+msgstr "Čínske (BIG5)"
+
+#: ../midori/midori-browser.c:3392
+#: ../midori/midori-websettings.c:201
+msgid "Japanese (SHIFT_JIS)"
+msgstr "Japonské (SHIFT_JIS)"
+
+#: ../midori/midori-browser.c:3395
+#: ../midori/midori-websettings.c:202
+msgid "Russian (KOI8-R)"
+msgstr "Ruské (KOI8-R)"
+
+#: ../midori/midori-browser.c:3398
+#: ../midori/midori-websettings.c:203
+msgid "Unicode (UTF-8)"
+msgstr "Unicode (UTF-8)"
+
+#: ../midori/midori-browser.c:3401
+#: ../midori/midori-websettings.c:204
+msgid "Western (ISO-8859-1)"
+msgstr "Západné (ISO-8859-1)"
+
+#: ../midori/midori-browser.c:3404
+#: ../midori/midori-websettings.c:205
+#: ../midori/midori-websettings.c:277
+msgid "Custom..."
+msgstr "Vlastné..."
+
+#: ../midori/midori-browser.c:3407
+#: ../midori/midori-view.c:1138
+msgid "View _Source"
+msgstr "Zobraziť _zdrojový kód"
+
+#: ../midori/midori-browser.c:3408
+msgid "View the source code of the page"
+msgstr ""
+
+#: ../midori/midori-browser.c:3410
+msgid "View Selection Source"
+msgstr ""
+
+#: ../midori/midori-browser.c:3411
+msgid "View the source code of the selection"
+msgstr ""
+
+#: ../midori/midori-browser.c:3415
+msgid "Toggle fullscreen view"
+msgstr ""
+
+#: ../midori/midori-browser.c:3417
+msgid "_Go"
+msgstr "_Ísť"
+
+#: ../midori/midori-browser.c:3420
+msgid "Go back to the previous page"
+msgstr "Späť na predchádzajúcu stránku"
+
+#: ../midori/midori-browser.c:3423
+msgid "Go forward to the next page"
+msgstr "Dopredu na nasledujúcu stránku"
+
+#: ../midori/midori-browser.c:3426
+msgid "Go to your homepage"
+msgstr "Ísť na domovskú stránku"
+
+#: ../midori/midori-browser.c:3428
+msgid "Empty Trash"
+msgstr "Vysypať kôš"
+
+#: ../midori/midori-browser.c:3429
+msgid "Delete the contents of the trash"
+msgstr ""
+
+#: ../midori/midori-browser.c:3431
+#: ../midori/midori-view.c:1110
+msgid "Undo Close Tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:3432
+msgid "Open the last closed tab"
+msgstr "Otvoriť naposledy zatvorenú kartu"
+
+#: ../midori/midori-browser.c:3436
+#: ../panels/midori-bookmarks.c:232
+msgid "Add a new bookmark"
+msgstr "Pridať novú záložku"
+
+#: ../midori/midori-browser.c:3438
+#: ../panels/midori-bookmarks.c:261
+msgid "Add a new folder"
+msgstr "Pridať nový priečinok"
+
+#: ../midori/midori-browser.c:3439
+msgid "Add a new bookmark folder"
+msgstr ""
+
+#: ../midori/midori-browser.c:3440
+msgid "_Tools"
+msgstr "_Nástroje"
+
+#: ../midori/midori-browser.c:3442
+#: ../midori/midori-searchaction.c:493
+msgid "_Manage Search Engines"
+msgstr "_Správca vyhľadávacích modulov"
+
+#: ../midori/midori-browser.c:3443
+msgid "Add, edit and remove search engines..."
+msgstr ""
+
+#: ../midori/midori-browser.c:3446
+msgid "_Clear Private Data"
+msgstr "_Odstrániť súkromné údaje"
+
+#: ../midori/midori-browser.c:3447
+msgid "Clear private data..."
+msgstr ""
+
+#: ../midori/midori-browser.c:3451
+msgid "_Previous Tab"
+msgstr "_Predchádzajúca karta"
+
+#: ../midori/midori-browser.c:3452
+msgid "Switch to the previous tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:3454
+msgid "_Next Tab"
+msgstr "_Ďalšia karta"
+
+#: ../midori/midori-browser.c:3455
+msgid "Switch to the next tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:3457
+msgid "_Help"
+msgstr "_Pomocník"
+
+#: ../midori/midori-browser.c:3459
+msgid "_Contents"
+msgstr "_Obsah pomocníka"
+
+#: ../midori/midori-browser.c:3460
+msgid "Show the documentation"
+msgstr "Zobraziť dokumentáciu"
+
+#: ../midori/midori-browser.c:3462
+msgid "_Frequent Questions"
+msgstr "_Časté otázky"
+
+#: ../midori/midori-browser.c:3463
+msgid "Show the Frequently Asked Questions"
+msgstr "Zobraziť Často kladené otázky"
+
+#: ../midori/midori-browser.c:3465
+msgid "_Report a Bug"
+msgstr "_Ohlásiť chybu"
+
+#: ../midori/midori-browser.c:3466
+msgid "Open Midori's bug tracker"
+msgstr ""
+
+#: ../midori/midori-browser.c:3469
+msgid "Show information about the program"
+msgstr ""
+
+#: ../midori/midori-browser.c:3476
+msgid "P_rivate Browsing"
+msgstr "_Súkromné prehliadanie"
+
+#: ../midori/midori-browser.c:3477
+msgid "Don't save any private data while browsing"
+msgstr ""
+
+#: ../midori/midori-browser.c:3482
+msgid "_Menubar"
+msgstr "_Ponukový panel"
+
+#: ../midori/midori-browser.c:3483
+msgid "Show menubar"
+msgstr "Zobraziť ponukový panel"
+
+#: ../midori/midori-browser.c:3486
+msgid "_Navigationbar"
+msgstr "_Navigačný panel"
+
+#: ../midori/midori-browser.c:3487
+msgid "Show navigationbar"
+msgstr "Zobraziť navigačný panel"
+
+#: ../midori/midori-browser.c:3490
+msgid "Side_panel"
+msgstr "_Bočný panel"
+
+#: ../midori/midori-browser.c:3491
+msgid "Show sidepanel"
+msgstr "Zobraziť bočný panel"
+
+#: ../midori/midori-browser.c:3494
+msgid "_Bookmarkbar"
+msgstr "Panel _záložiek"
+
+#: ../midori/midori-browser.c:3495
+msgid "Show bookmarkbar"
+msgstr "Zobraziť panel záložiek"
+
+#: ../midori/midori-browser.c:3498
+msgid "_Transferbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:3499
+msgid "Show transferbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:3502
+msgid "_Statusbar"
+msgstr "_Stavový riadok"
+
+#: ../midori/midori-browser.c:3503
+msgid "Show statusbar"
+msgstr "Zobraziť stavový riadok"
+
+#: ../midori/midori-browser.c:3937
+msgid "_Separator"
+msgstr "_Oddeľovač"
+
+#: ../midori/midori-browser.c:3944
+msgid "_Location..."
+msgstr "_Umiestnenie..."
+
+#: ../midori/midori-browser.c:3946
+msgid "Open a particular location"
+msgstr ""
+
+#: ../midori/midori-browser.c:3970
+msgid "_Web Search..."
+msgstr ""
+
+#: ../midori/midori-browser.c:3972
+msgid "Run a web search"
+msgstr ""
+
+#: ../midori/midori-browser.c:3993
+msgid "Reopen a previously closed tab or window"
+msgstr ""
+
+#: ../midori/midori-browser.c:4006
+msgid "_Recently visited pages"
+msgstr "_Nedávno navštívené stránky"
+
+#: ../midori/midori-browser.c:4008
+msgid "Reopen pages that you visited earlier"
+msgstr ""
+
+#: ../midori/midori-browser.c:4021
+#: ../midori/sokoke.c:781
+msgid "_Bookmarks"
+msgstr "_Záložky"
+
+#: ../midori/midori-browser.c:4023
+msgid "Show the saved bookmarks"
+msgstr ""
+
+#: ../midori/midori-browser.c:4036
+msgid "_Window"
+msgstr "_Okno"
+
+#: ../midori/midori-browser.c:4038
+msgid "Show a list of all open tabs"
+msgstr "Zobraziť zoznam všetkých otvorených kariet"
+
+#. i18n: A panel at the bottom, to search text in pages
+#: ../midori/midori-browser.c:4205
+msgid "_Inline Find:"
+msgstr ""
+
+#: ../midori/midori-browser.c:4230
+msgid "Previous"
+msgstr "Predchádzajúce"
+
+#: ../midori/midori-browser.c:4235
+msgid "Next"
+msgstr "Ďalšie"
+
+#: ../midori/midori-browser.c:4240
+msgid "Match Case"
+msgstr "Rozlišovať veľkosť písma"
+
+#: ../midori/midori-browser.c:4248
+msgid "Highlight Matches"
+msgstr "Zvýrazniť"
+
+#: ../midori/midori-browser.c:4258
+msgid "Close Findbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4598
+#, c-format
+msgid "Unexpected setting '%s'"
+msgstr ""
+
+#: ../midori/midori-panel.c:309
+msgid "Detach chosen panel from the window"
+msgstr ""
+
+#: ../midori/midori-panel.c:311
+msgid "Whether to detach the chosen panel from the window"
+msgstr ""
+
+#: ../midori/midori-panel.c:321
+#: ../midori/midori-websettings.c:531
+msgid "Align sidepanel on the right"
+msgstr ""
+
+#: ../midori/midori-panel.c:323
+#: ../midori/midori-websettings.c:532
+msgid "Whether to align the sidepanel on the right"
+msgstr ""
+
+#: ../midori/midori-panel.c:333
+#: ../midori/midori-panel.c:334
+msgid "Close panel"
+msgstr "Zatvoriť panel"
+
+#: ../midori/midori-websettings.c:183
+#: ../midori/midori-view.c:1949
+msgid "Blank page"
+msgstr "Prázdnu stránku"
+
+#: ../midori/midori-websettings.c:184
+#: ../midori/midori-websettings.c:551
+msgid "Homepage"
+msgstr "Domovskú stránku"
+
+#: ../midori/midori-websettings.c:185
+msgid "Last open pages"
+msgstr "Naposledy otvorené stránky"
+
+#: ../midori/midori-websettings.c:220
+msgid "New tab"
+msgstr "na novú kartu"
+
+#: ../midori/midori-websettings.c:221
+msgid "New window"
+msgstr "v novom okne"
+
+#: ../midori/midori-websettings.c:222
+msgid "Current tab"
+msgstr "na otvorenej karte"
+
+#: ../midori/midori-websettings.c:237
+msgid "Default"
+msgstr "Predvolený"
+
+#: ../midori/midori-websettings.c:238
+msgid "Icons"
+msgstr "Ikony"
+
+#: ../midori/midori-websettings.c:239
+msgid "Text"
+msgstr "Text"
+
+#: ../midori/midori-websettings.c:240
+msgid "Both"
+msgstr "Oboje"
+
+#: ../midori/midori-websettings.c:241
+msgid "Both horizontal"
+msgstr "Oboje vodorovne"
+
+#: ../midori/midori-websettings.c:256
+msgid "All cookies"
+msgstr "Všetky cookies"
+
+#: ../midori/midori-websettings.c:257
+msgid "Session cookies"
+msgstr ""
+
+#: ../midori/midori-websettings.c:258
+#: ../panels/midori-addons.c:94
+msgid "None"
+msgstr "Žiadne"
+
+#: ../midori/midori-websettings.c:274
+msgid "Safari"
+msgstr "Safari"
+
+#: ../midori/midori-websettings.c:275
+msgid "Firefox"
+msgstr "Firefox"
+
+#: ../midori/midori-websettings.c:276
+msgid "Internet Explorer"
+msgstr "Internet Explorer"
+
+#: ../midori/midori-websettings.c:329
+msgid "Remember last window size"
+msgstr "Zapamätať si poslednú veľkosť okna"
+
+#: ../midori/midori-websettings.c:330
+msgid "Whether to save the last window size"
+msgstr ""
+
+#: ../midori/midori-websettings.c:338
+msgid "Last window width"
+msgstr ""
+
+#: ../midori/midori-websettings.c:339
+msgid "The last saved window width"
+msgstr ""
+
+#: ../midori/midori-websettings.c:347
+msgid "Last window height"
+msgstr ""
+
+#: ../midori/midori-websettings.c:348
+msgid "The last saved window height"
+msgstr ""
+
+#: ../midori/midori-websettings.c:373
+msgid "Last panel position"
+msgstr ""
+
+#: ../midori/midori-websettings.c:374
+msgid "The last saved panel position"
+msgstr ""
+
+#. i18n: The internal index of the last opened panel
+#: ../midori/midori-websettings.c:383
+msgid "Last panel page"
+msgstr ""
+
+#: ../midori/midori-websettings.c:384
+msgid "The last saved panel page"
+msgstr ""
+
+#: ../midori/midori-websettings.c:392
+msgid "Last Web search"
+msgstr ""
+
+#: ../midori/midori-websettings.c:393
+msgid "The last saved Web search"
+msgstr ""
+
+#: ../midori/midori-websettings.c:402
+msgid "Show Menubar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:403
+msgid "Whether to show the menubar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:411
+msgid "Show Navigationbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:412
+msgid "Whether to show the navigationbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:420
+msgid "Show Bookmarkbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:421
+msgid "Whether to show the bookmarkbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:429
+msgid "Show Panel"
+msgstr "Zobraziť panel"
+
+#: ../midori/midori-websettings.c:430
+msgid "Whether to show the panel"
+msgstr ""
+
+#: ../midori/midori-websettings.c:445
+msgid "Show Transferbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:446
+msgid "Whether to show the transferbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:454
+msgid "Show Statusbar"
+msgstr "Zobraziť stavový riadok"
+
+#: ../midori/midori-websettings.c:455
+msgid "Whether to show the statusbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:464
+msgid "Toolbar Style"
+msgstr "Štýl panelu s nástrojmi"
+
+#: ../midori/midori-websettings.c:465
+msgid "The style of the toolbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:481
+msgid "Show progress in location entry"
+msgstr ""
+
+#: ../midori/midori-websettings.c:482
+msgid "Whether to show loading progress in the location entry"
+msgstr ""
+
+#: ../midori/midori-websettings.c:497
+msgid "Search engines in location completion"
+msgstr ""
+
+#: ../midori/midori-websettings.c:498
+msgid "Whether to show search engines in the location completion"
+msgstr ""
+
+#: ../midori/midori-websettings.c:506
+msgid "Toolbar Items"
+msgstr ""
+
+#: ../midori/midori-websettings.c:507
+msgid "The items to show on the toolbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:515
+msgid "Compact Sidepanel"
+msgstr ""
+
+#: ../midori/midori-websettings.c:516
+msgid "Whether to make the sidepanel compact"
+msgstr ""
+
+#: ../midori/midori-websettings.c:541
+msgid "Load on Startup"
+msgstr "Načítať pri spustení"
+
+#: ../midori/midori-websettings.c:542
+msgid "What to load on startup"
+msgstr "Čo sa načíta pri spustení"
+
+#: ../midori/midori-websettings.c:552
+msgid "The homepage"
+msgstr "Domovská stránka"
+
+#: ../midori/midori-websettings.c:567
+msgid "Show crash dialog"
+msgstr "Zobraziť dialóg po spadnutí"
+
+#: ../midori/midori-websettings.c:568
+msgid "Show a dialog after Midori crashed"
+msgstr "Zobrazí dialóg po spadnutí Midori"
+
+#: ../midori/midori-websettings.c:576
+msgid "Download Folder"
+msgstr "Stiahnuť do"
+
+#: ../midori/midori-websettings.c:577
+msgid "The folder downloaded files are saved to"
+msgstr "Priečinok, do ktorého sa búdu ukladať stiahnuté súbory"
+
+#: ../midori/midori-websettings.c:589
+msgid "Download Manager"
+msgstr "Správca sťahovania"
+
+#: ../midori/midori-websettings.c:590
+msgid "An external download manager"
+msgstr "Externý správca sťahovania"
+
+#: ../midori/midori-websettings.c:598
+msgid "Text Editor"
+msgstr "Textový editor"
+
+#: ../midori/midori-websettings.c:599
+msgid "An external text editor"
+msgstr "Externý textový editor"
+
+#: ../midori/midori-websettings.c:614
+msgid "News Aggregator"
+msgstr ""
+
+#: ../midori/midori-websettings.c:615
+msgid "An external news aggregator"
+msgstr ""
+
+#: ../midori/midori-websettings.c:623
+msgid "Location entry Search"
+msgstr ""
+
+#: ../midori/midori-websettings.c:624
+msgid "The search to perform inside the location entry"
+msgstr ""
+
+#: ../midori/midori-websettings.c:632
+msgid "Preferred Encoding"
+msgstr "Preferované kódovanie"
+
+#: ../midori/midori-websettings.c:633
+msgid "The preferred character encoding"
+msgstr ""
+
+#: ../midori/midori-websettings.c:643
+msgid "Always Show Tabbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:644
+msgid "Always show the tabbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:652
+msgid "Close Buttons on Tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:653
+msgid "Whether tabs have close buttons"
+msgstr ""
+
+#: ../midori/midori-websettings.c:661
+msgid "Open new pages in"
+msgstr "Otvárať nové stránky"
+
+#: ../midori/midori-websettings.c:662
+msgid "Where to open new pages"
+msgstr ""
+
+#: ../midori/midori-websettings.c:671
+msgid "Open external pages in"
+msgstr ""
+
+#: ../midori/midori-websettings.c:672
+msgid "Where to open externally opened pages"
+msgstr ""
+
+#: ../midori/midori-websettings.c:685
+msgid "Middle click opens Selection"
+msgstr ""
+
+#: ../midori/midori-websettings.c:686
+msgid "Load an address from the selection via middle click"
+msgstr ""
+
+#: ../midori/midori-websettings.c:694
+msgid "Open tabs in the background"
+msgstr ""
+
+#: ../midori/midori-websettings.c:695
+msgid "Whether to open new tabs in the background"
+msgstr ""
+
+#: ../midori/midori-websettings.c:703
+msgid "Open Tabs next to Current"
+msgstr ""
+
+#: ../midori/midori-websettings.c:704
+msgid "Whether to open new tabs next to the current tab or after the last one"
+msgstr ""
+
+#: ../midori/midori-websettings.c:712
+msgid "Open popups in tabs"
+msgstr "Otvárať vyskakujúce okná na kartách"
+
+#: ../midori/midori-websettings.c:713
+msgid "Whether to open popup windows in tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:729
+msgid "Zoom Text and Images"
+msgstr ""
+
+#: ../midori/midori-websettings.c:730
+msgid "Whether to zoom text and images"
+msgstr ""
+
+#: ../midori/midori-websettings.c:745
+msgid "Find inline while typing"
+msgstr ""
+
+#: ../midori/midori-websettings.c:746
+msgid "Whether to automatically find inline while typing"
+msgstr ""
+
+#: ../midori/midori-websettings.c:754
+msgid "Accept cookies"
+msgstr "Povoliť cookies"
+
+#: ../midori/midori-websettings.c:755
+msgid "What type of cookies to accept"
+msgstr ""
+
+#: ../midori/midori-websettings.c:764
+msgid "Original cookies only"
+msgstr ""
+
+#: ../midori/midori-websettings.c:765
+msgid "Accept cookies from the original website only"
+msgstr ""
+
+#: ../midori/midori-websettings.c:773
+msgid "Maximum cookie age"
+msgstr ""
+
+#: ../midori/midori-websettings.c:774
+msgid "The maximum number of days to save cookies for"
+msgstr ""
+
+#: ../midori/midori-websettings.c:784
+msgid "Remember last visited pages"
+msgstr "Zapamätať si nedávno navštívené stránky"
+
+#: ../midori/midori-websettings.c:785
+msgid "Whether the last visited pages are saved"
+msgstr ""
+
+#: ../midori/midori-websettings.c:793
+msgid "Maximum history age"
+msgstr ""
+
+#: ../midori/midori-websettings.c:794
+msgid "The maximum number of days to save the history for"
+msgstr ""
+
+#: ../midori/midori-websettings.c:802
+msgid "Remember last form inputs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:803
+msgid "Whether the last form inputs are saved"
+msgstr ""
+
+#: ../midori/midori-websettings.c:811
+msgid "Remember last downloaded files"
+msgstr ""
+
+#: ../midori/midori-websettings.c:812
+msgid "Whether the last downloaded files are saved"
+msgstr ""
+
+#: ../midori/midori-websettings.c:822
+msgid "Proxy Server"
+msgstr "Proxy Server"
+
+#: ../midori/midori-websettings.c:823
+msgid "The proxy server used for HTTP connections"
+msgstr ""
+
+#: ../midori/midori-websettings.c:838
+msgid "Detect proxy server automatically"
+msgstr "Automaticky detegovať proxy server"
+
+#: ../midori/midori-websettings.c:839
+msgid "Whether to detect the proxy server automatically from the environment"
+msgstr ""
+
+#. i18n: This refers to an application, not the 'user agent' string
+#: ../midori/midori-websettings.c:855
+msgid "Identify as"
+msgstr "Identifikovať sa ako"
+
+#: ../midori/midori-websettings.c:856
+msgid "What to identify as to web pages"
+msgstr ""
+
+#: ../midori/midori-websettings.c:872
+msgid "Identification string"
+msgstr "Identifikačný reťazec"
+
+#: ../midori/midori-websettings.c:873
+msgid "The application identification string"
+msgstr ""
+
+#: ../midori/midori-websettings.c:881
+msgid "Cache size"
+msgstr "Veľkosť vyrovnávacej pamäte (cache)"
+
+#: ../midori/midori-websettings.c:882
+msgid "The allowed size of the cache"
+msgstr ""
+
+#. i18n: The title of the 404 - Not found error page
+#. Error pages are special, we want to try loading the destination
+#. again, not the error page which isn't even a proper page
+#: ../midori/midori-view.c:637
+#: ../midori/midori-view.c:2473
+#, c-format
+msgid "Not found - %s"
+msgstr ""
+
+#: ../midori/midori-view.c:976
+msgid "Open _Link"
+msgstr "Otvoriť _odkaz"
+
+#: ../midori/midori-view.c:978
+msgid "Open Link in New _Tab"
+msgstr "Otvoriť odkaz na novej _karte"
+
+#: ../midori/midori-view.c:995
+msgid "Open Link in New _Window"
+msgstr "Otvoriť odkaz v novom _okne"
+
+#: ../midori/midori-view.c:1004
+msgid "_Download Link destination"
+msgstr "_Stiahnuť cieľ odkazu"
+
+#: ../midori/midori-view.c:1010
+msgid "_Save Link destination"
+msgstr "_Uložiť cieľ odkazu"
+
+#: ../midori/midori-view.c:1019
+msgid "Download with Download _Manager"
+msgstr "Stiahnuť pomocou _správcu sťahovania"
+
+#: ../midori/midori-view.c:1048
+msgid "Search _with"
+msgstr "Hľadať _pomocou"
+
+#: ../midori/midori-view.c:1076
+msgid "_Search the Web"
+msgstr ""
+
+#: ../midori/midori-view.c:1086
+msgid "Open Address in New _Tab"
+msgstr "Otvoriť adresu v novej karte"
+
+#: ../midori/midori-view.c:1234
+msgid "Open or download file"
+msgstr "Otvoriť alebo stiahnuť súbor"
+
+#: ../midori/midori-view.c:1251
+#, c-format
+msgid "File Type: '%s'"
+msgstr "Typ súboru: '%s'"
+
+#: ../midori/midori-view.c:1254
+#, c-format
+msgid "File Type: %s ('%s')"
+msgstr "Typ súboru: %s ('%s')"
+
+#. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
+#: ../midori/midori-view.c:1258
+#, c-format
+msgid "Open %s"
+msgstr "Otvoriť %s"
+
+#: ../midori/midori-view.c:1661
+#, c-format
+msgid "Inspect page - %s"
+msgstr ""
+
+#: ../midori/midori-view.c:1806
+#, c-format
+msgid "Document cannot be displayed"
+msgstr ""
+
+#: ../midori/midori-view.c:1822
+#, c-format
+msgid "No documentation installed"
+msgstr ""
+
+#: ../midori/midori-preferences.c:91
+#, c-format
+msgid "Preferences for %s"
+msgstr "Nastavenia pre %s"
+
+#. Page "General"
+#: ../midori/midori-preferences.c:398
+msgid "General"
+msgstr "Hlavné"
+
+#: ../midori/midori-preferences.c:399
+msgid "Startup"
+msgstr "Spustenie"
+
+#: ../midori/midori-preferences.c:415
+msgid "Use current page as homepage"
+msgstr "Použiť aktuálnu ako domovskú stránku"
+
+#: ../midori/midori-preferences.c:423
+#: ../panels/midori-transfers.c:88
+msgid "Transfers"
+msgstr "Prenosy"
+
+#. Page "Appearance"
+#: ../midori/midori-preferences.c:475
+msgid "Appearance"
+msgstr "Vzhľad"
+
+#: ../midori/midori-preferences.c:476
+msgid "Font settings"
+msgstr "Nastavenia písma"
+
+#: ../midori/midori-preferences.c:478
+msgid "Default Font Family"
+msgstr "Štandardná rodina písma"
+
+#: ../midori/midori-preferences.c:484
+msgid "The default font size used to display text"
+msgstr ""
+
+#: ../midori/midori-preferences.c:487
+msgid "Minimum Font Size"
+msgstr "Minimálna veľkosť písma"
+
+#: ../midori/midori-preferences.c:490
+msgid "The minimum font size used to display text"
+msgstr ""
+
+#: ../midori/midori-preferences.c:497
+msgid "Encoding"
+msgstr "Kódovanie"
+
+#: ../midori/midori-preferences.c:500
+msgid "The character encoding to use by default"
+msgstr ""
+
+#. Page "Behavior"
+#: ../midori/midori-preferences.c:507
+msgid "Behavior"
+msgstr "Správanie"
+
+#: ../midori/midori-preferences.c:508
+msgid "Features"
+msgstr ""
+
+#: ../midori/midori-preferences.c:511
+#: ../extensions/statusbar-features.c:54
+msgid "Load images automatically"
+msgstr "Automaticky načítať obrázky"
+
+#: ../midori/midori-preferences.c:512
+msgid "Load and display images automatically"
+msgstr ""
+
+#: ../midori/midori-preferences.c:515
+msgid "Shrink images automatically"
+msgstr ""
+
+#: ../midori/midori-preferences.c:516
+msgid "Automatically shrink standalone images to fit"
+msgstr ""
+
+#: ../midori/midori-preferences.c:519
+msgid "Print background images"
+msgstr ""
+
+#: ../midori/midori-preferences.c:520
+msgid "Whether background images should be printed"
+msgstr ""
+
+#: ../midori/midori-preferences.c:523
+msgid "Resizable text areas"
+msgstr ""
+
+#: ../midori/midori-preferences.c:524
+msgid "Whether text areas are resizable"
+msgstr ""
+
+#: ../midori/midori-preferences.c:527
+#: ../extensions/statusbar-features.c:63
+msgid "Enable scripts"
+msgstr "Povoliť skripty"
+
+#: ../midori/midori-preferences.c:528
+msgid "Enable embedded scripting languages"
+msgstr ""
+
+#: ../midori/midori-preferences.c:531
+#: ../extensions/statusbar-features.c:72
+msgid "Enable plugins"
+msgstr "Povoliť pluginy"
+
+#: ../midori/midori-preferences.c:532
+msgid "Enable embedded plugin objects"
+msgstr ""
+
+#: ../midori/midori-preferences.c:535
+msgid "Enforce 96 dots per inch"
+msgstr "Vynútiť 96 bodov na palec"
+
+#: ../midori/midori-preferences.c:536
+msgid "Enforce a video dot density of 96 DPI"
+msgstr ""
+
+#: ../midori/midori-preferences.c:539
+msgid "Enable developer tools"
+msgstr "Povoliť vývojárske nástroje"
+
+#: ../midori/midori-preferences.c:540
+msgid "Enable special extensions for developers"
+msgstr ""
+
+#. Page "Interface"
+#: ../midori/midori-preferences.c:548
+msgid "Interface"
+msgstr "Rozhranie"
+
+#: ../midori/midori-preferences.c:549
+msgid "Navigationbar"
+msgstr ""
+
+#: ../midori/midori-preferences.c:560
+msgid "Browsing"
+msgstr "Prehliadanie"
+
+#. Page "Network"
+#: ../midori/midori-preferences.c:590
+#: ../midori/midori-preferences.c:591
+msgid "Network"
+msgstr "Sieť"
+
+#: ../midori/midori-preferences.c:618
+msgid "MB"
+msgstr "MB"
+
+#. Page "Privacy"
+#: ../midori/midori-preferences.c:623
+msgid "Privacy"
+msgstr "Súkromie"
+
+#: ../midori/midori-preferences.c:624
+msgid "Web Cookies"
+msgstr ""
+
+#: ../midori/midori-preferences.c:637
+#: ../midori/midori-preferences.c:647
+msgid "days"
+msgstr ""
+
+#: ../midori/midori-searchaction.c:484
+#: ../katze/katze-arrayaction.c:277
+msgid "Empty"
+msgstr ""
+
+#: ../midori/midori-searchaction.c:904
+msgid "Add search engine"
+msgstr "Pridať vyhľadávací modul"
+
+#: ../midori/midori-searchaction.c:904
+msgid "Edit search engine"
+msgstr "Upraviť vyhľadávací modul"
+
+#: ../midori/midori-searchaction.c:932
+msgid "_Name:"
+msgstr "_Názov:"
+
+#: ../midori/midori-searchaction.c:976
+msgid "_Icon:"
+msgstr "_Ikona:"
+
+#: ../midori/midori-searchaction.c:990
+msgid "_Token:"
+msgstr "_Token:"
+
+#: ../midori/midori-searchaction.c:1195
+msgid "Manage Search Engines"
+msgstr "Správca vyhľadávacích modulov"
+
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "Použiť ako _predvolený"
+
+#: ../midori/sokoke.c:117
+#: ../midori/sokoke.c:129
+msgid "Could not run external program."
+msgstr ""
+
+#. i18n: A superuser, or system administrator, may not be 'root'
+#: ../midori/sokoke.c:448
+msgid "Warning: You are using a superuser account!"
+msgstr ""
+
+#: ../midori/sokoke.c:780
+msgid "_Bookmark"
+msgstr "_Záložka"
+
+#: ../midori/sokoke.c:782
+msgid "_Add Bookmark"
+msgstr "_Pridať záložku"
+
+#: ../midori/sokoke.c:783
+msgid "_Console"
+msgstr "_Konzola"
+
+#: ../midori/sokoke.c:784
+msgid "_Extensions"
+msgstr "_Rozšírenia"
+
+#: ../midori/sokoke.c:785
+msgid "_History"
+msgstr "_História"
+
+#: ../midori/sokoke.c:786
+msgid "_Homepage"
+msgstr "_Domovská stránka"
+
+#: ../midori/sokoke.c:787
+msgid "_Userscripts"
+msgstr ""
+
+#: ../midori/sokoke.c:788
+msgid "User_styles"
+msgstr ""
+
+#: ../midori/sokoke.c:789
+msgid "New _Tab"
+msgstr "Nová _karta"
+
+#: ../midori/sokoke.c:790
+msgid "_Transfers"
+msgstr "_Prenosy"
+
+#: ../midori/sokoke.c:791
+msgid "P_lugins"
+msgstr "P_luginy"
+
+#: ../midori/sokoke.c:792
+msgid "_Closed Tabs and Windows"
+msgstr "_Zatvorené karty a okná"
+
+#: ../midori/sokoke.c:793
+msgid "New _Window"
+msgstr "Nové _okno"
+
+#: ../panels/midori-addons.c:95
+#: ../panels/midori-addons.c:141
+msgid "Userscripts"
+msgstr ""
+
+#: ../panels/midori-addons.c:96
+#: ../panels/midori-addons.c:143
+msgid "Userstyles"
+msgstr ""
+
+#: ../panels/midori-addons.c:927
+#: ../panels/midori-extensions.c:144
+msgid "_Enable"
+msgstr "_Povolené"
+
+#: ../panels/midori-addons.c:928
+#: ../panels/midori-extensions.c:145
+msgid "Enable"
+msgstr "Povolené"
+
+#: ../panels/midori-addons.c:937
+#: ../panels/midori-extensions.c:154
+msgid "_Disable"
+msgstr "_Zakázané"
+
+#: ../panels/midori-addons.c:938
+#: ../panels/midori-extensions.c:155
+msgid "Disable"
+msgstr "Zakázané"
+
+#: ../panels/midori-bookmarks.c:107
+msgid "Bookmarks"
+msgstr "Záložky"
+
+#: ../panels/midori-bookmarks.c:240
+msgid "Edit the selected bookmark"
+msgstr "Upraviť vybranú záložku"
+
+#: ../panels/midori-bookmarks.c:248
+msgid "Delete the selected bookmark"
+msgstr "Vymazať označenú záložku"
+
+#: ../panels/midori-bookmarks.c:593
+msgid "<i>Separator</i>"
+msgstr ""
+
+#: ../panels/midori-console.c:87
+msgid "Console"
+msgstr "Konzola"
+
+#: ../panels/midori-extensions.c:87
+msgid "Extensions"
+msgstr "Rozšírenia"
+
+#: ../panels/midori-history.c:163
+msgid "Are you sure you want to remove all history items?"
+msgstr ""
+
+#: ../panels/midori-history.c:218
+msgid "Bookmark the selected history item"
+msgstr ""
+
+#: ../panels/midori-history.c:227
+msgid "Delete the selected history item"
+msgstr "Odstrániť označenú položku v histórii"
+
+#: ../panels/midori-history.c:235
+msgid "Clear the entire history"
+msgstr "Zmazať celú históriu"
+
+#: ../panels/midori-history.c:600
+#, c-format
+msgid "A week ago"
+msgstr "Pred týždňom"
+
+#: ../panels/midori-history.c:606
+#, c-format
+msgid "%d days ago"
+msgstr "Pred %d dňami"
+
+#: ../panels/midori-history.c:613
+msgid "Today"
+msgstr "Dnes"
+
+#: ../panels/midori-history.c:615
+msgid "Yesterday"
+msgstr "Včera"
+
+#: ../panels/midori-plugins.c:87
+msgid "Plugins"
+msgstr "Pluginy"
+
+#: ../panels/midori-transfers.c:256
+#, c-format
+msgid "%s of %s"
+msgstr "%s z %s"
+
+#: ../katze/katze-http-auth.c:97
+msgid "Authentication Required"
+msgstr ""
+
+#: ../katze/katze-http-auth.c:113
+msgid ""
+"A username and a password are required\n"
+"to open this location:"
+msgstr ""
+
+#: ../katze/katze-http-auth.c:127
+msgid "Username"
+msgstr "Meno"
+
+#: ../katze/katze-http-auth.c:138
+msgid "Password"
+msgstr "Heslo"
+
+#: ../katze/katze-throbber.c:828
+#, c-format
+msgid "Named icon '%s' couldn't be loaded"
+msgstr ""
+
+#: ../katze/katze-throbber.c:841
+#, c-format
+msgid "Stock icon '%s' couldn't be loaded"
+msgstr ""
+
+#: ../katze/katze-throbber.c:907
+msgid "Animation frames are broken"
+msgstr ""
+
+#: ../katze/katze-utils.c:183
+#: ../katze/katze-utils.c:395
+#, c-format
+msgid "Property '%s' is invalid for %s"
+msgstr ""
+
+#: ../katze/katze-utils.c:215
+#: ../katze/katze-utils.c:254
+msgid "Choose file"
+msgstr ""
+
+#: ../katze/katze-utils.c:235
+msgid "Choose folder"
+msgstr ""
+
+#: ../extensions/colorful-tabs.c:104
+msgid "Tint tabs distinctly"
+msgstr ""
+
+#: ../extensions/colorful-tabs.c:140
+msgid "Colorful Tabs"
+msgstr "Farebné karty"
+
+#: ../extensions/colorful-tabs.c:141
+msgid "Tint each tab distinctly"
+msgstr ""
+
+#: ../extensions/cookie-manager.c:201
+msgid "At the end of the session"
+msgstr ""
+
+#: ../extensions/cookie-manager.c:204
+#, c-format
+msgid ""
+"<b>Host</b>: %s\n"
+"<b>Name</b>: %s\n"
+"<b>Value</b>: %s\n"
+"<b>Path</b>: %s\n"
+"<b>Secure</b>: %s\n"
+"<b>Expires</b>: %s"
+msgstr ""
+"<b>Hostiteľ</b>: %s\n"
+"<b>Názov</b>: %s\n"
+"<b>Hodnota</b>: %s\n"
+"<b>Cesta</b>: %s\n"
+"<b>Bezpečný</b>: %s\n"
+"<b>Vyprší</b>: %s"
+
+#: ../extensions/cookie-manager.c:210
+msgid "Yes"
+msgstr "Áno"
+
+#: ../extensions/cookie-manager.c:210
+msgid "No"
+msgstr "Nie"
+
+#: ../extensions/cookie-manager.c:491
+msgid "Do you really want to delete all cookies?"
+msgstr "Naozaj si prajete odstrániť všetky cookies?"
+
+#: ../extensions/cookie-manager.c:493
+msgid "Question"
+msgstr "Otázka"
+
+#: ../extensions/cookie-manager.c:501
+msgid "Only the visible cookies are deleted which match the entered filter string."
+msgstr ""
+
+#: ../extensions/cookie-manager.c:679
+msgid "Name"
+msgstr ""
+
+#: ../extensions/cookie-manager.c:739
+msgid "_Expand All"
+msgstr "_Rozbaliť všetko"
+
+#: ../extensions/cookie-manager.c:747
+msgid "_Collapse All"
+msgstr "_Zbaliť všetko"
+
+#: ../extensions/cookie-manager.c:818
+msgid "Delete All"
+msgstr "Odstrániť všetky"
+
+#: ../extensions/cookie-manager.c:820
+msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
+msgstr ""
+
+#: ../extensions/cookie-manager.c:835
+msgid "Expand All"
+msgstr "Rozbaliť všetko"
+
+#: ../extensions/cookie-manager.c:842
+msgid "Collapse All"
+msgstr "Zbaliť všetko"
+
+#: ../extensions/cookie-manager.c:873
+msgid "Filter:"
+msgstr "Filter:"
+
+#: ../extensions/cookie-manager.c:878
+msgid "Enter a filter string to show only cookies whose name or domain field match the entered filter"
+msgstr ""
+
+#: ../extensions/cookie-manager.c:913
+#: ../extensions/cookie-manager.c:961
+msgid "Cookie Manager"
+msgstr "Správca cookies"
+
+#: ../extensions/cookie-manager.c:945
+msgid "_Cookie Manager"
+msgstr "Správca _cookies"
+
+#: ../extensions/cookie-manager.c:962
+msgid "List, view and delete cookies"
+msgstr ""
+
+#: ../extensions/mouse-gestures/main.c:216
+msgid "Mouse Gestures"
+msgstr "Mouse Gestures"
+
+#: ../extensions/mouse-gestures/main.c:217
+msgid "Control Midori by moving the mouse"
+msgstr "Ovládanie Midori pomocou myši"
+
+#. i18n: A panel showing a user specified web page
+#: ../extensions/page-holder.c:129
+#: ../extensions/page-holder.c:177
+msgid "Pageholder"
+msgstr ""
+
+#: ../extensions/page-holder.c:161
+msgid "_Pageholder"
+msgstr ""
+
index fb6c85af55e497688a05767a5123e7c7778aa169..5c045b9e861cd05e7de9d513e9f7e2d2ac4ce182 100644 (file)
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: midori 0.1.5\n"
+"Project-Id-Version: midori 0.1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-22 22:19+0100\n"
-"PO-Revision-Date: 2009-03-25 15:33+0800\n"
+"POT-Creation-Date: 2009-05-10 16:06+0200\n"
+"PO-Revision-Date: 2009-05-20 10:56+0800\n"
 "Last-Translator: Stanley Zhang <yatzhang@gmail.com>\n"
 "Language-Team: Simplified Chinese <zh_CN@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -21,11 +21,11 @@ msgid "Lightweight web browser"
 msgstr "轻量的 Web 浏览器"
 
 #: ../data/midori.desktop.in.h:2
-#: ../midori/main.c:1580
-#: ../midori/main.c:1672
-#: ../midori/main.c:1681
-#: ../midori/main.c:1692
-#: ../midori/midori-websettings.c:269
+#: ../midori/main.c:1315
+#: ../midori/main.c:1449
+#: ../midori/main.c:1457
+#: ../midori/main.c:1468
+#: ../midori/midori-websettings.c:277
 msgid "Midori"
 msgstr "Midori"
 
@@ -33,1207 +33,1411 @@ msgstr "Midori"
 msgid "Web Browser"
 msgstr "Web 浏览器"
 
-#: ../midori/main.c:103
+#: ../midori/main.c:96
 #, c-format
 msgid "The configuration couldn't be loaded: %s\n"
 msgstr "设置无法加载: %s\n"
 
-#: ../midori/main.c:158
+#: ../midori/main.c:151
 #, c-format
 msgid "Value '%s' is invalid for %s"
 msgstr "值 '%s' 在 '%s' 中无效"
 
-#: ../midori/main.c:165
-#: ../midori/main.c:235
+#: ../midori/main.c:158
+#: ../midori/main.c:238
 #, c-format
 msgid "Invalid configuration value '%s'"
 msgstr "无效的设置值 '%s'"
 
-#: ../midori/main.c:477
-msgid "File not found."
-msgstr "没有找到文件."
-
-#: ../midori/main.c:485
-#: ../midori/main.c:494
-msgid "Malformed document."
-msgstr "异常的文件."
-
-#: ../midori/main.c:516
+#: ../midori/main.c:350
 #, c-format
 msgid "Failed to open database: %s\n"
 msgstr "打开数据库失败: %s\n"
 
-#: ../midori/main.c:548
+#: ../midori/main.c:382
 #, c-format
 msgid "Failed to execute database statement: %s\n"
 msgstr "执行数据库操作失败: %s\n"
 
-#: ../midori/main.c:602
+#: ../midori/main.c:436
 #, c-format
 msgid "Failed to remove history item: %s\n"
 msgstr "移除历史项目失败: %s\n"
 
-#: ../midori/main.c:626
+#: ../midori/main.c:460
 #, c-format
 msgid "Failed to clear history: %s\n"
 msgstr "清空历史失败: %s\n"
 
-#: ../midori/main.c:649
-#: ../midori/main.c:683
-#: ../midori/main.c:699
+#: ../midori/main.c:483
+#: ../midori/main.c:517
+#: ../midori/main.c:533
 #, c-format
 msgid "Failed to add history item: %s\n"
 msgstr "添加历史项失败: %s\n"
 
 #. i18n: Couldn't remove items that are older than n days
-#: ../midori/main.c:879
+#: ../midori/main.c:712
 #, c-format
 msgid "Failed to remove old history items: %s\n"
 msgstr "删除旧的历史项目失败: %s\n"
 
-#: ../midori/main.c:907
+#: ../midori/main.c:741
 #, c-format
 msgid "The configuration couldn't be saved. %s"
 msgstr "配置无法保存. %s"
 
-#: ../midori/main.c:936
+#: ../midori/main.c:770
 #, c-format
 msgid "The search engines couldn't be saved. %s"
 msgstr "搜索引擎无法保存. %s"
 
-#: ../midori/main.c:1066
-#: ../midori/sokoke.c:617
-#, c-format
-msgid "Writing failed."
-msgstr "写失败."
-
-#: ../midori/main.c:1087
-#: ../midori/main.c:1114
-#: ../midori/main.c:1142
+#: ../midori/main.c:789
+#: ../midori/main.c:817
+#: ../midori/main.c:846
 #, c-format
 msgid "The bookmarks couldn't be saved. %s"
 msgstr "书签无法保存. %s"
 
 #. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:1166
-#: ../midori/main.c:1190
+#: ../midori/main.c:869
+#: ../midori/main.c:892
 #, c-format
 msgid "The trash couldn't be saved. %s"
 msgstr "垃圾箱无法保存. %s"
 
-#: ../midori/main.c:1261
+#: ../midori/main.c:965
 #, c-format
 msgid "The session couldn't be saved. %s"
 msgstr "会话无法保存. %s"
 
-#: ../midori/main.c:1377
-msgid "Midori seems to have crashed the last time it was opened. If this happend repeatedly, try one of the following options to solve the problem."
-msgstr "Midori 好像在上次运行时崩溃了. 如果这种情况反复出现,请尝试以下的选项来解决此问题."
+#: ../midori/main.c:1092
+msgid "Midori seems to have crashed the last time it was opened. If this happened repeatedly, try one of the following options to solve the problem."
+msgstr "Midori 好像在上次运行时崩溃了. 如果这种情况反复出现, 请尝试下面的选项来解决此问题."
 
-#: ../midori/main.c:1392
+#: ../midori/main.c:1107
 msgid "Modify _preferences"
 msgstr "修改首选项(_p)"
 
-#: ../midori/main.c:1396
+#: ../midori/main.c:1111
 msgid "Reset the last _session"
 msgstr "重置最后的会话(_s)"
 
-#: ../midori/main.c:1401
+#: ../midori/main.c:1116
 msgid "Disable all _extensions"
 msgstr "关闭所有的扩展(_e)"
 
-#: ../midori/main.c:1580
+#: ../midori/main.c:1315
 msgid "No filename specified"
 msgstr "没有指定文件名"
 
-#: ../midori/main.c:1603
-#: ../midori/gjs.c:515
+#: ../midori/main.c:1338
 msgid "An unknown error occured."
 msgstr "发生了一个未知的错误."
 
-#: ../midori/main.c:1626
+#: ../midori/main.c:1370
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "截图保存到: %s\n"
+
+#: ../midori/main.c:1391
+msgid "Run ADDRESS as a web application"
+msgstr "将 ADDRESS 作为 Web 应用程序运行"
+
+#: ../midori/main.c:1391
+msgid "ADDRESS"
+msgstr "ADDRESS"
+
+#: ../midori/main.c:1393
+msgid "Use FOLDER as configuration folder"
+msgstr "使用 FOLDER 作为设置目录"
+
+#: ../midori/main.c:1393
+msgid "FOLDER"
+msgstr "FOLDER"
+
+#: ../midori/main.c:1395
 msgid "Run the specified filename as javascript"
 msgstr "将指定的文件当作 Javascript 执行"
 
-#: ../midori/main.c:1628
+#: ../midori/main.c:1398
+msgid "Take a snapshot of the specified URI"
+msgstr "对指定 URI 截图"
+
+#: ../midori/main.c:1401
 msgid "Display program version"
 msgstr "显示程序版本"
 
-#: ../midori/main.c:1630
+#: ../midori/main.c:1403
 msgid "Addresses"
 msgstr "地址"
 
-#: ../midori/main.c:1669
+#: ../midori/main.c:1446
 msgid "[Addresses]"
 msgstr "[地址]"
 
-#: ../midori/main.c:1693
+#: ../midori/main.c:1469
 msgid "Please report comments, suggestions and bugs to:"
 msgstr "请将意见、建议和问题反馈到:"
 
-#: ../midori/main.c:1695
+#: ../midori/main.c:1471
 msgid "Check for new versions at:"
 msgstr "在此检查新版本:"
 
-#: ../midori/main.c:1722
+#: ../midori/main.c:1548
+msgid "The specified configuration folder is invalid."
+msgstr "无效的配置文件目录. "
+
+#: ../midori/main.c:1583
 msgid "An instance of Midori is already running but not responding.\n"
-msgstr "已经有一个 Midori 在运行但没有响应.\n"
+msgstr "已经有一个 Midori 在运行但没有响应.\n"
 
-#: ../midori/main.c:1772
+#: ../midori/main.c:1633
 #, c-format
 msgid "The search engines couldn't be loaded. %s\n"
 msgstr "搜索引擎无法加载. %s\n"
 
-#: ../midori/main.c:1784
+#: ../midori/main.c:1645
 #, c-format
 msgid "The bookmarks couldn't be loaded: %s\n"
 msgstr "书签无法加载: %s\n"
 
-#: ../midori/main.c:1799
+#: ../midori/main.c:1660
 #, c-format
 msgid "The session couldn't be loaded: %s\n"
 msgstr "会话无法加载: %s\n"
 
-#: ../midori/main.c:1812
+#: ../midori/main.c:1673
 #, c-format
 msgid "The trash couldn't be loaded: %s\n"
 msgstr "垃圾箱无法加载: %s\n"
 
-#: ../midori/main.c:1825
+#: ../midori/main.c:1686
 #, c-format
 msgid "The history couldn't be loaded: %s\n"
 msgstr "历史记录无法加载: %s\n"
 
-#: ../midori/main.c:1837
+#: ../midori/main.c:1698
 msgid "The following errors occured:"
 msgstr "发生以下错误:"
 
-#: ../midori/main.c:1853
+#: ../midori/main.c:1714
 msgid "_Ignore"
 msgstr "忽略(_I)"
 
-#: ../midori/midori-browser.c:278
-#: ../midori/midori-browser.c:3262
-#: ../midori/midori-browser.c:3268
+#: ../midori/midori-array.c:195
+msgid "File not found."
+msgstr "没有找到文件."
+
+#: ../midori/midori-array.c:203
+#: ../midori/midori-array.c:212
+msgid "Malformed document."
+msgstr "异常的文件."
+
+#: ../midori/midori-array.c:338
+#: ../midori/sokoke.c:716
+#, c-format
+msgid "Writing failed."
+msgstr "写失败."
+
+#: ../midori/midori-browser.c:287
+#: ../midori/midori-browser.c:3819
+#: ../midori/midori-browser.c:3825
 msgid "Reload the current page"
 msgstr "重新载入当前页"
 
-#: ../midori/midori-browser.c:289
-#: ../midori/midori-browser.c:3265
+#: ../midori/midori-browser.c:298
+#: ../midori/midori-browser.c:3822
 msgid "Stop loading the current page"
 msgstr "停止载入当前页"
 
-#: ../midori/midori-browser.c:351
+#: ../midori/midori-browser.c:360
 #, c-format
 msgid "%d%% loaded"
 msgstr "%d%% 已加载"
 
-#: ../midori/midori-browser.c:376
+#: ../midori/midori-browser.c:385
 #, c-format
 msgid "Unexpected action '%s'."
 msgstr "意外的活动 '%s'."
 
-#: ../midori/midori-browser.c:553
+#: ../midori/midori-browser.c:603
 msgid "New folder"
 msgstr "新建目录"
 
-#: ../midori/midori-browser.c:553
+#: ../midori/midori-browser.c:603
 msgid "Edit folder"
 msgstr "编辑目录"
 
-#: ../midori/midori-browser.c:555
+#: ../midori/midori-browser.c:605
 msgid "New bookmark"
 msgstr "新建书签"
 
-#: ../midori/midori-browser.c:555
+#: ../midori/midori-browser.c:605
 msgid "Edit bookmark"
 msgstr "编辑书签"
 
-#: ../midori/midori-browser.c:585
+#: ../midori/midori-browser.c:635
 msgid "_Title:"
 msgstr "标题(_T): "
 
-#: ../midori/midori-browser.c:598
-#: ../midori/midori-searchaction.c:855
+#: ../midori/midori-browser.c:648
+#: ../midori/midori-searchaction.c:948
 msgid "_Description:"
 msgstr "描述(_D):"
 
-#: ../midori/midori-browser.c:617
-#: ../midori/midori-searchaction.c:869
+#: ../midori/midori-browser.c:667
+#: ../midori/midori-searchaction.c:962
+#: ../extensions/feed-panel/main.c:343
 msgid "_Address:"
 msgstr "地址(_A):"
 
-#: ../midori/midori-browser.c:636
+#: ../midori/midori-browser.c:686
 msgid "_Folder:"
 msgstr "目录(_F):"
 
-#: ../midori/midori-browser.c:641
-#: ../midori/midori-browser.c:682
+#: ../midori/midori-browser.c:691
+#: ../midori/midori-browser.c:732
 msgid "Toplevel folder"
 msgstr "最上层目录"
 
-#: ../midori/midori-browser.c:762
+#: ../midori/midori-browser.c:808
 msgid "Save file as"
 msgstr "文件另存为"
 
-#: ../midori/midori-browser.c:1538
+#: ../midori/midori-browser.c:1119
+#, c-format
+msgid "The file <b>%s</b> has been downloaded."
+msgstr "文件 <b>%s</b> 已下载."
+
+#: ../midori/midori-browser.c:1123
+msgid "Transfer completed"
+msgstr "下载完成"
+
+#: ../midori/midori-browser.c:1820
 msgid "Open file"
 msgstr "打开文件"
 
-#: ../midori/midori-browser.c:2837
-#: ../panels/midori-bookmarks.c:776
-#: ../panels/midori-history.c:810
+#: ../midori/midori-browser.c:3152
+#: ../panels/midori-bookmarks.c:778
+#: ../panels/midori-history.c:808
 msgid "Open all in _Tabs"
 msgstr "在新标签页中打开所有项(_T)"
 
-#: ../midori/midori-browser.c:2844
-#: ../panels/midori-bookmarks.c:782
-#: ../panels/midori-history.c:816
+#: ../midori/midori-browser.c:3159
+#: ../panels/midori-bookmarks.c:784
+#: ../panels/midori-history.c:814
+#: ../extensions/feed-panel/feed-panel.c:542
 msgid "Open in New _Tab"
 msgstr "在新标签页中打开(_T)"
 
-#: ../midori/midori-browser.c:2847
-#: ../panels/midori-bookmarks.c:784
-#: ../panels/midori-history.c:818
+#: ../midori/midori-browser.c:3162
+#: ../panels/midori-bookmarks.c:786
+#: ../panels/midori-history.c:816
+#: ../extensions/feed-panel/feed-panel.c:544
 msgid "Open in New _Window"
 msgstr "在新窗口中打开(_W)"
 
-#: ../midori/midori-browser.c:3001
+#: ../midori/midori-browser.c:3425
+msgid "Clear Private Data"
+msgstr "清除隐私数据"
+
+#: ../midori/midori-browser.c:3428
+msgid "_Clear private data"
+msgstr "清除隐私数据(_C)"
+
+#: ../midori/midori-browser.c:3441
+msgid "Clear the following data:"
+msgstr "清除以下的数据:"
+
+#: ../midori/midori-browser.c:3449
+#: ../midori/midori-preferences.c:669
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "历史"
+
+#: ../midori/midori-browser.c:3452
+msgid "Cookies"
+msgstr "Cookies"
+
+#: ../midori/midori-browser.c:3455
+msgid "'Flash' Cookies"
+msgstr "由 Flash 建立的 Cookies"
+
+#: ../midori/midori-browser.c:3458
+msgid "Website icons"
+msgstr "网站图标"
+
+#: ../midori/midori-browser.c:3538
 msgid "A lightweight web browser."
 msgstr "轻量级的 Web 浏览器."
 
-#: ../midori/midori-browser.c:3009
+#: ../midori/midori-browser.c:3546
 msgid "translator-credits"
 msgstr "张翼 <yatzhang@gmail.com>"
 
-#: ../midori/midori-browser.c:3196
+#: ../midori/midori-browser.c:3750
 msgid "_File"
 msgstr "文件(_F)"
 
-#: ../midori/midori-browser.c:3199
+#: ../midori/midori-browser.c:3753
 msgid "Open a new window"
 msgstr "新建窗口"
 
-#: ../midori/midori-browser.c:3202
+#: ../midori/midori-browser.c:3756
 msgid "Open a new tab"
 msgstr "新建标签页"
 
-#: ../midori/midori-browser.c:3205
+#: ../midori/midori-browser.c:3759
 msgid "Open a file"
 msgstr "打开文件"
 
-#: ../midori/midori-browser.c:3208
+#: ../midori/midori-browser.c:3762
 msgid "Save to a file"
 msgstr "保存到文件"
 
-#: ../midori/midori-browser.c:3210
+#: ../midori/midori-browser.c:3764
+#: ../midori/midori-view.c:1256
+msgid "Add to Speed _dial"
+msgstr "添加到快速拨号(_d)"
+
+#: ../midori/midori-browser.c:3765
+msgid "Add shortcut to speed dial"
+msgstr "添加快捷方式到快速拨号"
+
+#: ../midori/midori-browser.c:3767
 msgid "_Close Tab"
 msgstr "关闭标签页(_C)"
 
-#: ../midori/midori-browser.c:3211
+#: ../midori/midori-browser.c:3768
 msgid "Close the current tab"
 msgstr "关闭当前标签页"
 
-#: ../midori/midori-browser.c:3213
+#: ../midori/midori-browser.c:3770
 msgid "C_lose Window"
 msgstr "关闭窗口(_l)"
 
-#: ../midori/midori-browser.c:3214
+#: ../midori/midori-browser.c:3771
 msgid "Close this window"
 msgstr "关闭此窗口"
 
-#: ../midori/midori-browser.c:3217
+#: ../midori/midori-browser.c:3774
 msgid "Print the current page"
 msgstr "打印当前页"
 
-#: ../midori/midori-browser.c:3220
+#: ../midori/midori-browser.c:3777
 msgid "Quit the application"
 msgstr "退出程序"
 
-#: ../midori/midori-browser.c:3222
+#: ../midori/midori-browser.c:3779
 msgid "_Edit"
 msgstr "编辑(_E)"
 
-#: ../midori/midori-browser.c:3225
+#: ../midori/midori-browser.c:3782
 msgid "Cut the selected text"
 msgstr "剪切选中的文本"
 
-#: ../midori/midori-browser.c:3228
-#: ../midori/midori-browser.c:3231
+#: ../midori/midori-browser.c:3785
+#: ../midori/midori-browser.c:3788
 msgid "Copy the selected text"
 msgstr "复制选中的文本"
 
-#: ../midori/midori-browser.c:3234
+#: ../midori/midori-browser.c:3791
 msgid "Paste text from the clipboard"
 msgstr "从剪贴板粘帖文本"
 
-#: ../midori/midori-browser.c:3237
+#: ../midori/midori-browser.c:3794
 msgid "Delete the selected text"
 msgstr "删除选中的文本"
 
-#: ../midori/midori-browser.c:3240
+#: ../midori/midori-browser.c:3797
 msgid "Select all text"
 msgstr "选取所有文本"
 
-#: ../midori/midori-browser.c:3243
+#: ../midori/midori-browser.c:3800
 msgid "Find a word or phrase in the page"
 msgstr "在页面中查找词或短语"
 
-#: ../midori/midori-browser.c:3245
+#: ../midori/midori-browser.c:3802
 msgid "Find _Next"
 msgstr "查找下一个(_N)"
 
-#: ../midori/midori-browser.c:3246
+#: ../midori/midori-browser.c:3803
 msgid "Find the next occurrence of a word or phrase"
 msgstr "查找下一处"
 
-#: ../midori/midori-browser.c:3248
+#: ../midori/midori-browser.c:3805
 msgid "Find _Previous"
 msgstr "查找上一个(_P)"
 
-#: ../midori/midori-browser.c:3249
+#: ../midori/midori-browser.c:3806
 msgid "Find the previous occurrence of a word or phrase"
 msgstr "查找上一处"
 
-#: ../midori/midori-browser.c:3252
+#: ../midori/midori-browser.c:3809
 msgid "_Quick Find"
 msgstr "快速查找(_Q)"
 
-#: ../midori/midori-browser.c:3253
+#: ../midori/midori-browser.c:3810
 msgid "Quickly jump to a word or phrase"
 msgstr "快速跳转到一个词或短语"
 
-#: ../midori/midori-browser.c:3256
+#: ../midori/midori-browser.c:3813
 msgid "Configure the application preferences"
 msgstr "设置程序首选项"
 
-#: ../midori/midori-browser.c:3258
+#: ../midori/midori-browser.c:3815
 msgid "_View"
 msgstr "查看(_V)"
 
-#: ../midori/midori-browser.c:3259
+#: ../midori/midori-browser.c:3816
 msgid "_Toolbars"
 msgstr "工具栏(_T)"
 
-#: ../midori/midori-browser.c:3271
+#: ../midori/midori-browser.c:3828
 msgid "Increase the zoom level"
 msgstr "提高放大倍数"
 
-#: ../midori/midori-browser.c:3274
+#: ../midori/midori-browser.c:3831
 msgid "Decrease the zoom level"
 msgstr "缩小放大倍数"
 
-#: ../midori/midori-browser.c:3277
+#: ../midori/midori-browser.c:3834
 msgid "Reset the zoom level"
 msgstr "重置放大倍数"
 
-#: ../midori/midori-browser.c:3278
+#: ../midori/midori-browser.c:3835
 msgid "_Encoding"
 msgstr "编码(_E)"
 
-#: ../midori/midori-browser.c:3280
+#: ../midori/midori-browser.c:3837
 msgid "_Automatic"
 msgstr "自动(_A)"
 
-#: ../midori/midori-browser.c:3283
-#: ../midori/midori-websettings.c:196
+#: ../midori/midori-browser.c:3840
+#: ../midori/midori-websettings.c:204
 msgid "Chinese (BIG5)"
 msgstr "繁体中文 (BIG5)"
 
-#: ../midori/midori-browser.c:3286
-#: ../midori/midori-websettings.c:197
+#: ../midori/midori-browser.c:3843
+#: ../midori/midori-websettings.c:205
 msgid "Japanese (SHIFT_JIS)"
 msgstr "日语 (SHIFT_JIS)"
 
-#: ../midori/midori-browser.c:3289
-#: ../midori/midori-websettings.c:198
+#: ../midori/midori-browser.c:3846
+#: ../midori/midori-websettings.c:206
 msgid "Russian (KOI8-R)"
 msgstr "俄语 (KOI8-R)"
 
-#: ../midori/midori-browser.c:3292
-#: ../midori/midori-websettings.c:199
+#: ../midori/midori-browser.c:3849
+#: ../midori/midori-websettings.c:207
 msgid "Unicode (UTF-8)"
 msgstr "Unicode (UTF-8)"
 
-#: ../midori/midori-browser.c:3295
-#: ../midori/midori-websettings.c:200
+#: ../midori/midori-browser.c:3852
+#: ../midori/midori-websettings.c:208
 msgid "Western (ISO-8859-1)"
 msgstr "西方 (ISO-8859-1)"
 
-#: ../midori/midori-browser.c:3298
-#: ../midori/midori-websettings.c:201
-#: ../midori/midori-websettings.c:273
+#: ../midori/midori-browser.c:3855
+#: ../midori/midori-websettings.c:209
+#: ../midori/midori-websettings.c:281
 msgid "Custom..."
 msgstr "定制 ..."
 
-#: ../midori/midori-browser.c:3301
-#: ../midori/midori-view.c:1111
+#: ../midori/midori-browser.c:3858
+#: ../midori/midori-view.c:1275
 msgid "View _Source"
 msgstr "查看源码(_S)"
 
-#: ../midori/midori-browser.c:3302
+#: ../midori/midori-browser.c:3859
 msgid "View the source code of the page"
 msgstr "查看本页的源代码"
 
-#: ../midori/midori-browser.c:3304
+#: ../midori/midori-browser.c:3861
 msgid "View Selection Source"
 msgstr "查看选中部分的源代码"
 
-#: ../midori/midori-browser.c:3305
+#: ../midori/midori-browser.c:3862
 msgid "View the source code of the selection"
 msgstr "查看选中部分的源代码"
 
-#: ../midori/midori-browser.c:3309
+#: ../midori/midori-browser.c:3866
 msgid "Toggle fullscreen view"
 msgstr "全屏浏览"
 
-#: ../midori/midori-browser.c:3311
+#: ../midori/midori-browser.c:3868
 msgid "_Go"
 msgstr "位置(_G)"
 
-#: ../midori/midori-browser.c:3314
+#: ../midori/midori-browser.c:3871
 msgid "Go back to the previous page"
 msgstr "返回上一页"
 
-#: ../midori/midori-browser.c:3317
+#: ../midori/midori-browser.c:3874
 msgid "Go forward to the next page"
 msgstr "转到下一页"
 
-#: ../midori/midori-browser.c:3320
+#: ../midori/midori-browser.c:3877
 msgid "Go to your homepage"
 msgstr "回到主页"
 
-#: ../midori/midori-browser.c:3322
+#: ../midori/midori-browser.c:3879
 msgid "Empty Trash"
 msgstr "清空垃圾箱"
 
-#: ../midori/midori-browser.c:3323
+#: ../midori/midori-browser.c:3880
 msgid "Delete the contents of the trash"
 msgstr "删除垃圾箱中的内容"
 
-#: ../midori/midori-browser.c:3325
-#: ../midori/midori-view.c:1083
+#: ../midori/midori-browser.c:3882
+#: ../midori/midori-view.c:1233
 msgid "Undo Close Tab"
 msgstr "撤销关闭标签页"
 
-#: ../midori/midori-browser.c:3326
+#: ../midori/midori-browser.c:3883
 msgid "Open the last closed tab"
 msgstr "打开最后关闭的标签页"
 
-#: ../midori/midori-browser.c:3330
-#: ../panels/midori-bookmarks.c:228
+#: ../midori/midori-browser.c:3887
+#: ../panels/midori-bookmarks.c:230
 msgid "Add a new bookmark"
 msgstr "添加一个新书签"
 
-#: ../midori/midori-browser.c:3331
+#: ../midori/midori-browser.c:3889
+#: ../panels/midori-bookmarks.c:259
+msgid "Add a new folder"
+msgstr "添加新书签目录"
+
+#: ../midori/midori-browser.c:3890
+msgid "Add a new bookmark folder"
+msgstr "添加一个新书签目录"
+
+#: ../midori/midori-browser.c:3891
 msgid "_Tools"
 msgstr "工具(_T)"
 
-#: ../midori/midori-browser.c:3333
-#: ../midori/midori-searchaction.c:464
+#: ../midori/midori-browser.c:3893
+#: ../midori/midori-searchaction.c:493
 msgid "_Manage Search Engines"
 msgstr "管理搜索引擎(_M)"
 
-#: ../midori/midori-browser.c:3334
+#: ../midori/midori-browser.c:3894
 msgid "Add, edit and remove search engines..."
 msgstr "添加, 编辑和移除搜索引擎"
 
-#: ../midori/midori-browser.c:3338
+#: ../midori/midori-browser.c:3897
+msgid "_Clear Private Data"
+msgstr "清除隐私数据(_C)"
+
+#: ../midori/midori-browser.c:3898
+msgid "Clear private data..."
+msgstr "清除隐私数据 ..."
+
+#: ../midori/midori-browser.c:3902
 msgid "_Previous Tab"
 msgstr "上一个标签页(_P)"
 
-#: ../midori/midori-browser.c:3339
+#: ../midori/midori-browser.c:3903
 msgid "Switch to the previous tab"
 msgstr "转到上一个标签页"
 
-#: ../midori/midori-browser.c:3341
+#: ../midori/midori-browser.c:3905
 msgid "_Next Tab"
 msgstr "下一个标签页(_N)"
 
-#: ../midori/midori-browser.c:3342
+#: ../midori/midori-browser.c:3906
 msgid "Switch to the next tab"
 msgstr "转到上一个标签页"
 
-#: ../midori/midori-browser.c:3344
+#: ../midori/midori-browser.c:3908
 msgid "_Help"
 msgstr "帮助(_H)"
 
-#: ../midori/midori-browser.c:3346
+#: ../midori/midori-browser.c:3910
 msgid "_Contents"
 msgstr "内容(_C)"
 
-#: ../midori/midori-browser.c:3347
+#: ../midori/midori-browser.c:3911
 msgid "Show the documentation"
 msgstr "显示文档"
 
-#: ../midori/midori-browser.c:3349
+#: ../midori/midori-browser.c:3913
 msgid "_Frequent Questions"
 msgstr "常见问题(_F)"
 
-#: ../midori/midori-browser.c:3350
+#: ../midori/midori-browser.c:3914
 msgid "Show the Frequently Asked Questions"
 msgstr "显示常见问题"
 
-#: ../midori/midori-browser.c:3352
+#: ../midori/midori-browser.c:3916
 msgid "_Report a Bug"
 msgstr "反馈错误(_R)"
 
-#: ../midori/midori-browser.c:3353
+#: ../midori/midori-browser.c:3917
 msgid "Open Midori's bug tracker"
 msgstr "打开 Midori 的错误跟踪器"
 
-#: ../midori/midori-browser.c:3356
+#: ../midori/midori-browser.c:3920
 msgid "Show information about the program"
 msgstr "显示此程序的信息"
 
-#: ../midori/midori-browser.c:3363
+#: ../midori/midori-browser.c:3927
 msgid "P_rivate Browsing"
 msgstr "隐私浏览(_r)"
 
-#: ../midori/midori-browser.c:3364
+#: ../midori/midori-browser.c:3928
 msgid "Don't save any private data while browsing"
 msgstr "在浏览时不保存任何隐私数据"
 
-#: ../midori/midori-browser.c:3369
+#: ../midori/midori-browser.c:3933
 msgid "_Menubar"
 msgstr "菜单栏(_M)"
 
-#: ../midori/midori-browser.c:3370
+#: ../midori/midori-browser.c:3934
 msgid "Show menubar"
 msgstr "显示菜单栏"
 
-#: ../midori/midori-browser.c:3373
+#: ../midori/midori-browser.c:3937
 msgid "_Navigationbar"
 msgstr "导航栏(_N)"
 
-#: ../midori/midori-browser.c:3374
+#: ../midori/midori-browser.c:3938
 msgid "Show navigationbar"
 msgstr "显示导航栏"
 
-#: ../midori/midori-browser.c:3377
+#: ../midori/midori-browser.c:3941
 msgid "Side_panel"
 msgstr "侧边栏(_p)"
 
-#: ../midori/midori-browser.c:3378
+#: ../midori/midori-browser.c:3942
 msgid "Show sidepanel"
 msgstr "显示侧边栏"
 
-#: ../midori/midori-browser.c:3381
+#: ../midori/midori-browser.c:3945
 msgid "_Bookmarkbar"
 msgstr "书签栏(_B)"
 
-#: ../midori/midori-browser.c:3382
+#: ../midori/midori-browser.c:3946
 msgid "Show bookmarkbar"
 msgstr "显示书签栏"
 
-#: ../midori/midori-browser.c:3385
+#: ../midori/midori-browser.c:3949
 msgid "_Transferbar"
 msgstr "传输栏(_T)"
 
-#: ../midori/midori-browser.c:3386
+#: ../midori/midori-browser.c:3950
 msgid "Show transferbar"
 msgstr "显示传输栏"
 
-#: ../midori/midori-browser.c:3389
+#: ../midori/midori-browser.c:3953
 msgid "_Statusbar"
 msgstr "状态栏(_S)"
 
-#: ../midori/midori-browser.c:3390
+#: ../midori/midori-browser.c:3954
 msgid "Show statusbar"
 msgstr "显示状态栏"
 
-#: ../midori/midori-browser.c:3821
+#: ../midori/midori-browser.c:4389
 msgid "_Separator"
 msgstr "分割符(_S)"
 
-#: ../midori/midori-browser.c:3828
+#: ../midori/midori-browser.c:4396
 msgid "_Location..."
 msgstr "位置(_L)"
 
-#: ../midori/midori-browser.c:3830
+#: ../midori/midori-browser.c:4398
 msgid "Open a particular location"
 msgstr "打开一个指定位置"
 
-#: ../midori/midori-browser.c:3854
+#: ../midori/midori-browser.c:4420
 msgid "_Web Search..."
 msgstr "搜索 Web(_W)"
 
-#: ../midori/midori-browser.c:3856
+#: ../midori/midori-browser.c:4422
 msgid "Run a web search"
 msgstr "执行 Web 搜索"
 
-#: ../midori/midori-browser.c:3875
+#: ../midori/midori-browser.c:4443
 msgid "Reopen a previously closed tab or window"
 msgstr "重新打开以前关闭的标签页或窗口"
 
-#: ../midori/midori-browser.c:3888
+#: ../midori/midori-browser.c:4458
 msgid "_Recently visited pages"
 msgstr "最近访问的页面(_R)"
 
-#: ../midori/midori-browser.c:3890
+#: ../midori/midori-browser.c:4460
 msgid "Reopen pages that you visited earlier"
 msgstr "重新打开以前访问过的页面"
 
-#: ../midori/midori-browser.c:3903
-#: ../midori/sokoke.c:772
+#: ../midori/midori-browser.c:4475
+#: ../midori/sokoke.c:872
 msgid "_Bookmarks"
 msgstr "书签(_B)"
 
-#: ../midori/midori-browser.c:3905
+#: ../midori/midori-browser.c:4477
 msgid "Show the saved bookmarks"
 msgstr "显示保存的书签"
 
-#: ../midori/midori-browser.c:3918
+#: ../midori/midori-browser.c:4492
 msgid "_Window"
 msgstr "窗口(_W)"
 
-#: ../midori/midori-browser.c:3920
+#: ../midori/midori-browser.c:4494
 msgid "Show a list of all open tabs"
 msgstr "显示所有标签页的列表"
 
 #. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:4085
+#: ../midori/midori-browser.c:4674
 msgid "_Inline Find:"
 msgstr "查找(_I):"
 
-#: ../midori/midori-browser.c:4110
+#: ../midori/midori-browser.c:4699
 msgid "Previous"
 msgstr "上一个"
 
-#: ../midori/midori-browser.c:4115
+#: ../midori/midori-browser.c:4704
 msgid "Next"
 msgstr "下一个"
 
-#: ../midori/midori-browser.c:4120
+#: ../midori/midori-browser.c:4709
 msgid "Match Case"
 msgstr "区分大小写"
 
-#: ../midori/midori-browser.c:4128
+#: ../midori/midori-browser.c:4717
 msgid "Highlight Matches"
 msgstr "高亮显示匹配"
 
-#: ../midori/midori-browser.c:4138
+#: ../midori/midori-browser.c:4727
 msgid "Close Findbar"
 msgstr "关闭查找栏"
 
-#: ../midori/midori-browser.c:4444
+#: ../midori/midori-browser.c:4762
+#: ../extensions/cookie-manager.c:821
+msgid "Delete All"
+msgstr "删除所有项目"
+
+#: ../midori/midori-browser.c:5084
 #, c-format
 msgid "Unexpected setting '%s'"
 msgstr "意外的设置 '%s'"
 
-#: ../midori/midori-panel.c:229
-#: ../midori/midori-websettings.c:511
+#: ../midori/midori-panel.c:333
+msgid "Detach chosen panel from the window"
+msgstr "从窗口中分离选择的面板"
+
+#: ../midori/midori-panel.c:335
+msgid "Whether to detach the chosen panel from the window"
+msgstr "将选中的面板从窗口中分离"
+
+#: ../midori/midori-panel.c:345
+#: ../midori/midori-websettings.c:535
 msgid "Align sidepanel on the right"
 msgstr "侧边栏摆放到右侧"
 
-#: ../midori/midori-panel.c:231
-#: ../midori/midori-websettings.c:512
+#: ../midori/midori-panel.c:347
+#: ../midori/midori-websettings.c:536
 msgid "Whether to align the sidepanel on the right"
-msgstr "是否让侧边栏摆放到右侧"
+msgstr "让侧边栏摆放到右侧"
 
-#: ../midori/midori-panel.c:241
-#: ../midori/midori-panel.c:242
+#: ../midori/midori-panel.c:357
+#: ../midori/midori-panel.c:358
 msgid "Close panel"
 msgstr "关闭侧边栏"
 
-#: ../midori/midori-websettings.c:179
-#: ../midori/midori-view.c:1888
+#: ../midori/midori-websettings.c:187
+#: ../midori/midori-view.c:1999
+#: ../midori/midori-view.c:2176
 msgid "Blank page"
 msgstr "空白页面"
 
-#: ../midori/midori-websettings.c:180
-#: ../midori/midori-websettings.c:531
+#: ../midori/midori-websettings.c:188
+#: ../midori/midori-websettings.c:555
 msgid "Homepage"
 msgstr "主页"
 
-#: ../midori/midori-websettings.c:181
+#: ../midori/midori-websettings.c:189
 msgid "Last open pages"
 msgstr "最后打开页面"
 
-#: ../midori/midori-websettings.c:216
+#: ../midori/midori-websettings.c:224
 msgid "New tab"
 msgstr "新建标签页"
 
-#: ../midori/midori-websettings.c:217
+#: ../midori/midori-websettings.c:225
 msgid "New window"
 msgstr "新建窗口"
 
-#: ../midori/midori-websettings.c:218
+#: ../midori/midori-websettings.c:226
 msgid "Current tab"
 msgstr "当前标签页"
 
-#: ../midori/midori-websettings.c:233
+#: ../midori/midori-websettings.c:241
 msgid "Default"
 msgstr "缺省"
 
-#: ../midori/midori-websettings.c:234
+#: ../midori/midori-websettings.c:242
 msgid "Icons"
 msgstr "图标"
 
-#: ../midori/midori-websettings.c:235
+#: ../midori/midori-websettings.c:243
 msgid "Text"
 msgstr "文字"
 
-#: ../midori/midori-websettings.c:236
+#: ../midori/midori-websettings.c:244
 msgid "Both"
 msgstr "图标及文字"
 
-#: ../midori/midori-websettings.c:237
+#: ../midori/midori-websettings.c:245
 msgid "Both horizontal"
 msgstr "水平摆放的图标和文字"
 
-#: ../midori/midori-websettings.c:252
+#: ../midori/midori-websettings.c:260
 msgid "All cookies"
 msgstr "所有 Cookies"
 
-#: ../midori/midori-websettings.c:253
+#: ../midori/midori-websettings.c:261
 msgid "Session cookies"
 msgstr "会话 Cookies"
 
-#: ../midori/midori-websettings.c:254
+#: ../midori/midori-websettings.c:262
 #: ../panels/midori-addons.c:94
 msgid "None"
 msgstr "无"
 
-#: ../midori/midori-websettings.c:270
+#: ../midori/midori-websettings.c:278
 msgid "Safari"
 msgstr "Safari"
 
-#: ../midori/midori-websettings.c:271
+#: ../midori/midori-websettings.c:279
 msgid "Firefox"
 msgstr "Firefox"
 
-#: ../midori/midori-websettings.c:272
+#: ../midori/midori-websettings.c:280
 msgid "Internet Explorer"
 msgstr "Internet Explorer"
 
-#: ../midori/midori-websettings.c:325
+#: ../midori/midori-websettings.c:333
 msgid "Remember last window size"
 msgstr "记住上次窗口的大小"
 
-#: ../midori/midori-websettings.c:326
+#: ../midori/midori-websettings.c:334
 msgid "Whether to save the last window size"
 msgstr "是否保存上次窗口的大小"
 
-#: ../midori/midori-websettings.c:334
+#: ../midori/midori-websettings.c:342
 msgid "Last window width"
 msgstr "上次窗口的宽度"
 
-#: ../midori/midori-websettings.c:335
+#: ../midori/midori-websettings.c:343
 msgid "The last saved window width"
 msgstr "上次保存的窗口宽度"
 
-#: ../midori/midori-websettings.c:343
+#: ../midori/midori-websettings.c:351
 msgid "Last window height"
 msgstr "上次窗口的高度"
 
-#: ../midori/midori-websettings.c:344
+#: ../midori/midori-websettings.c:352
 msgid "The last saved window height"
 msgstr "上次保存的窗口高度"
 
-#: ../midori/midori-websettings.c:369
+#: ../midori/midori-websettings.c:377
 msgid "Last panel position"
 msgstr "上次的侧边栏位置"
 
-#: ../midori/midori-websettings.c:370
+#: ../midori/midori-websettings.c:378
 msgid "The last saved panel position"
 msgstr "上次保存的侧边栏位置"
 
 #. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:379
+#: ../midori/midori-websettings.c:387
 msgid "Last panel page"
 msgstr "上次的侧边栏页"
 
-#: ../midori/midori-websettings.c:380
+#: ../midori/midori-websettings.c:388
 msgid "The last saved panel page"
 msgstr "上次保存的侧边栏页"
 
-#: ../midori/midori-websettings.c:388
+#: ../midori/midori-websettings.c:396
 msgid "Last Web search"
 msgstr "上次的 Web 搜索"
 
-#: ../midori/midori-websettings.c:389
+#: ../midori/midori-websettings.c:397
 msgid "The last saved Web search"
 msgstr "上次保存的 Web 搜索"
 
-#: ../midori/midori-websettings.c:398
+#: ../midori/midori-websettings.c:406
 msgid "Show Menubar"
 msgstr "显示菜单栏"
 
-#: ../midori/midori-websettings.c:399
+#: ../midori/midori-websettings.c:407
 msgid "Whether to show the menubar"
 msgstr "是否显示菜单栏"
 
-#: ../midori/midori-websettings.c:407
+#: ../midori/midori-websettings.c:415
 msgid "Show Navigationbar"
 msgstr "显示导航栏"
 
-#: ../midori/midori-websettings.c:408
+#: ../midori/midori-websettings.c:416
 msgid "Whether to show the navigationbar"
 msgstr "是否显示导航栏"
 
-#: ../midori/midori-websettings.c:416
+#: ../midori/midori-websettings.c:424
 msgid "Show Bookmarkbar"
 msgstr "显示书签栏"
 
-#: ../midori/midori-websettings.c:417
+#: ../midori/midori-websettings.c:425
 msgid "Whether to show the bookmarkbar"
 msgstr "是否显示书签栏"
 
-#: ../midori/midori-websettings.c:425
+#: ../midori/midori-websettings.c:433
 msgid "Show Panel"
 msgstr "显示侧边栏"
 
-#: ../midori/midori-websettings.c:426
+#: ../midori/midori-websettings.c:434
 msgid "Whether to show the panel"
 msgstr "是否显示侧边栏"
 
-#: ../midori/midori-websettings.c:441
+#: ../midori/midori-websettings.c:449
 msgid "Show Transferbar"
 msgstr "显示传输栏"
 
-#: ../midori/midori-websettings.c:442
+#: ../midori/midori-websettings.c:450
 msgid "Whether to show the transferbar"
 msgstr "是否显示传输栏"
 
-#: ../midori/midori-websettings.c:450
+#: ../midori/midori-websettings.c:458
 msgid "Show Statusbar"
 msgstr "显示状态栏"
 
-#: ../midori/midori-websettings.c:451
+#: ../midori/midori-websettings.c:459
 msgid "Whether to show the statusbar"
 msgstr "是否显示状态栏"
 
-#: ../midori/midori-websettings.c:460
+#: ../midori/midori-websettings.c:468
 msgid "Toolbar Style"
 msgstr "工具栏样式"
 
-#: ../midori/midori-websettings.c:461
+#: ../midori/midori-websettings.c:469
 msgid "The style of the toolbar"
 msgstr "工具栏的样式"
 
-#: ../midori/midori-websettings.c:477
+#: ../midori/midori-websettings.c:485
 msgid "Show progress in location entry"
 msgstr "在地址输入框中显示进度"
 
-#: ../midori/midori-websettings.c:478
+#: ../midori/midori-websettings.c:486
 msgid "Whether to show loading progress in the location entry"
 msgstr "是否在地址输入框中显示加载进度"
 
-#: ../midori/midori-websettings.c:486
+#: ../midori/midori-websettings.c:501
+msgid "Search engines in location completion"
+msgstr "地址补全中显示搜索引擎"
+
+#: ../midori/midori-websettings.c:502
+msgid "Whether to show search engines in the location completion"
+msgstr "是否在地址补全中显示搜索引擎"
+
+#: ../midori/midori-websettings.c:510
 msgid "Toolbar Items"
 msgstr "工具栏中的项目"
 
-#: ../midori/midori-websettings.c:487
+#: ../midori/midori-websettings.c:511
 msgid "The items to show on the toolbar"
 msgstr "在工具栏中显示的项目"
 
-#: ../midori/midori-websettings.c:495
+#: ../midori/midori-websettings.c:519
 msgid "Compact Sidepanel"
 msgstr "紧凑侧边栏"
 
-#: ../midori/midori-websettings.c:496
+#: ../midori/midori-websettings.c:520
 msgid "Whether to make the sidepanel compact"
 msgstr "是否让侧边栏紧凑显示"
 
-#: ../midori/midori-websettings.c:521
+#: ../midori/midori-websettings.c:545
 msgid "Load on Startup"
 msgstr "启动时加载"
 
-#: ../midori/midori-websettings.c:522
+#: ../midori/midori-websettings.c:546
 msgid "What to load on startup"
 msgstr "启动时加载的项目"
 
-#: ../midori/midori-websettings.c:532
+#: ../midori/midori-websettings.c:556
 msgid "The homepage"
 msgstr "主页"
 
-#: ../midori/midori-websettings.c:547
+#: ../midori/midori-websettings.c:571
 msgid "Show crash dialog"
 msgstr "显示崩溃提示对话框"
 
-#: ../midori/midori-websettings.c:548
+#: ../midori/midori-websettings.c:572
 msgid "Show a dialog after Midori crashed"
 msgstr "当 Midori 崩溃后显示提示对话框"
 
-#: ../midori/midori-websettings.c:556
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:588
+msgid "Show speed dial in new tabs"
+msgstr "在新标签页中显示快速拨号"
+
+#: ../midori/midori-websettings.c:589
+msgid "Show speed dial in newly opened tabs"
+msgstr "在新标签页中显示快速拨号"
+
+#: ../midori/midori-websettings.c:597
 msgid "Download Folder"
 msgstr "下载目录"
 
-#: ../midori/midori-websettings.c:557
+#: ../midori/midori-websettings.c:598
 msgid "The folder downloaded files are saved to"
 msgstr "下载的文件将保存到此目录"
 
-#: ../midori/midori-websettings.c:569
+#: ../midori/midori-websettings.c:617
+msgid "Ask for the destination folder"
+msgstr "询问保存目录"
+
+#: ../midori/midori-websettings.c:618
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr "是否在下载文件时询问保存目录"
+
+#: ../midori/midori-websettings.c:637
+msgid "Notify when a transfer has been completed"
+msgstr "下载完成后显示提示"
+
+#: ../midori/midori-websettings.c:638
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "是否在下载完成时显示提示信息"
+
+#: ../midori/midori-websettings.c:650
 msgid "Download Manager"
 msgstr "下载管理器"
 
-#: ../midori/midori-websettings.c:570
+#: ../midori/midori-websettings.c:651
 msgid "An external download manager"
 msgstr "外部的下载管理器"
 
-#: ../midori/midori-websettings.c:578
+#: ../midori/midori-websettings.c:659
 msgid "Text Editor"
 msgstr "文本编辑器"
 
-#: ../midori/midori-websettings.c:579
+#: ../midori/midori-websettings.c:660
 msgid "An external text editor"
 msgstr "外部的文本编辑器"
 
-#: ../midori/midori-websettings.c:587
+#: ../midori/midori-websettings.c:675
+msgid "News Aggregator"
+msgstr "新闻聚合器"
+
+#: ../midori/midori-websettings.c:676
+msgid "An external news aggregator"
+msgstr "外部的新闻聚合查看器"
+
+#: ../midori/midori-websettings.c:684
 msgid "Location entry Search"
 msgstr "地址栏查找"
 
-#: ../midori/midori-websettings.c:588
+#: ../midori/midori-websettings.c:685
 msgid "The search to perform inside the location entry"
 msgstr "在地址输入框中执行的查找"
 
-#: ../midori/midori-websettings.c:596
+#: ../midori/midori-websettings.c:693
 msgid "Preferred Encoding"
 msgstr "首选的编码"
 
-#: ../midori/midori-websettings.c:597
+#: ../midori/midori-websettings.c:694
 msgid "The preferred character encoding"
 msgstr "首选的字符编码集"
 
-#: ../midori/midori-websettings.c:607
+#: ../midori/midori-websettings.c:704
 msgid "Always Show Tabbar"
 msgstr "总是显示标签栏"
 
-#: ../midori/midori-websettings.c:608
+#: ../midori/midori-websettings.c:705
 msgid "Always show the tabbar"
 msgstr "总是显示标签栏"
 
-#: ../midori/midori-websettings.c:616
+#: ../midori/midori-websettings.c:713
 msgid "Close Buttons on Tabs"
 msgstr "标签栏上显示关闭按钮"
 
-#: ../midori/midori-websettings.c:617
+#: ../midori/midori-websettings.c:714
 msgid "Whether tabs have close buttons"
 msgstr "是否在标签栏上显示关闭按钮"
 
-#: ../midori/midori-websettings.c:625
+#: ../midori/midori-websettings.c:722
 msgid "Open new pages in"
 msgstr "打开新的页面在"
 
-#: ../midori/midori-websettings.c:626
+#: ../midori/midori-websettings.c:723
 msgid "Where to open new pages"
 msgstr "在那里打开新的页面"
 
-#: ../midori/midori-websettings.c:635
+#: ../midori/midori-websettings.c:732
 msgid "Open external pages in"
 msgstr "打开外部页面在"
 
-#: ../midori/midori-websettings.c:636
+#: ../midori/midori-websettings.c:733
 msgid "Where to open externally opened pages"
 msgstr "在那里打开外部页面"
 
-#: ../midori/midori-websettings.c:649
+#: ../midori/midori-websettings.c:746
 msgid "Middle click opens Selection"
 msgstr "鼠标中键打开地址"
 
-#: ../midori/midori-websettings.c:650
+#: ../midori/midori-websettings.c:747
 msgid "Load an address from the selection via middle click"
 msgstr "用鼠标中键单击打开选中地址"
 
-#: ../midori/midori-websettings.c:658
+#: ../midori/midori-websettings.c:755
 msgid "Open tabs in the background"
 msgstr "在后台打开标签页"
 
-#: ../midori/midori-websettings.c:659
+#: ../midori/midori-websettings.c:756
 msgid "Whether to open new tabs in the background"
 msgstr "是否在后台打开标签页"
 
-#: ../midori/midori-websettings.c:667
+#: ../midori/midori-websettings.c:764
 msgid "Open Tabs next to Current"
 msgstr "在当前标签页后打开新标签"
 
-#: ../midori/midori-websettings.c:668
+#: ../midori/midori-websettings.c:765
 msgid "Whether to open new tabs next to the current tab or after the last one"
 msgstr "是否在当前标签页后打开新标签或者在最后的标签页后打开"
 
-#: ../midori/midori-websettings.c:676
+#: ../midori/midori-websettings.c:773
 msgid "Open popups in tabs"
 msgstr "在标签页中打开弹出窗口"
 
-#: ../midori/midori-websettings.c:677
+#: ../midori/midori-websettings.c:774
 msgid "Whether to open popup windows in tabs"
 msgstr "是否在标签页中打开弹出窗口"
 
-#: ../midori/midori-websettings.c:693
+#: ../midori/midori-websettings.c:790
 msgid "Zoom Text and Images"
 msgstr "缩放文字和图像"
 
-#: ../midori/midori-websettings.c:694
+#: ../midori/midori-websettings.c:791
 msgid "Whether to zoom text and images"
 msgstr "是否缩放文字和图像"
 
-#: ../midori/midori-websettings.c:709
+#: ../midori/midori-websettings.c:806
 msgid "Find inline while typing"
 msgstr "输入时自动补全"
 
-#: ../midori/midori-websettings.c:710
+#: ../midori/midori-websettings.c:807
 msgid "Whether to automatically find inline while typing"
 msgstr "是否输入时自动补全地址"
 
-#: ../midori/midori-websettings.c:718
+#: ../midori/midori-websettings.c:815
 msgid "Accept cookies"
 msgstr "接收 Cookies"
 
-#: ../midori/midori-websettings.c:719
+#: ../midori/midori-websettings.c:816
 msgid "What type of cookies to accept"
 msgstr "接收什么类型的 Cookies"
 
-#: ../midori/midori-websettings.c:728
+#: ../midori/midori-websettings.c:825
 msgid "Original cookies only"
 msgstr "只接收原始 Cookies"
 
-#: ../midori/midori-websettings.c:729
+#: ../midori/midori-websettings.c:826
 msgid "Accept cookies from the original website only"
 msgstr "只接收原始网站的 Cookies"
 
-#: ../midori/midori-websettings.c:737
+#: ../midori/midori-websettings.c:834
 msgid "Maximum cookie age"
 msgstr "最长 Cookie 有效期"
 
-#: ../midori/midori-websettings.c:738
+#: ../midori/midori-websettings.c:835
 msgid "The maximum number of days to save cookies for"
 msgstr "最长保存 Cookie 多少天"
 
-#: ../midori/midori-websettings.c:748
+#: ../midori/midori-websettings.c:845
 msgid "Remember last visited pages"
 msgstr "记录上次访问的页面"
 
-#: ../midori/midori-websettings.c:749
+#: ../midori/midori-websettings.c:846
 msgid "Whether the last visited pages are saved"
 msgstr "是否记录上次访问的页面"
 
-#: ../midori/midori-websettings.c:757
+#: ../midori/midori-websettings.c:854
 msgid "Maximum history age"
 msgstr "最长历史有效期"
 
-#: ../midori/midori-websettings.c:758
+#: ../midori/midori-websettings.c:855
 msgid "The maximum number of days to save the history for"
 msgstr "最长保存历史多少天"
 
-#: ../midori/midori-websettings.c:766
+#: ../midori/midori-websettings.c:863
 msgid "Remember last form inputs"
 msgstr "记录上次的表格输入"
 
-#: ../midori/midori-websettings.c:767
+#: ../midori/midori-websettings.c:864
 msgid "Whether the last form inputs are saved"
 msgstr "是否记录上次的表格输入"
 
-#: ../midori/midori-websettings.c:775
+#: ../midori/midori-websettings.c:872
 msgid "Remember last downloaded files"
 msgstr "记录上次下载的文件"
 
-#: ../midori/midori-websettings.c:776
+#: ../midori/midori-websettings.c:873
 msgid "Whether the last downloaded files are saved"
 msgstr "是否保存上次下载的文件"
 
-#: ../midori/midori-websettings.c:786
+#: ../midori/midori-websettings.c:883
 msgid "Proxy Server"
 msgstr "代理服务器"
 
-#: ../midori/midori-websettings.c:787
+#: ../midori/midori-websettings.c:884
 msgid "The proxy server used for HTTP connections"
 msgstr "HTTP 连接所使用的代理服务器"
 
-#: ../midori/midori-websettings.c:802
+#: ../midori/midori-websettings.c:899
 msgid "Detect proxy server automatically"
 msgstr "自动检测代理服务器"
 
-#: ../midori/midori-websettings.c:803
+#: ../midori/midori-websettings.c:900
 msgid "Whether to detect the proxy server automatically from the environment"
 msgstr "是否自动检测系统环境中的代理服务器设置"
 
 #. i18n: This refers to an application, not the 'user agent' string
-#: ../midori/midori-websettings.c:819
+#: ../midori/midori-websettings.c:916
 msgid "Identify as"
 msgstr "识别为"
 
-#: ../midori/midori-websettings.c:820
+#: ../midori/midori-websettings.c:917
 msgid "What to identify as to web pages"
 msgstr "让页面识别为什么"
 
-#: ../midori/midori-websettings.c:836
+#: ../midori/midori-websettings.c:933
 msgid "Identification string"
 msgstr "识别字符串"
 
-#: ../midori/midori-websettings.c:837
+#: ../midori/midori-websettings.c:934
 msgid "The application identification string"
 msgstr "应用程序识别字符串"
 
-#: ../midori/midori-websettings.c:845
+#: ../midori/midori-websettings.c:942
 msgid "Cache size"
 msgstr "缓存大小"
 
-#: ../midori/midori-websettings.c:846
+#: ../midori/midori-websettings.c:943
 msgid "The allowed size of the cache"
 msgstr "允许的缓存大小"
 
+#: ../midori/midori-view.c:686
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "页面 '%s' 无法加载."
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:688
+#: ../midori/midori-view.c:2701
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "错误"
+
+#: ../midori/midori-view.c:691
+msgid "Try again"
+msgstr "重试"
+
 #. i18n: The title of the 404 - Not found error page
-#: ../midori/midori-view.c:656
+#. Error pages are special, we want to try loading the destination
+#. again, not the error page which isn't even a proper page
+#: ../midori/midori-view.c:721
+#: ../midori/midori-view.c:2705
 #, c-format
 msgid "Not found - %s"
 msgstr "没有找到 - %s"
 
-#: ../midori/midori-view.c:988
+#: ../midori/midori-view.c:1095
 msgid "Open _Link"
 msgstr "打开链接(_L)"
 
-#: ../midori/midori-view.c:990
+#: ../midori/midori-view.c:1097
 msgid "Open Link in New _Tab"
 msgstr "在新标签页中打开链接(_T)"
 
-#: ../midori/midori-view.c:1007
+#: ../midori/midori-view.c:1114
 msgid "Open Link in New _Window"
 msgstr "在新窗口中打开链接(_W)"
 
-#: ../midori/midori-view.c:1016
-#: ../midori/midori-view.c:1030
+#: ../midori/midori-view.c:1123
 msgid "_Download Link destination"
 msgstr "下载链接目标(_D)"
 
-#: ../midori/midori-view.c:1022
+#: ../midori/midori-view.c:1129
 msgid "_Save Link destination"
 msgstr "保存链接目标(_S)"
 
-#: ../midori/midori-view.c:1053
+#: ../midori/midori-view.c:1138
+msgid "Download with Download _Manager"
+msgstr "用下载管理器下载(_M)"
+
+#: ../midori/midori-view.c:1167
+msgid "Search _with"
+msgstr "搜索(_w)"
+
+#: ../midori/midori-view.c:1195
 msgid "_Search the Web"
 msgstr "搜索 Web(_S)"
 
-#: ../midori/midori-view.c:1062
+#: ../midori/midori-view.c:1205
 msgid "Open Address in New _Tab"
 msgstr "在新标签页中打开地址(_T)"
 
-#: ../midori/midori-view.c:1201
+#: ../midori/midori-view.c:1372
 msgid "Open or download file"
 msgstr "打开或下载文件"
 
-#: ../midori/midori-view.c:1210
+#: ../midori/midori-view.c:1389
+#, c-format
+msgid "File Type: '%s'"
+msgstr "文件类型: '%s'"
+
+#: ../midori/midori-view.c:1392
 #, c-format
 msgid "File Type: %s ('%s')"
 msgstr "文件类型: %s ('%s')"
 
 #. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
-#: ../midori/midori-view.c:1214
+#: ../midori/midori-view.c:1396
 #, c-format
 msgid "Open %s"
 msgstr "打开 %s"
 
-#: ../midori/midori-view.c:1610
+#: ../midori/midori-view.c:1816
 #, c-format
 msgid "Inspect page - %s"
 msgstr "检查页面 - %s"
 
-#: ../midori/midori-view.c:1755
+#: ../midori/midori-view.c:2001
+#: ../midori/midori-view.c:2002
+msgid "Search"
+msgstr "搜索"
+
+#: ../midori/midori-view.c:2003
+msgid "Click to add a shortcut"
+msgstr "单击添加快捷方式"
+
+#: ../midori/midori-view.c:2004
+msgid "Enter shortcut address"
+msgstr "输入快捷方式地址"
+
+#: ../midori/midori-view.c:2005
+msgid "Enter shortcut title"
+msgstr "输入快捷方式标题"
+
+#: ../midori/midori-view.c:2006
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "确认删除此快捷方式?"
+
+#: ../midori/midori-view.c:2038
 #, c-format
 msgid "Document cannot be displayed"
 msgstr "文档无法显示"
 
-#: ../midori/midori-view.c:1771
+#: ../midori/midori-view.c:2055
 #, c-format
 msgid "No documentation installed"
 msgstr "没有安装文档"
@@ -1256,265 +1460,289 @@ msgstr "启动"
 msgid "Use current page as homepage"
 msgstr "设置当前页为主页"
 
-#: ../midori/midori-preferences.c:423
+#: ../midori/midori-preferences.c:425
 #: ../panels/midori-transfers.c:88
 msgid "Transfers"
 msgstr "文件传输"
 
 #. Page "Appearance"
-#: ../midori/midori-preferences.c:462
+#: ../midori/midori-preferences.c:440
 msgid "Appearance"
 msgstr "外观"
 
-#: ../midori/midori-preferences.c:463
+#: ../midori/midori-preferences.c:441
 msgid "Font settings"
 msgstr "字体设置"
 
-#: ../midori/midori-preferences.c:465
+#: ../midori/midori-preferences.c:443
 msgid "Default Font Family"
 msgstr "缺省的字体"
 
-#: ../midori/midori-preferences.c:471
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "显示文字的缺省字体"
+
+#: ../midori/midori-preferences.c:450
 msgid "The default font size used to display text"
 msgstr "显示文字的缺省字体大小"
 
-#: ../midori/midori-preferences.c:474
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "定宽字体"
+
+#: ../midori/midori-preferences.c:456
+msgid "The font family used to display fixed-width text"
+msgstr "显示定宽文本的字形"
+
+#: ../midori/midori-preferences.c:458
 msgid "Minimum Font Size"
 msgstr "最小字体尺寸"
 
-#: ../midori/midori-preferences.c:477
+#: ../midori/midori-preferences.c:461
 msgid "The minimum font size used to display text"
 msgstr "显示文字的最小字体尺寸"
 
-#: ../midori/midori-preferences.c:484
+#: ../midori/midori-preferences.c:468
 msgid "Encoding"
 msgstr "编码"
 
-#: ../midori/midori-preferences.c:487
+#: ../midori/midori-preferences.c:471
 msgid "The character encoding to use by default"
 msgstr "缺省的字符编码"
 
 #. Page "Behavior"
-#: ../midori/midori-preferences.c:494
+#: ../midori/midori-preferences.c:478
 msgid "Behavior"
 msgstr "行为"
 
-#: ../midori/midori-preferences.c:495
+#: ../midori/midori-preferences.c:479
 msgid "Features"
 msgstr "特性"
 
-#: ../midori/midori-preferences.c:498
-#: ../extensions/statusbar-features.c:42
+#: ../midori/midori-preferences.c:482
+#: ../extensions/statusbar-features.c:54
 msgid "Load images automatically"
 msgstr "自动加载图像"
 
-#: ../midori/midori-preferences.c:499
+#: ../midori/midori-preferences.c:483
 msgid "Load and display images automatically"
 msgstr "自动加载和显示图像"
 
-#: ../midori/midori-preferences.c:502
+#: ../midori/midori-preferences.c:486
 msgid "Shrink images automatically"
 msgstr "自动缩小图像"
 
-#: ../midori/midori-preferences.c:503
+#: ../midori/midori-preferences.c:487
 msgid "Automatically shrink standalone images to fit"
 msgstr "自动缩小单独的图像以适合屏幕"
 
-#: ../midori/midori-preferences.c:506
+#: ../midori/midori-preferences.c:490
 msgid "Print background images"
 msgstr "打印背景图"
 
-#: ../midori/midori-preferences.c:507
+#: ../midori/midori-preferences.c:491
 msgid "Whether background images should be printed"
 msgstr "是否打印页面的背景图"
 
-#: ../midori/midori-preferences.c:510
+#: ../midori/midori-preferences.c:494
 msgid "Resizable text areas"
 msgstr "可缩放的文本区"
 
-#: ../midori/midori-preferences.c:511
+#: ../midori/midori-preferences.c:495
 msgid "Whether text areas are resizable"
 msgstr "文本区能否缩放"
 
-#: ../midori/midori-preferences.c:514
-#: ../extensions/statusbar-features.c:49
+#: ../midori/midori-preferences.c:498
+#: ../extensions/statusbar-features.c:63
 msgid "Enable scripts"
 msgstr "启用脚本"
 
-#: ../midori/midori-preferences.c:515
+#: ../midori/midori-preferences.c:499
 msgid "Enable embedded scripting languages"
 msgstr "启用网页中的脚本"
 
-#: ../midori/midori-preferences.c:518
-#: ../extensions/statusbar-features.c:56
-msgid "Enable plugins"
-msgstr "启用插件"
+#: ../midori/midori-preferences.c:502
+#: ../extensions/statusbar-features.c:72
+msgid "Enable Netscape plugins"
+msgstr "启用 Netscape 插件"
 
-#: ../midori/midori-preferences.c:519
-msgid "Enable embedded plugin objects"
-msgstr "启用页面中的插件对象"
+#: ../midori/midori-preferences.c:503
+msgid "Enable embedded Netscape plugin objects"
+msgstr "启用嵌入的 Netscape 插件对象"
 
-#: ../midori/midori-preferences.c:522
+#: ../midori/midori-preferences.c:506
 msgid "Enforce 96 dots per inch"
 msgstr "强制每英寸96点"
 
-#: ../midori/midori-preferences.c:523
+#: ../midori/midori-preferences.c:507
 msgid "Enforce a video dot density of 96 DPI"
 msgstr "强制画面点密度为 96DPI"
 
-#: ../midori/midori-preferences.c:526
+#: ../midori/midori-preferences.c:510
 msgid "Enable developer tools"
 msgstr "启用开发工具"
 
-#: ../midori/midori-preferences.c:527
+#: ../midori/midori-preferences.c:511
 msgid "Enable special extensions for developers"
 msgstr "启用给开发者的特殊扩展"
 
+#: ../midori/midori-preferences.c:518
+msgid "Spell Checking"
+msgstr "拼写检查"
+
+#: ../midori/midori-preferences.c:521
+msgid "Enable Spell Checking"
+msgstr "启用拼写检查"
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable spell checking while typing"
+msgstr "启用输入时拼写检查"
+
+#: ../midori/midori-preferences.c:525
+msgid "A comma separated list of languages to be used for spell checking, for example \"en_GB,de_DE\""
+msgstr "用逗号分隔的语言列表, 比如 \"zh_CN,en_GB\""
+
 #. Page "Interface"
-#: ../midori/midori-preferences.c:539
+#: ../midori/midori-preferences.c:530
 msgid "Interface"
 msgstr "界面"
 
-#: ../midori/midori-preferences.c:540
+#: ../midori/midori-preferences.c:531
 msgid "Navigationbar"
 msgstr "导航条"
 
-#: ../midori/midori-preferences.c:549
+#: ../midori/midori-preferences.c:542
 msgid "Browsing"
 msgstr "浏览"
 
+#. Page "Applications"
+#: ../midori/midori-preferences.c:572
+msgid "Applications"
+msgstr "应用"
+
+#: ../midori/midori-preferences.c:573
+msgid "External applications"
+msgstr "外部应用程序"
+
 #. Page "Network"
-#: ../midori/midori-preferences.c:579
-#: ../midori/midori-preferences.c:580
+#: ../midori/midori-preferences.c:619
+#: ../midori/midori-preferences.c:620
 msgid "Network"
 msgstr "网络"
 
-#: ../midori/midori-preferences.c:607
+#: ../midori/midori-preferences.c:647
 msgid "MB"
 msgstr "MB"
 
 #. Page "Privacy"
-#: ../midori/midori-preferences.c:612
+#: ../midori/midori-preferences.c:652
 msgid "Privacy"
 msgstr "隐私"
 
-#: ../midori/midori-preferences.c:613
+#: ../midori/midori-preferences.c:653
 msgid "Web Cookies"
 msgstr "网页 Cookies"
 
-#: ../midori/midori-preferences.c:626
-#: ../midori/midori-preferences.c:636
+#: ../midori/midori-preferences.c:666
+#: ../midori/midori-preferences.c:676
 msgid "days"
 msgstr "天"
 
-#: ../midori/midori-preferences.c:629
-#: ../panels/midori-history.c:104
-msgid "History"
-msgstr "历史"
-
-#: ../midori/midori-searchaction.c:455
-#: ../katze/katze-arrayaction.c:277
+#: ../midori/midori-searchaction.c:484
+#: ../katze/katze-arrayaction.c:314
 msgid "Empty"
 msgstr "清空"
 
-#: ../midori/midori-searchaction.c:811
+#: ../midori/midori-searchaction.c:904
 msgid "Add search engine"
 msgstr "添加搜索引擎"
 
-#: ../midori/midori-searchaction.c:811
+#: ../midori/midori-searchaction.c:904
 msgid "Edit search engine"
 msgstr "编辑搜索引擎"
 
-#: ../midori/midori-searchaction.c:839
+#: ../midori/midori-searchaction.c:932
 msgid "_Name:"
 msgstr "名称(_N)"
 
-#: ../midori/midori-searchaction.c:883
+#: ../midori/midori-searchaction.c:976
 msgid "_Icon:"
 msgstr "图标(_I)"
 
-#: ../midori/midori-searchaction.c:897
+#: ../midori/midori-searchaction.c:990
 msgid "_Token:"
 msgstr "记号(_T):"
 
-#: ../midori/midori-searchaction.c:1077
+#: ../midori/midori-searchaction.c:1195
 msgid "Manage Search Engines"
 msgstr "管理搜索引擎"
 
-#: ../midori/sokoke.c:109
-#: ../midori/sokoke.c:121
+#: ../midori/midori-searchaction.c:1292
+msgid "Use as _default"
+msgstr "作为缺省(_d)"
+
+#: ../midori/sokoke.c:162
+#: ../midori/sokoke.c:174
 msgid "Could not run external program."
 msgstr "无法运行外部程序."
 
 #. i18n: A superuser, or system administrator, may not be 'root'
-#: ../midori/sokoke.c:440
+#: ../midori/sokoke.c:520
 msgid "Warning: You are using a superuser account!"
 msgstr "警告: 你正在使用超级用户帐号!"
 
-#: ../midori/sokoke.c:771
+#: ../midori/sokoke.c:871
 msgid "_Bookmark"
 msgstr "书签(_B)"
 
-#: ../midori/sokoke.c:773
+#: ../midori/sokoke.c:873
 msgid "_Add Bookmark"
 msgstr "添加书签(_A)"
 
-#: ../midori/sokoke.c:774
+#: ../midori/sokoke.c:874
 msgid "_Console"
 msgstr "控制台(_C)"
 
-#: ../midori/sokoke.c:775
+#: ../midori/sokoke.c:875
 msgid "_Extensions"
 msgstr "扩展(_E)"
 
-#: ../midori/sokoke.c:776
+#: ../midori/sokoke.c:876
 msgid "_History"
 msgstr "历史(_H)"
 
-#: ../midori/sokoke.c:777
+#: ../midori/sokoke.c:877
 msgid "_Homepage"
 msgstr "主页(_H)"
 
-#: ../midori/sokoke.c:778
+#: ../midori/sokoke.c:878
 msgid "_Userscripts"
 msgstr "用户脚本(_U)"
 
-#: ../midori/sokoke.c:779
+#: ../midori/sokoke.c:879
 msgid "User_styles"
 msgstr "用户样式(_s)"
 
-#: ../midori/sokoke.c:780
+#: ../midori/sokoke.c:880
 msgid "New _Tab"
 msgstr "新建标签页(_T)"
 
-#: ../midori/sokoke.c:781
+#: ../midori/sokoke.c:881
 msgid "_Transfers"
 msgstr "传输(_T)"
 
-#: ../midori/sokoke.c:782
+#: ../midori/sokoke.c:882
+msgid "Netscape p_lugins"
+msgstr "Netscape 插件(_l)"
+
+#: ../midori/sokoke.c:883
 msgid "_Closed Tabs and Windows"
 msgstr "关闭的标签页和窗口(_C)"
 
-#: ../midori/sokoke.c:783
+#: ../midori/sokoke.c:884
 msgid "New _Window"
 msgstr "新建窗口(_W)"
 
-#: ../midori/gjs.c:743
-#: ../midori/gjs.c:833
-#, c-format
-msgid "%s has no property '%s'"
-msgstr "%s 没有 '%s' 属性"
-
-#: ../midori/gjs.c:879
-#, c-format
-msgid "%s cannot be assigned to %s.%s"
-msgstr "%s 不能被指定到 %s.%s"
-
-#: ../midori/gjs.c:889
-#, c-format
-msgid "%s.%s cannot be accessed"
-msgstr "%s.%s 不能访问"
-
 #: ../panels/midori-addons.c:95
 #: ../panels/midori-addons.c:141
 msgid "Userscripts"
@@ -1525,43 +1753,39 @@ msgstr "用户脚本"
 msgid "Userstyles"
 msgstr "用户样式"
 
-#: ../panels/midori-addons.c:922
+#: ../panels/midori-addons.c:927
 #: ../panels/midori-extensions.c:144
 msgid "_Enable"
 msgstr "启用(_E)"
 
-#: ../panels/midori-addons.c:923
+#: ../panels/midori-addons.c:928
 #: ../panels/midori-extensions.c:145
 msgid "Enable"
 msgstr "启用"
 
-#: ../panels/midori-addons.c:932
+#: ../panels/midori-addons.c:937
 #: ../panels/midori-extensions.c:154
 msgid "_Disable"
 msgstr "关闭(_D)"
 
-#: ../panels/midori-addons.c:933
+#: ../panels/midori-addons.c:938
 #: ../panels/midori-extensions.c:155
 msgid "Disable"
 msgstr "关闭"
 
-#: ../panels/midori-bookmarks.c:103
+#: ../panels/midori-bookmarks.c:107
 msgid "Bookmarks"
 msgstr "书签"
 
-#: ../panels/midori-bookmarks.c:236
+#: ../panels/midori-bookmarks.c:238
 msgid "Edit the selected bookmark"
 msgstr "编辑选中的书签"
 
-#: ../panels/midori-bookmarks.c:244
+#: ../panels/midori-bookmarks.c:246
 msgid "Delete the selected bookmark"
 msgstr "删除选中的书签"
 
-#: ../panels/midori-bookmarks.c:257
-msgid "Add a new folder"
-msgstr "添加一个新目录"
-
-#: ../panels/midori-bookmarks.c:589
+#: ../panels/midori-bookmarks.c:591
 msgid "<i>Separator</i>"
 msgstr "<i>分隔符</i>"
 
@@ -1573,49 +1797,52 @@ msgstr "控制台"
 msgid "Extensions"
 msgstr "扩展"
 
-#: ../panels/midori-history.c:159
+#: ../panels/midori-history.c:162
 msgid "Are you sure you want to remove all history items?"
 msgstr "确认删除所有的历史项?"
 
-#: ../panels/midori-history.c:216
+#: ../panels/midori-history.c:217
 msgid "Bookmark the selected history item"
 msgstr "将选中的历史项加入书签"
 
-#: ../panels/midori-history.c:225
+#: ../panels/midori-history.c:226
 msgid "Delete the selected history item"
 msgstr "删除选中的历史项"
 
-#: ../panels/midori-history.c:233
+#: ../panels/midori-history.c:234
 msgid "Clear the entire history"
 msgstr "清空全部历史"
 
-#: ../panels/midori-history.c:603
-#, c-format
+#: ../panels/midori-history.c:599
 msgid "A week ago"
 msgstr "一周以前"
 
-#: ../panels/midori-history.c:609
+#: ../panels/midori-history.c:604
+#, c-format
+msgid "%d day ago"
+msgstr "%d 天以前"
+
+#: ../panels/midori-history.c:605
 #, c-format
 msgid "%d days ago"
 msgstr "%d 天以前"
 
-#: ../panels/midori-history.c:616
+#: ../panels/midori-history.c:612
 msgid "Today"
 msgstr "今天"
 
-#: ../panels/midori-history.c:618
+#: ../panels/midori-history.c:614
 msgid "Yesterday"
 msgstr "昨天"
 
 #: ../panels/midori-plugins.c:87
-#: ../extensions/statusbar-features.c:54
-msgid "Plugins"
-msgstr "插件"
+msgid "Netscape plugins"
+msgstr "Netscape 插件"
 
 #: ../panels/midori-transfers.c:256
 #, c-format
 msgid "%s of %s"
-msgstr "第 %s 项, 共 %s 项"
+msgstr "已下载 %s, 共 %s "
 
 #: ../katze/katze-http-auth.c:97
 msgid "Authentication Required"
@@ -1625,7 +1852,9 @@ msgstr "需要认证"
 msgid ""
 "A username and a password are required\n"
 "to open this location:"
-msgstr "需要输入用户名和密码来打开此位置:"
+msgstr ""
+"需要输入用户名和密码\n"
+"以打开此位置:"
 
 #: ../katze/katze-http-auth.c:127
 msgid "Username"
@@ -1649,59 +1878,226 @@ msgstr "库存图标 '%s' 无法加载"
 msgid "Animation frames are broken"
 msgstr "动画帧损坏"
 
-#: ../katze/katze-utils.c:180
-#: ../katze/katze-utils.c:389
+#: ../katze/katze-utils.c:183
+#: ../katze/katze-utils.c:385
 #, c-format
 msgid "Property '%s' is invalid for %s"
 msgstr "属性 '%s' 在 '%s' 中无效"
 
-#: ../katze/katze-utils.c:209
-#: ../katze/katze-utils.c:248
+#: ../katze/katze-utils.c:215
+#: ../katze/katze-utils.c:244
 msgid "Choose file"
 msgstr "选择文件"
 
-#: ../katze/katze-utils.c:229
+#: ../katze/katze-utils.c:230
 msgid "Choose folder"
 msgstr "选择目录"
 
-#: ../extensions/colorful-tabs.c:97
+#: ../extensions/colorful-tabs.c:115
 msgid "Tint tabs distinctly"
-msgstr "å¤\9a彩æ \87签页"
+msgstr "彩è\89²æ \87ç­¾"
 
-#: ../extensions/colorful-tabs.c:133
+#: ../extensions/colorful-tabs.c:151
 msgid "Colorful Tabs"
-msgstr "多彩标签"
+msgstr "多彩标签"
 
-#: ../extensions/colorful-tabs.c:134
+#: ../extensions/colorful-tabs.c:152
 msgid "Tint each tab distinctly"
 msgstr "用不同颜色区分标签页"
 
-#: ../extensions/mouse-gestures/main.c:176
+#: ../extensions/cookie-manager.c:201
+msgid "At the end of the session"
+msgstr "在会话结束时"
+
+#: ../extensions/cookie-manager.c:204
+#, c-format
+msgid ""
+"<b>Host</b>: %s\n"
+"<b>Name</b>: %s\n"
+"<b>Value</b>: %s\n"
+"<b>Path</b>: %s\n"
+"<b>Secure</b>: %s\n"
+"<b>Expires</b>: %s"
+msgstr ""
+"<b>主机</b>: %s\n"
+"<b>名称</b>: %s\n"
+"<b>值</b>: %s\n"
+"<b>路径</b>: %s\n"
+"<b>安全</b>: %s\n"
+"<b>过期</b>: %s"
+
+#: ../extensions/cookie-manager.c:210
+msgid "Yes"
+msgstr "是"
+
+#: ../extensions/cookie-manager.c:210
+msgid "No"
+msgstr "无"
+
+#: ../extensions/cookie-manager.c:493
+msgid "Do you really want to delete all cookies?"
+msgstr "确认删除所有的 Cookie?"
+
+#: ../extensions/cookie-manager.c:495
+msgid "Question"
+msgstr "问题"
+
+#: ../extensions/cookie-manager.c:504
+msgid "Only cookies which match the filter will be deleted."
+msgstr "只删除匹配过滤字符串的 Cookies"
+
+#: ../extensions/cookie-manager.c:682
+msgid "Name"
+msgstr "名称"
+
+#: ../extensions/cookie-manager.c:742
+msgid "_Expand All"
+msgstr "展开所有项目(_E)"
+
+#: ../extensions/cookie-manager.c:750
+msgid "_Collapse All"
+msgstr "折叠所有项目(_C)"
+
+#: ../extensions/cookie-manager.c:823
+msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
+msgstr "删除所有 Cookies. 如果已设置了一个过滤器, 则只删除匹配过滤字符串的 Cookies."
+
+#: ../extensions/cookie-manager.c:838
+msgid "Expand All"
+msgstr "展开所有项目"
+
+#: ../extensions/cookie-manager.c:845
+msgid "Collapse All"
+msgstr "折叠所有项目"
+
+#: ../extensions/cookie-manager.c:876
+msgid "Filter:"
+msgstr "过滤器(_F):"
+
+#: ../extensions/cookie-manager.c:881
+msgid "Enter a filter string to show only cookies whose name or domain field match the entered filter"
+msgstr "输入过滤字符串以只显示域名相符的 Cookies"
+
+#: ../extensions/cookie-manager.c:916
+#: ../extensions/cookie-manager.c:964
+msgid "Cookie Manager"
+msgstr "Cookie 管理器"
+
+#: ../extensions/cookie-manager.c:948
+msgid "_Cookie Manager"
+msgstr "Cookie 管理器(_C)"
+
+#: ../extensions/cookie-manager.c:965
+msgid "List, view and delete cookies"
+msgstr "查看和删除 Cookies"
+
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr "查找必需的 XML 数据中的 Atom  \"entry\" 元素失败."
+
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr "查找必需的 XML 数据中的 Atom \"feed\" 元素失败."
+
+#. i18n: The local date a feed was last updated
+#: ../extensions/feed-panel/feed-panel.c:399
+#, c-format
+msgctxt "Feed"
+msgid "Last updated: %s."
+msgstr "最后更新: %s."
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "订阅"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "添加新订阅"
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "删除所有订阅"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "订阅(_F)"
+
+#: ../extensions/feed-panel/feed-parse.c:175
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "查找订阅的 XML 数据根元素失败."
+
+#: ../extensions/feed-panel/feed-parse.c:215
+#, c-format
+msgid "Unsupported feed format."
+msgstr "不支持的订阅格式."
+
+#: ../extensions/feed-panel/feed-parse.c:245
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "解析 XML 订阅失败: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr "查找 RSS XML 数据中的 \"channel\" 元素失败."
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "不支持的 RSS 版本."
+
+#: ../extensions/feed-panel/feed-rss.c:144
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "查找必需的 XML 数据中的 RSS \"item\" 元素失败."
+
+#: ../extensions/feed-panel/feed-rss.c:229
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr "查找必需的 XML 数据中的 RSS \"channel\" 元素失败."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "已订阅过 '%s' "
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "加载订阅 %s 出错"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "新建订阅"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "订阅面板"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "阅读 Atom/ RSS 订阅"
+
+#: ../extensions/mouse-gestures/main.c:216
 msgid "Mouse Gestures"
 msgstr "鼠标手势"
 
-#: ../extensions/mouse-gestures/main.c:177
+#: ../extensions/mouse-gestures/main.c:217
 msgid "Control Midori by moving the mouse"
 msgstr "用鼠标移动控制 Midori"
 
 #. i18n: A panel showing a user specified web page
-#: ../extensions/page-holder.c:116
-#: ../extensions/page-holder.c:153
+#: ../extensions/page-holder.c:129
+#: ../extensions/page-holder.c:177
 msgid "Pageholder"
 msgstr "常驻页面"
 
-#: ../extensions/page-holder.c:137
+#: ../extensions/page-holder.c:161
 msgid "_Pageholder"
 msgstr "常驻页面(_P)"
 
-#: ../extensions/statusbar-features.c:40
-msgid "Images"
-msgstr "图像"
-
-#: ../extensions/statusbar-features.c:47
-msgid "Scripts"
-msgstr "脚本"
+#: ../extensions/statusbar-features.c:104
+msgid "Statusbar Features"
+msgstr "状态栏特性"
 
-#~ msgid "Source"
-#~ msgstr "源码"
+#: ../extensions/statusbar-features.c:105
+msgid "Easily toggle features on web pages on and off"
+msgstr "方便的开关网页中的特性"
 
index 1ee1536986131949f15f064a11fdb0019a30961f..6af1210bfa1d920e82a9d48a0557aeaf3ed2579d 100644 (file)
@@ -38,7 +38,8 @@ browser_create (void)
         GtkAction* action = actions->data;
         if (g_strcmp0 (gtk_action_get_name (action), "WindowClose"))
             if (g_strcmp0 (gtk_action_get_name (action), "EncodingCustom"))
-                gtk_action_activate (action);
+                if (g_strcmp0 (gtk_action_get_name (action), "AddSpeedDial"))
+                    gtk_action_activate (action);
         actions = g_list_next (actions);
     }
     g_list_free (actions);
index 86ddb5dfb89d8a236c5a1afb6b9e339633cece0a..80ca112adbd7df1854eeec83544be4e6892b4add 100644 (file)
 
 #include "midori.h"
 
+/* This is a private function */
+GtkWidget*
+midori_location_action_entry_for_proxy (GtkWidget* proxy);
+
 typedef struct
 {
     const gchar* uri;
@@ -41,7 +45,6 @@ completion_count (void)
 {
     MidoriLocationAction* action;
     GtkWidget* toolitem;
-    GtkWidget* alignment;
     GtkWidget* location_entry;
     GtkWidget* entry;
     GtkTreeModel* model;
@@ -49,8 +52,7 @@ completion_count (void)
 
     action = g_object_new (MIDORI_TYPE_LOCATION_ACTION, NULL);
     toolitem = gtk_action_create_tool_item (GTK_ACTION (action));
-    alignment = gtk_bin_get_child (GTK_BIN (toolitem));
-    location_entry = gtk_bin_get_child (GTK_BIN (alignment));
+    location_entry = midori_location_action_entry_for_proxy (toolitem);
     entry = gtk_bin_get_child (GTK_BIN (location_entry));
     model = gtk_combo_box_get_model (GTK_COMBO_BOX (location_entry));
 
@@ -129,7 +131,6 @@ completion_fill (void)
 {
     MidoriLocationAction* action;
     GtkWidget* toolitem;
-    GtkWidget* alignment;
     GtkWidget* location_entry;
     GtkWidget* entry;
     GtkTreeModel* model;
@@ -138,8 +139,7 @@ completion_fill (void)
 
     action = g_object_new (MIDORI_TYPE_LOCATION_ACTION, NULL);
     toolitem = gtk_action_create_tool_item (GTK_ACTION (action));
-    alignment = gtk_bin_get_child (GTK_BIN (toolitem));
-    location_entry = gtk_bin_get_child (GTK_BIN (alignment));
+    location_entry = midori_location_action_entry_for_proxy (toolitem);
     entry = gtk_bin_get_child (GTK_BIN (location_entry));
 
     g_print ("...\n");
@@ -217,7 +217,6 @@ completion_match (void)
 {
     MidoriLocationAction* action;
     GtkWidget* toolitem;
-    GtkWidget* alignment;
     GtkWidget* location_entry;
     GtkWidget* entry;
     GtkEntryCompletion* completion;
@@ -230,8 +229,7 @@ completion_match (void)
     midori_location_action_thaw (action);
 
     toolitem = gtk_action_create_tool_item (GTK_ACTION (action));
-    alignment = gtk_bin_get_child (GTK_BIN (toolitem));
-    location_entry = gtk_bin_get_child (GTK_BIN (alignment));
+    location_entry = midori_location_action_entry_for_proxy (toolitem);
     entry = gtk_bin_get_child (GTK_BIN (location_entry));
     completion = gtk_entry_get_completion (GTK_ENTRY (entry));
     g_signal_connect (completion, "insert-prefix",
index aba3a41c33d39432443ce0c2aad3a985538f1e78..e71a353dac2756197fff1ce0278d4d8a672aa055 100644 (file)
@@ -75,6 +75,21 @@ extension_mock_object (void)
     return extension;
 }
 
+static void
+katze_assert_cmpstrv (gchar** values1,
+                      gsize   length1,
+                      gchar** values2,
+                      gsize   length2)
+{
+    gsize i;
+
+    g_assert ((values1 && values2) || (!values1 && !values2));
+    /* g_assert_cmpint (length1, ==, length2); */
+
+    for (i = 0; i < length1; i++)
+        g_assert_cmpstr (values1[i], ==, values2[i]);
+}
+
 static void
 extension_settings (void)
 {
@@ -83,6 +98,9 @@ extension_settings (void)
     gboolean nihilist;
     gint age;
     const gchar* lastname;
+    gchar* pet_names[] = {"Tiger", "Bonzo", "Streuner", NULL};
+    gchar** names;
+    gsize names_n;
 
     app = midori_app_new ();
     extension = extension_mock_object ();
@@ -126,6 +144,27 @@ extension_settings (void)
     lastname = midori_extension_get_string (extension, "lastname");
     g_assert_cmpstr (lastname, ==, "Theodor Fontane");
     midori_extension_deactivate (extension);
+
+    extension = extension_mock_object ();
+    midori_extension_install_string_list (extension, "pets", pet_names, 3);
+    names = midori_extension_get_string_list (extension, "pets", &names_n);
+    katze_assert_cmpstrv (NULL, 0, names, names_n);
+    g_strfreev (names);
+    g_signal_emit_by_name (extension, "activate", app);
+    names = midori_extension_get_string_list (extension, "pets", &names_n);
+    katze_assert_cmpstrv (pet_names, 3, names, names_n);
+    g_strfreev (names);
+    /* names = g_strsplit ("Carla,Fluffy,Goro,Kitty", ",", 0);
+    midori_extension_set_string_list (extension, "pets", names, G_MAXSIZE);
+    g_strfreev (names);
+    names = midori_extension_get_string_list (extension, "pets", &names_n);
+    g_assert_cmpint (names_n, ==, 4); */
+    names = g_strsplit ("Carla,Fluffy,Goro,Kitty", ",", 0);
+    midori_extension_set_string_list (extension, "pets", names, 2);
+    g_strfreev (names);
+    names = midori_extension_get_string_list (extension, "pets", &names_n);
+    g_assert_cmpint (names_n, ==, 2);
+    midori_extension_deactivate (extension);
 }
 
 int
diff --git a/tests/history.c b/tests/history.c
new file mode 100644 (file)
index 0000000..edf4b25
--- /dev/null
@@ -0,0 +1,221 @@
+/*
+ Copyright (C) 2009 Christian Dywan <christian@twotoasts.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ See the file COPYING for the full license text.
+*/
+
+#if HAVE_CONFIG_H
+    #include <config.h>
+#endif
+
+#include "midori.h"
+#include "midori-history.h"
+#include "sokoke.h"
+
+static void
+history_panel_create (void)
+{
+    MidoriApp* app;
+    MidoriHistory* history;
+    gpointer value;
+
+    app = g_object_new (MIDORI_TYPE_APP, NULL);
+
+    history = g_object_new (MIDORI_TYPE_HISTORY, NULL);
+    value = katze_object_get_object (history, "app");
+    g_assert (value == NULL);
+    gtk_widget_destroy (GTK_WIDGET (history));
+
+    history = g_object_new (MIDORI_TYPE_HISTORY, "app", app, NULL);
+    value = katze_object_get_object (history, "app");
+    g_assert (value == app);
+    gtk_widget_destroy (GTK_WIDGET (history));
+
+    history = g_object_new (MIDORI_TYPE_HISTORY, NULL);
+    g_object_set (history, "app", app, NULL);
+    value = katze_object_get_object (history, "app");
+    g_assert (value == app);
+    gtk_widget_destroy (GTK_WIDGET (history));
+}
+
+static KatzeItem*
+bookmark_new (const gchar* uri,
+              const gchar* title)
+{
+    return g_object_new (KATZE_TYPE_ITEM, "uri", uri, "name", title, NULL);
+}
+
+static KatzeArray*
+folder_new (const gchar* title)
+{
+    KatzeArray* folder;
+
+    folder = katze_array_new (KATZE_TYPE_ARRAY);
+    g_object_set (folder, "name", title, NULL);
+    return folder;
+}
+
+static void
+history_panel_fill (void)
+{
+    MidoriApp* app;
+    KatzeArray* array;
+    MidoriHistory* history;
+    GList* children;
+    GtkWidget* treeview;
+    GtkTreeModel* model;
+    GtkTreeIter iter;
+    KatzeItem* bookmark;
+    KatzeArray* folder;
+    guint n;
+    gpointer value;
+
+    app = g_object_new (MIDORI_TYPE_APP, NULL);
+    array = katze_array_new (KATZE_TYPE_ARRAY);
+    g_object_set (app, "history", array, NULL);
+    value = katze_object_get_object (app, "history");
+    g_assert (value == array);
+    history = g_object_new (MIDORI_TYPE_HISTORY, "app", app, NULL);
+    children = gtk_container_get_children (GTK_CONTAINER (history));
+    treeview = g_list_nth_data (children, 0);
+    g_list_free (children);
+    g_assert (GTK_IS_TREE_VIEW (treeview));
+    model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview));
+    g_assert (GTK_IS_TREE_MODEL (model));
+    n = gtk_tree_model_iter_n_children (model, NULL);
+    g_assert_cmpint (n, ==, 0);
+    bookmark = bookmark_new ("http://www.example.com", "Example");
+    katze_array_add_item (array, bookmark);
+    n = gtk_tree_model_iter_n_children (model, NULL);
+    g_assert_cmpint (n, ==, 1);
+    katze_array_remove_item (array, bookmark);
+    n = gtk_tree_model_iter_n_children (model, NULL);
+    g_assert_cmpint (n, ==, 0);
+    bookmark = bookmark_new ("http://www.example.com", "Example");
+    katze_array_add_item (array, bookmark);
+    folder = folder_new ("Empty");
+    katze_array_add_item (array, folder);
+    n = gtk_tree_model_iter_n_children (model, NULL);
+    g_assert_cmpint (n, ==, 2);
+    katze_array_remove_item (array, folder);
+    n = gtk_tree_model_iter_n_children (model, NULL);
+    g_assert_cmpint (n, ==, 1);
+    folder = folder_new ("Empty");
+    katze_array_add_item (array, folder);
+    folder = folder_new ("Kurioses");
+    katze_array_add_item (array, folder);
+    bookmark = bookmark_new ("http://www.ende.de", "Das Ende");
+    katze_array_add_item (folder, bookmark);
+    n = gtk_tree_model_iter_n_children (model, NULL);
+    g_assert_cmpint (n, ==, 3);
+    folder = folder_new ("Miscellaneous");
+    katze_array_add_item (array, folder);
+    gtk_tree_model_iter_nth_child (model, &iter, NULL, 3);
+    n = gtk_tree_model_iter_n_children (model, &iter);
+    g_assert_cmpint (n, ==, 0);
+    bookmark = bookmark_new ("http://thesaurus.reference.com/", "Thesaurus");
+    katze_array_add_item (folder, bookmark);
+    n = gtk_tree_model_iter_n_children (model, &iter);
+    g_assert_cmpint (n, ==, 1);
+    bookmark = bookmark_new ("http://en.wikipedia.org/", "Wikipedia");
+    katze_array_add_item (folder, bookmark);
+    n = gtk_tree_model_iter_n_children (model, &iter);
+    g_assert_cmpint (n, ==, 2);
+    katze_array_remove_item (folder, bookmark);
+    n = gtk_tree_model_iter_n_children (model, &iter);
+    g_assert_cmpint (n, ==, 1);
+    katze_array_remove_item (array, folder);
+    n = gtk_tree_model_iter_n_children (model, NULL);
+    g_assert_cmpint (n, ==, 3);
+    katze_array_add_item (array, folder);
+    /* katze_array_clear (folder);
+    n = gtk_tree_model_iter_n_children (model, &iter);
+    g_assert_cmpint (n, ==, 0); */
+    katze_array_clear (array);
+    n = gtk_tree_model_iter_n_children (model, NULL);
+    g_assert_cmpint (n, ==, 0);
+}
+
+static void
+notify_load_status_cb (GtkWidget*  view,
+                       GParamSpec* pspec,
+                       guint*      done)
+{
+    MidoriLoadStatus status;
+
+    status = midori_view_get_load_status (MIDORI_VIEW (view));
+    if (*done == 2 && status == MIDORI_LOAD_COMMITTED)
+        *done = 1;
+    else if (*done == 1 && status == MIDORI_LOAD_FINISHED)
+        *done = 0;
+}
+
+static void
+history_browser_add (void)
+{
+    MidoriBrowser* browser;
+    MidoriWebSettings* settings;
+    KatzeArray* array;
+    GtkWidget* view;
+    guint done;
+    KatzeItem* date;
+    gsize i;
+    GtkActionGroup* action_group;
+    GtkAction* action;
+
+    browser = midori_browser_new ();
+    settings = midori_web_settings_new ();
+    array = katze_array_new (KATZE_TYPE_ARRAY);
+    g_object_set (browser, "settings", settings, "history", array, NULL);
+    view = midori_view_new (NULL);
+    midori_browser_add_tab (browser, view);
+    midori_view_set_uri (MIDORI_VIEW (view),
+        "data:text/html;charset=utf-8,<title>Test</title>Test");
+    g_signal_connect (view, "notify::load-status",
+        G_CALLBACK (notify_load_status_cb), &done);
+    done = 2;
+    while (done)
+        gtk_main_iteration ();
+    g_assert_cmpint (katze_array_get_length (array), ==, 1);
+    date = katze_array_get_nth_item (array, 0);
+    g_assert_cmpint (katze_array_get_length (KATZE_ARRAY (date)), ==, 1);
+    i = 0;
+    gtk_widget_show (view);
+    midori_browser_set_current_tab (browser, view);
+    g_assert (midori_browser_get_current_tab (browser) == view);
+    done = 2;
+    action_group = midori_browser_get_action_group (browser);
+    action = gtk_action_group_get_action (action_group, "Location");
+    midori_location_action_set_uri (MIDORI_LOCATION_ACTION (action),
+        "data:text/html;charset=utf-8,<title>Test</title>Test");
+    g_signal_emit_by_name (action, "submit-uri",
+        "data:text/html;charset=utf-8,<title>Test</title>Test", FALSE);
+    while (done)
+        gtk_main_iteration ();
+    g_assert_cmpint (katze_array_get_length (array), ==, 1);
+    date = katze_array_get_nth_item (array, 0);
+    g_assert_cmpint (katze_array_get_length (KATZE_ARRAY (date)), ==, 1);
+    i = 0;
+}
+
+int
+main (int    argc,
+      char** argv)
+{
+    /* libSoup uses threads, so we need to initialize threads. */
+    if (!g_thread_supported ()) g_thread_init (NULL);
+    g_test_init (&argc, &argv, NULL);
+    gtk_init_check (&argc, &argv);
+    sokoke_register_stock_items ();
+
+    g_test_add_func ("/history/panel/create", history_panel_create);
+    g_test_add_func ("/history/panel/fill", history_panel_fill);
+    g_test_add_func ("/history/browser/add", history_browser_add);
+
+    return g_test_run ();
+}
index b8fbe445b74392808a948025dab197ad545ccb8e..10f45e8f5ab417b30787d88dfc0df672b56357f7 100644 (file)
@@ -62,6 +62,7 @@ magic_uri_uri (void)
     test_input ("http://example.com", "http://example.com");
     test_input ("example.com", "http://example.com");
     test_input ("example.com", "http://example.com");
+    test_input ("www.google..com", "http://www.google..com");
     test_input ("/home/user/midori.html", "file:///home/user/midori.html");
     a = g_get_current_dir ();
     b = g_strconcat ("file://", a, G_DIR_SEPARATOR_S, "magic-uri.c", NULL);
@@ -139,6 +140,7 @@ magic_uri_search (void)
     test_input ("g conference \"April 2, 7:00 am\"", NULL);
     test_input ("max@mustermann.de", NULL);
     test_input ("g max@mustermann.de", NULL);
+    test_input ("g inurl:http://twotoasts.de bug", NULL);
 }
 
 static void
diff --git a/wscript b/wscript
index f9579b24fb223da098ed9590aa02985d2ce14f19..dd42f2fd959766af8492ee485c0e6d2e6d425d77 100644 (file)
--- a/wscript
+++ b/wscript
@@ -22,7 +22,7 @@ import UnitTest
 
 major = 0
 minor = 1
-micro = 6
+micro = 7
 
 APPNAME = 'midori'
 VERSION = str (major) + '.' + str (minor) + '.' + str (micro)
@@ -212,7 +212,6 @@ def configure (conf):
     print "User documentation:  " + user_docs + " (docutils)"
     print "API documentation:   " + api_docs + " (gtk-doc)"
     print
-    print "Optional run time dependencies:"
     print "Single instance:     " + unique + " (unique)"
     if unique == 'yes' and conf.check_cfg (modversion='unique-1.0') == '1.0.4':
             Utils.pprint ('RED', 'unique 1.0.4 found, this version is erroneous.')
@@ -336,9 +335,13 @@ def build (bld):
             ' -o ' + blddir + '/data/logo-shade.png ' + \
             srcdir + '/data/logo-shade.svg'
         if not Utils.exec_command (command):
-            bld.install_files ('${DATADIR}/' + APPNAME, blddir + '/data/logo-shade.png')
+            bld.install_files ('${DATADIR}/' + APPNAME + '/res', blddir + '/data/logo-shade.png')
         else:
             Utils.pprint ('BLUE', "logo-shade could not be rasterized.")
+    bld.install_files ('${DATADIR}/' + APPNAME + '/res', 'data/error.html')
+    bld.install_files ('${DATADIR}/' + APPNAME + '/res', 'data/speeddial-head.html')
+    bld.install_files ('${DATADIR}/' + APPNAME + '/res', 'data/speeddial.json')
+    bld.install_files ('${DATADIR}/' + APPNAME + '/res', 'data/mootools.js')
 
     if Options.commands['check']:
         bld.add_subdirs ('tests')
@@ -393,8 +396,12 @@ def shutdown ():
     elif Options.options.run:
         folder = os.path.dirname (Build.bld.env['waf_config_files'][0])
         try:
-            ext = 'MIDORI_EXTENSION_PATH=' + folder + os.sep + 'extensions'
-            nls = 'NLSPATH=' + folder + os.sep + 'po'
+            relfolder = os.path.relpath (folder)
+        except:
+            pass
+        try:
+            ext = 'MIDORI_EXTENSION_PATH=' + relfolder + os.sep + 'extensions'
+            nls = 'NLSPATH=' + relfolder + os.sep + 'po'
             lang = os.environ['LANG']
             try:
                 for lang in os.listdir (folder + os.sep + 'po'):
@@ -410,7 +417,7 @@ def shutdown ():
                         'LC_MESSAGES' + os.sep + APPNAME + '.mo')
             except:
                 pass
-            command = folder + os.sep + APPNAME + os.sep + APPNAME
+            command = relfolder + os.sep + APPNAME + os.sep + APPNAME
             print ext + ' ' + nls + ' ' + command
             Utils.exec_command (ext + ' ' + nls + ' ' + command)
         except: