This file is licensed under the terms of the expat license, see the file EXPAT.
+v0.2.0
+ + (Kinetic) drag scrolling on touchscreen devices
+ + Workaround a speed dial crasher
+ + Faster Adblock with element blocking, for all WebKitGTK+ versions
+ + Stripped menu, toolbar and tap on hold on Maemo, and 5.0 menu support
+ + Add a DNS prefetching extension
+ + Better IDN handling
+ + Add a form history extension
+ + Restore scrolling positions from the session
+ + Keep typed address when switching tabs
+ + Avoid storing duplicate history items per day
+ + Fix multiple duplicate HTTP authentication dialogs
+ + Pass mailto: links to the email client
+ + Improve context menu with WebKitGTK+ 1.1.15
+ + Checkbox "Remember password" in HTTP authentication
+ + Fix a crasher when modifying bookmarks
+ + Support page icons other than favicon.ico
+ + iPhone identity in Network preferences
+
v0.1.10:
+ Fix freezing when opening multiple windows
+ Revamp Adblock with WebKitGTK+ 1.1.14 API
--- /dev/null
+div.suggestions {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border: 1px solid #cccccc;
+ text-align: left;
+ background-color: #ffffff;
+ position: absolute;
+}
+div.suggestions div {
+ cursor: default;
+ padding: 0px 3px;
+}
+div.suggestions div.current {
+ background-color: #3366cc;
+ color: white;
+}
--- /dev/null
+/**
+ * An autosuggest textbox control.
+ * from Nicholas C. Zakas (Author) example: http://www.nczonline.net/
+ * @class
+ * @scope public
+ */
+function AutoSuggestControl(oTextbox /*:HTMLInputElement*/,
+ oProvider /*:SuggestionProvider*/) {
+ /**
+ * The currently selected suggestions.
+ * @scope private
+ */
+ this.cur /*:int*/ = -1;
+ /**
+ * The dropdown list layer.
+ * @scope private
+ */
+ this.layer = null;
+ /**
+ * Suggestion provider for the autosuggest feature.
+ * @scope private.
+ */
+ this.provider /*:SuggestionProvider*/ = oProvider;
+ /**
+ * The textbox to capture.
+ * @scope private
+ */
+ this.textbox /*:HTMLInputElement*/ = oTextbox;
+ //initialize the control
+ this.init();
+
+}
+
+/**
+ * Autosuggests one or more suggestions for what the user has typed.
+ * If no suggestions are passed in, then no autosuggest occurs.
+ * @scope private
+ * @param aSuggestions An array of suggestion strings.
+ * @param bTypeAhead If the control should provide a type ahead suggestion.
+ */
+AutoSuggestControl.prototype.autosuggest = function (aSuggestions /*:Array*/,
+ bTypeAhead /*:boolean*/) {
+ //make sure theres at least one suggestion
+ if (aSuggestions.length > 0) {
+ if (bTypeAhead) {
+ this.typeAhead(aSuggestions[0]);
+ }
+ this.showSuggestions(aSuggestions);
+ } else {
+ this.hideSuggestions();
+ }
+};
+
+/**
+ * Creates the dropdown layer to display multiple suggestions.
+ * @scope private
+ */
+AutoSuggestControl.prototype.createDropDown = function () {
+
+ var oThis = this;
+
+ //create the layer and assign styles
+ this.layer = document.createElement("div");
+ this.layer.className = "suggestions";
+ this.layer.style.visibility = "hidden";
+ this.layer.style.width = this.textbox.offsetWidth + 10;
+
+ //when the user clicks on the a suggestion, get the text (innerHTML)
+ //and place it into a textbox
+ this.layer.onmousedown =
+ this.layer.onmouseup =
+ this.layer.onmouseover = function (oEvent) {
+ oEvent = oEvent || window.event;
+ oTarget = oEvent.target || oEvent.srcElement;
+
+ if (oEvent.type == "mousedown") {
+ oThis.textbox.value = oTarget.firstChild.nodeValue;
+ oThis.hideSuggestions();
+ } else if (oEvent.type == "mouseover") {
+ oThis.highlightSuggestion(oTarget);
+ } else {
+ oThis.textbox.focus();
+ }
+ };
+
+
+ document.body.appendChild(this.layer);
+};
+
+/**
+ * Gets the left coordinate of the textbox.
+ * @scope private
+ * @return The left coordinate of the textbox in pixels.
+ */
+AutoSuggestControl.prototype.getLeft = function () /*:int*/ {
+
+ var oNode = this.textbox;
+ var iLeft = 0;
+
+ while(oNode.tagName != "BODY") {
+ iLeft += oNode.offsetLeft;
+ oNode = oNode.offsetParent;
+ }
+
+ return iLeft;
+};
+
+/**
+ * Gets the top coordinate of the textbox.
+ * @scope private
+ * @return The top coordinate of the textbox in pixels.
+ */
+AutoSuggestControl.prototype.getTop = function () /*:int*/ {
+ var oNode = this.textbox;
+ var iTop = 0;
+ while(oNode.tagName != "BODY") {
+ iTop += oNode.offsetTop;
+ oNode = oNode.offsetParent;
+ }
+ return iTop;
+};
+
+/**
+ * Handles three keydown events.
+ * @scope private
+ * @param oEvent The event object for the keydown event.
+ */
+AutoSuggestControl.prototype.handleKeyDown = function (oEvent /*:Event*/) {
+ switch(oEvent.keyCode) {
+ case 38: //up arrow
+ this.previousSuggestion();
+ break;
+ case 40: //down arrow
+ this.nextSuggestion();
+ break;
+ case 13: //enter
+ this.hideSuggestions();
+ break;
+ }
+};
+
+/**
+ * Handles keyup events.
+ * @scope private
+ * @param oEvent The event object for the keyup event.
+ */
+AutoSuggestControl.prototype.handleKeyUp = function (oEvent /*:Event*/) {
+ var iKeyCode = oEvent.keyCode;
+ //for backspace (8) and delete (46), shows suggestions without typeahead
+ if (iKeyCode == 8 || iKeyCode == 46) {
+ this.provider.requestSuggestions(this, false);
+
+ //make sure not to interfere with non-character keys
+ } else if (iKeyCode < 32 || (iKeyCode >= 33 && iKeyCode < 46) || (iKeyCode >= 112 && iKeyCode <= 123) ) {
+ //ignore
+ } else if (oEvent.ctrlKey) {
+ iKeyCode = 0;
+ this.hideSuggestions();
+ } else {
+ //request suggestions from the suggestion provider with typeahead
+ this.provider.requestSuggestions(this, true);
+ }
+
+
+
+};
+
+/**
+ * Hides the suggestion dropdown.
+ * @scope private
+ */
+AutoSuggestControl.prototype.hideSuggestions = function () {
+ this.layer.style.visibility = "hidden";
+};
+
+/**
+ * Highlights the given node in the suggestions dropdown.
+ * @scope private
+ * @param oSuggestionNode The node representing a suggestion in the dropdown.
+ */
+AutoSuggestControl.prototype.highlightSuggestion = function (oSuggestionNode) {
+ for (var i=0; i < this.layer.childNodes.length; i++) {
+ var oNode = this.layer.childNodes[i];
+ if (oNode == oSuggestionNode) {
+ oNode.className = "current"
+ } else if (oNode.className == "current") {
+ oNode.className = "";
+ }
+ }
+};
+
+/**
+ * Initializes the textbox with event handlers for
+ * auto suggest functionality.
+ * @scope private
+ */
+AutoSuggestControl.prototype.init = function () {
+
+ //save a reference to this object
+ var oThis = this;
+
+ //assign the onkeyup event handler
+ this.textbox.onkeyup = function (oEvent) {
+
+ //check for the proper location of the event object
+ if (!oEvent) {
+ oEvent = window.event;
+ }
+
+ //call the handleKeyUp() method with the event object
+ oThis.handleKeyUp(oEvent);
+ };
+
+ //assign onkeydown event handler
+ this.textbox.onkeydown = function (oEvent) {
+
+ //check for the proper location of the event object
+ if (!oEvent) {
+ oEvent = window.event;
+ }
+
+ //call the handleKeyDown() method with the event object
+ oThis.handleKeyDown(oEvent);
+ };
+
+ //assign onblur event handler (hides suggestions)
+ this.textbox.onblur = function () {
+ oThis.hideSuggestions();
+ };
+
+ this.textbox.onclick = function () {
+ oThis.hideSuggestions();
+ };
+
+
+ //create the suggestions dropdown
+ this.createDropDown();
+};
+
+/**
+ * Highlights the next suggestion in the dropdown and
+ * places the suggestion into the textbox.
+ * @scope private
+ */
+AutoSuggestControl.prototype.nextSuggestion = function () {
+ var cSuggestionNodes = this.layer.childNodes;
+
+ if (cSuggestionNodes.length > 0 && this.cur < cSuggestionNodes.length-1) {
+ var oNode = cSuggestionNodes[++this.cur];
+ this.highlightSuggestion(oNode);
+ this.textbox.value = oNode.firstChild.nodeValue;
+ }
+};
+
+/**
+ * Highlights the previous suggestion in the dropdown and
+ * places the suggestion into the textbox.
+ * @scope private
+ */
+AutoSuggestControl.prototype.previousSuggestion = function () {
+ var cSuggestionNodes = this.layer.childNodes;
+
+ if (cSuggestionNodes.length > 0 && this.cur > 0) {
+ var oNode = cSuggestionNodes[--this.cur];
+ this.highlightSuggestion(oNode);
+ this.textbox.value = oNode.firstChild.nodeValue;
+ }
+};
+
+/**
+ * Selects a range of text in the textbox.
+ * @scope public
+ * @param iStart The start index (base 0) of the selection.
+ * @param iLength The number of characters to select.
+ */
+AutoSuggestControl.prototype.selectRange = function (iStart /*:int*/, iLength /*:int*/) {
+
+ //use text ranges for Internet Explorer
+ if (this.textbox.createTextRange) {
+ var oRange = this.textbox.createTextRange();
+ oRange.moveStart("character", iStart);
+ oRange.moveEnd("character", iLength - this.textbox.value.length);
+ oRange.select();
+
+ //use setSelectionRange() for Mozilla
+ } else if (this.textbox.setSelectionRange) {
+ this.textbox.setSelectionRange(iStart, iLength);
+ }
+
+ //set focus back to the textbox
+ this.textbox.focus();
+};
+
+/**
+ * Builds the suggestion layer contents, moves it into position,
+ * and displays the layer.
+ * @scope private
+ * @param aSuggestions An array of suggestions for the control.
+ */
+AutoSuggestControl.prototype.showSuggestions = function (aSuggestions /*:Array*/) {
+
+ var oDiv = null;
+ this.layer.innerHTML = ""; //clear contents of the layer
+
+ for (var i=0; i < aSuggestions.length; i++) {
+ oDiv = document.createElement("div");
+ oDiv.appendChild(document.createTextNode(aSuggestions[i]));
+ this.layer.appendChild(oDiv);
+ }
+
+ this.layer.style.left = this.getLeft() + "px";
+ this.layer.style.top = (this.getTop()+this.textbox.offsetHeight) + "px";
+ this.layer.style.visibility = "visible";
+
+};
+
+/**
+ * Inserts a suggestion into the textbox, highlighting the
+ * suggested part of the text.
+ * @scope private
+ * @param sSuggestion The suggestion for the textbox.
+ */
+AutoSuggestControl.prototype.typeAhead = function (sSuggestion /*:String*/) {
+
+ //check for support of typeahead functionality
+ if (this.textbox.createTextRange || this.textbox.setSelectionRange){
+ var iLen = this.textbox.value.length;
+ this.textbox.value = sSuggestion;
+ this.selectRange(iLen, sSuggestion.length);
+ }
+};
+
+
+/**
+ * Request suggestions for the given autosuggest control.
+ * @scope protected
+ * @param oAutoSuggestControl The autosuggest control to provide suggestions for.
+ */
+FormSuggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
+ bTypeAhead /*:boolean*/) {
+ var aSuggestions = [];
+ var sTextboxValue = oAutoSuggestControl.textbox.value;
+
+ if (!this.suggestions)
+ return;
+
+ if (sTextboxValue.length > 0){
+ //search for matching suggestions
+ for (var i=0; i < this.suggestions.length; i++) {
+ if (this.suggestions[i].indexOf(sTextboxValue) == 0) {
+ aSuggestions.push(this.suggestions[i]);
+ }
+ }
+ }
+ //provide suggestions to the control
+ oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);
+};
+
+function initSuggestions () {
+ var inputs = document.getElementsByTagName("input");
+ for (i=0;i<inputs.length;i++)
+ {
+ var ename = inputs[i].getAttribute("name");
+ var eid = inputs[i].getAttribute("id");
+ if (!ename && eid)
+ ename=eid;
+ if (inputs[i].type == "text")
+ var smth = new AutoSuggestControl(inputs[i], new FormSuggestions(ename));
+ }
+};
--- /dev/null
+[settings]
+filters=http://adblockplus.mozdev.org/easylist/easylist.txt
#include <unistd.h>
#endif
-#if WEBKIT_CHECK_VERSION (1, 1, 14)
+#define HAVE_WEBKIT_RESOURCE_REQUEST WEBKIT_CHECK_VERSION (1, 1, 14)
-static GHashTable* pattern = NULL;
+#define ADBLOCK_FILTER_VALID(__filter) \
+ (__filter && (g_str_has_prefix (__filter, "http") \
+ || g_str_has_prefix (__filter, "file")))
+
+static GHashTable* pattern;
+static gchar* blockcss = NULL;
+static gchar* blockscript = NULL;
+
+static void
+adblock_parse_file (gchar* path);
static gchar *
adblock_fixup_regexp (gchar* src)
/* FIXME: Avoid always allocating twice the string */
s = dst = g_malloc (strlen (src) * 2);
+ /* |http:// means ^http:// */
+ if (src[0] == '|')
+ src[0] = '^';
+
while (*src)
{
switch (*src)
}
static void
-adblock_browser_populate_tool_menu_cb (MidoriBrowser* browser,
- GtkWidget* menu,
- MidoriExtension* extension);
+adblock_download_notify_status_cb (WebKitDownload* download,
+ GParamSpec* pspec,
+ gchar* path)
+{
+ if (!g_file_test (path, G_FILE_TEST_EXISTS))
+ return;
+ adblock_parse_file (path);
+ g_free (path);
+ /* g_object_unref (download); */
+}
static void
-adblock_app_add_browser_cb (MidoriApp* app,
- MidoriBrowser* browser,
- MidoriExtension* extension);
+adblock_reload_rules (MidoriExtension* extension)
+{
+ gchar** filters;
+ gchar* folder;
+ guint i = 0;
+ filters = midori_extension_get_string_list (extension, "filters", NULL);
+ folder = g_build_filename (g_get_user_cache_dir (), PACKAGE_NAME,
+ "adblock", NULL);
+ g_mkdir_with_parents (folder, 0700);
+
+ if (!filters)
+ return;
+
+ pattern = g_hash_table_new_full (g_str_hash, g_str_equal,
+ (GDestroyNotify)g_free,
+ (GDestroyNotify)g_regex_unref);
+ katze_assign (blockcss, NULL);
+
+ 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))
+ {
+ 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
+ {
+ adblock_parse_file (path);
+ g_free (path);
+ }
+ g_free (filename);
+ }
+ g_strfreev (filters);
+ g_free (folder);
+}
static void
-adblock_deactivate_cb (MidoriExtension* extension,
- MidoriBrowser* browser)
+adblock_browser_populate_tool_menu_cb (MidoriBrowser* browser,
+ GtkWidget* menu,
+ MidoriExtension* extension);
+static void
+adblock_preferences_render_tick_cb (GtkTreeViewColumn* column,
+ GtkCellRenderer* renderer,
+ GtkTreeModel* model,
+ GtkTreeIter* iter,
+ MidoriExtension* extension)
{
- MidoriApp* app = midori_extension_get_app (extension);
+ gchar* filter;
- g_signal_handlers_disconnect_by_func (
- browser, adblock_browser_populate_tool_menu_cb, extension);
- g_signal_handlers_disconnect_by_func (
- extension, adblock_deactivate_cb, browser);
- g_signal_handlers_disconnect_by_func (
- app, adblock_app_add_browser_cb, extension);
- /* FIXME: Disconnect session callbacks */
+ gtk_tree_model_get (model, iter, 0, &filter, -1);
+
+ g_object_set (renderer,
+ "activatable", ADBLOCK_FILTER_VALID (filter),
+ "active", ADBLOCK_FILTER_VALID (filter) && filter[4] != '-',
+ NULL);
+
+ g_free (filter);
}
static void
gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, new_text, -1);
}
+static void
+adblock_preferences_renderer_toggle_toggled_cb (GtkTreeViewColumn* column,
+ const gchar* path,
+ GtkTreeModel* model)
+{
+ GtkTreeIter iter;
+
+ if (gtk_tree_model_get_iter_from_string (model, &iter, path))
+ {
+ gchar* filter;
+
+ gtk_tree_model_get (model, &iter, 0, &filter, -1);
+
+ if (ADBLOCK_FILTER_VALID (filter))
+ {
+ filter[4] = filter[4] != '-' ? '-' : ':';
+
+ gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, filter, -1);
+
+ g_free (filter);
+ }
+ }
+}
+
+static void
+adblock_preferences_render_text_cb (GtkTreeViewColumn* column,
+ GtkCellRenderer* renderer,
+ GtkTreeModel* model,
+ GtkTreeIter* iter,
+ MidoriExtension* extension)
+{
+ gchar* filter;
+
+ gtk_tree_model_get (model, iter, 0, &filter, -1);
+
+ if (ADBLOCK_FILTER_VALID (filter))
+ filter[4] = ':';
+
+ g_object_set (renderer,
+ "text", filter,
+ NULL);
+
+ g_free (filter);
+}
+
static void
adblock_preferences_model_row_changed_cb (GtkTreeModel* model,
GtkTreePath* path,
gsize length = gtk_tree_model_iter_n_children (model, NULL);
gchar** filters = g_new (gchar*, length + 1);
guint i = 0;
+ gboolean need_reload = FALSE;
if (gtk_tree_model_iter_children (model, iter, NULL))
do
{
gchar* filter;
gtk_tree_model_get (model, iter, 0, &filter, -1);
- filters[i++] = filter;
+ if (filter && *filter)
+ {
+ filters[i++] = filter;
+ need_reload = TRUE;
+ }
+ else
+ g_free (filter);
}
while (gtk_tree_model_iter_next (model, iter));
- filters[length] = NULL;
- midori_extension_set_string_list (extension, "filters", filters, length);
+ filters[i] = NULL;
+ midori_extension_set_string_list (extension, "filters", filters, i);
+ g_free (filters);
+ if (need_reload)
+ adblock_reload_rules (extension);
}
static void
adblock_preferences_add_clicked_cb (GtkWidget* button,
GtkTreeModel* model)
{
+ GtkEntry* entry = g_object_get_data (G_OBJECT (button), "entry");
gtk_list_store_insert_with_values (GTK_LIST_STORE (model),
- NULL, 0, 0, "", -1);
+ NULL, 0, 0, gtk_entry_get_text (entry), -1);
+ gtk_entry_set_text (entry, "");
}
static void
gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
}
+#if GTK_CHECK_VERSION (2, 18, 0)
+static gboolean
+adblock_activate_link_cb (GtkWidget* label,
+ const gchar* uri)
+{
+ return sokoke_show_uri (gtk_widget_get_screen (label), uri, GDK_CURRENT_TIME, NULL);
+}
+#endif
+
static GtkWidget*
adblock_get_preferences_dialog (MidoriExtension* extension)
{
GtkWidget* treeview;
GtkTreeViewColumn* column;
GtkCellRenderer* renderer_text;
- GtkCellRenderer* renderer_pixbuf;
+ GtkCellRenderer* renderer_toggle;
GtkWidget* scrolled;
gchar** filters;
GtkWidget* vbox;
GtkWidget* button;
+ gchar* description;
+ GtkWidget* entry;
#if HAVE_OSX
GtkWidget* icon;
#endif
hbox = gtk_hbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox,
TRUE, TRUE, 12);
+ vbox = gtk_vbox_new (FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 4);
+ button = gtk_label_new (NULL);
+ description = g_strdup_printf (_(
+ "Type the address of a preconfigured filter list in the text entry "
+ "and click \"Add\" to add it to the list. "
+ "You can find more lists at %s."),
+ #if GTK_CHECK_VERSION (2, 18, 0)
+ "<a href=\"http://easylist.adblockplus.org/\">easylist.adblockplus.org</a>");
+ #else
+ "<u>http://easylist.adblockplus.org/</u>");
+ #endif
+ #if GTK_CHECK_VERSION (2, 18, 0)
+ g_signal_connect (button, "activate-link",
+ G_CALLBACK (adblock_activate_link_cb), NULL);
+ #endif
+ gtk_label_set_markup (GTK_LABEL (button), description);
+ g_free (description);
+ gtk_label_set_line_wrap (GTK_LABEL (button), TRUE);
+ gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 4);
+ entry = gtk_entry_new ();
+ gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 4);
liststore = gtk_list_store_new (1, G_TYPE_STRING);
g_object_connect (liststore,
"signal::row-inserted",
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);
+ renderer_toggle = gtk_cell_renderer_toggle_new ();
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (column), renderer_toggle, FALSE);
+ gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (column), renderer_toggle,
+ (GtkCellLayoutDataFunc)adblock_preferences_render_tick_cb,
+ extension, NULL);
+ g_signal_connect (renderer_toggle, "toggled",
+ G_CALLBACK (adblock_preferences_renderer_toggle_toggled_cb), liststore);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
+ column = gtk_tree_view_column_new ();
renderer_text = gtk_cell_renderer_text_new ();
gtk_tree_view_column_pack_start (column, renderer_text, TRUE);
- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (column), renderer_text,
- "text", 0, NULL);
g_object_set (renderer_text, "editable", TRUE, NULL);
g_signal_connect (renderer_text, "edited",
G_CALLBACK (adblock_preferences_renderer_text_edited_cb), liststore);
+ gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (column), renderer_text,
+ (GtkCellLayoutDataFunc)adblock_preferences_render_text_cb,
+ 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_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);
+ gtk_box_pack_start (GTK_BOX (vbox), scrolled, TRUE, TRUE, 5);
filters = midori_extension_get_string_list (extension, "filters", NULL);
if (filters != NULL)
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_object_set_data (G_OBJECT (button), "entry", entry);
g_signal_connect (button, "clicked",
G_CALLBACK (adblock_preferences_add_clicked_cb), liststore);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
return g_regex_match_full (regex, uri, -1, 0, 0, NULL, NULL);
}
+#if HAVE_WEBKIT_RESOURCE_REQUEST
static void
adblock_resource_request_starting_cb (WebKitWebView* web_view,
WebKitWebFrame* web_frame,
MidoriView* view)
{
const gchar* uri = webkit_network_request_get_uri (request);
+ if (!strncmp (uri, "data", 4))
+ return;
if (g_hash_table_find (pattern, (GHRFunc) adblock_is_matched, (char*)uri))
{
webkit_network_request_set_uri (request, "about:blank");
/* TODO: Need to figure out how to indicate what was blocked */
}
}
+#else
+static void
+adblock_session_request_queued_cb (SoupSession* session,
+ SoupMessage* msg)
+{
+ SoupURI* soup_uri = soup_message_get_uri (msg);
+ gchar* uri = soup_uri ? soup_uri_to_string (soup_uri, FALSE) : g_strdup ("");
+ if (g_hash_table_find (pattern, (GHRFunc) adblock_is_matched, uri))
+ {
+ soup_uri = soup_uri_new ("http://.invalid");
+ soup_message_set_uri (msg, soup_uri);
+ soup_uri_free (soup_uri);
+ }
+ g_free (uri);
+}
+#endif
+static gchar*
+adblock_build_js (gchar* style)
+{
+ return g_strdup_printf (
+ "window.addEventListener ('DOMContentLoaded',"
+ "function () {"
+ "var mystyle = document.createElement(\"style\");"
+ "mystyle.setAttribute(\"type\", \"text/css\");"
+ "mystyle.appendChild(document.createTextNode('%s'));"
+ "var head = document.getElementsByTagName(\"head\")[0];"
+ "if (head) head.appendChild(mystyle);"
+ "else document.documentElement.insertBefore(mystyle, document.documentElement.firstChild);"
+ "}, true);",
+ style);
+}
+
+static void
+adblock_window_object_cleared_cb (GtkWidget* web_view,
+ WebKitWebFrame* web_frame,
+ JSContextRef js_context,
+ JSObjectRef js_window)
+{
+ webkit_web_view_execute_script (WEBKIT_WEB_VIEW (web_view), blockscript);
+}
static void
adblock_add_tab_cb (MidoriBrowser* browser,
MidoriView* view)
{
GtkWidget* web_view = gtk_bin_get_child (GTK_BIN (view));
+ g_signal_connect (web_view, "window-object-cleared",
+ G_CALLBACK (adblock_window_object_cleared_cb), 0);
+ #if HAVE_WEBKIT_RESOURCE_REQUEST
g_signal_connect (web_view, "resource-request-starting",
G_CALLBACK (adblock_resource_request_starting_cb), view);
+ #endif
+}
+
+static void
+adblock_deactivate_cb (MidoriExtension* extension,
+ MidoriBrowser* browser);
+
+static void
+adblock_add_tab_foreach_cb (MidoriView* view,
+ MidoriBrowser* browser)
+{
+ adblock_add_tab_cb (browser, view);
}
static void
MidoriBrowser* browser,
MidoriExtension* extension)
{
- if (pattern)
- g_signal_connect (browser, "add-tab",
- G_CALLBACK (adblock_add_tab_cb), 0);
+ midori_browser_foreach (browser,
+ (GtkCallback)adblock_add_tab_foreach_cb, browser);
+ g_signal_connect (browser, "add-tab", G_CALLBACK (adblock_add_tab_cb), 0);
g_signal_connect (browser, "populate-tool-menu",
G_CALLBACK (adblock_browser_populate_tool_menu_cb), extension);
g_signal_connect (extension, "deactivate",
G_CALLBACK (adblock_deactivate_cb), browser);
}
+static void
+adblock_frame_add (gchar* line)
+{
+ gchar* new_blockcss;
+
+ (void)*line++;
+ (void)*line++;
+ new_blockcss = g_strdup_printf ("%s %s { display: none !important; }",
+ blockcss, line);
+ katze_assign (blockcss, new_blockcss);
+}
+
static gchar*
adblock_parse_line (gchar* line)
{
if (!line)
return NULL;
-
+ g_strchomp (line);
/* Ignore comments and new lines */
if (line[0] == '!')
return NULL;
/* FIXME: No support for whitelisting */
if (line[0] == '@' && line[1] == '@')
return NULL;
- /* FIXME: Differentiate # comments from element hiding */
- /* FIXME: No support for element hiding */
+ /* FIXME: What is this? */
+ if (line[0] == '|' && line[1] == '|')
+ return NULL;
+ /* ditto */
+ if (strstr (line,"$"))
+ return NULL;
+ /* Got block hider */
+ if (line[0] == '#' && line[1] == '#' && (line[2] == '.'||line[2] == '#'||line[2] == 'a'))
+ {
+ adblock_frame_add (line);
+ return NULL;
+ }
+ /* FIXME: Do we have smth else starting with ##? */
if (line[0] == '#' && line[1] == '#')
return NULL;
+ /* FIXME: No support for per domain element hiding */
+ if (strstr (line,"##"))
+ return NULL;
/* FIXME: No support for [include] and [exclude] tags */
if (line[0] == '[')
return NULL;
- g_strchomp (line);
return adblock_fixup_regexp (line);
}
-static GHashTable*
+static void
adblock_parse_file (gchar* path)
{
FILE* file;
-
if ((file = g_fopen (path, "r")))
{
- GHashTable* patt = g_hash_table_new_full (g_str_hash, g_str_equal,
- (GDestroyNotify)g_free,
- (GDestroyNotify)g_regex_unref);
-
- gboolean have_pattern = FALSE;
- gchar line[255];
+ gchar line[500];
GRegex* regex;
- while (fgets (line, 255, file))
+ while (fgets (line, 500, file))
{
GError* error = NULL;
gchar* parsed;
g_free (parsed);
}
else
- {
- have_pattern = TRUE;
- g_hash_table_insert (patt, parsed, regex);
- }
+ g_hash_table_insert (pattern, parsed, regex);
}
+ katze_assign (blockscript, adblock_build_js (blockcss));
fclose (file);
-
- if (have_pattern)
- return patt;
}
- /* FIXME: This should presumably be freed, but there's a possible crash
- g_free (path); */
- return NULL;
}
static void
-adblock_download_notify_status_cb (WebKitDownload* download,
- GParamSpec* pspec,
- gchar* path)
+adblock_deactivate_tabs (MidoriView* view,
+ MidoriBrowser* browser)
{
- pattern = adblock_parse_file (path);
- /* g_object_unref (download); */
+ GtkWidget* web_view = gtk_bin_get_child (GTK_BIN (view));
+ g_signal_handlers_disconnect_by_func (
+ browser, adblock_add_tab_cb, 0);
+ g_signal_handlers_disconnect_by_func (
+ web_view, adblock_window_object_cleared_cb, 0);
+ #if HAVE_WEBKIT_RESOURCE_REQUEST
+ g_signal_handlers_disconnect_by_func (
+ web_view, adblock_resource_request_starting_cb, view);
+ #else
+ g_signal_handlers_disconnect_by_func (
+ webkit_get_default_session (), adblock_session_request_queued_cb, NULL);
+ #endif
+}
+
+static void
+adblock_deactivate_cb (MidoriExtension* extension,
+ MidoriBrowser* browser)
+{
+ MidoriApp* app = midori_extension_get_app (extension);
+
+ g_signal_handlers_disconnect_by_func (
+ browser, adblock_browser_populate_tool_menu_cb, extension);
+ g_signal_handlers_disconnect_by_func (
+ extension, adblock_deactivate_cb, browser);
+ g_signal_handlers_disconnect_by_func (
+ app, adblock_app_add_browser_cb, extension);
+ midori_browser_foreach (browser, (GtkCallback)adblock_deactivate_tabs, browser);
+
+ katze_assign (blockcss, NULL);
+ g_hash_table_destroy (pattern);
}
static void
KatzeArray* browsers;
MidoriBrowser* browser;
guint i;
- gchar* folder;
- gchar** filters;
- SoupSession* session;
+ #if !HAVE_WEBKIT_RESOURCE_REQUEST
+ SoupSession* session = webkit_get_default_session ();
+
+ g_signal_connect (session, "request-queued",
+ G_CALLBACK (adblock_session_request_queued_cb), NULL);
+ #endif
+
+ adblock_reload_rules (extension);
browsers = katze_object_get_object (app, "browsers");
i = 0;
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))
- {
- 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
- pattern = adblock_parse_file (path);
- g_free (filename);
- }
- }
- g_strfreev (filters);
- g_free (folder);
+ g_object_unref (browsers);
}
#if G_ENABLE_DEBUG
gint temp;
gchar* filename;
+ pattern = g_hash_table_new_full (g_str_hash, g_str_equal,
+ (GDestroyNotify)g_free,
+ (GDestroyNotify)g_regex_unref);
+
temp = g_file_open_tmp ("midori_adblock_match_test_XXXXXX", &filename, NULL);
g_file_set_contents (filename,
"http://ads.bla.blub/*\n"
"http://ads.blub.boing/*",
-1, NULL);
- pattern = adblock_parse_file (filename);
+ adblock_parse_file (filename);
g_assert (g_hash_table_find (pattern, (GHRFunc) adblock_is_matched,
"http://ads.foo.bar/teddy"));
g_assert (!g_hash_table_find (pattern, (GHRFunc) adblock_is_matched,
"http://ads.foo.boing/beer"));
- g_hash_table_destroy (pattern);
close (temp);
g_unlink (filename);
+
+ g_hash_table_destroy (pattern);
+}
+
+static void
+test_adblock_count (void)
+{
+ pattern = g_hash_table_new_full (g_str_hash, g_str_equal,
+ (GDestroyNotify)g_free,
+ (GDestroyNotify)g_regex_unref);
+
+ gchar* urls[6] = {
+ "https://bugs.webkit.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&query_based_on=gtkport&field0-0-0=keywords&type0-0-0=anywordssubstr&value0-0-0=Gtk%20Cairo%20soup&field0-0-1=short_desc&type0-0-1=anywordssubstr&value0-0-1=Gtk%20Cairo%20soup%20autoconf%20automake%20autotool&field0-0-2=component&type0-0-2=equals&value0-0-2=WebKit%20Gtk",
+ "http://www.engadget.com/2009/09/24/google-hits-android-rom-modder-with-a-cease-and-desist-letter/",
+ "http://karibik-invest.com/es/bienes_raices/search.php?sqT=19&sqN=&sqMp=&sqL=0&qR=1&sqMb=&searchMode=1&action=B%FAsqueda",
+ "http://google.com",
+ "http://ya.ru",
+ "http://google.com"
+ };
+ /* FIXME */
+ gchar* filename = "/home/avb/.cache/midori/adblock/bb6cd38a4579b3605946b1228fa65297";
+ gdouble elapsed = 0.0;
+ gchar* str;
+ int i;
+ adblock_parse_file (filename);
+ for (i = 0; i < 6; i++)
+ {
+ str = urls[i];
+ g_test_timer_start ();
+ g_hash_table_find (pattern, (GHRFunc) adblock_is_matched,str);
+ elapsed += g_test_timer_elapsed ();
+ }
+ g_print ("Search took %f seconds\n", elapsed);
+
+ g_hash_table_destroy (pattern);
}
void
{
g_test_add_func ("/extensions/adblock/parse", test_adblock_parse);
g_test_add_func ("/extensions/adblock/pattern", test_adblock_pattern);
+ g_test_add_func ("/extensions/adblock/count", test_adblock_count);
}
#endif
-#endif
-
MidoriExtension*
extension_init (void)
{
MidoriExtension* extension = g_object_new (MIDORI_TYPE_EXTENSION,
"name", _("Advertisement blocker"),
"description", _("Block advertisements according to a filter list"),
- #if WEBKIT_CHECK_VERSION (1, 1, 14)
"version", "0.1",
- #endif
"authors", "Christian Dywan <christian@twotoasts.de>",
NULL);
- #if WEBKIT_CHECK_VERSION (1, 1, 14)
midori_extension_install_string_list (extension, "filters", NULL, G_MAXSIZE);
g_signal_connect (extension, "activate",
G_CALLBACK (adblock_activate_cb), NULL);
- #endif
return extension;
}
--- /dev/null
+/*
+ Copyright (C) 2009 Alexander Butenko <a.butenka@gmail.com>
+
+ 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.
+*/
+
+#include <midori/midori.h>
+
+#include "config.h"
+
+#include <glib/gstdio.h>
+#if HAVE_UNISTD_H
+ #include <unistd.h>
+#endif
+
+#define MAXHOSTS 50
+static gchar* hosts = NULL;
+static int host_count;
+
+static bool
+dnsprefetch_do_prefetch (const char* uri)
+{
+ SoupURI* s_uri;
+
+ if (!uri)
+ return FALSE;
+ s_uri = soup_uri_new (uri);
+ if (!s_uri || !s_uri->host)
+ return FALSE;
+
+ #if GLIB_CHECK_VERSION (2, 22, 0)
+ if (g_hostname_is_ip_address (s_uri->host))
+ #else
+ if (g_ascii_isdigit (s_uri->host[0]) && g_strstr_len (s_uri->host, 4, "."))
+ #endif
+ {
+ soup_uri_free (s_uri);
+ return FALSE;
+ }
+ if (!g_str_has_prefix (uri, "http"))
+ {
+ soup_uri_free (s_uri);
+ return FALSE;
+ }
+
+ if (!g_regex_match_simple (s_uri->host, hosts,
+ G_REGEX_CASELESS, G_REGEX_MATCH_NOTEMPTY))
+ {
+ SoupAddress* address;
+ gchar* new_hosts;
+
+ address = soup_address_new (s_uri->host, SOUP_ADDRESS_ANY_PORT);
+ soup_address_resolve_async (address, 0, 0, 0, 0);
+ g_object_unref (address);
+
+ if (host_count > MAXHOSTS)
+ {
+ katze_assign (hosts, g_strdup (""));
+ host_count = 0;
+ }
+ host_count++;
+ new_hosts = g_strdup_printf ("%s|%s", hosts, s_uri->host);
+ katze_assign (hosts, new_hosts);
+ }
+ soup_uri_free (s_uri);
+ return TRUE;
+}
+
+static void
+dnsprefetch_prefetch_cb (WebKitWebView* web_view,
+ const gchar* title,
+ const char* uri,
+ gpointer user_data)
+{
+ dnsprefetch_do_prefetch (uri);
+}
+
+static void
+dnsprefetch_add_tab_cb (MidoriBrowser* browser,
+ MidoriView* view)
+{
+ GtkWidget* web_view = gtk_bin_get_child (GTK_BIN (view));
+ g_signal_connect (web_view, "hovering-over-link",
+ G_CALLBACK (dnsprefetch_prefetch_cb), 0);
+}
+
+static void
+dnsprefetch_deactivate_cb (MidoriExtension* extension,
+ MidoriBrowser* browser);
+
+static void
+dnsprefetch_add_tab_foreach_cb (MidoriView* view,
+ MidoriBrowser* browser)
+{
+ dnsprefetch_add_tab_cb (browser, view);
+}
+
+static void
+dnsprefetch_app_add_browser_cb (MidoriApp* app,
+ MidoriBrowser* browser,
+ MidoriExtension* extension)
+{
+ midori_browser_foreach (browser,
+ (GtkCallback)dnsprefetch_add_tab_foreach_cb, browser);
+ g_signal_connect (browser, "add-tab",
+ G_CALLBACK (dnsprefetch_add_tab_cb), 0);
+ g_signal_connect (extension, "deactivate",
+ G_CALLBACK (dnsprefetch_deactivate_cb), browser);
+}
+
+static void
+dnsprefetch_deactivate_tabs (MidoriView* view,
+ MidoriBrowser* browser)
+{
+ GtkWidget* web_view = gtk_bin_get_child (GTK_BIN (view));
+ g_signal_handlers_disconnect_by_func (
+ browser, dnsprefetch_add_tab_cb, 0);
+ g_signal_handlers_disconnect_by_func (
+ web_view, dnsprefetch_do_prefetch, 0);
+}
+
+static void
+dnsprefetch_deactivate_cb (MidoriExtension* extension,
+ MidoriBrowser* browser)
+{
+ MidoriApp* app = midori_extension_get_app (extension);
+
+ katze_assign (hosts, g_strdup (""));
+ host_count = 0;
+
+ g_signal_handlers_disconnect_by_func (
+ extension, dnsprefetch_deactivate_cb, browser);
+ g_signal_handlers_disconnect_by_func (
+ app, dnsprefetch_app_add_browser_cb, extension);
+ midori_browser_foreach (browser, (GtkCallback)dnsprefetch_deactivate_tabs, browser);
+
+}
+
+static void
+dnsprefetch_activate_cb (MidoriExtension* extension,
+ MidoriApp* app)
+{
+ KatzeArray* browsers;
+ MidoriBrowser* browser;
+ guint i;
+
+ katze_assign (hosts, g_strdup (""));
+ host_count = 0;
+
+ browsers = katze_object_get_object (app, "browsers");
+ i = 0;
+ while ((browser = katze_array_get_nth_item (browsers, i++)))
+ dnsprefetch_app_add_browser_cb (app, browser, extension);
+ g_signal_connect (app, "add-browser",
+ G_CALLBACK (dnsprefetch_app_add_browser_cb), extension);
+
+ g_object_unref (browsers);
+}
+
+#if G_ENABLE_DEBUG
+static void
+dnsprefetch_parse (void)
+{
+ g_assert (!dnsprefetch_do_prefetch (NULL));
+ g_assert (dnsprefetch_do_prefetch ("http://google.com"));
+ g_assert (dnsprefetch_do_prefetch ("http://google.com"));
+ g_assert (dnsprefetch_do_prefetch ("http://googlecom"));
+ g_assert (dnsprefetch_do_prefetch ("http://1kino.com"));
+ g_assert (dnsprefetch_do_prefetch ("http://"));
+ g_assert (!dnsprefetch_do_prefetch ("http:/"));
+ g_assert (!dnsprefetch_do_prefetch ("http"));
+ g_assert (!dnsprefetch_do_prefetch ("ftp://ftphost.org"));
+ g_assert (!dnsprefetch_do_prefetch ("http://10.0.0.1"));
+ g_assert (!dnsprefetch_do_prefetch ("about:blank"));
+ g_assert (!dnsprefetch_do_prefetch ("javascript: alert()"));
+}
+
+void
+extension_test (void)
+{
+ katze_assign (hosts, g_strdup (""));
+ host_count = 0;
+ g_test_add_func ("/extensions/dnsprefetch/parse", dnsprefetch_parse);
+}
+#endif
+
+MidoriExtension*
+extension_init (void)
+{
+ MidoriExtension* extension = g_object_new (MIDORI_TYPE_EXTENSION,
+ "name", _("DNS prefetching"),
+ "description", _("Prefetch IP addresses of hovered links"),
+ "version", "0.1",
+ "authors", "Alexander V. Butenko <a.butenka@gmail.com>",
+ NULL);
+ g_signal_connect (extension, "activate",
+ G_CALLBACK (dnsprefetch_activate_cb), NULL);
+
+ return extension;
+}
--- /dev/null
+/*
+ Copyright (C) 2009 Alexander Butenko <a.butenka@gmail.com>
+
+ 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.
+*/
+
+#define MAXCHARS 20
+#define MINCHARS 2
+
+#include <midori/midori.h>
+
+#include "config.h"
+
+#include <glib/gstdio.h>
+#if HAVE_UNISTD_H
+ #include <unistd.h>
+#endif
+
+static GHashTable* global_keys;
+static gchar* jsforms;
+
+static gboolean
+formhistory_prepare_js ()
+{
+ gchar* autosuggest;
+ gchar* style;
+ guint i;
+ gchar* file;
+
+ gchar* data_path = g_build_filename (MDATADIR, PACKAGE_NAME, NULL);
+ file = g_build_filename (data_path,"/autosuggestcontrol.js",NULL);
+ if (!g_file_test (file, G_FILE_TEST_EXISTS))
+ return FALSE;
+ g_file_get_contents (file, &autosuggest, NULL, NULL);
+ g_strchomp (autosuggest);
+
+ file = g_build_filename (data_path,"/autosuggestcontrol.css",NULL);
+ if (!g_file_test (file, G_FILE_TEST_EXISTS))
+ return FALSE;
+ g_file_get_contents (file, &style, NULL, NULL);
+ g_strchomp (style);
+ i = 0;
+ while (style[i])
+ {
+ if (style[i] == '\n')
+ style[i] = ' ';
+ i++;
+ }
+
+ jsforms = g_strdup_printf (
+ "%s"
+ "window.addEventListener (\"load\", function () { initSuggestions (); }, true);"
+ "window.addEventListener ('DOMContentLoaded',"
+ "function () {"
+ "var mystyle = document.createElement(\"style\");"
+ "mystyle.setAttribute(\"type\", \"text/css\");"
+ "mystyle.appendChild(document.createTextNode(\"%s\"));"
+ "var head = document.getElementsByTagName(\"head\")[0];"
+ "if (head) head.appendChild(mystyle);"
+ "else document.documentElement.insertBefore(mystyle, document.documentElement.firstChild);"
+ "}, true);",
+ autosuggest,
+ style);
+ g_strstrip (jsforms);
+ g_free (data_path);
+ g_free (file);
+ g_free (style);
+ g_free (autosuggest);
+ return TRUE;
+}
+
+static gchar*
+formhistory_build_js ()
+{
+ gchar* suggestions = g_strdup ("");
+ GHashTableIter iter;
+ gpointer key, value;
+ gchar* script;
+
+ g_hash_table_iter_init (&iter, global_keys);
+ while (g_hash_table_iter_next (&iter, &key, &value))
+ {
+ gchar* _suggestions = g_strdup_printf ("%s arr[\"%s\"] = [%s]; ",
+ suggestions, (char*)key, (char*)value);
+ katze_assign (suggestions, _suggestions);
+ }
+ script = g_strdup_printf ("function FormSuggestions(eid) { "
+ "arr = new Array();"
+ "%s"
+ "this.suggestions = arr[eid]; }"
+ "%s",
+ suggestions,
+ jsforms);
+ g_free (suggestions);
+ return script;
+}
+
+static void
+formhistory_update_main_hash (GHashTable* keys)
+{
+ GHashTableIter iter;
+ gchar* key;
+ gchar* value;
+
+ g_hash_table_iter_init (&iter, keys);
+ while (g_hash_table_iter_next (&iter, (gpointer)&key, (gpointer)&value))
+ {
+ guint length;
+ gchar* tmp;
+
+ if (!(value && *value))
+ continue;
+ length = strlen (value);
+ if (length > MAXCHARS || length < MINCHARS)
+ continue;
+
+ tmp = g_hash_table_lookup (global_keys, (gpointer)key);
+ if (tmp)
+ {
+ gchar* rvalue = g_strdup_printf ("\"%s\"",value);
+ if (!g_regex_match_simple (rvalue, tmp,
+ G_REGEX_CASELESS, G_REGEX_MATCH_NOTEMPTY))
+ {
+ gchar* new_value = g_strdup_printf ("%s%s,", tmp, rvalue);
+ g_hash_table_replace (global_keys, key, new_value);
+ }
+ g_free (rvalue);
+ }
+ else
+ {
+ gchar* new_value = g_strdup_printf ("\"%s\",",value);
+ g_hash_table_insert (global_keys, key, new_value);
+ }
+ }
+}
+
+static void
+formhistory_session_request_queued_cb (SoupSession* session,
+ SoupMessage* msg)
+{
+ gchar* method = katze_object_get_string (msg, "method");
+ if (method && !strncmp (method, "POST", 4))
+ {
+ /* SoupMessageHeaders* hdrs = msg->request_headers;
+ const gchar* referer; */
+ SoupMessageBody* body = msg->request_body;
+ if (soup_message_body_get_accumulate (body))
+ {
+ SoupBuffer* buffer = soup_message_body_flatten (body);
+ GHashTable* keys = soup_form_decode (body->data);
+ formhistory_update_main_hash (keys);
+ soup_buffer_free (buffer);
+ }
+ /* FIXME: Need a permanent storage implementation */
+ /* referer = soup_message_headers_get_one (hdrs, "Referer"); */
+ }
+ g_free (method);
+}
+
+
+static void
+formhistory_window_object_cleared_cb (GtkWidget* web_view,
+ WebKitWebFrame* web_frame,
+ JSContextRef js_context,
+ JSObjectRef js_window)
+{
+ webkit_web_view_execute_script (WEBKIT_WEB_VIEW (web_view),
+ formhistory_build_js ());
+}
+
+static void
+formhistory_add_tab_cb (MidoriBrowser* browser,
+ MidoriView* view)
+{
+ GtkWidget* web_view = gtk_bin_get_child (GTK_BIN (view));
+ SoupSession *session = webkit_get_default_session ();
+ g_signal_connect (web_view, "window-object-cleared",
+ G_CALLBACK (formhistory_window_object_cleared_cb), 0);
+ g_signal_connect (session, "request-queued",
+ G_CALLBACK (formhistory_session_request_queued_cb), 0);
+}
+
+static void
+formhistory_deactivate_cb (MidoriExtension* extension,
+ MidoriBrowser* browser);
+
+static void
+formhistory_add_tab_foreach_cb (MidoriView* view,
+ MidoriBrowser* browser)
+{
+ formhistory_add_tab_cb (browser, view);
+}
+
+static void
+formhistory_app_add_browser_cb (MidoriApp* app,
+ MidoriBrowser* browser,
+ MidoriExtension* extension)
+{
+ midori_browser_foreach (browser,
+ (GtkCallback)formhistory_add_tab_foreach_cb, browser);
+ g_signal_connect (browser, "add-tab", G_CALLBACK (formhistory_add_tab_cb), 0);
+ g_signal_connect (extension, "deactivate",
+ G_CALLBACK (formhistory_deactivate_cb), browser);
+}
+
+static void
+formhistory_deactivate_tabs (MidoriView* view,
+ MidoriBrowser* browser)
+{
+ GtkWidget* web_view = gtk_bin_get_child (GTK_BIN (view));
+ SoupSession *session = webkit_get_default_session ();
+ g_signal_handlers_disconnect_by_func (
+ browser, formhistory_add_tab_cb, 0);
+ g_signal_handlers_disconnect_by_func (
+ web_view, formhistory_window_object_cleared_cb, 0);
+ g_signal_handlers_disconnect_by_func (
+ session, formhistory_session_request_queued_cb, 0);
+}
+
+static void
+formhistory_deactivate_cb (MidoriExtension* extension,
+ MidoriBrowser* browser)
+{
+ MidoriApp* app = midori_extension_get_app (extension);
+
+ g_signal_handlers_disconnect_by_func (
+ extension, formhistory_deactivate_cb, browser);
+ g_signal_handlers_disconnect_by_func (
+ app, formhistory_app_add_browser_cb, extension);
+ midori_browser_foreach (browser, (GtkCallback)formhistory_deactivate_tabs, browser);
+
+ jsforms = "";
+ if (global_keys)
+ g_hash_table_destroy (global_keys);
+}
+
+static void
+formhistory_activate_cb (MidoriExtension* extension,
+ MidoriApp* app)
+{
+ KatzeArray* browsers;
+ MidoriBrowser* browser;
+ guint i;
+
+ global_keys = g_hash_table_new_full (g_str_hash, g_str_equal,
+ (GDestroyNotify)g_free,
+ (GDestroyNotify)g_free);
+ browsers = katze_object_get_object (app, "browsers");
+ i = 0;
+ while ((browser = katze_array_get_nth_item (browsers, i++)))
+ formhistory_app_add_browser_cb (app, browser, extension);
+ g_signal_connect (app, "add-browser",
+ G_CALLBACK (formhistory_app_add_browser_cb), extension);
+
+ g_object_unref (browsers);
+}
+
+#if G_ENABLE_DEBUG
+/*
+<html>
+ <head>
+ <title>autosuggest testcase</title>
+ </head>
+ <body>
+ <form method=post>
+ <p><input type="text" id="txt1" /></p>
+ <p><input type="text" name="txt2" /></p>
+ <input type=submit>
+ </form>
+ </body>
+</html> */
+#endif
+
+MidoriExtension*
+extension_init (void)
+{
+ gboolean should_init = TRUE;
+ gchar* ver;
+ gchar* desc;
+ if (formhistory_prepare_js ())
+ {
+ ver = "0.1";
+ desc = g_strdup (_("Stores history of entered form data"));
+ }
+ else
+ {
+ desc = g_strdup_printf (_("Not available: %s"),
+ _("Resource files not installed"));
+ ver = NULL;
+ should_init = FALSE;
+ }
+ MidoriExtension* extension = g_object_new (MIDORI_TYPE_EXTENSION,
+ "name", _("Form history filler"),
+ "description", desc,
+ "version", ver,
+ "authors", "Alexander V. Butenko <a.butenka@gmail.com>",
+ NULL);
+ g_free (desc);
+
+ if (should_init)
+ g_signal_connect (extension, "activate",
+ G_CALLBACK (formhistory_activate_cb), NULL);
+
+ return extension;
+}
static void mouse_gestures_activate (MidoriExtension *extension, MidoriApp *app)
{
+ KatzeArray* browsers;
+ MidoriBrowser* browser;
+ guint i;
+
gesture = mouse_gesture_new ();
+ browsers = katze_object_get_object (app, "browsers");
+ i = 0;
+ while ((browser = katze_array_get_nth_item (browsers, i++)))
+ mouse_gestures_browser_cb (app, browser);
+ g_object_unref (browsers);
+
g_signal_connect (app, "add-browser",
G_CALLBACK (mouse_gestures_browser_cb), NULL);
g_signal_connect (extension, "deactivate",
GtkWidget* view,
MidoriExtension* extension);
+static void
+tab_panel_browser_notify_tab_cb (MidoriBrowser* browser,
+ GParamSpec* pspec,
+ GtkTreeView* treeview);
+
static void
tab_panel_view_notify_minimized_cb (GtkWidget* view,
GParamSpec* pspec,
return g_object_get_data (G_OBJECT (view), "tab-panel-ext-toolitem");
}
+static gboolean
+tab_panel_get_iter_for_view (GtkTreeModel* model,
+ GtkTreeIter* iter,
+ gpointer view)
+{
+ guint i = 0;
+
+ while (gtk_tree_model_iter_nth_child (model, iter, NULL, i))
+ {
+ MidoriView* view_;
+
+ gtk_tree_model_get (model, iter, 0, &view_, -1);
+ g_object_unref (view_);
+ if (view_ == view)
+ return TRUE;
+ i++;
+ }
+
+ return FALSE;
+}
+
static void
tab_panel_deactivate_cb (MidoriExtension* extension,
- GtkWidget* panel)
+ GtkWidget* treeview)
{
MidoriApp* app = midori_extension_get_app (extension);
GtkTreeModel* model;
MidoriBrowser* browser;
- browser = midori_browser_get_for_widget (panel);
+ browser = midori_browser_get_for_widget (treeview);
g_object_set (browser, "show-tabs", TRUE, NULL);
model = tab_panel_get_model_for_browser (browser);
g_object_unref (model);
- gtk_widget_destroy (panel);
g_signal_handlers_disconnect_by_func (
- extension, tab_panel_deactivate_cb, panel);
+ extension, tab_panel_deactivate_cb, treeview);
g_signal_handlers_disconnect_by_func (
app, tab_panel_app_add_browser_cb, extension);
g_signal_handlers_disconnect_by_func (
browser, tab_panel_browser_add_tab_cb, extension);
g_signal_handlers_disconnect_by_func (
browser, tab_panel_browser_remove_tab_cb, extension);
+ g_signal_handlers_disconnect_by_func (
+ browser, tab_panel_browser_notify_tab_cb, treeview);
g_signal_handlers_disconnect_by_func (
browser, tab_panel_settings_notify_cb, model);
g_signal_handlers_disconnect_by_func (
browser, tab_panel_view_notify_icon_cb, extension);
g_signal_handlers_disconnect_by_func (
browser, tab_panel_view_notify_title_cb, extension);
+
+ gtk_widget_destroy (treeview);
}
static void
{
GtkTreeModel* model = tab_panel_get_model_for_browser (browser);
GtkTreeIter iter;
- guint i = 0;
-
- while (gtk_tree_model_iter_nth_child (model, &iter, NULL, i))
- {
- MidoriView* view_;
-
- gtk_tree_model_get (model, &iter, 0, &view_, -1);
-
- if ((MidoriView*)view == view_)
- {
- gtk_tree_store_remove (GTK_TREE_STORE (model), &iter);
- g_object_unref (view_);
- break;
- }
-
- g_object_unref (view_);
- i++;
- }
+ if (tab_panel_get_iter_for_view (model, &iter, view))
+ gtk_tree_store_remove (GTK_TREE_STORE (model), &iter);
}
}
{
GtkTreeModel* model = tab_panel_get_model_for_browser (browser);
GtkTreeIter iter;
- guint i = 0;
-
- while (gtk_tree_model_iter_nth_child (model, &iter, NULL, i))
- {
- MidoriView* view_;
-
- gtk_tree_model_get (model, &iter, 0, &view_, -1);
-
- if ((MidoriView*)view == view_)
- {
- gtk_tree_store_set (GTK_TREE_STORE (model), &iter, 3, icon, -1);
- g_object_unref (view_);
- break;
- }
-
- g_object_unref (view_);
- i++;
- }
+ if (tab_panel_get_iter_for_view (model, &iter, view))
+ gtk_tree_store_set (GTK_TREE_STORE (model), &iter, 3, icon, -1);
}
}
{
GtkTreeModel* model = tab_panel_get_model_for_browser (browser);
GtkTreeIter iter;
- guint i = 0;
-
- while (gtk_tree_model_iter_nth_child (model, &iter, NULL, i))
+ if (tab_panel_get_iter_for_view (model, &iter, view))
{
- MidoriView* view_;
-
- gtk_tree_model_get (model, &iter, 0, &view_, -1);
-
- if ((MidoriView*)view == view_)
- {
- gtk_tree_store_set (GTK_TREE_STORE (model), &iter,
- 4, title, 5, midori_view_get_label_ellipsize (view_), -1);
- g_object_unref (view_);
- break;
- }
-
- g_object_unref (view_);
- i++;
+ gtk_tree_store_set (GTK_TREE_STORE (model), &iter,
+ 4, title,
+ 5, midori_view_get_label_ellipsize (MIDORI_VIEW (view)), -1);
}
}
}
tab_panel_remove_view (browser, view, minimized);
}
+static void
+tab_panel_browser_notify_tab_cb (MidoriBrowser* browser,
+ GParamSpec* pspec,
+ GtkTreeView* treeview)
+{
+ GtkTreeModel* model = tab_panel_get_model_for_browser (browser);
+ GtkTreeIter iter;
+ GtkWidget* view;
+
+ if (GTK_OBJECT_FLAGS (browser) & GTK_IN_DESTRUCTION)
+ return;
+
+ view = midori_browser_get_current_tab (browser);
+ if (tab_panel_get_iter_for_view (model, &iter, view))
+ {
+ GtkTreeSelection* selection = gtk_tree_view_get_selection (treeview);
+ gtk_tree_selection_select_iter (selection, &iter);
+ }
+}
+
static void
tab_panel_app_add_browser_cb (MidoriApp* app,
MidoriBrowser* browser,
G_CALLBACK (tab_panel_browser_add_tab_cb), extension);
g_signal_connect (browser, "remove-tab",
G_CALLBACK (tab_panel_browser_remove_tab_cb), extension);
+ g_signal_connect (browser, "notify::tab",
+ G_CALLBACK (tab_panel_browser_notify_tab_cb), treeview);
g_signal_connect (extension, "deactivate",
G_CALLBACK (tab_panel_deactivate_cb), treeview);
}
{
MidoriExtension* extension = g_object_new(MIDORI_TYPE_EXTENSION,
"name", _("Toolbar Editor"),
- "description", _("Easily edit the toolbar layout"),
#if !HAVE_HILDON
+ "description", _("Easily edit the toolbar layout"),
"version", "0.1",
+ #else
+ "description", _("Not available on this platform"),
#endif
"authors", "Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>",
NULL);
obj.target = target
obj.includes = '..'
obj.source = source
- obj.uselib = 'UNIQUE LIBSOUP GIO GTK SQLITE WEBKIT LIBXML'
+ obj.uselib = 'UNIQUE LIBSOUP GIO GTK SQLITE WEBKIT LIBXML HILDON'
obj.install_path = '${LIBDIR}/midori'
i = 0;
while ((item = g_list_nth_data (array->items, i++)))
{
- const gchar* found_token = katze_item_get_token ((KatzeItem*)item);
+ const gchar* found_token;
+
+ if (!KATZE_IS_ITEM (item))
+ continue;
+ found_token = ((KatzeItem*)item)->token;
if (!g_strcmp0 (found_token, token))
return item;
}
return NULL;
}
+/**
+ * katze_array_find_uri:
+ * @array: a #KatzeArray
+ * @uri: an URI
+ *
+ * Looks up an item in the array which has the specified URI.
+ *
+ * This function will silently fail if the type of the list
+ * is not based on #GObject and only #KatzeItem children
+ * are checked for their token, any other objects are skipped.
+ *
+ * Return value: an item, or %NULL
+ *
+ * Since: 0.2.0
+ **/
+gpointer
+katze_array_find_uri (KatzeArray* array,
+ const gchar* uri)
+{
+ guint i;
+ gpointer item;
+
+ if (!katze_array_is_a (array, G_TYPE_OBJECT))
+ return NULL;
+
+ i = 0;
+ while ((item = g_list_nth_data (array->items, i++)))
+ {
+ const gchar* found_uri;
+
+ if (!KATZE_IS_ITEM (item))
+ continue;
+ found_uri = ((KatzeItem*)item)->uri;
+ if (!g_strcmp0 (found_uri, uri))
+ return item;
+ }
+ return NULL;
+}
+
/**
* katze_array_get_length:
* @array: a #KatzeArray
katze_array_find_token (KatzeArray* array,
const gchar* token);
+gpointer
+katze_array_find_uri (KatzeArray* array,
+ const gchar* uri);
+
guint
katze_array_get_length (KatzeArray* array);
{
GtkEntry* username = g_object_get_data (G_OBJECT (dialog), "username");
GtkEntry* password = g_object_get_data (G_OBJECT (dialog), "password");
+ GtkToggleButton* remember = g_object_get_data (G_OBJECT (dialog), "remember");
soup_auth_authenticate (save->auth,
gtk_entry_get_text (username), gtk_entry_get_text (password));
- if (save->http_auth->filename)
+ if (gtk_toggle_button_get_active (remember) && save->http_auth->filename)
{
save->username = g_strdup (gtk_entry_get_text (username));
save->password = g_strdup (gtk_entry_get_text (password));
gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
g_object_set_data (G_OBJECT (dialog), "password", entry);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), hbox);
+ hbox = gtk_hbox_new (FALSE, 6);
+ label = gtk_check_button_new_with_mnemonic (_("_Remember password"));
+ gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
+ g_object_set_data (G_OBJECT (dialog), "remember", label);
+ gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), hbox);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
gtk_widget_show_all (GTK_DIALOG (dialog)->vbox);
g_signal_connect (session, "authenticate",
G_CALLBACK (katze_http_auth_session_authenticate_cb), http_auth);
g_signal_handlers_disconnect_by_func (session,
- katze_http_auth_session_request_queued_cb, NULL);
+ katze_http_auth_session_request_queued_cb, http_auth);
}
static void
GtkWidget* widget,
gpointer user_data)
{
- guint i;
KatzeNetIconPriv* priv;
gchar* icon_uri;
gchar* icon_file;
g_return_val_if_fail (KATZE_IS_NET (net), NULL);
g_return_val_if_fail (!widget || GTK_IS_WIDGET (widget), NULL);
+ g_return_val_if_fail (uri != NULL, NULL);
pixbuf = NULL;
- if (uri && (g_str_has_prefix (uri, "http://") ||
- g_str_has_prefix (uri, "https://")))
+ icon_uri = g_strdup (g_object_get_data (G_OBJECT (net), uri));
+ g_object_set_data (G_OBJECT (net), uri, NULL);
+ if ((icon_uri && g_str_has_prefix (icon_uri, "http"))
+ || g_str_has_prefix (uri, "http"))
{
- i = 8;
- while (uri[i] != '\0' && uri[i] != '/')
- i++;
- if (uri[i] == '/')
+ if (!icon_uri)
{
- icon_uri = g_strdup (uri);
- icon_uri[i] = '\0';
- icon_uri = g_strdup_printf ("%s/favicon.ico", icon_uri);
+ guint i = 8;
+ while (uri[i] != '\0' && uri[i] != '/')
+ i++;
+ if (uri[i] == '/')
+ {
+ icon_uri = g_strdup (uri);
+ icon_uri[i] = '\0';
+ icon_uri = g_strdup_printf ("%s/favicon.ico", icon_uri);
+ }
+ else
+ icon_uri = g_strdup_printf ("%s/favicon.ico", uri);
}
- else
- icon_uri = g_strdup_printf ("%s/favicon.ico", uri);
icon_file = katze_net_get_cached_path (net, icon_uri, "icons");
--- /dev/null
+/*
+ Copyright (C) 2007 Henrik Hedberg <hhedberg@innologies.fi>
+ Copyright (C) 2009 Nadav Wiener <nadavwr@yahoo.com>
+ 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "katze-scrolled.h"
+
+#define DEFAULT_INTERVAL 50
+#define DEFAULT_DECELERATION 0.7
+#define DEFAULT_DRAGGING_STOPPED_DELAY 100
+
+/**
+ * SECTION:katze-scrolled
+ * @short_description: Implements drag scrolling and kinetic scrolling
+ * @see_also: #GtkScrolledWindow
+ *
+ * A scrolled window derived from #GtkScrolledWindow that implements
+ * drag scrolling and kinetic scrolling. Can be used as a drop-in replacement
+ * for the existing #GtkScrolledWindow.
+ *
+ * If a direct child of the #KatzeScrolled has its own window
+ * (InputOnly is enough for events), it is automatically activated when added
+ * as a child. All motion events in that area will be used to scroll.
+ *
+ * If some descendant widgets capture button press, button release and/ or
+ * motion nofity events, the user can not scroll the area by pressing those
+ * widgets (unless the widget is activated). #GtkButton is a typical example
+ * of that. Usually that is the desired behaviour.
+ *
+ * Any widget can be registered to provide pointer events for the
+ * #KatzeScrolled by using the
+ * #katze_scrolled_activate_scrolling function.
+ *
+ **/
+
+G_DEFINE_TYPE (KatzeScrolled, katze_scrolled, GTK_TYPE_SCROLLED_WINDOW);
+
+enum
+{
+ PROP_0,
+
+ PROP_DRAG_SCROLLING,
+ PROP_KINETIC_SCROLLING
+};
+
+static void
+katze_scrolled_set_property (GObject* object,
+ guint prop_id,
+ const GValue* value,
+ GParamSpec* pspec);
+
+static void
+katze_scrolled_get_property (GObject* object,
+ guint prop_id,
+ GValue* value,
+ GParamSpec* pspec);
+
+static void
+katze_scrolled_dispose (GObject* object);
+
+static void
+katze_scrolled_activate_scrolling (KatzeScrolled* scrolled,
+ GtkWidget* widget);
+
+static void
+katze_scrolled_set_drag_scrolling (KatzeScrolled* scrolled,
+ gboolean drag_scrolling);
+
+struct _KatzeScrolledPrivate
+{
+ /* Settings */
+ guint interval;
+ gdouble deceleration;
+ gboolean drag_scrolling;
+ gboolean kinetic_scrolling;
+ guint32 dragging_stopped_delay;
+ gboolean scrolling_hints;
+
+ /* Temporary variables */
+ gboolean dragged;
+ gboolean press_received;
+ GdkWindow* synthetic_crossing_event_window;
+
+ /* Disabling twice happening scrolling adjustment */
+ GtkAdjustment* hadjustment;
+ GtkWidget* viewport;
+
+ /* Motion scrolling */
+ gint start_x;
+ gint start_y;
+ gint previous_x;
+ gint previous_y;
+ gint farest_x;
+ gint farest_y;
+ guint32 start_time;
+ guint32 previous_time;
+ guint32 farest_time;
+ gboolean going_right;
+ gboolean going_down;
+
+ /* Kinetic scrolling */
+ guint scrolling_timeout_id;
+ gdouble horizontal_speed;
+ gdouble vertical_speed;
+ gdouble horizontal_deceleration;
+ gdouble vertical_deceleration;
+
+ /* Internal scrollbars */
+ GdkWindow* vertical_scrollbar_window;
+ GdkWindow* horizontal_scrollbar_window;
+ gint vertical_scrollbar_size;
+ gint horizontal_scrollbar_size;
+ guint hide_scrollbars_timeout_id;
+ GdkGC* hilight_gc;
+ GdkGC* shadow_gc;
+};
+
+typedef struct _KatzeScrolledState KatzeScrolledState;
+typedef gboolean (*KatzeScrolledEventHandler)(GdkEvent* event,
+ KatzeScrolledState* state,
+ gpointer user_data);
+
+typedef struct
+{
+ KatzeScrolledEventHandler event_handler;
+ gpointer user_data;
+} EventHandlerData;
+
+struct _KatzeScrolledState
+{
+ GList* current_event_handler;
+};
+
+static GList* event_handlers = NULL;
+
+static void
+katze_scrolled_event_handler_func (GdkEvent* event,
+ gpointer data);
+
+static void
+katze_scrolled_event_handler_append (KatzeScrolledEventHandler event_handler,
+ gpointer user_data)
+{
+ EventHandlerData* data;
+
+ data = g_new0 (EventHandlerData, 1);
+ data->event_handler = event_handler;
+ data->user_data = user_data;
+ event_handlers = g_list_append (event_handlers, data);
+
+ gdk_event_handler_set ((GdkEventFunc)katze_scrolled_event_handler_func, NULL, NULL);
+}
+
+static void
+katze_scrolled_event_handler_next (GdkEvent* event,
+ KatzeScrolledState* state)
+{
+ EventHandlerData* data;
+ gboolean stop_propagating;
+
+ state->current_event_handler = g_list_next (state->current_event_handler);
+ if (state->current_event_handler)
+ {
+ data = (EventHandlerData*)state->current_event_handler->data;
+ stop_propagating = data->event_handler (event, state, data->user_data);
+ if (!stop_propagating && state->current_event_handler)
+ g_critical ("%s: handler returned FALSE without calling %s first",
+ G_STRFUNC, G_STRFUNC);
+ }
+ else
+ gtk_main_do_event (event);
+}
+
+static void
+katze_scrolled_event_handler_func (GdkEvent* event,
+ gpointer user_data)
+{
+ KatzeScrolledState* state;
+ EventHandlerData* data;
+ gboolean stop_propagating;
+
+ state = g_new0 (KatzeScrolledState, 1);
+ state->current_event_handler = g_list_first (event_handlers);
+ if (state->current_event_handler)
+ {
+ data = (EventHandlerData*)state->current_event_handler->data;
+ stop_propagating = data->event_handler (event, state, data->user_data);
+ if (!stop_propagating && state->current_event_handler)
+ g_critical ("%s: handler returned FALSE without calling %s first",
+ G_STRFUNC, "katze_scrolled_event_handler_next");
+ }
+ else
+ gtk_main_do_event (event);
+
+ g_free (state);
+}
+
+static GdkWindow* current_gdk_window;
+static KatzeScrolled* current_scrolled_window;
+static GtkWidget* current_widget;
+static gboolean synthetized_crossing_event;
+
+static GTree* activated_widgets;
+
+static gint
+compare_pointers (gconstpointer a,
+ gconstpointer b)
+{
+ return a - b;
+}
+
+static void
+disable_hadjustment (KatzeScrolled* scrolled)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+ GtkAdjustment* hadjustment;
+ GtkWidget* viewport;
+
+ if ((hadjustment = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (scrolled)))
+ && priv->hadjustment != hadjustment)
+ {
+ priv->hadjustment = hadjustment;
+ priv->viewport = NULL;
+ viewport = GTK_WIDGET (scrolled);
+ while (GTK_IS_BIN (viewport))
+ {
+ viewport = gtk_bin_get_child (GTK_BIN (viewport));
+ if (GTK_IS_VIEWPORT (viewport))
+ {
+ priv->viewport = viewport;
+ break;
+ }
+ }
+ }
+ g_signal_handlers_block_matched (priv->hadjustment, G_SIGNAL_MATCH_DATA,
+ 0, 0, 0, 0, priv->viewport);
+}
+
+static void
+enable_hadjustment (KatzeScrolled* scrolled)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+
+ g_signal_handlers_unblock_matched (priv->hadjustment, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, priv->viewport);
+}
+
+static gboolean
+on_expose_event (GtkWidget* widget,
+ GdkEventExpose* event,
+ KatzeScrolled* scrolled)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+ gboolean ret = FALSE;
+
+ if (GTK_WIDGET_DRAWABLE (widget))
+ {
+ if (event->window == priv->horizontal_scrollbar_window)
+ {
+ if (priv->horizontal_scrollbar_size)
+ {
+ gdk_draw_line (event->window, priv->hilight_gc, 0, 0, priv->horizontal_scrollbar_size - 1, 0);
+ gdk_draw_line (event->window, priv->hilight_gc, 0, 1, 0, 9);
+ gdk_draw_line (event->window, priv->shadow_gc, priv->horizontal_scrollbar_size - 1, 1, priv->horizontal_scrollbar_size - 1, 9);
+ gdk_draw_line (event->window, priv->shadow_gc, 0, 9, priv->horizontal_scrollbar_size - 1, 9);
+ }
+
+ ret = TRUE;
+ }
+ else if (event->window == priv->vertical_scrollbar_window)
+ {
+ if (priv->vertical_scrollbar_size)
+ {
+ gdk_draw_line (event->window, priv->hilight_gc, 0, 0, 9, 0);
+ gdk_draw_line (event->window, priv->hilight_gc, 0, 1, 0, priv->vertical_scrollbar_size - 1);
+ gdk_draw_line (event->window, priv->shadow_gc, 9, 1, 9, priv->vertical_scrollbar_size - 1);
+ gdk_draw_line (event->window, priv->shadow_gc, 0, priv->vertical_scrollbar_size - 1, 9, priv->vertical_scrollbar_size - 1);
+ }
+
+ ret = TRUE;
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+adjust_scrollbar (KatzeScrolled* scrolled,
+ GdkWindow* scrollbar_window,
+ GtkAdjustment* adjustment,
+ gint* previous_size,
+ gboolean horizontal)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+ GtkWidget* widget = GTK_WIDGET (scrolled);
+ gint x, y;
+ gint size;
+ double position;
+ GtkWidget* window;
+
+ if (adjustment->page_size >= adjustment->upper - adjustment->lower)
+ {
+ *previous_size = 0;
+ return FALSE;
+ }
+
+ size = ((double)adjustment->page_size) / (adjustment->upper - adjustment->lower) * (horizontal
+ ? widget->allocation.height : widget->allocation.width);
+ if (size != *previous_size)
+ {
+ *previous_size = size;
+ if (horizontal)
+ {
+ gdk_window_resize (scrollbar_window, 10, size);
+ gdk_window_clear (scrollbar_window);
+ gdk_draw_line (scrollbar_window, priv->hilight_gc, 0, 0, 9, 0);
+ gdk_draw_line (scrollbar_window, priv->hilight_gc, 0, 1, 0, size - 1);
+ gdk_draw_line (scrollbar_window, priv->shadow_gc, 9, 1, 9, size - 1);
+ gdk_draw_line (scrollbar_window, priv->shadow_gc, 0, size - 1, 9, size - 1);
+ }
+ else
+ {
+ gdk_window_resize (scrollbar_window, size, 10);
+ gdk_window_clear (scrollbar_window);
+ gdk_draw_line (scrollbar_window, priv->hilight_gc, 0, 0, size - 1, 0);
+ gdk_draw_line (scrollbar_window, priv->hilight_gc, 0, 1, 0, 9);
+ gdk_draw_line (scrollbar_window, priv->shadow_gc, size - 1, 1, size - 1, 9);
+ gdk_draw_line (scrollbar_window, priv->shadow_gc, 0, 9, size - 1, 9);
+ }
+ }
+
+ position = (adjustment->value - adjustment->lower) / (adjustment->upper - adjustment->lower);
+ window = gtk_widget_get_toplevel (widget);
+ if (horizontal)
+ {
+ gtk_widget_translate_coordinates (widget, window,
+ widget->allocation.width - 20, position * widget->allocation.height, &x, &y);
+ gdk_window_move (scrollbar_window, x, y);
+ }
+ else
+ {
+ gtk_widget_translate_coordinates (widget, window,
+ position * widget->allocation.width, widget->allocation.height - 20, &x, &y);
+ gdk_window_move (scrollbar_window, x, y);
+ }
+
+ return TRUE;
+}
+
+static gboolean
+hide_scrollbars_timeout (gpointer data)
+{
+ KatzeScrolled* scrolled = KATZE_SCROLLED (data);
+ KatzeScrolledPrivate* priv = scrolled->priv;
+
+ gdk_threads_enter ();
+ gdk_window_hide (priv->vertical_scrollbar_window);
+ gdk_window_hide (priv->horizontal_scrollbar_window);
+
+ priv->hide_scrollbars_timeout_id = 0;
+ gdk_threads_leave ();
+
+ return FALSE;
+}
+
+static gdouble
+calculate_timeout_scroll_values (gdouble old_value,
+ gdouble upper_limit,
+ gdouble* scrolling_speed_pointer,
+ gdouble deceleration,
+ gdouble* other_deceleration,
+ gdouble normal_deceleration)
+{
+ gdouble new_value = old_value;
+
+ if (*scrolling_speed_pointer > deceleration ||
+ *scrolling_speed_pointer < -deceleration)
+ {
+ if (old_value + *scrolling_speed_pointer <= 0.0)
+ {
+ new_value = -1.0;
+ *scrolling_speed_pointer = 0.0;
+ *other_deceleration = normal_deceleration;
+ }
+ else if (old_value + *scrolling_speed_pointer >= upper_limit)
+ {
+ new_value = upper_limit;
+ *scrolling_speed_pointer = 0.0;
+ *other_deceleration = normal_deceleration;
+ }
+ else
+ new_value = old_value + *scrolling_speed_pointer;
+ if (*scrolling_speed_pointer > deceleration)
+ *scrolling_speed_pointer -= deceleration;
+ else if (*scrolling_speed_pointer < -deceleration)
+ *scrolling_speed_pointer += deceleration;
+ }
+
+ return new_value;
+}
+
+static void
+do_timeout_scroll (KatzeScrolled* scrolled)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+ GtkScrolledWindow* gtk_scrolled = GTK_SCROLLED_WINDOW (scrolled);
+ GtkAdjustment* hadjustment;
+ GtkAdjustment* vadjustment;
+ gdouble hvalue;
+ gdouble vvalue;
+
+ hadjustment = gtk_scrolled_window_get_hadjustment (gtk_scrolled);
+ vadjustment = gtk_scrolled_window_get_vadjustment (gtk_scrolled);
+ hvalue = calculate_timeout_scroll_values (hadjustment->value,
+ hadjustment->upper - hadjustment->page_size,
+ &priv->horizontal_speed,
+ priv->horizontal_deceleration,
+ &priv->vertical_deceleration,
+ priv->deceleration);
+ vvalue = calculate_timeout_scroll_values (vadjustment->value,
+ vadjustment->upper - vadjustment->page_size,
+ &priv->vertical_speed,
+ priv->vertical_deceleration,
+ &priv->horizontal_deceleration,
+ priv->deceleration);
+ if (vvalue != vadjustment->value)
+ {
+ if (hvalue != hadjustment->value)
+ {
+ disable_hadjustment (scrolled);
+ gtk_adjustment_set_value (hadjustment, hvalue);
+ enable_hadjustment (scrolled);
+ }
+ gtk_adjustment_set_value (vadjustment, vvalue);
+ }
+ else if (hvalue != hadjustment->value)
+ gtk_adjustment_set_value (hadjustment, hvalue);
+
+ adjust_scrollbar (scrolled, priv->horizontal_scrollbar_window,
+ gtk_scrolled_window_get_hadjustment (gtk_scrolled),
+ &priv->horizontal_scrollbar_size, FALSE);
+ adjust_scrollbar (scrolled, priv->vertical_scrollbar_window,
+ gtk_scrolled_window_get_vadjustment (gtk_scrolled),
+ &priv->vertical_scrollbar_size, TRUE);
+}
+
+static gboolean
+timeout_scroll (gpointer data)
+{
+ gboolean ret = TRUE;
+ KatzeScrolled* scrolled = KATZE_SCROLLED (data);
+ KatzeScrolledPrivate* priv = scrolled->priv;
+
+ gdk_threads_enter ();
+ do_timeout_scroll (scrolled);
+
+ if (priv->vertical_speed < priv->deceleration &&
+ priv->vertical_speed > -priv->deceleration &&
+ priv->horizontal_speed < priv->deceleration &&
+ priv->horizontal_speed > -priv->deceleration)
+ {
+ priv->scrolling_timeout_id = 0;
+ if (!priv->hide_scrollbars_timeout_id)
+ priv->hide_scrollbars_timeout_id = g_timeout_add (500,
+ hide_scrollbars_timeout, scrolled);
+
+ ret = FALSE;
+ }
+ gdk_threads_leave ();
+
+ return ret;
+}
+
+static gdouble
+calculate_motion_scroll_values (gdouble old_value,
+ gdouble upper_limit,
+ gint current_coordinate,
+ gint previous_coordinate)
+{
+ gdouble new_value = old_value;
+ gint movement;
+
+ movement = current_coordinate - previous_coordinate;
+
+ if (old_value - movement < upper_limit)
+ new_value = old_value - movement;
+ else
+ new_value = upper_limit;
+
+ return new_value;
+}
+
+static void
+do_motion_scroll (KatzeScrolled* scrolled,
+ GtkWidget* widget,
+ gint x,
+ gint y,
+ guint32 timestamp)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+ GtkAdjustment* hadjustment;
+ GtkAdjustment* vadjustment;
+ gdouble hvalue;
+ gdouble vvalue;
+
+ if (priv->dragged || gtk_drag_check_threshold (widget, priv->start_x, priv->start_y, x, y))
+ {
+ if (timestamp - priv->previous_time > priv->dragging_stopped_delay || !priv->dragged)
+ {
+ priv->dragged = TRUE;
+ priv->going_right = priv->start_x < x;
+ priv->going_down = priv->start_y < y;
+ priv->start_x = priv->farest_x = x;
+ priv->start_y = priv->farest_y = y;
+ priv->start_time = priv->farest_time = timestamp;
+ }
+ else
+ {
+ if ((priv->going_right && x > priv->farest_x)
+ || (!priv->going_right && x < priv->farest_x))
+ {
+ priv->farest_x = x;
+ priv->farest_time = timestamp;
+ }
+ if ((priv->going_down && y > priv->farest_y)
+ || (!priv->going_down && y < priv->farest_y))
+ {
+ priv->farest_y = y;
+ priv->farest_time = timestamp;
+ }
+ if (gtk_drag_check_threshold (widget, priv->farest_x, priv->farest_y, x, y))
+ {
+ priv->start_x = priv->farest_x;
+ priv->farest_x = x;
+ priv->start_y = priv->farest_y;
+ priv->farest_y = y;
+ priv->start_time = priv->farest_time;
+ priv->farest_time = timestamp;
+ priv->going_right = priv->start_x < x;
+ priv->going_down = priv->start_y < y;
+ }
+ }
+
+ hadjustment = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (scrolled));
+ vadjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled));
+ hvalue = calculate_motion_scroll_values (hadjustment->value,
+ hadjustment->upper - hadjustment->page_size, x, priv->previous_x);
+ vvalue = calculate_motion_scroll_values (vadjustment->value,
+ vadjustment->upper - vadjustment->page_size, y, priv->previous_y);
+ if (vvalue != vadjustment->value)
+ {
+ if (hvalue != hadjustment->value)
+ {
+ disable_hadjustment (scrolled);
+ gtk_adjustment_set_value (hadjustment, hvalue);
+ enable_hadjustment (scrolled);
+ }
+ gtk_adjustment_set_value (vadjustment, vvalue);
+ }
+ else if (hvalue != hadjustment->value)
+ gtk_adjustment_set_value (hadjustment, hvalue);
+ }
+
+ priv->previous_y = y;
+ priv->previous_x = x;
+ priv->previous_time = timestamp;
+
+ adjust_scrollbar (scrolled, priv->horizontal_scrollbar_window,
+ gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (scrolled)),
+ &priv->horizontal_scrollbar_size, FALSE);
+ adjust_scrollbar (scrolled, priv->vertical_scrollbar_window,
+ gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled)),
+ &priv->vertical_scrollbar_size, TRUE);
+}
+
+static gboolean
+button_press_event (GtkWidget* widget,
+ GdkEventButton* event,
+ KatzeScrolled* scrolled)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+ gint x;
+ gint y;
+ GdkModifierType mask;
+
+ if (!priv->drag_scrolling)
+ return FALSE;
+
+ if (event->button != 1)
+ return FALSE;
+
+ priv->press_received = TRUE;
+
+ if (event->time - priv->previous_time < priv->dragging_stopped_delay &&
+ gtk_drag_check_threshold (widget, priv->previous_x, priv->previous_y, x, y))
+ {
+ if (priv->scrolling_timeout_id)
+ {
+ g_source_remove (priv->scrolling_timeout_id);
+ priv->scrolling_timeout_id = 0;
+ }
+ gdk_window_get_pointer (GTK_WIDGET (scrolled)->window, &x, &y, &mask);
+ /* do_motion_scroll (scrolled, widget, x, y, event->time); */
+ }
+ else
+ {
+ if (priv->scrolling_timeout_id)
+ {
+ g_source_remove (priv->scrolling_timeout_id);
+ priv->scrolling_timeout_id = 0;
+ priv->previous_time = 0;
+ }
+ else
+ {
+ priv->dragged = FALSE;
+ priv->previous_time = event->time;
+ }
+ gdk_window_get_pointer (GTK_WIDGET (scrolled)->window, &x, &y, &mask);
+ priv->start_x = priv->previous_x = priv->farest_x = x;
+ priv->start_y = priv->previous_y = priv->farest_y = y;
+ priv->start_time = event->time;
+ }
+
+ if (priv->scrolling_hints && !GTK_SCROLLED_WINDOW (scrolled)->hscrollbar_visible &&
+ adjust_scrollbar (scrolled, priv->horizontal_scrollbar_window,
+ gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (scrolled)),
+ &priv->horizontal_scrollbar_size, FALSE))
+ {
+ gdk_window_raise (priv->horizontal_scrollbar_window);
+ gdk_window_show (priv->horizontal_scrollbar_window);
+ }
+ if (priv->scrolling_hints && !GTK_SCROLLED_WINDOW (scrolled)->vscrollbar_visible &&
+ adjust_scrollbar (scrolled, priv->vertical_scrollbar_window,
+ gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled)),
+ &priv->vertical_scrollbar_size, TRUE))
+ {
+ gdk_window_raise (priv->vertical_scrollbar_window);
+ gdk_window_show (priv->vertical_scrollbar_window);
+ }
+ if (priv->hide_scrollbars_timeout_id)
+ {
+ g_source_remove (priv->hide_scrollbars_timeout_id);
+ priv->hide_scrollbars_timeout_id = 0;
+ }
+
+ return FALSE;
+}
+
+static gboolean
+button_release_event (GtkWidget* widget,
+ GdkEventButton* event,
+ KatzeScrolled* scrolled)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+ gint x;
+ gint y;
+ GdkModifierType mask;
+
+ gdk_window_get_pointer (GTK_WIDGET (scrolled)->window, &x, &y, &mask);
+ if (priv->press_received &&
+ gtk_drag_check_threshold (widget, priv->start_x, priv->start_y, x, y)) {
+ priv->dragged = TRUE;
+ }
+
+ if (priv->press_received && priv->kinetic_scrolling &&
+ event->time - priv->previous_time < priv->dragging_stopped_delay) {
+ priv->vertical_speed = (gdouble)(priv->start_y - y) / (event->time - priv->start_time) * priv->interval;
+ priv->horizontal_speed = (gdouble)(priv->start_x - x) / (event->time - priv->start_time) * priv->interval;
+ if (ABS (priv->vertical_speed) > ABS (priv->horizontal_speed)) {
+ priv->vertical_deceleration = priv->deceleration;
+ priv->horizontal_deceleration = priv->deceleration * ABS (priv->horizontal_speed / priv->vertical_speed);
+ } else {
+ priv->horizontal_deceleration = priv->deceleration;
+ priv->vertical_deceleration = priv->deceleration * ABS (priv->vertical_speed / priv->horizontal_speed);
+ }
+ priv->scrolling_timeout_id = g_timeout_add (priv->interval, timeout_scroll, scrolled);
+
+ do_timeout_scroll (scrolled);
+ }
+ else if (!priv->hide_scrollbars_timeout_id) {
+ priv->hide_scrollbars_timeout_id = g_timeout_add (500, hide_scrollbars_timeout, scrolled);
+ }
+ priv->previous_x = x;
+ priv->previous_y = y;
+ priv->previous_time = event->time;
+
+ priv->press_received = FALSE;
+
+ return FALSE;
+}
+
+static gboolean
+motion_notify_event (GtkWidget* widget,
+ GdkEventMotion* event,
+ KatzeScrolled* scrolled)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+ gint x;
+ gint y;
+ GdkModifierType mask;
+
+ if (priv->press_received)
+ {
+ gdk_window_get_pointer (GTK_WIDGET (scrolled)->window, &x, &y, &mask);
+ do_motion_scroll (scrolled, widget, x, y, event->time);
+ }
+
+ return FALSE;
+}
+
+static gboolean
+katze_scrolled_event_handler (GdkEvent* event,
+ KatzeScrolledState* state,
+ gpointer user_data)
+{
+ gboolean stop_propagating;
+ GdkEventCrossing crossing;
+
+ stop_propagating = FALSE;
+
+ if (event->type == GDK_BUTTON_PRESS)
+ {
+ gdk_window_get_user_data (event->button.window, (gpointer)¤t_widget);
+
+ if ((current_scrolled_window = g_tree_lookup (activated_widgets, current_widget)))
+ {
+ current_gdk_window = event->button.window;
+ stop_propagating = button_press_event (current_widget, &event->button, current_scrolled_window);
+ }
+ else
+ current_gdk_window = NULL;
+ }
+ else if (event->any.window == current_gdk_window)
+ {
+ if (event->type == GDK_MOTION_NOTIFY)
+ {
+ if (current_scrolled_window->priv->dragged)
+ stop_propagating = motion_notify_event (current_widget, &event->motion, current_scrolled_window);
+ else
+ {
+ stop_propagating = motion_notify_event (current_widget, &event->motion, current_scrolled_window);
+ if (current_scrolled_window->priv->dragged)
+ {
+ crossing.type = GDK_LEAVE_NOTIFY;
+ crossing.window = event->motion.window;
+ crossing.send_event = event->motion.send_event;
+ crossing.subwindow = GTK_WIDGET (current_scrolled_window)->window;
+ crossing.time = event->motion.time;
+ crossing.x = event->motion.x;
+ crossing.y = event->motion.y;
+ crossing.x_root = event->motion.x_root;
+ crossing.y_root = event->motion.y_root;
+ crossing.mode = GDK_CROSSING_GRAB;
+ crossing.detail = GDK_NOTIFY_ANCESTOR;
+ crossing.focus = TRUE;
+ crossing.state = event->motion.state;
+
+ gtk_main_do_event ((GdkEvent*)&crossing);
+ synthetized_crossing_event = TRUE;
+ }
+ }
+ }
+ else if ((event->type == GDK_ENTER_NOTIFY || event->type == GDK_LEAVE_NOTIFY) &&
+ synthetized_crossing_event)
+ stop_propagating = TRUE;
+ else if (event->type == GDK_BUTTON_RELEASE)
+ stop_propagating = button_release_event (current_widget, &event->button, current_scrolled_window);
+ }
+
+ if (!stop_propagating)
+ katze_scrolled_event_handler_next (event, state);
+
+ if (event->type == GDK_BUTTON_RELEASE && event->button.window == current_gdk_window)
+ {
+ crossing.type = GDK_ENTER_NOTIFY;
+ crossing.window = event->button.window;
+ crossing.send_event = event->button.send_event;
+ crossing.subwindow = GTK_WIDGET (current_scrolled_window)->window;
+ crossing.time = event->button.time;
+ crossing.x = event->button.x;
+ crossing.y = event->button.y;
+ crossing.x_root = event->button.x_root;
+ crossing.y_root = event->button.y_root;
+ crossing.mode = GDK_CROSSING_UNGRAB;
+ crossing.detail = GDK_NOTIFY_ANCESTOR;
+ crossing.focus = TRUE;
+ crossing.state = event->button.state;
+
+ gtk_main_do_event ((GdkEvent*)&crossing);
+ synthetized_crossing_event = FALSE;
+ }
+
+ return stop_propagating;
+}
+
+static void
+katze_scrolled_add (GtkContainer* container,
+ GtkWidget* widget)
+{
+ katze_scrolled_activate_scrolling (KATZE_SCROLLED (container), widget);
+
+ (*GTK_CONTAINER_CLASS (katze_scrolled_parent_class)->add) (container, widget);
+}
+
+static void
+katze_scrolled_realize (GtkWidget* widget)
+{
+ KatzeScrolled* scrolled = KATZE_SCROLLED (widget);
+ KatzeScrolledPrivate* priv = scrolled->priv;
+ gboolean drag_scrolling;
+ GtkSettings* settings = gtk_widget_get_settings (widget);
+ GtkPolicyType policy;
+ GdkWindowAttr attr;
+ GdkColor color;
+
+ (*GTK_WIDGET_CLASS (katze_scrolled_parent_class)->realize) (widget);
+
+ g_object_get (settings, "gtk-touchscreen-mode", &drag_scrolling, NULL);
+ policy = drag_scrolling ? GTK_POLICY_NEVER : GTK_POLICY_AUTOMATIC;
+ g_object_set (scrolled, "drag-scrolling", drag_scrolling,
+ "hscrollbar-policy", policy, "vscrollbar-policy", policy, NULL);
+
+ widget->window = g_object_ref (gtk_widget_get_parent_window (widget));
+
+ attr.height = attr.width = 10;
+ attr.event_mask = GDK_EXPOSURE_MASK;
+ attr.wclass = GDK_INPUT_OUTPUT;
+ attr.window_type = GDK_WINDOW_CHILD;
+ attr.override_redirect = TRUE;
+ priv->vertical_scrollbar_window = gdk_window_new (widget->window, &attr, 0);
+ priv->horizontal_scrollbar_window = gdk_window_new (widget->window, &attr, 0);
+
+ gdk_window_set_user_data (priv->vertical_scrollbar_window, widget);
+ gdk_window_set_user_data (priv->horizontal_scrollbar_window, widget);
+ g_signal_connect (widget, "expose-event",
+ G_CALLBACK (on_expose_event), scrolled);
+
+ color.red = color.green = color.blue = 0x9999;
+ gdk_rgb_find_color (gdk_colormap_get_system (), &color);
+ gdk_window_set_background (priv->vertical_scrollbar_window, &color);
+ gdk_window_set_background (priv->horizontal_scrollbar_window, &color);
+
+ priv->hilight_gc = gdk_gc_new (widget->window);
+ color.red = color.green = color.blue = 0xcccc;
+ gdk_gc_set_rgb_fg_color (priv->hilight_gc, &color);
+ priv->shadow_gc = gdk_gc_new (widget->window);
+ color.red = color.green = color.blue = 0x6666;
+ gdk_gc_set_rgb_fg_color (priv->shadow_gc, &color);
+
+ GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
+}
+
+static void
+katze_scrolled_dispose (GObject* object)
+{
+ KatzeScrolled* scrolled = KATZE_SCROLLED (object);
+ KatzeScrolledPrivate* priv = scrolled->priv;
+
+ if (priv->scrolling_timeout_id)
+ {
+ g_source_remove (priv->scrolling_timeout_id);
+ priv->scrolling_timeout_id = 0;
+ }
+ if (priv->hide_scrollbars_timeout_id)
+ {
+ g_source_remove (priv->hide_scrollbars_timeout_id);
+ priv->hide_scrollbars_timeout_id = 0;
+ }
+
+ (*G_OBJECT_CLASS (katze_scrolled_parent_class)->dispose) (object);
+}
+
+static void
+katze_scrolled_class_init (KatzeScrolledClass* class)
+{
+ GObjectClass* gobject_class;
+ GtkWidgetClass* widget_class;
+ GtkContainerClass* container_class;
+ GParamFlags flags = G_PARAM_READWRITE | G_PARAM_CONSTRUCT;
+ GtkSettings* gtk_settings;
+
+ gobject_class = G_OBJECT_CLASS (class);
+ widget_class = GTK_WIDGET_CLASS (class);
+ container_class = GTK_CONTAINER_CLASS (class);
+
+ gobject_class->set_property = katze_scrolled_set_property;
+ gobject_class->get_property = katze_scrolled_get_property;
+ gobject_class->dispose = katze_scrolled_dispose;
+
+ widget_class->realize = katze_scrolled_realize;
+
+ container_class->add = katze_scrolled_add;
+
+ /**
+ * KatzeScrolled:drag-scrolling:
+ *
+ * Whether the widget can be scrolled by dragging its contents.
+ *
+ * If "gtk-touchscreen-mode" is enabled, drag scrolling is
+ * automatically enabled.
+ *
+ * Since: 0.2.0
+ */
+ g_object_class_install_property (gobject_class,
+ PROP_DRAG_SCROLLING,
+ g_param_spec_boolean (
+ "drag-scrolling",
+ "Drag Scrolling",
+ "Whether the widget can be scrolled by dragging its contents",
+ FALSE,
+ flags));
+
+ /**
+ * KatzeScrolled:kinetic-scrolling:
+ *
+ * Whether drag scrolling is kinetic, that is releasing the
+ * pointer keeps the contents scrolling further relative to
+ * the speed with which they were dragged.
+ *
+ * Since: 0.2.0
+ */
+ g_object_class_install_property (gobject_class,
+ PROP_KINETIC_SCROLLING,
+ g_param_spec_boolean (
+ "kinetic-scrolling",
+ "Kinetic Scrolling",
+ "Whether drag scrolling is kinetic",
+ TRUE,
+ flags));
+
+ activated_widgets = g_tree_new ((GCompareFunc)compare_pointers);
+ current_gdk_window = NULL;
+
+ /* Usually touchscreen mode is either always set or it isn't, so it
+ should be a safe optimization to not setup events if not needed. */
+ if ((gtk_settings = gtk_settings_get_default ()))
+ {
+ gboolean touchscreen;
+ g_object_get (gtk_settings, "gtk-touchscreen-mode", &touchscreen, NULL);
+ if (touchscreen)
+ katze_scrolled_event_handler_append (katze_scrolled_event_handler, NULL);
+ }
+
+ g_type_class_add_private (class, sizeof (KatzeScrolledPrivate));
+}
+
+static void
+katze_scrolled_init (KatzeScrolled* scrolled)
+{
+ KatzeScrolledPrivate* priv;
+
+ scrolled->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE ((scrolled),
+ KATZE_TYPE_SCROLLED, KatzeScrolledPrivate);
+
+ priv->interval = DEFAULT_INTERVAL;
+ priv->deceleration = DEFAULT_DECELERATION;
+ priv->drag_scrolling = FALSE;
+ priv->kinetic_scrolling = TRUE;
+ priv->dragging_stopped_delay = DEFAULT_DRAGGING_STOPPED_DELAY;
+}
+
+static void
+katze_scrolled_set_property (GObject* object,
+ guint prop_id,
+ const GValue* value,
+ GParamSpec* pspec)
+{
+ KatzeScrolled* scrolled = KATZE_SCROLLED (object);
+
+ switch (prop_id)
+ {
+ case PROP_DRAG_SCROLLING:
+ katze_scrolled_set_drag_scrolling (scrolled, g_value_get_boolean (value));
+ break;
+ case PROP_KINETIC_SCROLLING:
+ scrolled->priv->kinetic_scrolling = g_value_get_boolean (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+katze_scrolled_get_property (GObject* object,
+ guint prop_id,
+ GValue* value,
+ GParamSpec* pspec)
+{
+ KatzeScrolled* scrolled = KATZE_SCROLLED (object);
+
+ switch (prop_id)
+ {
+ case PROP_DRAG_SCROLLING:
+ g_value_set_boolean (value, scrolled->priv->drag_scrolling);
+ break;
+ case PROP_KINETIC_SCROLLING:
+ g_value_set_boolean (value, scrolled->priv->kinetic_scrolling);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/**
+ * katze_scrolled_new:
+ * @hadjustment: a horizontal #GtkAdjustment, or %NULL
+ * @vadjustment: a vertical #GtkAdjustment, or %NULL
+ *
+ * Creates a new #KatzeScrolled.
+ *
+ * Since: 0.2.0
+ **/
+
+GtkWidget*
+katze_scrolled_new (GtkAdjustment* hadjustment,
+ GtkAdjustment* vadjustment)
+{
+ if (hadjustment)
+ g_return_val_if_fail (GTK_IS_ADJUSTMENT (hadjustment), NULL);
+ if (vadjustment)
+ g_return_val_if_fail (GTK_IS_ADJUSTMENT (vadjustment), NULL);
+
+ return gtk_widget_new (KATZE_TYPE_SCROLLED,
+ "hadjustment", hadjustment,
+ "vadjustment", vadjustment, NULL);
+}
+
+/**
+ * katze_scrolled_activate_scrolling:
+ * @scrolled: a #KatzeScrolled
+ * @widget: a #GtkWidget of which area is made active event source for
+ * drag and kinetic scrolling.
+ *
+ * Activates the widget so that pointer motion events inside the widget are
+ * used to scroll the #KatzeScrolled. The widget can be a child of the
+ * #KatzeScrolled or even a separate widget ("touchpad" style).
+ *
+ * The direct child of the #KatzeScrolled (typically #GtkViewport) is
+ * activated automatically when added. This function has to be used if indirect
+ * descendant widgets are stopping propagation of the button press and release
+ * as well as motion events (for example GtkButton is doing so) but scrolling
+ * should be possible inside their area too.
+ *
+ * This function adds #GDK_BUTTON_PRESS_MASK, #GDK_BUTTON_RELEASE_MASK,
+ * #GDK_POINTER_MOTION_MASK, and #GDK_MOTION_HINT_MAKS into the widgets event mask.
+ */
+
+static void
+katze_scrolled_activate_scrolling (KatzeScrolled* scrolled,
+ GtkWidget* widget)
+{
+ gtk_widget_add_events (widget,
+ GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK);
+ g_tree_insert (activated_widgets, widget, scrolled);
+}
+
+static void
+katze_scrolled_set_drag_scrolling (KatzeScrolled* scrolled,
+ gboolean drag_scrolling)
+{
+ KatzeScrolledPrivate* priv = scrolled->priv;
+
+ if (priv->drag_scrolling && !drag_scrolling)
+ {
+ if (priv->scrolling_timeout_id)
+ {
+ g_source_remove (priv->scrolling_timeout_id);
+ priv->scrolling_timeout_id = 0;
+ priv->previous_time = 0;
+ }
+
+ gdk_window_hide (priv->vertical_scrollbar_window);
+ gdk_window_hide (priv->horizontal_scrollbar_window);
+ if (priv->hide_scrollbars_timeout_id)
+ {
+ g_source_remove (priv->hide_scrollbars_timeout_id);
+ priv->hide_scrollbars_timeout_id = 0;
+ }
+
+ priv->press_received = FALSE;
+ }
+
+ priv->drag_scrolling = drag_scrolling;
+}
--- /dev/null
+/*
+ Copyright (C) 2007 Henrik Hedberg <hhedberg@innologies.fi>
+ Copyright (C) 2009 Nadav Wiener <nadavwr@yahoo.com>
+ 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.
+ */
+
+#ifndef KATZE_SCROLLED_H
+#define KATZE_SCROLLED_H
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+#define KATZE_TYPE_SCROLLED (katze_scrolled_get_type())
+#define KATZE_SCROLLED(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), KATZE_TYPE_SCROLLED, KatzeScrolled))
+#define KATZE_SCROLLED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), KATZE_TYPE_SCROLLED, KatzeScrolledClass))
+#define KATZE_IS_SCROLLED(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), KATZE_TYPE_SCROLLED))
+#define KATZE_IS_SCROLLED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), KATZE_TYPE_SCROLLED))
+#define KATZE_SCROLLED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), KATZE_TYPE_SCROLLED, KatzeScrolledClass))
+
+typedef struct _KatzeScrolled KatzeScrolled;
+typedef struct _KatzeScrolledClass KatzeScrolledClass;
+typedef struct _KatzeScrolledPrivate KatzeScrolledPrivate;
+
+struct _KatzeScrolled
+{
+ GtkScrolledWindow parent;
+
+ KatzeScrolledPrivate* priv;
+};
+
+struct _KatzeScrolledClass
+{
+ GtkScrolledWindowClass parent;
+
+ /* Padding for future expansion */
+ void (*_katze_reserved1) (void);
+ void (*_katze_reserved2) (void);
+ void (*_katze_reserved3) (void);
+ void (*_katze_reserved4) (void);
+};
+
+GType
+katze_scrolled_get_type (void);
+
+GtkWidget*
+katze_scrolled_new (GtkAdjustment* hadjustment,
+ GtkAdjustment* vadjustment);
+
+G_END_DECLS
+
+#endif /* __KATZE_SCROLLED_H__ */
* "uri": the widget created will be particularly suitable for
* choosing an existing filename, encoded as an URI.
* "font": the widget created will be particularly suitable for
- * choosing a font from installed fonts.
+ * choosing a variable-width font from installed fonts.
* Since 0.1.6 the following hints are also supported:
* "toggle": the widget created will be an empty toggle button. This
* is only supported with boolean properties.
* Since 0.1.8 "toggle" creates GtkCheckButton widgets without checkmarks.
+ * Since 0.2.0 the following hints are also supported:
+ * "font-monospace": the widget created will be particularly suitable for
+ * choosing a fixed-width font from installed fonts.
*
* Any other values for @hint are silently ignored.
*
G_CALLBACK (proxy_uri_file_set_cb), object);
#endif
}
- else if (type == G_TYPE_PARAM_STRING && _hint == g_intern_string ("font"))
+ else if (type == G_TYPE_PARAM_STRING && (_hint == g_intern_string ("font")
+ || _hint == g_intern_string ("font-monospace")))
{
- int n_families, i;
+ GtkComboBox* combo;
+ gint n_families, i;
PangoContext* context;
PangoFontFamily** families;
+ gboolean monospace = _hint == g_intern_string ("font-monospace");
string = katze_object_get_string (object, property);
widget = gtk_combo_box_new_text ();
+ combo = GTK_COMBO_BOX (widget);
context = gtk_widget_get_pango_context (widget);
pango_context_list_families (context, &families, &n_families);
if (!string)
string = g_strdup (G_PARAM_SPEC_STRING (pspec)->default_value);
- for (i = 0; i < n_families; i++)
+ if (string)
{
- const gchar* font = pango_font_family_get_name (families[i]);
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), font);
- if (string && !strcmp (font, string))
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), i);
+ gint j = 0;
+ for (i = 0; i < n_families; i++)
+ {
+ const gchar* font = pango_font_family_get_name (families[i]);
+ if (monospace != pango_font_family_is_monospace (families[i]))
+ continue;
+ gtk_combo_box_append_text (combo, font);
+ if (!g_ascii_strcasecmp (font, string))
+ gtk_combo_box_set_active (combo, j);
+ j++;
+ }
}
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (
- gtk_combo_box_get_model (GTK_COMBO_BOX (widget))),
- 0, GTK_SORT_ASCENDING);
+ gtk_combo_box_get_model (combo)), 0, GTK_SORT_ASCENDING);
g_signal_connect (widget, "changed",
G_CALLBACK (proxy_combo_box_text_changed_cb), object);
g_free (families);
#include "katze-arrayaction.h"
#include "katze-separatoraction.h"
#include "katze-net.h"
+#include "katze-scrolled.h"
#endif /* __KATZE_H__ */
{
if (error->code == G_FILE_ERROR_NOENT)
{
- gchar* config_file = sokoke_find_config_filename ("config");
+ gchar* config_file = sokoke_find_config_filename (NULL, "config");
g_key_file_load_from_file (key_file, config_file,
G_KEY_FILE_KEEP_COMMENTS, NULL);
}
gtk_widget_show (addon);
midori_panel_append_page (MIDORI_PANEL (panel), MIDORI_VIEWABLE (addon));
- /* Userstyles */
- addon = midori_addons_new (MIDORI_ADDON_USER_STYLES, GTK_WIDGET (browser));
- gtk_widget_show (addon);
- midori_panel_append_page (MIDORI_PANEL (panel), MIDORI_VIEWABLE (addon));
-
/* Plugins */
addon = g_object_new (MIDORI_TYPE_PLUGINS, "app", app, NULL);
gtk_widget_show (addon);
button_reset_session_clicked_cb (GtkWidget* button,
KatzeArray* session)
{
+ gchar* config_file;
+ GError* error;
+
+ config_file = build_config_filename ("session.old.xbel");
+ error = NULL;
+ if (!midori_array_to_file (session, config_file, "xbel", &error))
+ {
+ g_warning (_("The session couldn't be saved. %s"), error->message);
+ g_error_free (error);
+ }
+ g_free (config_file);
katze_array_clear (session);
gtk_widget_set_sensitive (button, FALSE);
}
MidoriApp* app = katze_item_get_parent (KATZE_ITEM (_session));
dialog = gtk_message_dialog_new (
- NULL, 0, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK,
+ NULL, 0, GTK_MESSAGE_WARNING,
+ #if HAVE_HILDON
+ #if HILDON_CHECK_VERSION (2, 2, 0)
+ GTK_BUTTONS_NONE,
+ #else
+ GTK_BUTTONS_OK,
+ #endif
+ #else
+ GTK_BUTTONS_OK,
+ #endif
_("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."));
gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 4);
gtk_widget_show_all (box);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), box);
+ #if HAVE_HILDON
+ #if HILDON_CHECK_VERSION (2, 2, 0)
+ box = gtk_hbox_new (FALSE, 4);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), box, TRUE, FALSE, 4);
+ button = hildon_gtk_button_new (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_HALFSCREEN_WIDTH);
+ gtk_button_set_label (GTK_BUTTON (button), GTK_STOCK_OK);
+ gtk_button_set_use_stock (GTK_BUTTON (button), TRUE);
+ g_signal_connect_swapped (button, "clicked",
+ G_CALLBACK (gtk_widget_destroy), dialog);
+ gtk_box_pack_start (GTK_BOX (box), button, TRUE, FALSE, 4);
+ gtk_widget_show_all (box);
+ #endif
+ #endif
if (1)
{
/* GtkLabel can't wrap the text properly. Until some day
return FALSE;
}
+static void
+midori_browser_action_last_session_activate_cb (GtkAction* action,
+ MidoriBrowser* browser)
+{
+ KatzeArray* old_session = katze_array_new (KATZE_TYPE_ITEM);
+ gchar* config_file = build_config_filename ("session.old.xbel");
+ GError* error = NULL;
+ if (midori_array_from_file (old_session, config_file, "xbel", &error))
+ {
+ guint i = 0;
+ KatzeItem* item;
+ while ((item = katze_array_get_nth_item (old_session, i++)))
+ midori_browser_add_item (browser, item);
+ }
+ else
+ {
+ g_warning (_("The session couldn't be loaded: %s\n"), error->message);
+ /* FIXME: Show a graphical dialog */
+ g_error_free (error);
+ }
+ g_free (config_file);
+ gtk_action_set_sensitive (action, FALSE);
+ g_signal_handlers_disconnect_by_func (action,
+ midori_browser_action_last_session_activate_cb, browser);
+}
+
static gboolean
midori_load_session (gpointer data)
{
gchar** command = g_object_get_data (G_OBJECT (app), "execute-command");
browser = midori_app_create_browser (app);
+ config_file = build_config_filename ("session.old.xbel");
+ if (g_file_test (config_file, G_FILE_TEST_EXISTS))
+ {
+ GtkActionGroup* action_group = midori_browser_get_action_group (browser);
+ GtkAction* action = gtk_action_group_get_action (action_group, "LastSession");
+ g_signal_connect (action, "activate",
+ G_CALLBACK (midori_browser_action_last_session_activate_cb), browser);
+ gtk_action_set_sensitive (action, TRUE);
+ }
midori_app_add_browser (app, browser);
gtk_widget_show (GTK_WIDGET (browser));
- config_file = build_config_filename ("accels");
+ katze_assign (config_file, build_config_filename ("accels"));
if (is_writable (config_file))
g_signal_connect_after (gtk_accel_map_get (), "changed",
G_CALLBACK (accel_map_changed_cb), NULL);
#if ENABLE_NLS
setlocale (LC_ALL, "");
- if (g_getenv ("NLSPATH"))
- bindtextdomain (GETTEXT_PACKAGE, g_getenv ("NLSPATH"));
+ if (g_getenv ("MIDORI_NLSPATH"))
+ bindtextdomain (GETTEXT_PACKAGE, g_getenv ("MIDORI_NLSPATH"));
else
#ifdef G_OS_WIN32
{
{
/* TODO: Open a tab per URI, seperated by pipes */
/* FIXME: Handle relative files or magic URI here */
+ /* Encode any IDN addresses because libUnique doesn't like them */
+ i = 0;
+ while (uris[i] != NULL)
+ {
+ gchar* new_uri = sokoke_uri_to_ascii (uris[i]);
+ katze_assign (uris[i], new_uri);
+ i++;
+ }
result = midori_app_instance_send_uris (app, uris);
}
else
search_engines = search_engines_new_from_file (config_file, NULL);
#else
katze_assign (config_file,
- sokoke_find_config_filename ("search"));
+ sokoke_find_config_filename (NULL, "search"));
search_engines = search_engines_new_from_file (config_file, NULL);
#endif
}
if (error->code == G_FILE_ERROR_NOENT)
{
katze_assign (config_file,
- sokoke_find_config_filename ("bookmarks.xbel"));
+ sokoke_find_config_filename (NULL, "bookmarks.xbel"));
midori_array_from_file (bookmarks, config_file, "xbel", NULL);
}
else
i = 0;
while ((key = g_list_nth_data (keys, i++)))
if (katze_item_get_meta_string (item, key))
+ {
+ gchar* escaped =
+ g_markup_escape_text (katze_item_get_meta_string (item, key), -1);
g_string_append_printf (markup, " %s:%s=\"%s\"", namespace, key,
- katze_item_get_meta_string (item, key));
+ escaped);
+ g_free (escaped);
+ }
g_string_append_printf (markup, "/>\n</info>\n");
return g_string_free (markup, FALSE);
}
static void
midori_browser_new_history_item (MidoriBrowser* browser,
- KatzeItem* item);
+ KatzeItem** item);
static void
_midori_browser_set_toolbar_style (MidoriBrowser* browser,
static void
_midori_browser_update_interface (MidoriBrowser* browser)
{
- GtkWidget* view;
+ GtkWidget* widget;
+ MidoriView* view;
gboolean loading;
gboolean can_reload;
GtkAction* action;
- view = midori_browser_get_current_tab (browser);
- loading = midori_view_get_load_status (MIDORI_VIEW (view))
- != MIDORI_LOAD_FINISHED;
- can_reload = midori_view_can_reload (MIDORI_VIEW (view));
+ widget = midori_browser_get_current_tab (browser);
+ view = MIDORI_VIEW (widget);
+ loading = midori_view_get_load_status (view) != MIDORI_LOAD_FINISHED;
+ can_reload = midori_view_can_reload (view);
_action_set_sensitive (browser, "Reload", can_reload && !loading);
_action_set_sensitive (browser, "Stop", can_reload && loading);
- _action_set_sensitive (browser, "Back",
- midori_view_can_go_back (MIDORI_VIEW (view)));
- _action_set_sensitive (browser, "Forward",
- midori_view_can_go_forward (MIDORI_VIEW (view)));
+ _action_set_sensitive (browser, "Back", midori_view_can_go_back (view));
+ _action_set_sensitive (browser, "Forward", midori_view_can_go_forward (view));
gtk_action_set_visible (_action_by_name (browser, "AddSpeedDial"),
- browser->speed_dial_in_new_tabs && !midori_view_is_blank (MIDORI_VIEW (view)));
+ browser->speed_dial_in_new_tabs && !midori_view_is_blank (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",
- midori_view_can_view_source (MIDORI_VIEW (view)));
- _action_set_sensitive (browser, "Print",
- midori_view_can_print (MIDORI_VIEW (view)));
- _action_set_sensitive (browser, "ZoomIn",
- midori_view_can_zoom_in (MIDORI_VIEW (view)));
- _action_set_sensitive (browser, "ZoomOut",
- midori_view_can_zoom_out (MIDORI_VIEW (view)));
+ _action_set_sensitive (browser, "SaveAs", midori_view_can_view_source (view));
+ _action_set_sensitive (browser, "Print", midori_view_can_print (view));
+ _action_set_sensitive (browser, "ZoomIn", midori_view_can_zoom_in (view));
+ _action_set_sensitive (browser, "ZoomOut", midori_view_can_zoom_out (view));
_action_set_sensitive (browser, "ZoomNormal",
- midori_view_get_zoom_level (MIDORI_VIEW (view)) != 1.0f);
+ midori_view_get_zoom_level (view) != 1.0f);
_action_set_sensitive (browser, "Encoding",
- midori_browser_view_can_set_encoding (MIDORI_VIEW (view)));
+ midori_browser_view_can_set_encoding (view));
_action_set_sensitive (browser, "SourceView",
- midori_view_can_view_source (MIDORI_VIEW (view)));
+ midori_view_can_view_source (view));
_action_set_sensitive (browser, "Find",
- midori_view_can_find (MIDORI_VIEW (view)));
+ midori_view_can_find (view));
_action_set_sensitive (browser, "FindNext",
- midori_view_can_find (MIDORI_VIEW (view)));
+ midori_view_can_find (view));
_action_set_sensitive (browser, "FindPrevious",
- midori_view_can_find (MIDORI_VIEW (view)));
+ midori_view_can_find (view));
gtk_widget_set_sensitive (GTK_WIDGET (browser->find_highlight),
- midori_view_can_find (MIDORI_VIEW (view)));
+ midori_view_can_find (view));
action = gtk_action_group_get_action (browser->action_group, "ReloadStop");
if (!loading)
{
- gtk_widget_set_sensitive (browser->throbber, FALSE);
g_object_set (action,
"stock-id", GTK_STOCK_REFRESH,
"tooltip", _("Reload the current page"),
}
else
{
- gtk_widget_set_sensitive (browser->throbber, TRUE);
g_object_set (action,
"stock-id", GTK_STOCK_STOP,
"tooltip", _("Stop loading the current page"), NULL);
{
action = _action_by_name (browser, "Location");
midori_location_action_set_progress (MIDORI_LOCATION_ACTION (action),
- midori_view_get_progress (MIDORI_VIEW (view)));
+ midori_view_get_progress (view));
}
}
+
+ #if HAVE_HILDON
+ #if HILDON_CHECK_VERSION (2, 2, 0)
+ hildon_gtk_window_set_progress_indicator (GTK_WINDOW (browser), loading);
+ #endif
+ #else
+ gtk_widget_set_sensitive (browser->throbber, loading);
katze_throbber_set_animated (KATZE_THROBBER (browser->throbber), loading);
+ #endif
action = _action_by_name (browser, "Location");
if (g_object_get_data (G_OBJECT (view), "news-feeds"))
+ {
midori_location_action_set_secondary_icon (
MIDORI_LOCATION_ACTION (action), STOCK_NEWS_FEED);
+ #if HAVE_HILDON
+ gtk_action_set_sensitive (_action_by_name (browser, "AddNewsFeed"), TRUE);
+ #endif
+ }
else
+ {
midori_location_action_set_secondary_icon (
MIDORI_LOCATION_ACTION (action), GTK_STOCK_JUMP_TO);
+ #if HAVE_HILDON
+ gtk_action_set_sensitive (_action_by_name (browser, "AddNewsFeed"), FALSE);
+ #endif
+ }
}
static void
_midori_browser_set_statusbar_text (MidoriBrowser* browser,
const gchar* text)
{
- katze_assign (browser->statusbar_text, g_strdup (text));
+ GtkWidget* widget = gtk_window_get_focus (GTK_WINDOW (browser));
+ gboolean is_location = widget ?
+ MIDORI_IS_LOCATION_ENTRY (gtk_widget_get_parent (widget)) : FALSE;
+
+ katze_assign (browser->statusbar_text, sokoke_format_uri_for_display (text));
- if (!GTK_WIDGET_VISIBLE (browser->statusbar))
+ if (!GTK_WIDGET_VISIBLE (browser->statusbar) && !is_location)
{
GtkAction* action = _action_by_name (browser, "Location");
MidoriLocationAction* location_action = MIDORI_LOCATION_ACTION (action);
}
static void
-midori_view_notify_load_status_cb (GtkWidget* view,
+midori_view_notify_load_status_cb (GtkWidget* widget,
GParamSpec* pspec,
MidoriBrowser* browser)
{
+ MidoriView* view = MIDORI_VIEW (widget);
const gchar* uri;
GtkAction* action;
- uri = midori_view_get_display_uri (MIDORI_VIEW (view));
+ uri = midori_view_get_display_uri (view);
action = _action_by_name (browser, "Location");
- if (midori_view_get_load_status (MIDORI_VIEW (view))
- == MIDORI_LOAD_COMMITTED)
+ if (midori_view_get_load_status (view) == MIDORI_LOAD_COMMITTED)
{
if (browser->remember_last_visited_pages)
midori_location_action_add_uri (MIDORI_LOCATION_ACTION (action), uri);
}
- if (view == midori_browser_get_current_tab (browser))
+ if (widget == midori_browser_get_current_tab (browser))
{
- if (midori_view_get_load_status (MIDORI_VIEW (view))
- == MIDORI_LOAD_COMMITTED)
+ if (midori_view_get_load_status (view) == MIDORI_LOAD_COMMITTED)
{
midori_location_action_set_uri (
MIDORI_LOCATION_ACTION (action), uri);
/* This is a hack to ensure that the address entry is focussed
with speed dial open. */
- if (midori_view_is_blank (MIDORI_VIEW (view)))
+ if (midori_view_is_blank (view))
gtk_action_activate (_action_by_name (browser, "Location"));
}
}
static void
-midori_view_notify_title_cb (GtkWidget* view,
+midori_view_notify_title_cb (GtkWidget* widget,
GParamSpec* pspec,
MidoriBrowser* browser)
{
+ MidoriView* view = MIDORI_VIEW (widget);
const gchar* uri;
const gchar* title;
GtkAction* action;
gchar* window_title;
- uri = midori_view_get_display_uri (MIDORI_VIEW (view));
- title = midori_view_get_display_title (MIDORI_VIEW (view));
+ uri = midori_view_get_display_uri (view);
+ title = midori_view_get_display_title (view);
action = _action_by_name (browser, "Location");
if (browser->remember_last_visited_pages)
midori_location_action_set_title_for_uri (
MIDORI_LOCATION_ACTION (action), title, uri);
- if (midori_view_get_load_status (MIDORI_VIEW (view)) == MIDORI_LOAD_COMMITTED)
+ if (midori_view_get_load_status (view) == MIDORI_LOAD_COMMITTED)
{
KatzeItem* item;
KatzeItem* proxy;
if (browser->history && browser->remember_last_visited_pages)
{
item = g_object_get_data (G_OBJECT (view), "history-item-added");
- proxy = midori_view_get_proxy_item (MIDORI_VIEW (view));
+ proxy = midori_view_get_proxy_item (view);
if (item && katze_item_get_added (item) == katze_item_get_added (proxy))
katze_item_set_name (item, katze_item_get_name (proxy));
else
{
katze_object_assign (item, katze_item_copy (proxy));
- midori_browser_new_history_item (browser, g_object_ref (item));
+ midori_browser_new_history_item (browser, &item);
+ g_object_ref (item);
g_object_set_data_full (G_OBJECT (view), "history-item-added",
item, (GDestroyNotify)g_object_unref);
}
}
}
- if (view == midori_browser_get_current_tab (browser))
+ if (widget == midori_browser_get_current_tab (browser))
{
window_title = g_strconcat (title, " - ",
g_get_application_name (), NULL);
}
static void
-midori_view_notify_statusbar_text_cb (MidoriView* view,
+midori_view_notify_statusbar_text_cb (GtkWidget* view,
GParamSpec* pspec,
MidoriBrowser* browser)
{
gchar* text;
- if ((GtkWidget*)view == midori_browser_get_current_tab (browser))
+ if (view == midori_browser_get_current_tab (browser))
{
g_object_get (view, "statusbar-text", &text, NULL);
_midori_browser_set_statusbar_text (browser, text);
}
}
+static void
+midori_browser_edit_bookmark_uri_changed_cb (GtkEntry* entry,
+ GtkDialog* dialog)
+{
+ const gchar* uri = gtk_entry_get_text (entry);
+ gtk_dialog_set_response_sensitive (dialog, GTK_RESPONSE_ACCEPT,
+ uri && (g_str_has_prefix (uri, "http://")
+ || g_str_has_prefix (uri, "https://")
+ || g_str_has_prefix (uri, "file://")));
+}
+
/* Private function, used by MidoriBookmarks and MidoriHistory */
/* static */ void
midori_browser_edit_bookmark_dialog_new (MidoriBrowser* browser,
entry_uri = gtk_entry_new ();
gtk_entry_set_activates_default (GTK_ENTRY (entry_uri), TRUE);
gtk_entry_set_text (GTK_ENTRY (entry_uri), katze_item_get_uri (bookmark));
+ midori_browser_edit_bookmark_uri_changed_cb (GTK_ENTRY (entry_uri),
+ GTK_DIALOG (dialog));
+ g_signal_connect (entry_uri, "changed",
+ G_CALLBACK (midori_browser_edit_bookmark_uri_changed_cb), dialog);
gtk_box_pack_start (GTK_BOX (hbox), entry_uri, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), hbox);
gtk_widget_show_all (hbox);
_midori_browser_add_tab (MidoriBrowser* browser,
GtkWidget* view)
{
+ GtkNotebook* notebook = GTK_NOTEBOOK (browser->notebook);
GtkWidget* tab_label;
KatzeItem* item;
guint n;
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (view),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
GTK_WIDGET_SET_FLAGS (view, GTK_CAN_FOCUS);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (view),
GTK_SHADOW_ETCHED_IN);
browser->settings &&
katze_object_get_boolean (browser->settings, "open-tabs-next-to-current"))
{
- n = gtk_notebook_get_current_page (GTK_NOTEBOOK (browser->notebook));
- gtk_notebook_insert_page (GTK_NOTEBOOK (browser->notebook), view,
- tab_label, n + 1);
+ n = gtk_notebook_get_current_page (notebook);
+ gtk_notebook_insert_page (notebook, view, tab_label, n + 1);
}
else
- gtk_notebook_append_page (GTK_NOTEBOOK (browser->notebook), view,
- tab_label);
+ gtk_notebook_append_page (notebook, view, tab_label);
- gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (browser->notebook),
- view, TRUE);
- gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (browser->notebook),
- view, TRUE);
+ gtk_notebook_set_tab_reorderable (notebook, view, TRUE);
+ gtk_notebook_set_tab_detachable (notebook, view, TRUE);
/* We want the tab to be removed if the widget is destroyed */
g_signal_connect (view, "destroy",
midori_browser_add_speed_dial (browser);
}
+static void
+_action_add_desktop_shortcut_activate (GtkAction* action,
+ MidoriBrowser* browser)
+{
+ #if defined (GDK_WINDOWING_X11)
+ /* TODO: Implement */
+ #elif defined(GDK_WINDOWING_QUARTZ)
+ /* TODO: Implement */
+ #elif defined (GDK_WINDOWING_WIN32)
+ /* TODO: Implement */
+ #elif HAVE_HILDON
+ /* TODO: Implement */
+ #endif
+}
+
+static void
+_action_add_news_feed_activate (GtkAction* action,
+ MidoriBrowser* browser)
+{
+ GtkWidget* view;
+ const gchar* uri;
+
+ if (!(view = midori_browser_get_current_tab (browser)))
+ return;
+ if (!(uri = g_object_get_data (G_OBJECT (view), "news-feeds")))
+ return;
+
+ if (browser->news_aggregator && *browser->news_aggregator)
+ sokoke_spawn_program (browser->news_aggregator, uri, TRUE);
+ else
+ {
+ GtkWidget* dialog = gtk_message_dialog_new (
+ GTK_WINDOW (browser), 0, GTK_MESSAGE_INFO,
+ GTK_BUTTONS_OK, "%s", _("New feed"));
+ gtk_message_dialog_format_secondary_text (
+ GTK_MESSAGE_DIALOG (dialog), "%s", uri);
+ gtk_widget_show (dialog);
+ g_signal_connect_swapped (dialog, "response",
+ G_CALLBACK (gtk_widget_destroy), dialog);
+ }
+}
+
+static void
+_action_compact_add_activate (GtkAction* action,
+ MidoriBrowser* browser)
+{
+ GtkStockItem item;
+ GtkWidget* dialog;
+ GtkBox* box;
+ gchar* label = NULL;
+ GtkWidget* button;
+
+ if (!GTK_WIDGET_VISIBLE (browser))
+ return;
+
+ gtk_stock_lookup (GTK_STOCK_ADD, &item);
+ dialog = g_object_new (GTK_TYPE_DIALOG,
+ "transient-for", browser, "title", item.label, NULL); /* Add a new bookmark */
+ box = GTK_BOX (GTK_DIALOG (dialog)->vbox);
+
+ action = _action_by_name (browser, "BookmarkAdd");
+ katze_assign (label, katze_object_get_string (action, "label"));
+ button = gtk_button_new_with_mnemonic (label);
+ gtk_box_pack_start (box, button, TRUE, TRUE, 4);
+ gtk_action_connect_proxy (action, button);
+ action = _action_by_name (browser, "AddSpeedDial");
+ katze_assign (label, katze_object_get_string (action, "label"));
+ button = gtk_button_new_with_mnemonic (label);
+ gtk_box_pack_start (box, button, TRUE, TRUE, 4);
+ gtk_action_connect_proxy (action, button);
+ action = _action_by_name (browser, "AddDesktopShortcut");
+ katze_assign (label, katze_object_get_string (action, "label"));
+ button = gtk_button_new_with_mnemonic (label);
+ gtk_box_pack_start (box, button, TRUE, TRUE, 4);
+ gtk_action_connect_proxy (action, button);
+ action = _action_by_name (browser, "AddNewsFeed");
+ katze_assign (label, katze_object_get_string (action, "label"));
+ button = gtk_button_new_with_mnemonic (label);
+ gtk_box_pack_start (box, button, TRUE, TRUE, 4);
+ gtk_action_connect_proxy (action, button);
+
+ g_free (label);
+
+ gtk_dialog_run (GTK_DIALOG (dialog));
+}
+
static void
_action_tab_close_activate (GtkAction* action,
MidoriBrowser* browser)
return TRUE;
}
+static void
+midori_browser_menu_item_select_cb (GtkWidget* menuitem,
+ MidoriBrowser* browser)
+{
+ GtkAction* action = gtk_widget_get_action (menuitem);
+ gchar* tooltip = action ? katze_object_get_string (action, "tooltip") : NULL;
+ if (!tooltip)
+ {
+ /* This is undocumented object data, used by KatzeArrayAction. */
+ KatzeItem* item = g_object_get_data (G_OBJECT (menuitem), "KatzeItem");
+ if (item)
+ tooltip = g_strdup (katze_item_get_uri (item));
+ }
+ _midori_browser_set_statusbar_text (browser, tooltip);
+ g_free (tooltip);
+}
+
+static void
+midori_browser_menu_item_deselect_cb (GtkWidget* menuitem,
+ MidoriBrowser* browser)
+{
+ _midori_browser_set_statusbar_text (browser, NULL);
+}
+
static void
_action_trash_populate_popup (GtkAction* action,
GtkMenu* menu,
MidoriBrowser* browser)
{
+ GList* children = gtk_container_get_children (GTK_CONTAINER (menu));
+ guint i = 0;
GtkWidget* menuitem;
+ while ((menuitem = g_list_nth_data (children, i++)))
+ {
+ g_signal_connect (menuitem, "select",
+ G_CALLBACK (midori_browser_menu_item_select_cb), browser);
+ g_signal_connect (menuitem, "deselect",
+ G_CALLBACK (midori_browser_menu_item_deselect_cb), browser);
+ }
+ g_list_free (children);
+
menuitem = gtk_separator_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
GtkMenu* menu,
MidoriBrowser* browser)
{
- /* Nothing to do */
+ GList* children = gtk_container_get_children (GTK_CONTAINER (menu));
+ guint i = 0;
+ GtkWidget* menuitem;
+
+ while ((menuitem = g_list_nth_data (children, i++)))
+ {
+ g_signal_connect (menuitem, "select",
+ G_CALLBACK (midori_browser_menu_item_select_cb), browser);
+ g_signal_connect (menuitem, "deselect",
+ G_CALLBACK (midori_browser_menu_item_deselect_cb), browser);
+ }
+ g_list_free (children);
}
static void
GtkMenu* menu,
MidoriBrowser* browser)
{
+ GList* children = gtk_container_get_children (GTK_CONTAINER (menu));
+ guint i = 0;
GtkWidget* menuitem;
+ while ((menuitem = g_list_nth_data (children, i++)))
+ {
+ g_signal_connect (menuitem, "select",
+ G_CALLBACK (midori_browser_menu_item_select_cb), browser);
+ g_signal_connect (menuitem, "deselect",
+ G_CALLBACK (midori_browser_menu_item_deselect_cb), browser);
+ }
+ g_list_free (children);
+
if (katze_array_get_nth_item (browser->bookmarks, 0))
{
menuitem = gtk_separator_menu_item_new ();
GtkMenu* menu,
MidoriBrowser* browser)
{
- GtkWidget* menuitem = gtk_separator_menu_item_new ();
+ GList* children = gtk_container_get_children (GTK_CONTAINER (menu));
+ guint i = 0;
+ GtkWidget* menuitem;
+
+ while ((menuitem = g_list_nth_data (children, i++)))
+ {
+ g_signal_connect (menuitem, "select",
+ G_CALLBACK (midori_browser_menu_item_select_cb), browser);
+ g_signal_connect (menuitem, "deselect",
+ G_CALLBACK (midori_browser_menu_item_deselect_cb), browser);
+ }
+ g_list_free (children);
+
+ menuitem = gtk_separator_menu_item_new ();
+ gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem);
+ gtk_widget_show (menuitem);
+ menuitem = gtk_action_create_menu_item (
+ _action_by_name (browser, "LastSession"));
+ gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem);
+ gtk_widget_show (menuitem);
+ menuitem = gtk_action_create_menu_item (
+ _action_by_name (browser, "TabCurrent"));
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
menuitem = gtk_action_create_menu_item (
static void
_action_compact_menu_populate_popup (GtkAction* action,
- GtkMenu* menu,
+ GtkWidget* menu,
MidoriBrowser* browser)
{
static const GtkActionEntry actions[] = {
{ "TabNew" },
{ "WindowNew" },
{ "Open" },
+ #if HAVE_HILDON
+ { "Find" },
+ { "Homepage" },
+ { "ManageSearchEngines" },
+ #else
{ "Print" },
{ "PrivateBrowsing" },
{ NULL },
{ "Statusbar" },
{ NULL },
{ "-" },
+ #endif
{ "ClearPrivateData" },
+ #if !HAVE_HILDON
{ "Fullscreen" },
+ #endif
{ "Preferences" },
};
guint i;
for (i = 0; i < G_N_ELEMENTS (actions); i++)
{
+ #if HAVE_HILDON
+ #if HILDON_CHECK_VERSION (2, 2, 0)
+ #define HAVE_APP_MENU 1
+ #endif
+ #endif
+ #ifdef HAVE_APP_MENU
+ GtkAction* _action;
+ gchar* label;
+ GtkWidget* button;
+
+ if (!actions[i].name)
+ continue;
+ _action = _action_by_name (browser, actions[i].name);
+ label = katze_object_get_string (_action, "label");
+ button = hildon_gtk_button_new (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH);
+ gtk_widget_show (button);
+ gtk_button_set_label (GTK_BUTTON (button), label);
+ g_free (label);
+ g_signal_connect_swapped (button, "clicked",
+ G_CALLBACK (gtk_action_activate), _action);
+ hildon_app_menu_append (HILDON_APP_MENU (menu), GTK_BUTTON (button));
+ #else
GtkWidget* menuitem;
if (actions[i].name != NULL)
{
menuitem = gtk_separator_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
+ #endif
}
}
_midori_browser_save_toolbar_items (browser);
}
}
+
+ g_object_set_data (G_OBJECT (browser), "midori-toolbars-visible",
+ GTK_WIDGET_VISIBLE (browser->menubar)
+ || GTK_WIDGET_VISIBLE (browser->navigationbar)
+ ? (void*)0xdeadbeef : NULL);
#endif
}
if (browser->settings)
g_object_set (browser->settings, "show-navigationbar", active, NULL);
sokoke_widget_set_visible (browser->navigationbar, active);
+
+ g_object_set_data (G_OBJECT (browser), "midori-toolbars-visible",
+ GTK_WIDGET_VISIBLE (browser->menubar)
+ || GTK_WIDGET_VISIBLE (browser->navigationbar)
+ ? (void*)0xdeadbeef : NULL);
}
static void
text_editor = NULL;
uri = midori_view_get_display_uri (MIDORI_VIEW (view));
- if (!g_strcmp0 (text_editor, ""))
+ if (!(text_editor && *text_editor))
{
- GFile* file = g_file_new_for_uri (uri);
+ #if WEBKIT_CHECK_VERSION (1, 1, 14)
+ GtkWidget* source;
+ GtkWidget* web_view;
+ source = midori_view_new (browser->net);
+ midori_view_set_settings (MIDORI_VIEW (source), browser->settings);
+ midori_view_set_uri (MIDORI_VIEW (source), "");
+ web_view = gtk_bin_get_child (GTK_BIN (source));
+ webkit_web_view_set_view_source_mode (WEBKIT_WEB_VIEW (web_view), TRUE);
+ webkit_web_view_load_uri (WEBKIT_WEB_VIEW (web_view), uri);
+ gtk_widget_show (source);
+ midori_browser_add_tab (browser, source);
+ return;
+ #else
+ GFile* file = g_file_new_for_uri (uri);
gchar* content_type;
GAppInfo* app_info;
GList* files;
g_free (text_editor);
return;
}
+ #endif
}
+ if (g_str_has_prefix (uri, "file://"))
+ {
+ gchar* filename = g_filename_from_uri (uri, NULL, NULL);
+ sokoke_spawn_program (text_editor, filename, TRUE);
+ g_free (filename);
+ return;
+ }
katze_net_load_uri (browser->net, uri, NULL,
(KatzeNetTransferCb)midori_browser_source_transfer_cb, browser);
g_free (text_editor);
if (gtk_window_get_focus (GTK_WINDOW (browser)) == widget)
_action_location_submit_uri (action, uri, FALSE, browser);
else if ((uri = g_object_get_data (G_OBJECT (view), "news-feeds")))
- {
- if (browser->news_aggregator && *browser->news_aggregator)
- sokoke_spawn_program (browser->news_aggregator, uri, TRUE);
- else
- {
- GtkWidget* dialog = gtk_message_dialog_new (
- GTK_WINDOW (browser), 0, GTK_MESSAGE_INFO,
- GTK_BUTTONS_OK, "%s", _("New feed"));
- gtk_message_dialog_format_secondary_text (
- GTK_MESSAGE_DIALOG (dialog), "%s", uri);
- gtk_widget_show (dialog);
- g_signal_connect_swapped (dialog, "response",
- G_CALLBACK (gtk_widget_destroy), dialog);
- }
- }
+ _action_add_news_feed_activate (action, browser);
else
_action_location_submit_uri (action, uri, FALSE, browser);
return TRUE;
gtk_notebook_set_current_page (GTK_NOTEBOOK (browser->notebook), n + 1);
}
+static void
+_action_tab_current_activate (GtkAction* action,
+ MidoriBrowser* browser)
+{
+ GtkWidget* view = midori_browser_get_current_tab (browser);
+ GtkWidget* child = gtk_bin_get_child (GTK_BIN (view));
+ gtk_widget_grab_focus (child ? child : view);
+}
+
static const gchar* credits_authors[] = {
"Christian Dywan <christian@twotoasts.de>", NULL };
static const gchar* credits_documenters[] = {
guint page_num,
MidoriBrowser* browser)
{
- GtkWidget* view;
+ GtkWidget* widget;
+ GtkAction* action;
+ const gchar* text;
+
+ if (!(widget = midori_browser_get_current_tab (browser)))
+ return;
+
+ action = _action_by_name (browser, "Location");
+ text = midori_location_action_get_text (MIDORI_LOCATION_ACTION (action));
+ g_object_set_data_full (G_OBJECT (widget), "midori-browser-typed-text",
+ g_strdup (text), g_free);
+}
+
+static void
+gtk_notebook_switch_page_after_cb (GtkWidget* notebook,
+ GtkNotebookPage* page,
+ guint page_num,
+ MidoriBrowser* browser)
+{
+ GtkWidget* widget;
+ MidoriView* view;
const gchar* uri;
GtkAction* action;
const gchar* title;
gchar* window_title;
- if (!(view = midori_browser_get_current_tab (browser)))
+ if (!(widget = midori_browser_get_current_tab (browser)))
return;
- uri = midori_view_get_display_uri (MIDORI_VIEW (view));
+ view = MIDORI_VIEW (widget);
+ uri = g_object_get_data (G_OBJECT (widget), "midori-browser-typed-text");
+ if (!uri)
+ uri = midori_view_get_display_uri (view);
action = _action_by_name (browser, "Location");
- midori_location_action_set_uri (MIDORI_LOCATION_ACTION (action), uri);
+ midori_location_action_set_text (MIDORI_LOCATION_ACTION (action), uri);
midori_location_action_set_icon (MIDORI_LOCATION_ACTION (action),
- midori_view_get_icon (MIDORI_VIEW (view)));
+ midori_view_get_icon (view));
- title = midori_view_get_display_title (MIDORI_VIEW (view));
+ title = midori_view_get_display_title (view);
window_title = g_strconcat (title, " - ", g_get_application_name (), NULL);
gtk_window_set_title (GTK_WINDOW (browser), window_title);
g_free (window_title);
if (browser->proxy_array)
katze_item_set_meta_integer (KATZE_ITEM (browser->proxy_array), "current",
midori_browser_get_current_page (browser));
+ g_object_freeze_notify (G_OBJECT (browser));
g_object_notify (G_OBJECT (browser), "uri");
+ g_object_notify (G_OBJECT (browser), "tab");
+ g_object_thaw_notify (G_OBJECT (browser));
_midori_browser_set_statusbar_text (browser, NULL);
_midori_browser_update_interface (browser);
- _midori_browser_update_progress (browser, MIDORI_VIEW (view));
+ _midori_browser_update_progress (browser, view);
}
static void
KatzeItem* item = midori_view_get_proxy_item (view);
katze_array_move_item (browser->proxy_array, item, page_num);
+ g_object_freeze_notify (G_OBJECT (browser));
g_object_notify (G_OBJECT (browser), "uri");
+ g_object_notify (G_OBJECT (browser), "tab");
+ g_object_thaw_notify (G_OBJECT (browser));
}
static gboolean
{ "AddSpeedDial", NULL,
N_("Add to Speed _dial"), "<Ctrl>h",
N_("Add shortcut to speed dial"), G_CALLBACK (_action_add_speed_dial_activate) },
+ { "AddDesktopShortcut", NULL,
+ N_("Add Shortcut to the _desktop"), "<Ctrl>h",
+ N_("Add shortcut to the desktop"), G_CALLBACK (_action_add_desktop_shortcut_activate) },
+ { "AddNewsFeed", NULL,
+ N_("Subscribe to News _feed"), NULL,
+ N_("Subscribe to this news feed"), G_CALLBACK (_action_add_news_feed_activate) },
+ { "CompactAdd", GTK_STOCK_ADD,
+ NULL, NULL,
+ NULL, G_CALLBACK (_action_compact_add_activate) },
{ "TabClose", GTK_STOCK_CLOSE,
N_("_Close Tab"), "<Ctrl>w",
N_("Close the current tab"), G_CALLBACK (_action_tab_close_activate) },
N_("Reset the zoom level"), G_CALLBACK (_action_zoom_normal_activate) },
{ "Encoding", NULL, N_("_Encoding") },
{ "SourceView", NULL,
- N_("View So_urce"), "<Ctrl>U",
+ N_("View So_urce"), "<Ctrl><Alt>U",
N_("View the source code of the page"), G_CALLBACK (_action_source_view_activate) },
{ "SelectionSourceView", NULL,
N_("View Selection Source"), "",
{ "TabNext", GTK_STOCK_GO_FORWARD,
N_("_Next Tab"), "<Ctrl>Page_Down",
N_("Switch to the next tab"), G_CALLBACK (_action_tab_next_activate) },
+ { "TabCurrent", NULL,
+ N_("Focus _Current Tab"), "<Ctrl>Home",
+ N_("Focus the current tab"), G_CALLBACK (_action_tab_current_activate) },
+ { "LastSession", NULL,
+ N_("Open last _session"), NULL,
+ N_("Open the tabs saved in the last session"), NULL },
{ "Help", NULL, N_("_Help") },
{ "HelpContents", GTK_STOCK_HELP,
"<separator/>"
"<menuitem action='SaveAs'/>"
"<menuitem action='AddSpeedDial'/>"
+ "<menuitem action='AddDesktopShortcut'/>"
"<separator/>"
"<menuitem action='TabClose'/>"
"<menuitem action='WindowClose'/>"
"<menuitem action='ClearPrivateData'/>"
"<menuitem action='TabPrevious'/>"
"<menuitem action='TabNext'/>"
+ "<menuitem action='TabCurrent'/>"
+ "<menuitem action='LastSession'/>"
"<menuitem action='UndoTabClose'/>"
"<menuitem action='TrashEmpty'/>"
"<menuitem action='Preferences'/>"
static void
midori_browser_new_history_item (MidoriBrowser* browser,
- KatzeItem* item)
+ KatzeItem** item)
{
KatzeArray* parent;
gint i;
gboolean found;
time_t now;
gint64 day;
- gint64 pday;
- gint64 newage;
gchar token[50];
now = time (NULL);
- katze_item_set_added (item, now);
+ katze_item_set_added (*item, now);
day = sokoke_time_t_to_julian (&now);
found = FALSE;
i = 0;
while ((parent = katze_array_get_nth_item (browser->history, i++)))
{
- pday = katze_item_get_added (KATZE_ITEM (parent));
- newage = day - pday;
- if (newage == 0)
+ gint64 pday = katze_item_get_added (KATZE_ITEM (parent));
+ if (day - pday == 0)
{
+ KatzeItem* _item;
+
found = TRUE;
- katze_array_add_item (parent, item);
+ if ((_item = katze_array_find_uri (parent, katze_item_get_uri (*item))))
+ *item = g_object_ref (_item);
+ else
+ katze_array_add_item (parent, *item);
}
}
if (!found)
katze_item_set_added (KATZE_ITEM (parent), day);
katze_item_set_name (KATZE_ITEM (parent), token);
katze_array_add_item (browser->history, parent);
- katze_array_add_item (parent, item);
+ katze_array_add_item (parent, *item);
}
}
}
}
+static void
+midori_browser_ui_manager_connect_proxy_cb (GtkUIManager* ui_manager,
+ GtkAction* action,
+ GtkWidget* proxy,
+ MidoriBrowser* browser)
+{
+ if (GTK_IS_MENU_ITEM (proxy))
+ {
+ g_signal_connect (proxy, "select",
+ G_CALLBACK (midori_browser_menu_item_select_cb), browser);
+ g_signal_connect (proxy, "deselect",
+ G_CALLBACK (midori_browser_menu_item_deselect_cb), browser);
+ }
+}
+
+static void
+midori_browser_ui_manager_disconnect_proxy_cb (GtkUIManager* ui_manager,
+ GtkAction* action,
+ GtkWidget* proxy,
+ MidoriBrowser* browser)
+{
+ if (GTK_IS_MENU_ITEM (proxy))
+ {
+ g_signal_handlers_disconnect_by_func (proxy,
+ midori_browser_menu_item_select_cb, browser);
+ g_signal_handlers_disconnect_by_func (proxy,
+ midori_browser_menu_item_deselect_cb, browser);
+ }
+}
+
static void
midori_browser_init (MidoriBrowser* browser)
{
guint i;
GError* error;
GtkAction* action;
+ #if !HAVE_HILDON
GtkWidget* menuitem;
+ #endif
GtkWidget* homepage;
GtkWidget* back;
GtkWidget* forward;
- #if HAVE_HILDON
- GtkWidget* menu;
- GList* children;
- #endif
GtkSettings* gtk_settings;
GtkWidget* hpaned;
GtkWidget* vpaned;
encoding_entries, encoding_entries_n, 0,
G_CALLBACK (_action_view_encoding_activate), browser);
ui_manager = gtk_ui_manager_new ();
+ g_signal_connect (ui_manager, "connect-proxy",
+ G_CALLBACK (midori_browser_ui_manager_connect_proxy_cb), browser);
+ g_signal_connect (ui_manager, "disconnect-proxy",
+ G_CALLBACK (midori_browser_ui_manager_disconnect_proxy_cb), browser);
gtk_ui_manager_insert_action_group (ui_manager, browser->action_group, 0);
accel_group = gtk_ui_manager_get_accel_group (ui_manager);
gtk_window_add_accel_group (GTK_WINDOW (browser), accel_group);
g_object_unref (action);
/* Create the menubar */
- browser->menubar = gtk_ui_manager_get_widget (ui_manager, "/menubar");
#if HAVE_HILDON
- menu = gtk_menu_new ();
- children = gtk_container_get_children (GTK_CONTAINER (browser->menubar));
- while (children)
- {
- menuitem = GTK_WIDGET (children->data);
- gtk_widget_reparent (menuitem, menu);
- children = g_list_next (children);
- }
- browser->menubar = menu;
+ #if HILDON_CHECK_VERSION (2, 2, 0)
+ browser->menubar = hildon_app_menu_new ();
+ _action_compact_menu_populate_popup (NULL, browser->menubar, browser);
+ hildon_window_set_app_menu (HILDON_WINDOW (browser), HILDON_APP_MENU (browser->menubar));
+ #else
+ browser->menubar = gtk_menu_new ();
+ _action_compact_menu_populate_popup (NULL, browser->menubar, browser);
hildon_window_set_menu (HILDON_WINDOW (browser), GTK_MENU (browser->menubar));
+ #endif
hildon_program_add_window (hildon_program_get_instance (),
HILDON_WINDOW (browser));
#else
+ browser->menubar = gtk_ui_manager_get_widget (ui_manager, "/menubar");
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_menu_button_press_event_cb), browser);
- #endif
+
menuitem = gtk_menu_item_new ();
- #if !HAVE_HILDON
gtk_widget_show (menuitem);
- #endif
browser->throbber = katze_throbber_new ();
gtk_widget_show (browser->throbber);
gtk_container_add (GTK_CONTAINER (menuitem), browser->throbber);
gtk_widget_set_sensitive (menuitem, FALSE);
gtk_menu_item_set_right_justified (GTK_MENU_ITEM (menuitem), TRUE);
gtk_menu_shell_append (GTK_MENU_SHELL (browser->menubar), menuitem);
+ #endif
browser->menu_tools = gtk_menu_new ();
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (
#endif
_action_set_sensitive (browser, "EncodingCustom", FALSE);
_action_set_sensitive (browser, "SelectionSourceView", FALSE);
+ _action_set_sensitive (browser, "LastSession", FALSE);
+ /* FIXME: Enable once implemented */
+ _action_set_sensitive (browser, "AddDesktopShortcut", FALSE);
/* Create the navigationbar */
browser->navigationbar = gtk_ui_manager_get_widget (
g_object_unref (rcstyle);
gtk_notebook_set_scrollable (GTK_NOTEBOOK (browser->notebook), TRUE);
gtk_paned_pack2 (GTK_PANED (vpaned), browser->notebook, FALSE, FALSE);
+ g_signal_connect (browser->notebook, "switch-page",
+ G_CALLBACK (gtk_notebook_switch_page_cb),
+ browser);
g_signal_connect_after (browser->notebook, "switch-page",
- G_CALLBACK (gtk_notebook_switch_page_cb),
+ G_CALLBACK (gtk_notebook_switch_page_after_cb),
browser);
g_signal_connect (browser->notebook, "page-reordered",
G_CALLBACK (midori_browser_notebook_page_reordered_cb),
GtkWidget* toolitem;
#if HAVE_HILDON
- items = "Bookmarks,Window,Back,Forward,ReloadStop,Location,Panel,Trash";
+ items = "Bookmarks,CompactAdd,ReloadStop,Location,Back,Fullscreen";
#endif
gtk_container_foreach (GTK_CONTAINER (browser->navigationbar),
g_signal_handlers_disconnect_by_func (
browser->bookmarks, browser_bookmarks_add_item_cb, browser->bookmarkbar);
g_signal_handlers_disconnect_by_func (
- browser->bookmarks, browser_bookmarks_remove_item_cb, browser->bookmarkbar);
+ browser->bookmarks, browser_bookmarks_remove_item_cb, browser);
}
if (bookmarks)
gint n)
{
GtkWidget* view;
+ GtkWidget* web_view;
gtk_notebook_set_current_page (GTK_NOTEBOOK (browser->notebook), n);
view = gtk_notebook_get_nth_page (GTK_NOTEBOOK (browser->notebook), n);
if (view && midori_view_is_blank (MIDORI_VIEW (view)))
gtk_action_activate (_action_by_name (browser, "Location"));
- else if (view)
+ else if ((web_view = gtk_bin_get_child (GTK_BIN (view))))
+ gtk_widget_grab_focus (web_view);
+ else
gtk_widget_grab_focus (view);
}
GtkWidget* view)
{
gint n;
+ GtkWidget* web_view;
g_return_if_fail (MIDORI_IS_BROWSER (browser));
g_return_if_fail (GTK_IS_WIDGET (view));
gtk_notebook_set_current_page (GTK_NOTEBOOK (browser->notebook), n);
if (view && midori_view_is_blank (MIDORI_VIEW (view)))
gtk_action_activate (_action_by_name (browser, "Location"));
+ else if ((web_view = gtk_bin_get_child (GTK_BIN (view))))
+ gtk_widget_grab_focus (web_view);
else
gtk_widget_grab_focus (view);
}
if (!g_key_file_load_from_file (extension->priv->key_file, config_file,
G_KEY_FILE_KEEP_COMMENTS, &error))
{
- if (error->code != G_FILE_ERROR_NOENT)
+ if (error->code == G_FILE_ERROR_NOENT)
+ {
+ gchar* filename = g_object_get_data (G_OBJECT (extension), "filename");
+ gchar* folder = g_strconcat ("extensions/", filename, NULL);
+ katze_assign (config_file,
+ sokoke_find_config_filename (folder, "config"));
+ g_free (folder);
+ g_key_file_load_from_file (extension->priv->key_file, config_file,
+ G_KEY_FILE_KEEP_COMMENTS, NULL);
+ }
+ else
printf (_("The configuration of the extension '%s' couldn't be loaded: %s\n"),
extension->priv->name, error->message);
g_error_free (error);
}
+ g_free (config_file);
}
while (lsettings)
{
GtkAction parent_instance;
+ gchar* text;
gchar* uri;
KatzeArray* search_engines;
gdouble progress;
static void
midori_location_action_init (MidoriLocationAction* location_action)
{
- location_action->uri = NULL;
+ location_action->text = location_action->uri = NULL;
location_action->search_engines = NULL;
location_action->progress = 0.0;
location_action->secondary_icon = NULL;
{
MidoriLocationAction* location_action = MIDORI_LOCATION_ACTION (object);
+ katze_assign (location_action->text, NULL);
katze_assign (location_action->uri, NULL);
katze_assign (location_action->search_engines, NULL);
return toolitem;
}
+static void
+midori_location_action_changed_cb (GtkEntry* entry,
+ MidoriLocationAction* location_action)
+{
+ katze_assign (location_action->text, g_strdup (gtk_entry_get_text (entry)));
+}
+
static gboolean
-midori_location_action_key_press_event_cb (GtkWidget* widget,
+midori_location_action_key_press_event_cb (GtkEntry* entry,
GdkEventKey* event,
GtkAction* action)
{
case GDK_KP_Enter:
case GDK_Return:
{
- if ((uri = gtk_entry_get_text (GTK_ENTRY (widget))) && *uri)
+ if ((uri = gtk_entry_get_text (entry)) && *uri)
{
g_signal_emit (action, signals[SUBMIT_URI], 0, uri,
(event->state & GDK_MOD1_MASK) ? TRUE : FALSE);
static gboolean
midori_location_action_focus_in_event_cb (GtkWidget* widget,
- GdkEventKey* event,
- GtkAction* action)
+ GdkEventKey* event,
+ GtkAction* action)
{
g_signal_emit (action, signals[FOCUS_IN], 0);
return FALSE;
temp = g_utf8_casefold (title, -1);
match = (strstr (temp, key) != NULL);
g_free (temp);
- g_free (title);
}
}
+ g_free (title);
+
return match;
}
}
static void
-midori_location_action_set_item (MidoriLocationAction* location_action,
- MidoriLocationEntryItem* item,
- gboolean increment_visits,
- gboolean filter)
+midori_location_action_set_item (MidoriLocationAction* location_action,
+ GdkPixbuf* icon,
+ const gchar* uri,
+ const gchar* title,
+ gboolean increment_visits,
+ gboolean filter)
{
GtkTreeModel* model;
GtkTreeModel* filter_model;
GtkTreeIter iter;
- GdkPixbuf* icon;
GdkPixbuf* new_icon;
gint visits = 0;
+ gchar* _title = NULL;
+ GdkPixbuf* original_icon = NULL;
model = location_action->model;
- if (midori_location_action_iter_insert (location_action,
- item->uri, &iter, G_MAXINT))
+ if (midori_location_action_iter_insert (location_action, uri, &iter, G_MAXINT))
gtk_tree_model_get (model, &iter, VISITS_COL, &visits, -1);
+ gtk_tree_model_get (model, &iter, FAVICON_COL, &original_icon, -1);
+
if (increment_visits)
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
VISITS_COL, ++visits, VISIBLE_COL, TRUE, -1);
/* Ensure we keep the title if we added the same URI with a title before */
- if (!item->title)
- gtk_tree_model_get (model, &iter, TITLE_COL, &item->title, -1);
+ if (!title)
+ {
+ gtk_tree_model_get (model, &iter, TITLE_COL, &_title, -1);
+ title = _title;
+ }
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
- URI_COL, item->uri, TITLE_COL, item->title, YALIGN_COL, 0.25, -1);
+ URI_COL, uri, TITLE_COL, title, YALIGN_COL, 0.25, -1);
+ g_free (_title);
- gtk_tree_model_get (model, &iter, FAVICON_COL, &icon, -1);
- if (item->favicon)
- new_icon = item->favicon;
- else if (!icon)
- new_icon = location_action->default_icon;
- else
+ if (icon)
+ new_icon = icon;
+ else if (original_icon)
+ {
new_icon = NULL;
+ g_object_unref (original_icon);
+ }
+ else
+ new_icon = location_action->default_icon;
if (new_icon)
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
FAVICON_COL, new_icon, -1);
gchar* uri;
gtk_tree_model_get (model, iter, URI_COL, &uri, -1);
- midori_location_action_set_uri (location_action, uri);
+ midori_location_action_set_text (location_action, uri);
g_signal_emit (location_action, signals[SUBMIT_URI], 0, uri, FALSE);
g_free (uri);
if (!item)
return;
search = sokoke_search_uri (uri, keywords);
- midori_location_action_set_uri (location_action, search);
+ midori_location_action_set_text (location_action, search);
g_signal_emit (location_action, signals[SUBMIT_URI], 0, search, FALSE);
g_free (search);
}
gtk_tree_model_get (model, &iter, FAVICON_COL, &pixbuf,
URI_COL, &uri, -1);
+ #if !HAVE_HILDON
gtk_icon_entry_set_icon_from_pixbuf (GTK_ICON_ENTRY (entry),
GTK_ICON_ENTRY_PRIMARY, pixbuf);
+ #endif
g_object_unref (pixbuf);
- katze_assign (location_action->uri, uri);
+ katze_assign (location_action->text, uri);
+ katze_assign (location_action->uri, g_strdup (uri));
g_signal_emit (location_action, signals[ACTIVE_CHANGED], 0,
gtk_combo_box_get_active (combo_box));
G_CALLBACK (midori_location_action_entry_changed_cb), action);
g_object_connect (gtk_bin_get_child (GTK_BIN (entry)),
+ "signal::changed",
+ midori_location_action_changed_cb, action,
"signal::key-press-event",
midori_location_action_key_press_event_cb, action,
"signal::focus-in-event",
(action, proxy);
}
+/**
+ * midori_location_action_get_uri:
+ * @location_action: a #MidoriLocationAction
+ *
+ * Retrieves the current URI. See also midori_location_action_get_text().
+ *
+ * Return value: the current URI
+ **/
const gchar*
midori_location_action_get_uri (MidoriLocationAction* location_action)
{
return location_action->uri;
}
+/**
+ * midori_location_action_get_text:
+ * @location_action: a #MidoriLocationAction
+ *
+ * Retrieves the current text, which may be the current URI or
+ * anything typed in the entry.
+ *
+ * Return value: the current text
+ *
+ * Since: 0.2.0
+ **/
+const gchar*
+midori_location_action_get_text (MidoriLocationAction* location_action)
+{
+ g_return_val_if_fail (MIDORI_IS_LOCATION_ACTION (location_action), NULL);
+
+ return location_action->text;
+}
+
/**
* midori_location_action_set_text:
* @location_action: a #MidoriLocationAction
* @text: a string
*
* Sets the entry text to @text and, if applicable, updates the icon.
+ *
+ * Since: 0.2.0
**/
-static void
+void
midori_location_action_set_text (MidoriLocationAction* location_action,
const gchar* text)
{
GtkTreeIter iter;
GdkPixbuf* icon;
+ g_return_if_fail (MIDORI_IS_LOCATION_ACTION (location_action));
+ g_return_if_fail (text != NULL);
+
+ katze_assign (location_action->text, g_strdup (text));
+
if (!(proxies = gtk_action_get_proxies (GTK_ACTION (location_action))))
return;
if (midori_location_action_iter_lookup (location_action, text, &iter))
+ {
gtk_tree_model_get (location_action->model,
&iter, FAVICON_COL, &icon, -1);
+ katze_assign (location_action->uri, g_strdup (text));
+ }
else
icon = g_object_ref (location_action->default_icon);
entry = gtk_bin_get_child (GTK_BIN (location_entry));
gtk_entry_set_text (GTK_ENTRY (entry), text);
+ #if !HAVE_HILDON
gtk_icon_entry_set_icon_from_pixbuf (GTK_ICON_ENTRY (entry),
GTK_ICON_ENTRY_PRIMARY, icon);
+ #endif
}
if (icon)
g_object_unref (icon);
}
+/**
+ * midori_location_action_set_uri:
+ * @location_action: a #MidoriLocationAction
+ * @uri: an URI string
+ *
+ * Sets the entry URI to @uri and, if applicable, updates the icon.
+ *
+ * Deprecated: 0.2.0
+ **/
void
midori_location_action_set_uri (MidoriLocationAction* location_action,
const gchar* uri)
GtkWidget* location_entry;
GtkWidget* entry;
+ #if !HAVE_HILDON
g_return_if_fail (MIDORI_IS_LOCATION_ACTION (location_action));
g_return_if_fail (!icon || GDK_IS_PIXBUF (icon));
gtk_icon_entry_set_icon_from_stock (GTK_ICON_ENTRY (entry),
GTK_ICON_ENTRY_PRIMARY, GTK_STOCK_JUMP_TO);
}
+ #endif
}
void
midori_location_action_add_uri (MidoriLocationAction* location_action,
const gchar* uri)
{
- MidoriLocationEntryItem item;
-
g_return_if_fail (MIDORI_IS_LOCATION_ACTION (location_action));
g_return_if_fail (uri != NULL);
if (midori_location_action_is_frozen (location_action))
return;
- item.favicon = NULL;
- item.uri = uri;
- item.title = NULL;
- midori_location_action_set_item (location_action, &item, TRUE, TRUE);
+ midori_location_action_set_item (location_action, NULL, uri, NULL, TRUE, TRUE);
katze_assign (location_action->uri, g_strdup (uri));
}
GSList* proxies;
GtkWidget* location_entry;
GtkWidget* entry;
- MidoriLocationEntryItem item;
g_return_if_fail (MIDORI_IS_LOCATION_ACTION (location_action));
g_return_if_fail (uri != NULL);
g_return_if_fail (title != NULL);
g_return_if_fail (!icon || GDK_IS_PIXBUF (icon));
- item.favicon = icon;
- item.uri = uri;
- item.title = title;
- midori_location_action_set_item (location_action, &item, TRUE, FALSE);
+ midori_location_action_set_item (location_action, icon, uri, title, TRUE, FALSE);
+ #if !HAVE_HILDON
if (midori_location_action_is_frozen (location_action))
return;
- katze_assign (location_action->uri, g_strdup (uri));
-
proxies = gtk_action_get_proxies (GTK_ACTION (location_action));
+ if (!g_strcmp0 (location_action->uri, uri))
for (; proxies != NULL; proxies = g_slist_next (proxies))
- if (GTK_IS_TOOL_ITEM (proxies->data) &&
- !strcmp (location_action->uri, uri))
+ if (GTK_IS_TOOL_ITEM (proxies->data))
{
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),
GTK_ICON_ENTRY_PRIMARY, icon);
}
+ #endif
}
void
GSList* proxies;
GtkWidget* location_entry;
GtkWidget* entry;
- MidoriLocationEntryItem item;
g_return_if_fail (MIDORI_IS_LOCATION_ACTION (location_action));
g_return_if_fail (!icon || GDK_IS_PIXBUF (icon));
g_return_if_fail (uri != NULL);
- item.favicon = icon;
- item.uri = uri;
- item.title = NULL;
- midori_location_action_set_item (location_action, &item, FALSE, TRUE);
+ midori_location_action_set_item (location_action, icon, uri, NULL, FALSE, TRUE);
+ #if !HAVE_HILDON
proxies = gtk_action_get_proxies (GTK_ACTION (location_action));
+ if (!g_strcmp0 (location_action->uri, uri))
for (; proxies != NULL; proxies = g_slist_next (proxies))
- if (GTK_IS_TOOL_ITEM (proxies->data) &&
- !g_strcmp0 (location_action->uri, uri))
+ if (GTK_IS_TOOL_ITEM (proxies->data))
{
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),
GTK_ICON_ENTRY_PRIMARY, icon);
}
+ #endif
}
void
const gchar* title,
const gchar* uri)
{
- MidoriLocationEntryItem item;
-
g_return_if_fail (MIDORI_IS_LOCATION_ACTION (location_action));
g_return_if_fail (title != NULL);
g_return_if_fail (uri != NULL);
- item.favicon = NULL;
- item.uri = uri;
- item.title = title;
- midori_location_action_set_item (location_action, &item, FALSE, TRUE);
+ midori_location_action_set_item (location_action, NULL, uri, title, FALSE, TRUE);
}
/**
katze_assign (location_action->secondary_icon, g_strdup (stock_id));
+ #if !HAVE_HILDON
proxies = gtk_action_get_proxies (GTK_ACTION (location_action));
for (; proxies != NULL; proxies = g_slist_next (proxies))
gtk_icon_entry_set_icon_from_stock (GTK_ICON_ENTRY (child),
GTK_ICON_ENTRY_SECONDARY, stock_id);
}
+ #endif
}
/**
/*
- Copyright (C) 2008 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2008-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
typedef struct _MidoriLocationAction MidoriLocationAction;
typedef struct _MidoriLocationActionClass MidoriLocationActionClass;
-struct _MidoriLocationEntryItem
-{
- GdkPixbuf* favicon;
- const gchar* uri;
- const gchar* title;
-};
-
GType
midori_location_action_get_type (void);
void
midori_location_action_thaw (MidoriLocationAction* location_action);
+const gchar*
+midori_location_action_get_text (MidoriLocationAction* location_action);
+
+void
+midori_location_action_set_text (MidoriLocationAction* location_action,
+ const gchar* text);
+
const gchar*
midori_location_action_get_uri (MidoriLocationAction* location_action);
location_entry->progress = 0.0;
entry = gtk_icon_entry_new ();
+ #if !HAVE_HILDON
gtk_icon_entry_set_icon_from_stock (GTK_ICON_ENTRY (entry),
GTK_ICON_ENTRY_PRIMARY, GTK_STOCK_FILE);
gtk_icon_entry_set_icon_highlight (GTK_ICON_ENTRY (entry),
GTK_ICON_ENTRY_SECONDARY, TRUE);
+ #endif
g_signal_connect_after (entry, "key-press-event",
G_CALLBACK (entry_key_press_event), location_entry);
#if !GTK_CHECK_VERSION (2, 16, 0)
gtk_combo_box_popup (GTK_COMBO_BOX (location_entry));
return TRUE;
}
+ case GDK_Page_Up:
+ case GDK_Page_Down:
+ {
+ return TRUE;
+ }
}
return FALSE;
typedef struct _MidoriLocationEntry MidoriLocationEntry;
typedef struct _MidoriLocationEntryClass MidoriLocationEntryClass;
-typedef struct _MidoriLocationEntryItem MidoriLocationEntryItem;
GType
midori_location_entry_get_type (void);
gtk_toolbar_set_style (GTK_TOOLBAR (panel->toolbar), GTK_TOOLBAR_BOTH);
gtk_toolbar_set_icon_size (GTK_TOOLBAR (panel->toolbar),
GTK_ICON_SIZE_BUTTON);
- gtk_toolbar_set_orientation (GTK_TOOLBAR (panel->toolbar),
- GTK_ORIENTATION_VERTICAL);
+ g_object_set (panel->toolbar, "orientation", GTK_ORIENTATION_VERTICAL, NULL);
gtk_box_pack_start (GTK_BOX (panel), panel->toolbar, FALSE, FALSE, 0);
gtk_widget_show_all (panel->toolbar);
vbox = gtk_vbox_new (FALSE, 0);
GtkWidget* header;
GtkWindow* parent;
const gchar* icon_name;
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ GtkSettings* gtk_settings;
+ #endif
GtkSizeGroup* sizegroup;
GtkWidget* toolbar;
GtkWidget* toolbutton;
gtk_window_get_title (GTK_WINDOW (preferences)))))
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (preferences)->vbox),
header, FALSE, FALSE, 0);
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ gtk_settings = parent ? gtk_widget_get_settings (GTK_WIDGET (parent)) : NULL;
+ #endif
preferences->notebook = gtk_notebook_new ();
gtk_container_set_border_width (GTK_CONTAINER (preferences->notebook), 6);
button = katze_property_proxy (settings, "download-folder", "folder");
FILLED_ADD (button, 1, 2, 0, 1);
label = katze_property_proxy (settings, "ask-for-destination-folder", NULL);
- gtk_widget_set_sensitive (label, FALSE);
INDENTED_ADD (label, 0, 1, 1, 2);
button = katze_property_proxy (settings, "notify-transfer-completed", NULL);
/* FIXME: Disable the option if notifications presumably cannot be sent
label = gtk_label_new (_("Fixed-width Font Family"));
INDENTED_ADD (label, 0, 1, 1, 2);
hbox = gtk_hbox_new (FALSE, 4);
- button = katze_property_proxy (settings, "monospace-font-family", "font");
+ button = katze_property_proxy (settings, "monospace-font-family", "font-monospace");
gtk_widget_set_tooltip_text (button, _("The font family used to display fixed-width text"));
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
entry = katze_property_proxy (settings, "default-monospace-font-size", NULL);
gtk_button_set_label (GTK_BUTTON (button), _("Load images automatically"));
gtk_widget_set_tooltip_text (button, _("Load and display images automatically"));
INDENTED_ADD (button, 0, 1, 0, 1);
- #if 0
- button = katze_property_proxy (settings, "auto-shrink-images", NULL);
- gtk_button_set_label (GTK_BUTTON (button), _("Shrink images automatically"));
- gtk_widget_set_tooltip_text (button, _("Automatically shrink standalone images to fit"));
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ if (katze_object_get_boolean (gtk_settings, "gtk-touchscreen-mode"))
+ button = katze_property_proxy (settings, "kinetic-scrolling", NULL);
+ else
+ {
+ button = katze_property_proxy (settings, "auto-shrink-images", NULL);
+ gtk_button_set_label (GTK_BUTTON (button), _("Shrink images automatically"));
+ gtk_widget_set_tooltip_text (button, _("Automatically shrink standalone images to fit"));
+ }
#else
button = katze_property_proxy (settings, "middle-click-opens-selection", NULL);
#endif
#define STOCK_WEB_BROWSER "web-browser"
#define STOCK_NEWS_FEED "news-feed"
#define STOCK_STYLE "gnome-settings-theme"
-#define STOCK_STYLES "gnome-settings-theme"
#define STOCK_TRANSFER "package"
#define STOCK_TRANSFERS "package"
#define STOCK_PLUGINS GTK_STOCK_CONVERT
#define STOCK_IMAGE "gnome-mime-image"
#define STOCK_NETWORK_OFFLINE "network-offline"
#define STOCK_SCRIPT "stock_script"
-#define STOCK_SCRIPTS "stock_script"
+#define STOCK_SCRIPTS "gnome-settings-theme"
#define STOCK_SEND "stock_mail-send"
#define STOCK_TAB_NEW "stock_new-tab"
#define STOCK_USER_TRASH "gnome-stock-trash"
struct _MidoriView
{
- GtkScrolledWindow parent_instance;
+ KatzeScrolled parent_instance;
gchar* uri;
gchar* title;
MidoriLoadStatus load_status;
gboolean minimized;
gchar* statusbar_text;
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ WebKitHitTestResult* hit_test;
+ #endif
gchar* link_uri;
gboolean has_selection;
gchar* selected_text;
MidoriWebSettings* settings;
GtkWidget* web_view;
+ GtkWidget* thumb_view;
KatzeArray* news_feeds;
gboolean speed_dial_in_new_tabs;
gchar* download_manager;
gchar* news_aggregator;
+ gboolean ask_for_destination_folder;
gboolean middle_click_opens_selection;
gboolean open_tabs_in_the_background;
gboolean close_buttons_on_tabs;
GtkWidget* tab_title;
GtkWidget* tab_close;
KatzeItem* item;
+ gint scrollh, scrollv;
+ gboolean back_forward_set;
KatzeNet* net;
};
struct _MidoriViewClass
{
- GtkScrolledWindowClass parent_class;
+ KatzeScrolledClass parent_class;
};
-G_DEFINE_TYPE (MidoriView, midori_view, GTK_TYPE_SCROLLED_WINDOW)
+G_DEFINE_TYPE (MidoriView, midori_view, KATZE_TYPE_SCROLLED);
GType
midori_load_status_get_type (void)
midori_view_speed_dial_save (GtkWidget* web_view,
const gchar* message);
-
static void
midori_view_class_init (MidoriViewClass* class)
{
if (view->tab_icon)
katze_throbber_set_animated (KATZE_THROBBER (view->tab_icon),
view->load_status != MIDORI_LOAD_FINISHED);
+}
- if (view->web_view && view->load_status == MIDORI_LOAD_COMMITTED)
- _midori_web_view_load_icon (view);
+static gboolean
+midori_view_web_view_navigation_decision_cb (WebKitWebView* web_view,
+ WebKitWebFrame* web_frame,
+ WebKitNetworkRequest* request,
+ WebKitWebNavigationAction* action,
+ WebKitWebPolicyDecision* decision,
+ MidoriView* view)
+{
+ const gchar* uri = webkit_network_request_get_uri (request);
+ if (g_str_has_prefix (uri, "mailto:"))
+ {
+ webkit_web_policy_decision_ignore (decision);
+ sokoke_show_uri (gtk_widget_get_screen (GTK_WIDGET (web_view)),
+ uri, GDK_CURRENT_TIME, NULL);
+ return TRUE;
+ }
+ /* TODO: Handle more external protocols */
+ return FALSE;
}
static void
uri = webkit_web_frame_get_uri (web_frame);
g_return_if_fail (uri != NULL);
- katze_assign (view->uri, g_strdup (uri));
+ katze_assign (view->uri, sokoke_format_uri_for_display (uri));
if (view->item)
{
+ #if 0
+ /* Load back forward history from meta data. WebKit does not seem to
+ respect the order of items, so the feature is unusable. */
+ if (!view->back_forward_set)
+ {
+ WebKitWebBackForwardList* list;
+ gchar* key;
+ guint i;
+ const gchar* data;
+ WebKitWebHistoryItem* item;
+
+ list = webkit_web_view_get_back_forward_list (web_view);
+
+ key = g_strdup ("back4");
+ for (i = 4; i > 0; i--)
+ {
+ key[4] = 48 + i;
+ if ((data = katze_item_get_meta_string (view->item, key)))
+ {
+ item = webkit_web_history_item_new_with_data (data, NULL);
+ webkit_web_back_forward_list_add_item (list, item);
+ g_object_unref (item);
+ }
+ }
+
+ #if 0
+ key[0] = 'f';
+ key[1] = 'o';
+ key[2] = 'r';
+ key[3] = 'e';
+ for (i = 4; i > 0; i--)
+ {
+ key[4] = 48 + i;
+ item = webkit_web_history_item_new_with_data (data, NULL);
+ webkit_web_back_forward_list_add_item (list, item);
+ g_object_unref (item);
+ }
+ #endif
+ g_free (key);
+ view->back_forward_set = TRUE;
+ }
+ #endif
+
katze_item_set_uri (view->item, uri);
katze_item_set_added (view->item, time (NULL));
}
}
#endif
+static void
+midori_view_apply_scroll_position (MidoriView* view)
+{
+ if (view->scrollh > -2)
+ {
+ if (view->scrollh > 0)
+ {
+ GtkAdjustment* adjustment = katze_object_get_object (view, "hadjustment");
+ gtk_adjustment_set_value (adjustment, view->scrollh);
+ g_object_unref (adjustment);
+ }
+ view->scrollh = -3;
+ }
+ if (view->scrollv > -2)
+ {
+ if (view->scrollv > 0)
+ {
+ GtkAdjustment* adjustment = katze_object_get_object (view, "vadjustment");
+ gtk_adjustment_set_value (adjustment, view->scrollv);
+ g_object_unref (adjustment);
+ }
+ view->scrollv = -3;
+ }
+}
+
static void
webkit_web_view_load_finished_cb (WebKitWebView* web_view,
WebKitWebFrame* web_frame,
{
g_object_freeze_notify (G_OBJECT (view));
+ /* TODO: Find a better condition than a finished load.
+ Apparently WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT is too early. */
+ midori_view_apply_scroll_position (view);
+
view->progress = 1.0;
g_object_notify (G_OBJECT (view), "progress");
midori_view_update_load_status (view, MIDORI_LOAD_FINISHED);
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; "
+ "function links (l) { var f = new Array (); for (i in l) "
+ "{ var t = l[i].type; var r = l[i].rel; "
"if (t && (t.indexOf ('rss') != -1 || t.indexOf ('atom') != -1)) "
- "f.push (l[i].href + '|' + l[i].title); } return f; }"
- "feeds (document.getElementsByTagName ('link'))", NULL);
+ "f.push (l[i].href + '|' + l[i].title);"
+ "else if (r && r.indexOf ('icon') != -1) f.push (l[i].href); } "
+ "return f; }"
+ "links (document.getElementsByTagName ('link'))", NULL);
gchar** items = g_strsplit (value, ",", 0);
guint i = 0;
gchar* default_uri = NULL;
while (items[i] != NULL)
{
gchar** parts = g_strsplit (items[i], "|", 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);
- if (!default_uri)
- default_uri = g_strdup (parts ? *parts : NULL);
+ if (parts == NULL)
+ ;
+ else if (*parts && parts[1])
+ {
+ KatzeItem* item = g_object_new (KATZE_TYPE_ITEM,
+ "uri", parts[0], "name", parts[1], NULL);
+ katze_array_add_item (view->news_feeds, item);
+ g_object_unref (item);
+ if (!default_uri)
+ default_uri = g_strdup (parts[0]);
+ }
+ else
+ g_object_set_data_full (G_OBJECT (view->net), view->uri,
+ g_strdup (*parts), (GDestroyNotify)g_free);
+
g_strfreev (parts);
i++;
}
g_object_notify (G_OBJECT (view), "load-status");
}
+ _midori_web_view_load_icon (view);
+
g_object_thaw_notify (G_OBJECT (view));
}
GParamSpec* pspec,
MidoriView* view)
{
+ #if 0
+ if (view->item)
+ {
+ /* Save back forward history as meta data. This is disabled
+ because we can't reliably restore these atm. */
+ WebKitWebView* web_view;
+ WebKitWebBackForwardList* list;
+ GList* back;
+ GList* forward;
+
+ web_view = WEBKIT_WEB_VIEW (view->web_view);
+ list = webkit_web_view_get_back_forward_list (web_view);
+ back = webkit_web_back_forward_list_get_back_list_with_limit (list, 5);
+ forward = webkit_web_back_forward_list_get_forward_list_with_limit (list, 5);
+ guint i;
+ WebKitWebHistoryItem* item;
+ gchar* key = g_strdup ("back0");
+
+ i = 0;
+ while ((item = g_list_nth_data (back, i++)))
+ {
+ katze_item_set_meta_string (view->item, key,
+ webkit_web_history_item_get_uri (item));
+ key[4] = 48 + i;
+ }
+
+ #if 0
+ key[0] = 'f';
+ key[1] = 'o';
+ key[2] = 'r';
+ key[3] = 'e';
+ key[4] = 48;
+ i = 0;
+ while ((item = g_list_nth_data (forward, i++)))
+ {
+ katze_item_set_meta_string (view->item, key,
+ webkit_web_history_item_get_uri (item));
+ key[4] = 48 + i;
+ }
+ #endif
+ g_free (key);
+ }
+ #endif
+
g_object_get (web_view, "uri", &view->uri, NULL);
g_object_notify (G_OBJECT (view), "uri");
}
g_object_set (G_OBJECT (view), "statusbar-text", text, NULL);
}
+static gboolean
+midori_view_web_view_leave_notify_event_cb (WebKitWebView* web_view,
+ GdkEventCrossing* event,
+ MidoriView* view)
+{
+ g_object_set (G_OBJECT (view), "statusbar-text", NULL, NULL);
+ return FALSE;
+}
+
static void
webkit_web_view_hovering_over_link_cb (WebKitWebView* web_view,
const gchar* tooltip,
MidoriView* view)
{
katze_assign (view->link_uri, g_strdup (link_uri));
- g_object_set (G_OBJECT (view), "statusbar-text", link_uri, NULL);
+ if (link_uri && g_str_has_prefix (link_uri, "mailto:"))
+ {
+ gchar* text = g_strdup_printf (_("Send a message to %s"), &link_uri[7]);
+ g_object_set (G_OBJECT (view), "statusbar-text", text, NULL);
+ g_free (text);
+ }
+ else
+ g_object_set (G_OBJECT (view), "statusbar-text", link_uri, NULL);
}
#define MIDORI_KEYS_MODIFIER_MASK (GDK_SHIFT_MASK | GDK_CONTROL_MASK \
}
else if (view->middle_click_opens_selection)
{
- guint i = 0;
- /* FIXME: This isn't quite correct, we need mouse context */
- if (webkit_web_view_can_paste_clipboard (WEBKIT_WEB_VIEW (view->web_view)))
+ gboolean is_editable;
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ WebKitHitTestResult* result;
+ WebKitHitTestResultContext context;
+
+ result = webkit_web_view_get_hit_test_result (web_view, event);
+ context = katze_object_get_int (result, "context");
+ is_editable = context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE;
+ g_object_unref (result);
+ #else
+ is_editable = webkit_web_view_can_paste_clipboard (WEBKIT_WEB_VIEW (view->web_view));
+ #endif
+ if (is_editable)
return FALSE;
+
clipboard = gtk_clipboard_get_for_display (
gtk_widget_get_display (GTK_WIDGET (view)),
GDK_SELECTION_PRIMARY);
uri = gtk_clipboard_wait_for_text (clipboard);
if (uri && strchr (uri, '.'))
{
+ guint i = 0;
while (uri[i++] != '\0')
if (uri[i] == '\n' || uri[i] == '\r')
uri[i] = ' ';
return FALSE;
}
+#if WEBKIT_CHECK_VERSION (1, 1, 15)
+static void
+midori_web_view_menu_open_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ midori_view_set_uri (view, view->link_uri);
+}
+
+static void
+midori_web_view_menu_new_window_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ g_signal_emit (view, signals[NEW_WINDOW], 0, view->link_uri);
+}
+
+static void
+midori_web_view_menu_link_copy_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ GdkDisplay* display = gtk_widget_get_display (widget);
+ GtkClipboard* clipboard = gtk_clipboard_get_for_display (display,
+ GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_set_text (clipboard, view->link_uri, -1);
+}
+
+static void
+midori_web_view_menu_save_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ WebKitNetworkRequest* request = webkit_network_request_new (view->link_uri);
+ WebKitDownload* download = webkit_download_new (request);
+ gboolean handled;
+ g_object_unref (request);
+ if (view->ask_for_destination_folder)
+ g_object_set_data (G_OBJECT (download), "save-as-download", (void*)0xdeadbeef);
+ g_signal_emit (view, signals[DOWNLOAD_REQUESTED], 0, download, &handled);
+ if (!view->ask_for_destination_folder)
+ webkit_download_start (download);
+}
+
+static void
+midori_web_view_menu_image_new_tab_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ gchar* uri = katze_object_get_string (view->hit_test, "image-uri");
+ g_signal_emit (view, signals[NEW_TAB], 0, uri,
+ view->open_tabs_in_the_background);
+ g_free (uri);
+}
+
+static void
+midori_web_view_menu_image_new_window_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ gchar* uri = katze_object_get_string (view->hit_test, "image-uri");
+ g_signal_emit (view, signals[NEW_WINDOW], 0, uri);
+ g_free (uri);
+}
+
+static void
+midori_web_view_menu_image_copy_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ GdkDisplay* display = gtk_widget_get_display (widget);
+ GtkClipboard* clipboard = gtk_clipboard_get_for_display (display,
+ GDK_SELECTION_CLIPBOARD);
+ gchar* uri = katze_object_get_string (view->hit_test, "image-uri");
+ gtk_clipboard_set_text (clipboard, uri, -1);
+ g_free (uri);
+}
+
+static void
+midori_web_view_menu_image_save_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ gchar* uri = katze_object_get_string (view->hit_test, "image-uri");
+ WebKitNetworkRequest* request = webkit_network_request_new (uri);
+ WebKitDownload* download = webkit_download_new (request);
+ gboolean handled;
+ g_object_unref (request);
+ if (view->ask_for_destination_folder)
+ g_object_set_data (G_OBJECT (download), "save-as-download", (void*)0xdeadbeef);
+ g_signal_emit (view, signals[DOWNLOAD_REQUESTED], 0, download, &handled);
+ if (!view->ask_for_destination_folder)
+ webkit_download_start (download);
+ g_free (uri);
+}
+
+static void
+midori_web_view_menu_video_copy_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ GdkDisplay* display = gtk_widget_get_display (widget);
+ GtkClipboard* clipboard = gtk_clipboard_get_for_display (display,
+ GDK_SELECTION_CLIPBOARD);
+ gchar* uri = katze_object_get_string (view->hit_test, "media-uri");
+ gtk_clipboard_set_text (clipboard, uri, -1);
+ g_free (uri);
+}
+
+static void
+midori_web_view_menu_video_save_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ gchar* uri = katze_object_get_string (view->hit_test, "media-uri");
+ WebKitNetworkRequest* request = webkit_network_request_new (uri);
+ WebKitDownload* download = webkit_download_new (request);
+ gboolean handled;
+ g_object_unref (request);
+ if (view->ask_for_destination_folder)
+ g_object_set_data (G_OBJECT (download), "save-as-download", (void*)0xdeadbeef);
+ g_signal_emit (view, signals[DOWNLOAD_REQUESTED], 0, download, &handled);
+ if (!view->ask_for_destination_folder)
+ webkit_download_start (download);
+ g_free (uri);
+}
+
+static void
+midori_web_view_menu_video_download_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ gchar* uri = katze_object_get_string (view->hit_test, "media-uri");
+ sokoke_spawn_program (view->download_manager, uri, TRUE);
+ g_free (uri);
+}
+#endif
+
static void
midori_web_view_menu_new_tab_activate_cb (GtkWidget* widget,
MidoriView* view)
else
{
gchar* data = (gchar*)g_object_get_data (G_OBJECT (widget), "uri");
- gchar* uri = sokoke_magic_uri (data, NULL);
- g_signal_emit (view, signals[NEW_TAB], 0, uri,
- view->open_tabs_in_the_background);
- g_free (uri);
+ if (strchr (data, '@'))
+ {
+ gchar* uri = g_strconcat ("mailto:", data, NULL);
+ sokoke_show_uri (gtk_widget_get_screen (widget),
+ uri, GDK_CURRENT_TIME, NULL);
+ g_free (uri);
+ }
+ else
+ {
+ gchar* uri = sokoke_magic_uri (data, NULL);
+ g_signal_emit (view, signals[NEW_TAB], 0, uri,
+ view->open_tabs_in_the_background);
+ g_free (uri);
+ }
}
}
g_free (uri);
}
+#if WEBKIT_CHECK_VERSION (1, 1, 15)
+static void
+midori_web_view_menu_copy_activate_cb (GtkWidget* widget,
+ MidoriView* view)
+{
+ GdkDisplay* display = gtk_widget_get_display (widget);
+ GtkClipboard* clipboard = gtk_clipboard_get_for_display (display,
+ GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_set_text (clipboard, view->selected_text, -1);
+}
+#endif
+
#if !WEBKIT_CHECK_VERSION (1, 1, 3)
static void
midori_web_view_menu_save_as_activate_cb (GtkWidget* widget,
g_signal_emit (view, signals[ADD_BOOKMARK], 0, view->link_uri);
}
+static GtkWidget*
+midori_view_insert_menu_item (GtkMenuShell* menu,
+ gint position,
+ const gchar* label,
+ const gchar* stock_id,
+ GCallback callback,
+ GtkWidget* widget)
+{
+ GtkWidget* menuitem;
+
+ if (label)
+ {
+ menuitem = gtk_image_menu_item_new_with_mnemonic (label);
+ if (stock_id)
+ {
+ GdkScreen* screen = gtk_widget_get_screen (widget);
+ GtkIconTheme* icon_theme = gtk_icon_theme_get_for_screen (screen);
+ if (gtk_icon_theme_has_icon (icon_theme, stock_id))
+ {
+ GtkWidget* icon = gtk_image_new_from_stock (stock_id,
+ GTK_ICON_SIZE_MENU);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem),
+ icon);
+ }
+ }
+ }
+ else
+ menuitem = gtk_image_menu_item_new_from_stock (stock_id, NULL);
+ gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menuitem, position);
+ if (callback)
+ g_signal_connect (menuitem, "activate", callback, widget);
+ else
+ gtk_widget_set_sensitive (menuitem, FALSE);
+ return menuitem;
+}
+
static void
webkit_web_view_populate_popup_cb (WebKitWebView* web_view,
GtkWidget* menu,
{
MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (view));
GtkActionGroup* actions = midori_browser_get_action_group (browser);
+ GtkMenuShell* menu_shell = GTK_MENU_SHELL (menu);
+ GtkWidget* widget = GTK_WIDGET (view);
GtkWidget* menuitem;
GtkWidget* icon;
+ #if !WEBKIT_CHECK_VERSION (1, 1, 15)
gchar* stock_id;
- GdkScreen* screen;
- GtkIconTheme* icon_theme;
+ #endif
GList* items;
gboolean has_selection;
+ gboolean is_editable;
+ gboolean is_document;
GtkWidget* label;
-
+ guint i;
+
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ gint x, y;
+ GdkEventButton event;
+ WebKitHitTestResultContext context;
+ gboolean is_image;
+ gboolean is_media;
+
+ gdk_window_get_pointer (GTK_WIDGET (web_view)->window, &x, &y, NULL);
+ event.x = x;
+ event.y = y;
+ katze_object_assign (view->hit_test,
+ webkit_web_view_get_hit_test_result (web_view, &event));
+ context = katze_object_get_int (view->hit_test, "context");
+ /* Ensure view->link_uri is correct. */
+ katze_assign (view->link_uri,
+ katze_object_get_string (view->hit_test, "link-uri"));
+ has_selection = context & WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION;
+ /* Ensure view->selected_text */
+ midori_view_has_selection (view);
+ is_editable = context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE;
+ is_image = context & WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE;
+ is_media = context & WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA;
+ is_document = !view->link_uri && !has_selection && !is_image && !is_media;
+ #else
+ /* There is no guarantee view->link_uri is correct in case
+ gtk-touchscreen-mode is enabled, nothing we can do. */
has_selection = midori_view_has_selection (view);
+ is_document = !view->link_uri && !has_selection;
/* Unfortunately inspecting the menu is the only way to
determine that the mouse is over a text area or selection. */
items = gtk_container_get_children (GTK_CONTAINER (menu));
menuitem = (GtkWidget*)g_list_nth_data (items, 0);
- g_list_free (items);
if (GTK_IS_IMAGE_MENU_ITEM (menuitem))
{
icon = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (menuitem));
gtk_image_get_stock (GTK_IMAGE (icon), &stock_id, NULL);
- if (!strcmp (stock_id, GTK_STOCK_CUT))
+ if (!strcmp (stock_id, GTK_STOCK_FIND))
{
+ gtk_widget_hide (menuitem);
+ gtk_widget_set_no_show_all (menuitem, TRUE);
+ menuitem = (GtkWidget*)g_list_nth_data (items, 1);
+ gtk_widget_hide (menuitem);
+ menuitem = (GtkWidget*)g_list_nth_data (items, 2);
+ icon = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (menuitem));
+ gtk_image_get_stock (GTK_IMAGE (icon), &stock_id, NULL);
+ }
+ is_editable = !strcmp (stock_id, GTK_STOCK_CUT);
+ if (is_document && !strcmp (stock_id, GTK_STOCK_OPEN))
+ is_document = FALSE;
+ }
+ else
+ is_editable = FALSE;
+ g_list_free (items);
+ #endif
+
+ if (is_editable)
+ {
#if WEBKIT_CHECK_VERSION (1, 1, 14)
- if (!strcmp (stock_id, GTK_STOCK_UNDO))
- return;
- menuitem = gtk_separator_menu_item_new ();
- gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem);
- gtk_widget_show (menuitem);
- menuitem = sokoke_action_create_popup_menu_item (
- gtk_action_group_get_action (actions, "Redo"));
- gtk_widget_set_sensitive (menuitem,
- webkit_web_view_can_redo (web_view));
- gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem);
- menuitem = sokoke_action_create_popup_menu_item (
- gtk_action_group_get_action (actions, "Undo"));
- gtk_widget_set_sensitive (menuitem,
- webkit_web_view_can_undo (web_view));
- gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem);
+ menuitem = gtk_separator_menu_item_new ();
+ gtk_menu_shell_prepend (menu_shell, menuitem);
+ gtk_widget_show (menuitem);
+ menuitem = sokoke_action_create_popup_menu_item (
+ gtk_action_group_get_action (actions, "Redo"));
+ gtk_widget_set_sensitive (menuitem,
+ webkit_web_view_can_redo (web_view));
+ gtk_menu_shell_prepend (menu_shell, menuitem);
+ menuitem = sokoke_action_create_popup_menu_item (
+ gtk_action_group_get_action (actions, "Undo"));
+ gtk_widget_set_sensitive (menuitem,
+ webkit_web_view_can_undo (web_view));
+ gtk_menu_shell_prepend (menu_shell, menuitem);
#endif
- return;
- }
- if (strcmp (stock_id, GTK_STOCK_FIND))
- has_selection = FALSE;
+ return;
}
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ /* FIXME: We can't re-implement Open in Frame or Inspect page,
+ so we can't replace the default document menu */
+ if (!is_document)
+ {
+ items = gtk_container_get_children (GTK_CONTAINER (menu));
+ i = 0;
+ while ((menuitem = g_list_nth_data (items, i++)))
+ gtk_widget_destroy (menuitem);
+ g_list_free (items);
+ }
+ if (view->link_uri)
+ {
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Open _Link"), NULL,
+ G_CALLBACK (midori_web_view_menu_open_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Open Link in New _Tab"), STOCK_TAB_NEW,
+ G_CALLBACK (midori_web_view_menu_new_tab_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Open Link in New _Window"), STOCK_WINDOW_NEW,
+ G_CALLBACK (midori_web_view_menu_new_window_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("_Copy Link destination"), NULL,
+ G_CALLBACK (midori_web_view_menu_link_copy_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ view->ask_for_destination_folder ? _("_Save Link destination")
+ : _("_Download Link destination"), NULL,
+ G_CALLBACK (midori_web_view_menu_save_activate_cb), widget);
+ if (view->download_manager && *view->download_manager)
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Download with Download _Manager"), STOCK_TRANSFER,
+ G_CALLBACK (midori_web_view_menu_download_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ NULL, STOCK_BOOKMARK_ADD,
+ G_CALLBACK (midori_web_view_menu_add_bookmark_activate_cb), widget);
+ }
+
+ if (is_image)
+ {
+ if (view->link_uri)
+ gtk_menu_shell_append (menu_shell, gtk_separator_menu_item_new ());
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Open _Image in New Tab"), STOCK_TAB_NEW,
+ G_CALLBACK (midori_web_view_menu_image_new_tab_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Open Image in New Wi_ndow"), STOCK_WINDOW_NEW,
+ G_CALLBACK (midori_web_view_menu_image_new_window_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Copy Image _Address"), NULL,
+ G_CALLBACK (midori_web_view_menu_image_copy_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ view->ask_for_destination_folder ? _("Save I_mage")
+ : _("Download I_mage"), GTK_STOCK_SAVE,
+ G_CALLBACK (midori_web_view_menu_image_save_activate_cb), widget);
+ }
+
+ if (is_media)
+ {
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Copy Video _Address"), NULL,
+ G_CALLBACK (midori_web_view_menu_video_copy_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ FALSE ? _("Save _Video") : _("Download _Video"), GTK_STOCK_SAVE,
+ G_CALLBACK (midori_web_view_menu_video_save_activate_cb), widget);
+ if (view->download_manager && *view->download_manager)
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Download with Download _Manager"), STOCK_TRANSFER,
+ G_CALLBACK (midori_web_view_menu_video_download_activate_cb), widget);
+ }
+ #else
if (view->link_uri)
{
items = gtk_container_get_children (GTK_CONTAINER (menu));
/* hack to localize menu item */
label = gtk_bin_get_child (GTK_BIN (menuitem));
gtk_label_set_label (GTK_LABEL (label), _("Open _Link"));
- menuitem = gtk_image_menu_item_new_with_mnemonic (
- _("Open Link in New _Tab"));
- screen = gtk_widget_get_screen (GTK_WIDGET (view));
- icon_theme = gtk_icon_theme_get_for_screen (screen);
- if (gtk_icon_theme_has_icon (icon_theme, STOCK_TAB_NEW))
- {
- icon = gtk_image_new_from_stock (STOCK_TAB_NEW, GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), icon);
- }
- gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menuitem, 1);
- g_signal_connect (menuitem, "activate",
- G_CALLBACK (midori_web_view_menu_new_tab_activate_cb), view);
- gtk_widget_show (menuitem);
+ midori_view_insert_menu_item (menu_shell, 1,
+ _("Open Link in New _Tab"), STOCK_TAB_NEW,
+ G_CALLBACK (midori_web_view_menu_new_tab_activate_cb), widget);
g_list_free (items);
items = gtk_container_get_children (GTK_CONTAINER (menu));
menuitem = (GtkWidget*)g_list_nth_data (items, 2);
label = gtk_bin_get_child (GTK_BIN (menuitem));
gtk_label_set_label (GTK_LABEL (label), _("_Download Link destination"));
#else
- /* hack to disable non-functional Download File
- FIXME: Make sure this really is the right menu item */
+ /* hack to disable non-functional Download File */
gtk_widget_hide (menuitem);
- menuitem = gtk_image_menu_item_new_with_mnemonic (
- _("_Save Link destination"));
- gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menuitem, 3);
- g_signal_connect (menuitem, "activate",
- G_CALLBACK (midori_web_view_menu_save_as_activate_cb), view);
- gtk_widget_show (menuitem);
+ gtk_widget_set_no_show_all (menuitem);
+ midori_view_insert_menu_item (menu_shell, 3,
+ _("_Save Link destination"), NULL,
+ G_CALLBACK (midori_web_view_menu_save_as_activate_cb), widget);
#endif
if (view->download_manager && *view->download_manager)
- {
- menuitem = gtk_image_menu_item_new_with_mnemonic (
- _("Download with Download _Manager"));
- icon = gtk_image_new_from_stock (GTK_STOCK_SAVE_AS,
- GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), icon);
- gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menuitem, 4);
- g_signal_connect (menuitem, "activate",
- G_CALLBACK (midori_web_view_menu_download_activate_cb), view);
- gtk_widget_show (menuitem);
- }
- menuitem = gtk_image_menu_item_new_from_stock (STOCK_BOOKMARK_ADD, NULL);
- gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menuitem, 5);
- g_signal_connect (menuitem, "activate",
- G_CALLBACK (midori_web_view_menu_add_bookmark_activate_cb), view);
- gtk_widget_show (menuitem);
+ midori_view_insert_menu_item (menu_shell, 4,
+ _("Download with Download _Manager"), STOCK_TRANSFER,
+ G_CALLBACK (midori_web_view_menu_download_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, 5,
+ NULL, STOCK_BOOKMARK_ADD,
+ G_CALLBACK (midori_web_view_menu_add_bookmark_activate_cb), widget);
}
+ #endif
if (!view->link_uri && has_selection)
{
GtkWidget* window;
- guint i;
window = gtk_widget_get_toplevel (GTK_WIDGET (web_view));
i = 0;
menuitem = gtk_image_menu_item_new_with_mnemonic (_("Search _with"));
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), sub_menu);
- gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menuitem, 1);
- gtk_widget_show (menuitem);
+ gtk_menu_shell_insert (menu_shell, menuitem, 1);
search_engines = katze_object_get_object (window, "search-engines");
while ((item = katze_array_get_nth_item (search_engines, i++)))
(gchar*)katze_item_get_uri (item));
g_signal_connect (menuitem, "activate",
G_CALLBACK (midori_web_view_menu_search_web_activate_cb), view);
- gtk_widget_show (menuitem);
}
g_object_unref (search_engines);
}
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ midori_view_insert_menu_item (menu_shell, 0,
+ _("_Search the Web"), GTK_STOCK_FIND,
+ G_CALLBACK (midori_web_view_menu_search_web_activate_cb), widget);
+ gtk_menu_shell_append (menu_shell, gtk_separator_menu_item_new ());
+ midori_view_insert_menu_item (menu_shell, -1,
+ NULL, GTK_STOCK_COPY,
+ G_CALLBACK (midori_web_view_menu_copy_activate_cb), widget);
+ #else
items = gtk_container_get_children (GTK_CONTAINER (menu));
menuitem = (GtkWidget*)g_list_nth_data (items, 0);
/* hack to localize menu item */
g_signal_connect (menuitem, "activate",
G_CALLBACK (midori_web_view_menu_search_web_activate_cb), view);
g_list_free (items);
+ #endif
- if (strchr (view->selected_text, '.')
- && !strchr (view->selected_text, ' '))
+ g_strstrip (view->selected_text);
+ if (view->selected_text && !strchr (view->selected_text, ' ')
+ && strchr (view->selected_text, '.'))
{
- menuitem = gtk_image_menu_item_new_with_mnemonic (
- _("Open Address in New _Tab"));
- icon = gtk_image_new_from_stock (GTK_STOCK_JUMP_TO,
- GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), icon);
- gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menuitem, -1);
+ if (strchr (view->selected_text, '@'))
+ {
+ gchar* text = g_strdup_printf (_("Send a message to %s"), view->selected_text);
+ menuitem = midori_view_insert_menu_item (menu_shell, -1,
+ text, GTK_STOCK_JUMP_TO,
+ G_CALLBACK (midori_web_view_menu_new_tab_activate_cb), widget);
+ g_free (text);
+ }
+ else
+ menuitem = midori_view_insert_menu_item (menu_shell, -1,
+ _("Open Address in New _Tab"), GTK_STOCK_JUMP_TO,
+ G_CALLBACK (midori_web_view_menu_new_tab_activate_cb), widget);
g_object_set_data (G_OBJECT (menuitem), "uri", view->selected_text);
- g_signal_connect (menuitem, "activate",
- G_CALLBACK (midori_web_view_menu_new_tab_activate_cb), view);
- gtk_widget_show (menuitem);
}
/* FIXME: view selection source */
}
- if (!view->link_uri && !has_selection)
+ if (is_document)
{
+ /* FIXME: We can't re-implement Open in Frame or Inspect page
+ #if WEBKIT_CHECK_VERSION (1, 1, 15) */
+ #if 0
+ menuitem = sokoke_action_create_popup_menu_item (
+ gtk_action_group_get_action (actions, "Back"));
+ gtk_menu_shell_append (menu_shell, menuitem);
+ menuitem = sokoke_action_create_popup_menu_item (
+ gtk_action_group_get_action (actions, "Forward"));
+ gtk_menu_shell_append (menu_shell, menuitem);
+ menuitem = sokoke_action_create_popup_menu_item (
+ gtk_action_group_get_action (actions, "Stop"));
+ gtk_menu_shell_append (menu_shell, menuitem);
+ menuitem = sokoke_action_create_popup_menu_item (
+ gtk_action_group_get_action (actions, "Reload"));
+ gtk_menu_shell_append (menu_shell, menuitem);
+ #else
items = gtk_container_get_children (GTK_CONTAINER (menu));
+ #if HAVE_HILDON
+ gtk_widget_hide (g_list_nth_data (items, 2));
+ gtk_widget_set_no_show_all (g_list_nth_data (items, 2), TRUE);
+ gtk_widget_hide (g_list_nth_data (items, 3));
+ gtk_widget_set_no_show_all (g_list_nth_data (items, 3), TRUE);
+ #endif
menuitem = (GtkWidget*)g_list_nth_data (items, 3);
/* hack to localize menu item */
if (GTK_IS_BIN (menuitem))
}
}
g_list_free (items);
+ #endif
+
menuitem = sokoke_action_create_popup_menu_item (
gtk_action_group_get_action (actions, "UndoTabClose"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_menu_shell_append (menu_shell, menuitem);
+ gtk_menu_shell_append (menu_shell, gtk_separator_menu_item_new ());
- menuitem = gtk_separator_menu_item_new ();
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
- gtk_widget_show (menuitem);
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ /* if (webkit_web_view_get_main_frame (web_view) != frame_under_mouse)
+ {
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Open _Frame in New Tab"), NULL,
+ G_CALLBACK (midori_web_view_menu_frame_new_tab_activate_cb), widget);
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Open _Frame in New Window"), NULL,
+ G_CALLBACK (midori_web_view_menu_frame_new_window_activate_cb), widget);
+ } */
+
+ /* FIXME: There is currently no API to inspect an URI
+ midori_view_insert_menu_item (menu_shell, -1,
+ _("Inspect page"), NULL,
+ G_CALLBACK (midori_web_view_menu_inspect_page_activate_cb), widget); */
+ #endif
+
+ if (!g_object_get_data (G_OBJECT (browser), "midori-toolbars-visible"))
+ {
+ menuitem = sokoke_action_create_popup_menu_item (
+ gtk_action_group_get_action (actions, "Menubar"));
+ gtk_menu_shell_append (menu_shell, menuitem);
+ }
menuitem = sokoke_action_create_popup_menu_item (
gtk_action_group_get_action (actions, "ZoomIn"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_menu_shell_append (menu_shell, menuitem);
menuitem = sokoke_action_create_popup_menu_item (
gtk_action_group_get_action (actions, "ZoomOut"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_menu_shell_append (menu_shell, menuitem);
menuitem = sokoke_action_create_popup_menu_item (
gtk_action_group_get_action (actions, "Encoding"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_menu_shell_append (menu_shell, menuitem);
if (GTK_WIDGET_IS_SENSITIVE (menuitem))
{
GtkWidget* sub_menu;
{ "EncodingWestern" },
{ "EncodingCustom" },
};
- guint i;
sub_menu = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), sub_menu);
}
}
- menuitem = gtk_separator_menu_item_new ();
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
- gtk_widget_show (menuitem);
-
+ #if !HAVE_HILDON
+ gtk_menu_shell_append (menu_shell, gtk_separator_menu_item_new ());
menuitem = sokoke_action_create_popup_menu_item (
gtk_action_group_get_action (actions, "BookmarkAdd"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_menu_shell_append (menu_shell, menuitem);
if (view->speed_dial_in_new_tabs && !midori_view_is_blank (view))
{
menuitem = sokoke_action_create_popup_menu_item (
gtk_action_group_get_action (actions, "AddSpeedDial"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_menu_shell_append (menu_shell, menuitem);
}
+ menuitem = sokoke_action_create_popup_menu_item (
+ gtk_action_group_get_action (actions, "AddDesktopShortcut"));
+ gtk_menu_shell_append (menu_shell, menuitem);
+ #endif
menuitem = sokoke_action_create_popup_menu_item (
gtk_action_group_get_action (actions, "SaveAs"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_menu_shell_append (menu_shell, menuitem);
/* Currently views that don't support source, don't support
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 = sokoke_action_create_popup_menu_item (
gtk_action_group_get_action (actions, "SourceView"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_menu_shell_append (menu_shell, menuitem);
}
+
+ gtk_widget_show_all (menu);
}
+#if HAVE_HILDON
+static void
+midori_view_web_view_tap_and_hold_cb (GtkWidget* web_view,
+ MidoriView* view)
+{
+ gint x, y;
+ GdkEvent event;
+ gboolean result;
+
+ /* Emulate a pointer motion above the tap position
+ and a right click at the according position. */
+ gdk_window_get_pointer (web_view->window, &x, &y, NULL);
+ event.any.type = GDK_MOTION_NOTIFY;
+ event.any.window = web_view->window;
+ event.motion.x = x;
+ event.motion.y = y;
+ g_signal_emit_by_name (web_view, "motion-notify-event", &event, &result);
+
+ event.any.type = GDK_BUTTON_PRESS;
+ event.any.window = web_view->window;
+ event.button.axes = NULL;
+ event.button.x = x;
+ event.button.y = y;
+ event.button.button = 3;
+ g_signal_emit_by_name (web_view, "button-press-event", &event, &result);
+}
+#endif
+
static gboolean
webkit_web_view_web_view_ready_cb (GtkWidget* web_view,
MidoriView* view)
g_signal_emit (view, signals[CONTEXT_READY], 0, js_context);
}
+static void
+midori_view_hadjustment_notify_value_cb (GtkAdjustment* hadjustment,
+ GParamSpec* pspec,
+ MidoriView* view)
+{
+ gint value = (gint)gtk_adjustment_get_value (hadjustment);
+ if (view->item)
+ katze_item_set_meta_integer (view->item, "scrollh", value);
+}
+
+static void
+midori_view_notify_hadjustment_cb (MidoriView* view,
+ GParamSpec* pspec,
+ gpointer data)
+{
+ GtkAdjustment* hadjustment = katze_object_get_object (view, "hadjustment");
+ g_signal_connect (hadjustment, "notify::value",
+ G_CALLBACK (midori_view_hadjustment_notify_value_cb), view);
+ g_object_unref (hadjustment);
+}
+
+static void
+midori_view_vadjustment_notify_value_cb (GtkAdjustment* vadjustment,
+ GParamSpec* pspec,
+ MidoriView* view)
+{
+ gint value = (gint)gtk_adjustment_get_value (vadjustment);
+ if (view->item)
+ katze_item_set_meta_integer (view->item, "scrollv", value);
+}
+
+static void
+midori_view_notify_vadjustment_cb (MidoriView* view,
+ GParamSpec* pspec,
+ gpointer data)
+{
+ GtkAdjustment* vadjustment = katze_object_get_object (view, "vadjustment");
+ g_signal_connect (vadjustment, "notify::value",
+ G_CALLBACK (midori_view_vadjustment_notify_value_cb), view);
+ g_object_unref (vadjustment);
+}
+
static void
midori_view_init (MidoriView* view)
{
view->load_status = MIDORI_LOAD_FINISHED;
view->minimized = FALSE;
view->statusbar_text = NULL;
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
+ view->hit_test = NULL;
+ #endif
view->link_uri = NULL;
view->selected_text = NULL;
view->news_feeds = katze_array_new (KATZE_TYPE_ITEM);
view->item = NULL;
+ view->scrollh = view->scrollv = -2;
+ view->back_forward_set = FALSE;
view->download_manager = NULL;
view->news_aggregator = NULL;
view->web_view = NULL;
- /* Adjustments are not created automatically */
+ /* Adjustments are not created initially, but overwritten later */
g_object_set (view, "hadjustment", NULL, "vadjustment", NULL, NULL);
+ g_signal_connect (view, "notify::hadjustment",
+ G_CALLBACK (midori_view_notify_hadjustment_cb), view);
+ g_signal_connect (view, "notify::vadjustment",
+ G_CALLBACK (midori_view_notify_vadjustment_cb), view);
}
static void
g_signal_handlers_disconnect_by_func (view->item,
midori_view_item_meta_data_changed, view);
+ if (view->thumb_view)
+ gtk_widget_destroy (view->thumb_view);
+
katze_assign (view->uri, NULL);
katze_assign (view->title, NULL);
katze_object_assign (view->icon, NULL);
static void
_midori_view_update_settings (MidoriView* view)
{
- gboolean zoom_text_and_images;
+ gboolean zoom_text_and_images, kinetic_scrolling;
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,
+ "kinetic-scrolling", &kinetic_scrolling,
"close-buttons-on-tabs", &view->close_buttons_on_tabs,
"open-new-pages-in", &view->open_new_pages_in,
+ "ask-for-destination-folder", &view->ask_for_destination_folder,
"middle-click-opens-selection", &view->middle_click_opens_selection,
"open-tabs-in-the-background", &view->open_tabs_in_the_background,
"find-while-typing", &view->find_while_typing,
NULL);
if (view->web_view)
- g_object_set (view->web_view, "full-content-zoom",
- zoom_text_and_images, NULL);
+ g_object_set (view->web_view,
+ "full-content-zoom", zoom_text_and_images, NULL);
+ g_object_set (view, "kinetic-scrolling", kinetic_scrolling, NULL);
}
static void
g_object_set (view->web_view, "full-content-zoom",
g_value_get_boolean (&value), NULL);
}
+ else if (name == g_intern_string ("kinetic-scrolling"))
+ {
+ g_object_set (view, "kinetic-scrolling",
+ g_value_get_boolean (&value), NULL);
+ }
else if (name == g_intern_string ("close-buttons-on-tabs"))
{
view->close_buttons_on_tabs = g_value_get_boolean (&value);
{
view->open_new_pages_in = g_value_get_enum (&value);
}
+ else if (name == g_intern_string ("ask-for-destination-folder"))
+ {
+ view->ask_for_destination_folder = g_value_get_boolean (&value);
+ }
else if (name == g_intern_string ("middle-click-opens-selection"))
{
view->middle_click_opens_selection = g_value_get_boolean (&value);
webkit_web_view_open (WEBKIT_WEB_VIEW (view->web_view), "");
web_frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (view->web_view));
+ #if HAVE_HILDON
+ gtk_widget_tap_and_hold_setup (view->web_view, NULL, NULL, 0);
+ #endif
+
g_object_connect (view->web_view,
+ "signal::navigation-policy-decision-requested",
+ midori_view_web_view_navigation_decision_cb, view,
"signal::load-started",
webkit_web_view_load_started_cb, view,
"signal::load-committed",
#endif
"signal::status-bar-text-changed",
webkit_web_view_statusbar_text_changed_cb, view,
+ "signal::leave-notify-event",
+ midori_view_web_view_leave_notify_event_cb, view,
"signal::hovering-over-link",
webkit_web_view_hovering_over_link_cb, view,
"signal::button-press-event",
gtk_widget_scroll_event_cb, view,
"signal::populate-popup",
webkit_web_view_populate_popup_cb, view,
+ #if HAVE_HILDON
+ "signal::tap-and-hold",
+ midori_view_web_view_tap_and_hold_cb, view,
+ #endif
"signal::console-message",
webkit_web_view_console_message_cb, view,
"signal::window-object-cleared",
}
else
{
- katze_assign (view->uri, g_strdup (uri));
+ katze_assign (view->uri, sokoke_format_uri_for_display (uri));
g_object_notify (G_OBJECT (view), "uri");
if (view->item)
katze_item_set_uri (view->item, uri);
if (g_str_equal (key, "minimized"))
g_object_set (view, "minimized",
katze_item_get_meta_string (item, key) != NULL, NULL);
+ else if (g_str_has_prefix (key, "scroll"))
+ {
+ gint value = katze_item_get_meta_integer (item, key);
+ if (view->scrollh == -2 && key[6] == 'h')
+ view->scrollh = value > -1 ? value : 0;
+ else if (view->scrollv == -2 && key[6] == 'v')
+ view->scrollv = value > -1 ? value : 0;
+ else
+ return;
+ }
}
/**
{
g_return_val_if_fail (MIDORI_IS_VIEW (view), FALSE);
- return view->web_view != NULL;
+ return view->web_view != NULL && !g_str_has_prefix (view->mime_type, "image/");
}
gboolean
{
g_return_val_if_fail (MIDORI_IS_VIEW (view), FALSE);
- return view->web_view != NULL;
+ return view->web_view != NULL && !g_str_has_prefix (view->mime_type, "image/");
}
gboolean
#if WEBKIT_CHECK_VERSION (1, 1, 5)
operation = gtk_print_operation_new ();
gtk_print_operation_set_custom_tab_label (operation, _("Features"));
+#if GTK_CHECK_VERSION (2, 18, 0)
+ gtk_print_operation_set_embed_page_setup (operation, TRUE);
+#endif
g_signal_connect (operation, "create-custom-widget",
G_CALLBACK (midori_view_print_create_custom_widget_cb), view);
g_signal_connect (operation, "custom-widget-apply",
g_free (encoded);
g_free (file_content);
+ g_signal_handlers_disconnect_by_func (
+ thumb_view, thumb_view_load_status_cb, view);
+
+ /* Destroying the view here may trigger a WebKitGTK+ bug */
+ #if !WEBKIT_CHECK_VERSION (1, 1, 14)
gtk_widget_destroy (GTK_WIDGET (thumb_view));
+ view->thumb_view = NULL;
+ #endif
}
/**
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
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);
+
+ if (!view->thumb_view)
+ {
+ view->thumb_view = midori_view_new (view->net);
+ gtk_container_add (GTK_CONTAINER (notebook), view->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), view->thumb_view, label);
+ g_object_unref (notebook);
+ gtk_widget_show (view->thumb_view);
+ }
+ thumb_view = view->thumb_view;
+ 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);
+
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);
gboolean zoom_text_and_images;
gboolean find_while_typing;
+ gboolean kinetic_scrolling;
MidoriAcceptCookies accept_cookies;
gboolean original_cookies_only;
gint maximum_cookie_age;
PROP_ZOOM_TEXT_AND_IMAGES,
PROP_FIND_WHILE_TYPING,
+ PROP_KINETIC_SCROLLING,
PROP_ACCEPT_COOKIES,
PROP_ORIGINAL_COOKIES_ONLY,
PROP_MAXIMUM_COOKIE_AGE,
static const GEnumValue values[] = {
{ MIDORI_IDENT_MIDORI, "MIDORI_IDENT_MIDORI", N_("Midori") },
{ MIDORI_IDENT_SAFARI, "MIDORI_IDENT_SAFARI", N_("Safari") },
+ { MIDORI_IDENT_IPHONE, "MIDORI_IDENT_IPHONE", N_("iPhone") },
{ MIDORI_IDENT_FIREFOX, "MIDORI_IDENT_FIREFOX", N_("Firefox") },
{ MIDORI_IDENT_EXPLORER, "MIDORI_IDENT_EXPLORER", N_("Internet Explorer") },
{ MIDORI_IDENT_CUSTOM, "MIDORI_IDENT_CUSTOM", N_("Custom...") },
"toolbar-items",
_("Toolbar Items"),
_("The items to show on the toolbar"),
- "Back,Forward,ReloadStop,Location,Panel,Search,Trash",
+ "TabNew,Back,Forward,ReloadStop,Location,Panel,Search,Trash",
flags));
g_object_class_install_property (gobject_class,
*
* Whether to ask for the destination folder when downloading a file.
*
+ * Note: Only since 0.2.0 is this value actually used.
+ *
* Since: 0.1.7
*/
g_object_class_install_property (gobject_class,
_("Ask for the destination folder"),
_("Whether to ask for the destination folder when downloading a file"),
FALSE,
- #if WEBKIT_CHECK_VERSION (1, 1, 3)
+ #if WEBKIT_CHECK_VERSION (1, 1, 15)
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
#else
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
FALSE,
flags));
+ /**
+ * MidoriWebSettings:kinetic-scrolling:
+ *
+ * Whether scrolling should kinetically move according to speed.
+ *
+ * Since: 0.2.0
+ */
+ g_object_class_install_property (gobject_class,
+ PROP_KINETIC_SCROLLING,
+ g_param_spec_boolean (
+ "kinetic-scrolling",
+ _("Kinetic scrolling"),
+ _("Whether scrolling should kinetically move according to speed"),
+ TRUE,
+ flags));
+
g_object_class_install_property (gobject_class,
PROP_ACCEPT_COOKIES,
g_param_spec_enum (
web_settings->open_popups_in_tabs = TRUE;
web_settings->remember_last_form_inputs = TRUE;
web_settings->remember_last_downloaded_files = TRUE;
+ web_settings->kinetic_scrolling = TRUE;
web_settings->auto_detect_proxy = TRUE;
g_signal_connect (web_settings, "notify::default-encoding",
#define WEBKIT_USER_AGENT_MAJOR_VERSION 532
#define WEBKIT_USER_AGENT_MINOR_VERSION 1
#endif
-
- const gchar* webcore = "WebKit/" G_STRINGIFY (WEBKIT_USER_AGENT_MAJOR_VERSION)
- "." G_STRINGIFY (WEBKIT_USER_AGENT_MINOR_VERSION) "+";
+ const int webcore_major = WEBKIT_USER_AGENT_MAJOR_VERSION;
+ const int webcore_minor = WEBKIT_USER_AGENT_MINOR_VERSION;
switch (identify_as)
{
case MIDORI_IDENT_MIDORI:
- return g_strdup_printf ("%s (%s; %s; U; %s) %s",
- appname, platform, os, lang, webcore);
+ return g_strdup_printf ("%s (%s; %s; U; %s) WebKit/%d.%d+",
+ appname, platform, os, lang, webcore_major, webcore_minor);
case MIDORI_IDENT_SAFARI:
return g_strdup_printf ("Mozilla/5.0 (%s; U; %s; %s) "
- "AppleWebKit/532+ (KHTML, like Gecko) Safari/%s %s",
- platform, os, lang, webcore, appname);
+ "AppleWebKit/%d+ (KHTML, like Gecko) Safari/%d.%d+ %s",
+ platform, os, lang, webcore_major, webcore_major, webcore_minor, appname);
+ case MIDORI_IDENT_IPHONE:
+ return g_strdup_printf ("Mozilla/5.0 (iPhone; U; %s; %s) "
+ "AppleWebKit/532+ (KHTML, like Gecko) Version/3.0 Mobile/1A538b "
+ "Safari/419.3 %s",
+ os, lang, appname);
case MIDORI_IDENT_FIREFOX:
return g_strdup_printf ("Mozilla/5.0 (%s; U; %s; %s; rv:1.8.1) "
"Gecko/20061010 Firefox/2.0 %s",
case PROP_FIND_WHILE_TYPING:
web_settings->find_while_typing = g_value_get_boolean (value);
break;
+ case PROP_KINETIC_SCROLLING:
+ web_settings->kinetic_scrolling = g_value_get_boolean (value);
+ break;
case PROP_ACCEPT_COOKIES:
web_settings->accept_cookies = g_value_get_enum (value);
break;
case PROP_FIND_WHILE_TYPING:
g_value_set_boolean (value, web_settings->find_while_typing);
break;
+ case PROP_KINETIC_SCROLLING:
+ g_value_set_boolean (value, web_settings->kinetic_scrolling);
+ break;
case PROP_ACCEPT_COOKIES:
g_value_set_enum (value, web_settings->accept_cookies);
break;
{
MIDORI_IDENT_MIDORI,
MIDORI_IDENT_SAFARI,
+ MIDORI_IDENT_IPHONE,
MIDORI_IDENT_FIREFOX,
MIDORI_IDENT_EXPLORER,
- MIDORI_IDENT_CUSTOM
+ MIDORI_IDENT_CUSTOM,
} MidoriIdentity;
GType
return TRUE;
}
-static gchar*
-sokoke_idn_to_punycode (gchar* uri)
+/**
+ * sokoke_hostname_from_uri:
+ * @uri: an URI string
+ * @path: location of a string pointer
+ *
+ * Returns the hostname of the specified URI,
+ * and stores the path in @path.
+ * @path is at least set to ""
+ *
+ * Return value: a newly allocated hostname
+ **/
+gchar*
+sokoke_hostname_from_uri (const gchar* uri,
+ gchar** path)
{
- #if HAVE_LIBIDN
- gchar* proto;
gchar* hostname;
- gchar* path;
- char *s;
- uint32_t *q;
- int rc;
- gchar *result;
- if ((proto = g_utf8_strchr (uri, -1, ':')))
- {
- gulong offset;
- gchar* buffer;
-
- /* 'file' URIs don't have a hostname */
- if (!strcmp (proto, "file"))
- return uri;
-
- offset = g_utf8_pointer_to_offset (uri, proto);
- buffer = g_malloc0 (offset + 1);
- g_utf8_strncpy (buffer, uri, offset);
- proto = buffer;
- }
-
- path = NULL;
+ *path = "";
if ((hostname = g_utf8_strchr (uri, -1, '/')))
{
if (hostname[1] == '/')
hostname += 2;
- if ((path = g_utf8_strchr (hostname, -1, '/')))
+ if ((*path = g_utf8_strchr (hostname, -1, '/')))
{
- gulong offset = g_utf8_pointer_to_offset (hostname, path);
+ gulong offset = g_utf8_pointer_to_offset (hostname, *path);
gchar* buffer = g_malloc0 (offset + 1);
g_utf8_strncpy (buffer, hostname, offset);
hostname = buffer;
}
else
hostname = g_strdup (uri);
+ return hostname;
+}
+
+/**
+ * sokoke_hostname_to_ascii:
+ * @uri: an URI string
+ *
+ * The specified hostname is encoded if it is not ASCII.
+ *
+ * If no IDN support is available at compile time,
+ * the hostname will be returned unaltered.
+ *
+ * Return value: a newly allocated hostname
+ **/
+static gchar*
+sokoke_hostname_to_ascii (const gchar* hostname)
+{
+ #ifdef HAVE_LIBSOUP_2_27_90
+ return g_hostname_to_ascii (hostname);
+ #elif HAVE_LIBIDN
+ uint32_t* q;
+ char* encoded;
+ int rc;
- if (!(q = stringprep_utf8_to_ucs4 (hostname, -1, NULL)))
+ if ((q = stringprep_utf8_to_ucs4 (hostname, -1, NULL)))
{
- g_free (proto);
- g_free (hostname);
- return uri;
+ rc = idna_to_ascii_4z (q, &encoded, IDNA_ALLOW_UNASSIGNED);
+ free (q);
+ if (rc == IDNA_SUCCESS)
+ return encoded;
}
+ #endif
+ return g_strdup (hostname);
+}
+
+/**
+ * sokoke_uri_to_ascii:
+ * @uri: an URI string
+ *
+ * The specified URI is parsed and the hostname
+ * part of it is encoded if it is not ASCII.
+ *
+ * If no IDN support is available at compile time,
+ * the URI will be returned unaltered.
+ *
+ * Return value: a newly allocated URI
+ **/
+gchar*
+sokoke_uri_to_ascii (const gchar* uri)
+{
+ gchar* proto;
- rc = idna_to_ascii_4z (q, &s, IDNA_ALLOW_UNASSIGNED);
- free (q);
- if (rc != IDNA_SUCCESS)
+ if ((proto = g_utf8_strchr (uri, -1, ':')))
{
- g_free (proto);
- g_free (hostname);
- return uri;
+ gulong offset;
+ gchar* buffer;
+
+ offset = g_utf8_pointer_to_offset (uri, proto);
+ buffer = g_malloc0 (offset + 1);
+ g_utf8_strncpy (buffer, uri, offset);
+ proto = buffer;
}
- if (proto)
+ gchar* path;
+ gchar* hostname = sokoke_hostname_from_uri (uri, &path);
+ gchar* encoded = sokoke_hostname_to_ascii (hostname);
+
+ if (encoded)
{
- result = g_strconcat (proto, "://", s, path ? path : "", NULL);
- g_free (proto);
- if (path)
- g_free (hostname);
+ gchar* res = g_strconcat (proto ? proto : "", proto ? "://" : "",
+ encoded, path, NULL);
+ g_free (encoded);
+ return res;
}
- else
- result = g_strdup (s);
- g_free (uri);
- free (s);
+ g_free (hostname);
+ return g_strdup (uri);
+}
+static gchar*
+sokoke_idn_to_punycode (gchar* uri)
+{
+ #if HAVE_LIBIDN
+ gchar* result = sokoke_uri_to_ascii (uri);
+ g_free (uri);
return result;
#else
return uri;
return search;
}
+/**
+ * sokoke_magic_uri:
+ * @uri: a string typed by a user
+ * @search_engines: search engines
+ *
+ * Takes a string that was typed by a user,
+ * guesses what it is, and returns an URI.
+ *
+ * Return value: a newly allocated URI
+ **/
gchar*
sokoke_magic_uri (const gchar* uri,
KatzeArray* search_engines)
if (g_strstr_len (uri, 8, "://"))
return sokoke_idn_to_punycode (g_strdup (uri));
- /* Do we have a domain, ip address or localhost? */
- if (g_ascii_isdigit (uri[0]))
+ /* Do we have an IP address? */
+ if (g_ascii_isdigit (uri[0]) && g_strstr_len (uri, 4, "."))
return g_strconcat ("http://", uri, NULL);
search = NULL;
if (!strchr (uri, ' ') &&
return search;
}
+
+/**
+ * sokoke_format_uri_for_display:
+ * @uri: an URI string
+ *
+ * Formats an URI for display, for instance by converting
+ * percent encoded characters and by decoding punycode.
+ *
+ * Return value: a newly allocated URI
+ **/
+gchar*
+sokoke_format_uri_for_display (const gchar* uri)
+{
+ if (uri && g_str_has_prefix (uri, "http://"))
+ {
+ gchar* unescaped = g_uri_unescape_string (uri, NULL);
+ #ifdef HAVE_LIBSOUP_2_27_90
+ gchar* path;
+ gchar* hostname = sokoke_hostname_from_uri (unescaped, &path);
+ gchar* decoded = g_hostname_to_unicode (hostname);
+
+ if (decoded)
+ {
+ gchar* result = g_strconcat ("http://", decoded, path, NULL);
+ g_free (unescaped);
+ g_free (decoded);
+ g_free (hostname);
+ return result;
+ }
+ g_free (hostname);
+ return unescaped;
+ #elif HAVE_LIBIDN
+ gchar* decoded;
+ if (!idna_to_unicode_8z8z (unescaped, &decoded, 0) == IDNA_SUCCESS)
+ return unescaped;
+ g_free (unescaped);
+ return decoded;
+ #else
+ return unescaped;
+ #endif
+ }
+ return g_strdup (uri);
+}
+
void
sokoke_combo_box_add_strings (GtkComboBox* combobox,
const gchar* label_first, ...)
{ STOCK_HISTORY, N_("_History"), 0, 0, GTK_STOCK_SORT_ASCENDING },
{ STOCK_HOMEPAGE, N_("_Homepage"), 0, 0, GTK_STOCK_HOME },
{ STOCK_SCRIPTS, N_("_Userscripts"), 0, 0, GTK_STOCK_EXECUTE },
- { 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_("Netscape p_lugins"), 0, 0, GTK_STOCK_CONVERT },
/**
* sokoke_find_config_filename:
+ * @folder: a subfolder
* @filename: a filename or relative path
*
* Looks for the specified filename in the system config
* Return value: a full path
**/
gchar*
-sokoke_find_config_filename (const gchar* filename)
+sokoke_find_config_filename (const gchar* folder,
+ const gchar* filename)
{
const gchar* const* config_dirs = g_get_system_config_dirs ();
guint i = 0;
const gchar* config_dir;
+ if (!folder)
+ folder = "";
+
while ((config_dir = config_dirs[i++]))
{
- gchar* path = g_build_filename (config_dir, PACKAGE_NAME, filename, NULL);
+ gchar* path = g_build_filename (config_dir, PACKAGE_NAME, folder, filename, NULL);
if (g_file_test (path, G_FILE_TEST_EXISTS))
return path;
g_free (path);
}
- return g_build_filename (SYSCONFDIR, "xdg", PACKAGE_NAME, filename, NULL);
+ return g_build_filename (SYSCONFDIR, "xdg", PACKAGE_NAME, folder, filename, NULL);
}
/**
gchar* sokoke_search_uri (const gchar* uri,
const gchar* keywords);
+gchar*
+sokoke_hostname_from_uri (const gchar* uri,
+ gchar** path);
+
+gchar*
+sokoke_uri_to_ascii (const gchar* uri);
+
gchar*
sokoke_magic_uri (const gchar* uri,
KatzeArray* search_engines);
+gchar*
+sokoke_format_uri_for_display (const gchar* uri);
+
typedef enum {
SOKOKE_MENU_POSITION_CURSOR = 0,
SOKOKE_MENU_POSITION_LEFT,
gboolean ignore_errors);
gchar*
-sokoke_find_config_filename (const gchar* filename);
+sokoke_find_config_filename (const gchar* folder,
+ const gchar* filename);
gchar*
sokoke_find_data_filename (const gchar* filename);
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:foaf="http://xmlns.com/foaf/0.1/"
+ xmlns:gnome="http://api.gnome.org/doap-extensions#"
+ xmlns="http://usefulinc.com/ns/doap#">
+
+ <name xml:lang="en">midori</name>
+ <shortdesc xml:lang="en">Midori is a lightweight web browser</shortdesc>
+ <homepage rdf:resource="http://www.twotoasts.de"/>
+ <mailing-list rdf:resource="http://foo-projects.org/mailman/listinfo/xfce"/>
+
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Christian Dywan</foaf:name>
+ <foaf:mbox>christian@twotoasts.de</foaf:mbox>
+ <gnome:userid>kalikiana</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+</Project>
{
GtkVBox parent_instance;
- MidoriAddonKind kind;
GtkWidget* web_widget;
GtkWidget* toolbar;
GtkWidget* treeview;
static const gchar*
midori_addons_get_label (MidoriViewable* viewable)
{
- if (MIDORI_ADDONS (viewable)->kind == MIDORI_ADDON_USER_SCRIPTS)
- return _("Userscripts");
- else if (MIDORI_ADDONS (viewable)->kind == MIDORI_ADDON_USER_STYLES)
- return _("Userstyles");
- else
- return NULL;
+ return _("Userscripts");
}
static const gchar*
midori_addons_get_stock_id (MidoriViewable* viewable)
{
- if (MIDORI_ADDONS (viewable)->kind == MIDORI_ADDON_USER_SCRIPTS)
- return STOCK_SCRIPTS;
- else if (MIDORI_ADDONS (viewable)->kind == MIDORI_ADDON_USER_STYLES)
- return STOCK_STYLES;
- else
- return NULL;
+ return STOCK_SCRIPTS;
}
static void
switch (prop_id)
{
case PROP_KIND:
- addons->kind = g_value_get_enum (value);
+ /* Ignored */
break;
case PROP_WEB_WIDGET:
katze_object_assign (addons->web_widget, g_value_dup_object (value));
switch (prop_id)
{
case PROP_KIND:
- g_value_set_enum (value, addons->kind);
+ g_value_set_enum (value, MIDORI_ADDON_USER_SCRIPTS);
break;
case PROP_WEB_WIDGET:
g_value_set_object (value, addons->web_widget);
}
}
-static const gchar*
-_addons_get_folder (MidoriAddons* addons)
-{
- switch (addons->kind)
- {
- case MIDORI_ADDON_USER_SCRIPTS:
- return "scripts";
- case MIDORI_ADDON_USER_STYLES:
- return "styles";
- default:
- return NULL;
- }
-}
-
-static const gchar*
-_addons_get_extension (MidoriAddons* addons)
-{
- switch (addons->kind)
- {
- case MIDORI_ADDON_USER_SCRIPTS:
- return ".js";
- case MIDORI_ADDON_USER_STYLES:
- return ".css";
- default:
- return NULL;
- }
-}
-
static GSList*
_addons_get_directories (MidoriAddons* addons)
{
+ const gchar* folders[] = { "scripts", "styles" };
GSList *directories;
+ guint i;
const char* const* datadirs;
- const gchar* folder;
gchar* path;
- folder = _addons_get_folder (addons);
-
- /* user data dir */
- path = g_build_path (G_DIR_SEPARATOR_S, g_get_user_data_dir (),
- PACKAGE_NAME, folder, NULL);
- directories = g_slist_prepend (NULL, path);
+ directories = NULL;
- /* system data dirs */
- datadirs = g_get_system_data_dirs ();
- while (*datadirs)
+ for (i = 0; i < G_N_ELEMENTS (folders); i++)
{
- path = g_build_path (G_DIR_SEPARATOR_S, *datadirs,
- PACKAGE_NAME, folder, NULL);
+ path = g_build_path (G_DIR_SEPARATOR_S, g_get_user_data_dir (),
+ PACKAGE_NAME, folders[i], NULL);
directories = g_slist_prepend (directories, path);
- datadirs++;
+
+ datadirs = g_get_system_data_dirs ();
+ while (*datadirs)
+ {
+ path = g_build_path (G_DIR_SEPARATOR_S, *datadirs,
+ PACKAGE_NAME, folders[i], NULL);
+ directories = g_slist_prepend (directories, path);
+ datadirs++;
+ }
}
return directories;
{
GSList* files;
GDir* addon_dir;
- const gchar* folder;
- const gchar* extension;
GSList* list;
GSList* directories;
const gchar* filename;
gchar* fullname;
files = NULL;
- folder = _addons_get_folder (addons);
- extension = _addons_get_extension (addons);
directories = _addons_get_directories (addons);
list = directories;
{
while ((filename = g_dir_read_name (addon_dir)))
{
- if (g_str_has_suffix (filename, extension))
+ if (g_str_has_suffix (filename, ".js")
+ || g_str_has_suffix (filename, ".css"))
{
fullname = g_build_filename (dirname, filename, NULL);
files = g_slist_prepend (files, fullname);
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (addons))),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE,
- "Put scripts in the folder ~/.local/share/midori/%s",
- _addons_get_folder (addons));
+ _("Copy userscripts to the folder %s and "
+ "copy userstyles to the folder %s."),
+ "~/.local/share/midori/scripts",
+ "~/.local/share/midori/styles");
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
}
JSGlobalContextRef js_context,
MidoriAddons* addons)
{
- const gchar* uri;
+ gchar* uri;
GSList* elements;
struct AddonElement* element;
gchar* fullname;
}
exception = NULL;
- if (addons->kind == MIDORI_ADDON_USER_SCRIPTS &&
+ if (g_str_has_suffix (fullname, ".js") &&
!_js_script_from_file (js_context, fullname, &exception))
{
message = g_strdup_printf ("console.error ('%s');", exception);
g_free (message);
g_free (exception);
}
- else if (addons->kind == MIDORI_ADDON_USER_STYLES &&
+ else if (g_str_has_suffix (fullname, ".css") &&
!_js_style_from_file (js_context, fullname, &exception))
{
message = g_strdup_printf ("console.error ('%s');", exception);
elements = g_slist_next (elements);
}
+
+ g_free (uri);
}
/**
monitor = g_file_monitor_directory (directory,
G_FILE_MONITOR_NONE,
NULL, &error);
- if (!monitor)
+ if (monitor)
+ g_signal_connect (monitor, "changed",
+ G_CALLBACK (midori_addons_directory_monitor_changed), addons);
+ else
{
- g_warning ("could not monitor %s: %s", g_file_get_parse_name (directory),
- error->message);
+ g_warning (_("Can't monitor folder '%s': %s"),
+ g_file_get_parse_name (directory), error->message);
g_error_free (error);
}
- g_signal_connect (monitor, "changed",
- G_CALLBACK (midori_addons_directory_monitor_changed), addons);
g_object_unref (directory);
}
g_slist_free (list);
struct AddonElement* element;
g_return_if_fail (MIDORI_IS_ADDONS (addons));
- g_return_if_fail (addons->kind != MIDORI_ADDON_NONE);
/* FIXME: would GHashTable be better? */
disabled = g_tree_new ((GCompareFunc)strcmp);
excludes = NULL;
broken = FALSE;
- if (addons->kind == MIDORI_ADDON_USER_SCRIPTS)
+ if (g_str_has_suffix (fullname, ".js"))
{
name = NULL;
if (!js_metadata_from_file (fullname, &includes, &excludes,
displayname = name;
}
}
- else if (addons->kind == MIDORI_ADDON_USER_STYLES)
+ else if (g_str_has_suffix (fullname, ".css"))
{
if (!css_metadata_from_file (fullname, &includes, &excludes))
broken = TRUE;
# set of available languages (in alphabetic order)
-ast ca cs da de el en_GB es et fi fr gl he hu id it ja nl pl pt pt_BR ro ru sk sr sr@latin sv tr uk zh_CN zh_TW
+ast ca cs da de el en_GB es et fi fr gl he hu id it ja ko nl pl pt pt_BR ro ru sk sr sr@latin sv tr uk zh_CN zh_TW
extensions/cookie-manager/cookie-manager.c
extensions/cookie-manager/cookie-manager-page.c
extensions/cookie-manager/main.c
+extensions/dnsprefetch.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/formhistory.c
extensions/mouse-gestures/main.c
extensions/page-holder.c
extensions/shortcuts.c
"Project-Id-Version: midori\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-29 23:58+0200\n"
-"PO-Revision-Date: 2009-09-05 18:02+0100\n"
+"PO-Revision-Date: 2009-09-13 19:12+0100\n"
"Last-Translator: Carles Muñoz Gorriz <carlesmu@internautas.org>\n"
"Language-Team: Catalan\n"
"MIME-Version: 1.0\n"
msgstr "Navegador web"
#: ../midori/main.c:96
-#, fuzzy, c-format
+#, c-format
msgid "The configuration couldn't be loaded: %s\n"
-msgstr "No s'ha pogut carregar el fitxer."
+msgstr "No s'ha pogut carregar la configuració: %s\n"
#: ../midori/main.c:151
#, c-format
msgstr "Atura la càrrega d'aquesta pàgina"
#: ../midori/midori-browser.c:409
-#, fuzzy, c-format
+#, c-format
msgid "%d%% loaded"
-msgstr "S'ha carregat"
+msgstr "%d%% carregat"
#: ../midori/midori-browser.c:434
#, fuzzy, c-format
msgstr "Nova finestra"
#: ../midori/midori-websettings.c:236
-#, fuzzy
msgid "Current tab"
-msgstr "/Estil de pestanya/E_stat actual"
+msgstr "Pestanya actual"
#: ../midori/midori-websettings.c:251
msgid "Default"
msgstr "Si es mostra la barra d'adreces d'interès"
#: ../midori/midori-websettings.c:443
-#, fuzzy
msgid "Show Panel"
-msgstr "Mostra quadre"
+msgstr "Mostra el quadre"
#: ../midori/midori-websettings.c:444
#, fuzzy
msgstr ""
#: ../midori/midori-view.c:781
-#, fuzzy, c-format
+#, c-format
msgid "The page '%s' couldn't be loaded."
-msgstr "No s'ha pogut carregar el fitxer."
+msgstr "No s'ha pogut carregar la pàgina «%s»."
#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
#. so reloading via Javascript works but not via API calls.
msgstr "Error"
#: ../midori/midori-view.c:786
-#, fuzzy
msgid "Try again"
-msgstr "Torneu a provar"
+msgstr "Torneu-ho a provar"
#. 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:818 ../midori/midori-view.c:3017
-#, fuzzy, c-format
+#, c-format
msgid "Not found - %s"
-msgstr "«%s» no trobat"
+msgstr "No s'ha trobat «%s»"
#: ../midori/midori-view.c:1205
-#, fuzzy
msgid "Open _Link"
-msgstr "_Obre l'enllaç"
+msgstr "Obre l'_enllaç"
#: ../midori/midori-view.c:1207
-#, fuzzy
msgid "Open Link in New _Tab"
-msgstr "Obre l'enllaç en una _pestanya nova"
+msgstr "Obre l'enllaç en una nova _pestanya"
#: ../midori/midori-view.c:1224
-#, fuzzy
msgid "Open Link in New _Window"
-msgstr "Obre l'enllaç a una _nova finestra"
+msgstr "Obre l'enllaç a una nova _finestra"
#: ../midori/midori-view.c:1230
-#, fuzzy
msgid "_Download Link destination"
-msgstr "%s és un enllaç sense destinació"
+msgstr "_Descarrega el destí de l'enllaç"
#: ../midori/midori-view.c:1236
-#, fuzzy
msgid "_Save Link destination"
-msgstr "%s és un enllaç sense destinació"
+msgstr "De_sa el destí de l'enllaç"
#: ../midori/midori-view.c:1245
-#, fuzzy
msgid "Download with Download _Manager"
-msgstr "Navega el sistema de fitxers amb el gestor de fitxers"
+msgstr "Descarrega amb el _gestor de descàrregues"
#: ../midori/midori-view.c:1274
msgid "Search _with"
msgstr "Cerca _amb"
#: ../midori/midori-view.c:1306
-#, fuzzy
msgid "_Search the Web"
-msgstr "Cerca per Web"
+msgstr "_Cerca la Web"
#: ../midori/midori-view.c:1316
-#, fuzzy
msgid "Open Address in New _Tab"
-msgstr "Obre l'enllaç en una _pestanya nova"
+msgstr "Obre l'adreça en una nova _pestanya"
#: ../midori/midori-view.c:1494
-#, fuzzy
msgid "Open or download file"
-msgstr "Obre un fitxer existent o crea un nou fitxer."
+msgstr "Obre o descarrega el fitxer"
#: ../midori/midori-view.c:1511
#, c-format
msgstr "Obre %s"
#: ../midori/midori-view.c:1957
-#, fuzzy, c-format
+#, c-format
msgid "Inspect page - %s"
-msgstr " Pàgina de manual "
+msgstr "Inspecciona la pàgina «%s»"
#: ../midori/midori-view.c:2147
#, fuzzy
msgstr "No s'han pogut trobar plantilles"
#: ../midori/midori-view.c:2323
-#, fuzzy
msgid "Blank page"
-msgstr " Pàgina de manual "
+msgstr "Pàgina en blanc"
#: ../midori/midori-view.c:2551 ../midori/sokoke.c:865
-#, fuzzy
msgid "New _Tab"
-msgstr "Nova pes_tanya"
+msgstr "Nova _pestanya"
#: ../midori/midori-view.c:2565
-#, fuzzy
msgid "_Duplicate Tab"
-msgstr "el separador és buit"
+msgstr "_Duplica la pestanya"
#: ../midori/midori-view.c:2570
-#, fuzzy
msgid "_Restore Tab"
-msgstr "el separador és buit"
+msgstr "_Restaura la pestanya"
#: ../midori/midori-view.c:2570
-#, fuzzy
msgid "_Minimize Tab"
-msgstr "el separador és buit"
+msgstr "_Minimitza la pestanya"
#: ../midori/midori-preferences.c:91
-#, fuzzy, c-format
+#, c-format
msgid "Preferences for %s"
-msgstr "Preferències de l'Orca per a %s"
+msgstr "Preferències per a %s"
#. Page "General"
#: ../midori/midori-preferences.c:398
msgstr "Aparença"
#: ../midori/midori-preferences.c:441
-#, fuzzy
msgid "Font settings"
-msgstr "Altres paràmetres de lletra"
+msgstr "Paràmetres del tipus de lletra"
#: ../midori/midori-preferences.c:443
-#, fuzzy
msgid "Default Font Family"
-msgstr "Joc de família de tipus de lletra"
+msgstr "Família de tipus de lletra per defecte"
#: ../midori/midori-preferences.c:447
-#, fuzzy
msgid "The default font family used to display text"
-msgstr "Font utilitzada per visualitzar el text a la sortida xosd"
+msgstr "La família de tipus de lletra per defecte emprada per mostrar el text"
#: ../midori/midori-preferences.c:450
-#, fuzzy
msgid "The default font size used to display text"
-msgstr "Font utilitzada per visualitzar el text a la sortida xosd"
+msgstr "La mida del tipus de lletra per defecte emprada per mostrar el text"
#: ../midori/midori-preferences.c:453
-#, fuzzy
msgid "Fixed-width Font Family"
-msgstr "Tipus de lletra per al text de mida fixa"
+msgstr "Família de tipus de lletra d'amplada fixa"
#: ../midori/midori-preferences.c:457
msgid "The font family used to display fixed-width text"
msgstr ""
#: ../midori/midori-preferences.c:463
-#, fuzzy
msgid "Minimum Font Size"
-msgstr "Joc de mida de tipus de lletra"
+msgstr "Mida mínima del tipus de lletra"
#: ../midori/midori-preferences.c:466
-#, fuzzy
msgid "The minimum font size used to display text"
-msgstr "Font utilitzada per visualitzar el text a la sortida xosd"
+msgstr "La mida mínima del tipus de lletra emprada per mostrar text"
#: ../midori/midori-preferences.c:473
msgid "Encoding"
msgstr "Codificació"
#: ../midori/midori-preferences.c:476
-#, fuzzy
msgid "The character encoding to use by default"
-msgstr "Nom del rerefons del GtkFileChooser predeterminat"
+msgstr "La codificació de caràcters per defecte"
#. Page "Behavior"
#: ../midori/midori-preferences.c:483
msgstr "Característiques"
#: ../midori/midori-preferences.c:487 ../extensions/statusbar-features.c:88
-#, fuzzy
msgid "Load images automatically"
-msgstr "Carrega automàticament el darrer projecte"
+msgstr "Carrega les imatges automàticament"
#: ../midori/midori-preferences.c:488
-#, fuzzy
msgid "Load and display images automatically"
-msgstr "Nom de fitxer per carregar i visualitzar"
+msgstr "Carrega i mostra les imatges automàticament"
#: ../midori/midori-preferences.c:491
-#, fuzzy
msgid "Shrink images automatically"
-msgstr "Esborra les imatges automàticament després de gravar"
+msgstr "Encongeix les imatges automàticament"
#: ../midori/midori-preferences.c:492
msgid "Automatically shrink standalone images to fit"
msgstr ""
#: ../midori/midori-preferences.c:495
-#, fuzzy
msgid "Print background images"
-msgstr "/Afegeix pestanya/_Imatges"
+msgstr "Imprimeix les imatges de fons"
#: ../midori/midori-preferences.c:496
-#, fuzzy
msgid "Whether background images should be printed"
-msgstr "Si s'han de mostrar imatges en els menús."
+msgstr "Si s'han d'imprimir les imatges de fons"
#: ../midori/midori-preferences.c:499
#, fuzzy
msgstr ""
#: ../midori/midori-preferences.c:523
-#, fuzzy
msgid "Spell Checking"
-msgstr "Comprovació de l'ortografia"
+msgstr "Corrector ortogràfic"
#: ../midori/midori-preferences.c:526
-#, fuzzy
msgid "Enable Spell Checking"
-msgstr "La revisió d'ortografia ha fallat: %s"
+msgstr "Habilita el corrector ortogràfic"
#: ../midori/midori-preferences.c:527
msgid "Enable spell checking while typing"
msgstr "Buit"
#: ../midori/midori-searchaction.c:908
-#, fuzzy
msgid "Add search engine"
-msgstr "Cercador de Gadu-Gadu"
+msgstr "Afegeix giny de cerca"
#: ../midori/midori-searchaction.c:908
-#, fuzzy
msgid "Edit search engine"
-msgstr "Cercador de Gadu-Gadu"
+msgstr "Edita giny de cerca"
#: ../midori/midori-searchaction.c:936
msgid "_Name:"
msgstr "_Testimoni:"
#: ../midori/midori-searchaction.c:1213
-#, fuzzy
msgid "Manage Search Engines"
-msgstr "Repeteix l'última recerca"
+msgstr "Gestiona els ginys de cerca"
#: ../midori/midori-searchaction.c:1312
-#, fuzzy
msgid "Use as _default"
-msgstr "usa la clau predeterminada com a destinatari predeterminat"
+msgstr "Empra'l per _defecte"
#: ../midori/sokoke.c:162 ../midori/sokoke.c:174
#, fuzzy
msgstr "Scripts d'_usuari"
#: ../midori/sokoke.c:864
-#, fuzzy
msgid "User_styles"
-msgstr "Múltiples estils"
+msgstr "E_stils personals"
#: ../midori/sokoke.c:866
msgid "_Transfers"
#: ../panels/midori-addons.c:96 ../panels/midori-addons.c:143
msgid "Userstyles"
-msgstr ""
+msgstr "Estils d'usuari"
#: ../panels/midori-bookmarks.c:108
msgid "Bookmarks"
msgstr "Ahir"
#: ../panels/midori-plugins.c:87 ../extensions/statusbar-features.c:108
-#, fuzzy
msgid "Netscape plugins"
msgstr "Connectors de Netscape"
msgstr "Contrasenya"
#: ../katze/katze-throbber.c:828
-#, fuzzy, c-format
+#, c-format
msgid "Named icon '%s' couldn't be loaded"
-msgstr "No s'ha pogut carregar els següents fitxers:"
+msgstr ""
#: ../katze/katze-throbber.c:841
-#, fuzzy, c-format
+#, c-format
msgid "Stock icon '%s' couldn't be loaded"
-msgstr "No s'ha pogut carregar els següents fitxers:"
+msgstr ""
#: ../katze/katze-throbber.c:907
#, fuzzy
#
msgid ""
msgstr ""
-"Project-Id-Version: midori 0.1.9\n"
+"Project-Id-Version: midori 0.1.10\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-06 00:44+0200\n"
+"POT-Creation-Date: 2009-10-15 21:12+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"
msgid "Lightweight web browser"
msgstr "Schlanker Internetbetrachter"
-#: ../data/midori.desktop.in.h:2 ../midori/main.c:1435 ../midori/main.c:1609
-#: ../midori/main.c:1617 ../midori/main.c:1628
-#: ../midori/midori-websettings.c:287
+#: ../data/midori.desktop.in.h:2 ../midori/main.c:1491 ../midori/main.c:1665
+#: ../midori/main.c:1673 ../midori/main.c:1684
+#: ../midori/midori-websettings.c:289
msgid "Midori"
msgstr "Midori"
msgid "The trash couldn't be saved. %s"
msgstr "Der Papierkorb konnte nicht gespeichert werden. %s"
-#: ../midori/main.c:993
+#: ../midori/main.c:988 ../midori/main.c:1160
#, c-format
msgid "The session couldn't be saved. %s"
msgstr "Die Sitzung konnte nicht geladen werden. %s"
-#: ../midori/main.c:1190
+#: ../midori/main.c:1198
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."
"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:1205
+#: ../midori/main.c:1213
msgid "Modify _preferences"
msgstr "_Einstellungen bearbeiten"
-#: ../midori/main.c:1209
+#: ../midori/main.c:1217
msgid "Reset the last _session"
msgstr "Die letzte _Sitzung zurücksetzen"
-#: ../midori/main.c:1214
+#: ../midori/main.c:1222
msgid "Disable all _extensions"
msgstr "Alle Er_weiterungen ausschalten"
-#: ../midori/main.c:1435
+#: ../midori/main.c:1391 ../midori/main.c:1892
+#, c-format
+msgid "The session couldn't be loaded: %s\n"
+msgstr "Die Sitzung konnte nicht geladen werden: %s\n"
+
+#: ../midori/main.c:1491
msgid "No filename specified"
msgstr "Kein Dateiname angegeben"
-#: ../midori/main.c:1458
+#: ../midori/main.c:1514
msgid "An unknown error occured."
msgstr "Ein unbekannter Fehler ist aufgetreten."
-#: ../midori/main.c:1490
+#: ../midori/main.c:1546
#, c-format
msgid "Snapshot saved to: %s\n"
msgstr "Schnappschuss gespeichert: %s\n"
-#: ../midori/main.c:1539
+#: ../midori/main.c:1595
msgid "Run ADDRESS as a web application"
msgstr "ADRESSE als Internetanwendung starten"
-#: ../midori/main.c:1539
+#: ../midori/main.c:1595
msgid "ADDRESS"
msgstr "ADRESSE"
-#: ../midori/main.c:1541
+#: ../midori/main.c:1597
msgid "Use FOLDER as configuration folder"
msgstr "ORDNER als Konfigurationsordner benutzen"
-#: ../midori/main.c:1541
+#: ../midori/main.c:1597
msgid "FOLDER"
msgstr "ORDNER"
-#: ../midori/main.c:1543
+#: ../midori/main.c:1599
msgid "Run the specified filename as javascript"
msgstr "Angegebenen Dateinamen als Javaskript ausführen"
-#: ../midori/main.c:1546
+#: ../midori/main.c:1602
msgid "Take a snapshot of the specified URI"
msgstr "Schnappschuss der angegebenen URI aufnehmen"
-#: ../midori/main.c:1549
+#: ../midori/main.c:1605
msgid "Execute the specified command"
msgstr "Den angegebenen Befehl ausführen"
-#: ../midori/main.c:1551
+#: ../midori/main.c:1607
msgid "Display program version"
msgstr "Programmversion anzeigen"
-#: ../midori/main.c:1553
+#: ../midori/main.c:1609
msgid "Addresses"
msgstr "Adressen"
-#: ../midori/main.c:1606
+#: ../midori/main.c:1662
msgid "[Addresses]"
msgstr "[Adressen]"
-#: ../midori/main.c:1629
+#: ../midori/main.c:1685
msgid "Please report comments, suggestions and bugs to:"
msgstr "Kommentare, Vorschläge und Fehlerberichte senden an:"
-#: ../midori/main.c:1631
+#: ../midori/main.c:1687
msgid "Check for new versions at:"
msgstr "Informieren Sie sich über neue Versionen unter:"
-#: ../midori/main.c:1711
+#: ../midori/main.c:1767
msgid "The specified configuration folder is invalid."
msgstr "Der angegebene Konfigurationsordner konnte nicht geladen werden."
-#: ../midori/main.c:1751
+#: ../midori/main.c:1815
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:1795
+#: ../midori/main.c:1859
#, c-format
msgid "The search engines couldn't be loaded. %s\n"
msgstr "Die Suchmaschinen konnten nicht geladen werden. %s\n"
-#: ../midori/main.c:1813
+#: ../midori/main.c:1877
#, c-format
msgid "The bookmarks couldn't be loaded: %s\n"
msgstr "Die Lesezeichen konnten nicht geladen werden: %s\n"
-#: ../midori/main.c:1828
-#, c-format
-msgid "The session couldn't be loaded: %s\n"
-msgstr "Die Sitzung konnte nicht geladen werden: %s\n"
-
-#: ../midori/main.c:1841
+#: ../midori/main.c:1905
#, c-format
msgid "The trash couldn't be loaded: %s\n"
msgstr "Der Papierkorb konnte nicht geladen werden: %s\n"
-#: ../midori/main.c:1854
+#: ../midori/main.c:1918
#, c-format
msgid "The history couldn't be loaded: %s\n"
msgstr "Der Verlauf konnte nicht geladen werden: %s\n"
-#: ../midori/main.c:1866
+#: ../midori/main.c:1930
msgid "The following errors occured:"
msgstr "Folgende Fehler sind aufgetreten:"
-#: ../midori/main.c:1882
+#: ../midori/main.c:1946
msgid "_Ignore"
msgstr "_Ignorieren"
msgid "Malformed document."
msgstr "Fehlerhaftes Dokument"
-#: ../midori/midori-array.c:432 ../midori/sokoke.c:699
+#: ../midori/midori-array.c:437 ../midori/sokoke.c:798
#, c-format
msgid "Writing failed."
msgstr "Schreiben fehlgeschlagen."
-#: ../midori/midori-browser.c:315 ../midori/midori-browser.c:4327
-#: ../midori/midori-browser.c:4333
+#: ../midori/midori-browser.c:309 ../midori/midori-browser.c:4656
+#: ../midori/midori-browser.c:4662
msgid "Reload the current page"
msgstr "Diese Seite neu laden"
-#: ../midori/midori-browser.c:326 ../midori/midori-browser.c:4330
+#: ../midori/midori-browser.c:319 ../midori/midori-browser.c:4659
msgid "Stop loading the current page"
msgstr "Laden dieser Seite abbrechen"
-#: ../midori/midori-browser.c:417
+#: ../midori/midori-browser.c:432
#, c-format
msgid "%d%% loaded"
msgstr "%d%% geladen"
-#: ../midori/midori-browser.c:442
+#: ../midori/midori-browser.c:457
#, c-format
msgid "Unexpected action '%s'."
msgstr "Unerwartete Aktion »%s«."
-#: ../midori/midori-browser.c:627
+#: ../midori/midori-browser.c:654
msgid "New folder"
msgstr "Neuer Ordner"
-#: ../midori/midori-browser.c:627
+#: ../midori/midori-browser.c:654
msgid "Edit folder"
msgstr "Ordner bearbeiten"
-#: ../midori/midori-browser.c:629
+#: ../midori/midori-browser.c:656
msgid "New bookmark"
msgstr "Neues Lesezeichen"
-#: ../midori/midori-browser.c:629
+#: ../midori/midori-browser.c:656
msgid "Edit bookmark"
msgstr "Lesezeichen bearbeiten"
-#: ../midori/midori-browser.c:659
+#: ../midori/midori-browser.c:686
msgid "_Title:"
msgstr "_Titel:"
-#: ../midori/midori-browser.c:672 ../midori/midori-searchaction.c:952
+#: ../midori/midori-browser.c:699 ../midori/midori-searchaction.c:952
msgid "_Description:"
msgstr "_Beschreibung:"
-#: ../midori/midori-browser.c:691 ../midori/midori-searchaction.c:966
+#: ../midori/midori-browser.c:718 ../midori/midori-searchaction.c:966
#: ../extensions/feed-panel/main.c:368
msgid "_Address:"
msgstr "_Adresse:"
-#: ../midori/midori-browser.c:710
+#: ../midori/midori-browser.c:741
msgid "_Folder:"
msgstr "_Ordner:"
-#: ../midori/midori-browser.c:715 ../midori/midori-browser.c:756
+#: ../midori/midori-browser.c:746 ../midori/midori-browser.c:787
msgid "Toplevel folder"
msgstr "Oberster Ordner"
-#: ../midori/midori-browser.c:834
+#: ../midori/midori-browser.c:865
msgid "Save file as"
msgstr "Datei speichern unter"
-#: ../midori/midori-browser.c:1211 ../panels/midori-transfers.c:272
+#: ../midori/midori-browser.c:1242 ../panels/midori-transfers.c:272
#, c-format
msgid "%s of %s"
msgstr "%s von %s"
-#: ../midori/midori-browser.c:1248
+#: ../midori/midori-browser.c:1279
#, c-format
msgid "The file '<b>%s</b>' has been downloaded."
-msgstr "Die Datei «<b>%s</b>» wurde heruntergeladen."
+msgstr "Die Datei »<b>%s</b>« wurde heruntergeladen."
-#: ../midori/midori-browser.c:1252
+#: ../midori/midori-browser.c:1283
msgid "Transfer completed"
msgstr "Übertragung abgeschlossen"
-#: ../midori/midori-browser.c:1393
+#: ../midori/midori-browser.c:1424
msgid "Save file"
msgstr "Datei speichern"
-#: ../midori/midori-browser.c:2060
+#: ../midori/midori-browser.c:2085
msgid "Open file"
msgstr "Datei öffnen"
-#: ../midori/midori-browser.c:3268 ../extensions/feed-panel/main.c:356
+#: ../midori/midori-browser.c:2177 ../extensions/feed-panel/main.c:356
msgid "New feed"
msgstr "Neue Nachrichtenquelle"
-#: ../midori/midori-browser.c:3523 ../panels/midori-bookmarks.c:781
+#: ../midori/midori-browser.c:3791 ../panels/midori-bookmarks.c:781
#: ../panels/midori-history.c:812
msgid "Open all in _Tabs"
msgstr "Alle in neuen _Reitern öffnen"
-#: ../midori/midori-browser.c:3530 ../panels/midori-bookmarks.c:787
+#: ../midori/midori-browser.c:3798 ../panels/midori-bookmarks.c:787
#: ../panels/midori-history.c:818 ../extensions/feed-panel/feed-panel.c:542
msgid "Open in New _Tab"
msgstr "In neuem _Reiter öffnen"
-#: ../midori/midori-browser.c:3533 ../panels/midori-bookmarks.c:789
+#: ../midori/midori-browser.c:3801 ../panels/midori-bookmarks.c:789
#: ../panels/midori-history.c:820 ../extensions/feed-panel/feed-panel.c:544
msgid "Open in New _Window"
msgstr "In neuem _Fenster öffnen"
-#: ../midori/midori-browser.c:3843
+#: ../midori/midori-browser.c:4111
msgid "Clear Private Data"
msgstr "Private Daten löschen"
-#: ../midori/midori-browser.c:3847
+#: ../midori/midori-browser.c:4115
msgid "_Clear private data"
msgstr "_Private Daten löschen"
-#: ../midori/midori-browser.c:3860
+#: ../midori/midori-browser.c:4128
msgid "Clear the following data:"
msgstr "Folgende Daten löschen:"
-#: ../midori/midori-browser.c:3870 ../midori/midori-preferences.c:665
+#: ../midori/midori-browser.c:4138 ../midori/midori-preferences.c:675
#: ../panels/midori-history.c:108
msgid "History"
msgstr "Verlauf"
-#: ../midori/midori-browser.c:3875
+#: ../midori/midori-browser.c:4143
msgid "Cookies"
msgstr "Benutzerprofile/ Cookies"
-#: ../midori/midori-browser.c:3880
+#: ../midori/midori-browser.c:4148
msgid "'Flash' Cookies"
-msgstr "«Flash» Cookies"
+msgstr "»Flash« Cookies"
-#: ../midori/midori-browser.c:3885
+#: ../midori/midori-browser.c:4153
msgid "Website icons"
msgstr "Symbole von Internetseiten"
-#: ../midori/midori-browser.c:3890 ../midori/sokoke.c:873
+#: ../midori/midori-browser.c:4158 ../midori/sokoke.c:971
msgid "_Closed Tabs"
msgstr "Ges_chlossene Reiter"
-#: ../midori/midori-browser.c:3898
+#: ../midori/midori-browser.c:4166
msgid "Clear private data when _quitting Midori"
msgstr "Private Daten beim _Beenden von Midori löschen"
-#: ../midori/midori-browser.c:3979
+#: ../midori/midori-browser.c:4262
msgid "A lightweight web browser."
msgstr "Ein schlanker Internetbetrachter."
-#: ../midori/midori-browser.c:3995
+#: ../midori/midori-browser.c:4278
msgid "translator-credits"
msgstr ""
"Enrico Tröger <enrico.troeger@uvena.de>\n"
"Christian Dywan <christian@twotoasts.de>"
-#: ../midori/midori-browser.c:4261
+#: ../midori/midori-browser.c:4573
msgid "_File"
msgstr "_Datei"
-#: ../midori/midori-browser.c:4263 ../midori/sokoke.c:874
+#: ../midori/midori-browser.c:4575 ../midori/sokoke.c:972
msgid "New _Window"
msgstr "Neues _Fenster"
-#: ../midori/midori-browser.c:4264
+#: ../midori/midori-browser.c:4576
msgid "Open a new window"
msgstr "Ein neues Fenster öffnen"
-#: ../midori/midori-browser.c:4267
+#: ../midori/midori-browser.c:4579
msgid "Open a new tab"
msgstr "Einen neuen Reiter öffnen"
-#: ../midori/midori-browser.c:4270
+#: ../midori/midori-browser.c:4582
msgid "Open a file"
msgstr "Eine Datei öffnen"
-#: ../midori/midori-browser.c:4273
+#: ../midori/midori-browser.c:4585
msgid "Save to a file"
msgstr "In Datei speichern"
-#: ../midori/midori-browser.c:4275
+#: ../midori/midori-browser.c:4587
msgid "Add to Speed _dial"
msgstr "Zu Schnell_wahl hinzufügen"
-#: ../midori/midori-browser.c:4276
+#: ../midori/midori-browser.c:4588
msgid "Add shortcut to speed dial"
msgstr "Eine Verknüpfung zur Schnellwahl hinzufügen"
-#: ../midori/midori-browser.c:4278
+#: ../midori/midori-browser.c:4590
+msgid "Add Shortcut to the _desktop"
+msgstr "Verknüpfung auf dem _Schreibtisch"
+
+#: ../midori/midori-browser.c:4591
+msgid "Add shortcut to the desktop"
+msgstr "Eine Verknüpfung auf dem Schreibtisch hinzufügen"
+
+#: ../midori/midori-browser.c:4593
+msgid "Subscribe to News _feed"
+msgstr "Nachrichten_quelle abonnieren"
+
+#: ../midori/midori-browser.c:4594
+msgid "Subscribe to this news feed"
+msgstr "Diese Nachrichtenquelle abonnieren"
+
+#: ../midori/midori-browser.c:4599
msgid "_Close Tab"
msgstr "Reiter s_chließen"
-#: ../midori/midori-browser.c:4279
+#: ../midori/midori-browser.c:4600
msgid "Close the current tab"
msgstr "Den aktuellen Reiter schließen"
-#: ../midori/midori-browser.c:4281
+#: ../midori/midori-browser.c:4602
msgid "C_lose Window"
msgstr "_Fenster schließen"
-#: ../midori/midori-browser.c:4282
+#: ../midori/midori-browser.c:4603
msgid "Close this window"
msgstr "Dieses Fenster schließen"
-#: ../midori/midori-browser.c:4285
+#: ../midori/midori-browser.c:4606
msgid "Print the current page"
msgstr "Aktuelle Seite ausdrucken"
-#: ../midori/midori-browser.c:4288
+#: ../midori/midori-browser.c:4609
msgid "Quit the application"
msgstr "Programm beenden"
-#: ../midori/midori-browser.c:4290
+#: ../midori/midori-browser.c:4611
msgid "_Edit"
msgstr "_Bearbeiten"
-#: ../midori/midori-browser.c:4293
+#: ../midori/midori-browser.c:4615
+msgid "Undo the last modification"
+msgstr "Letzte Änderung rückgängig machen"
+
+#: ../midori/midori-browser.c:4618
+msgid "Redo the last modification"
+msgstr "Die letzte Ä_nderung rückgängig machen"
+
+#: ../midori/midori-browser.c:4622
msgid "Cut the selected text"
msgstr "Markierten Text ausschneiden"
-#: ../midori/midori-browser.c:4296 ../midori/midori-browser.c:4299
+#: ../midori/midori-browser.c:4625 ../midori/midori-browser.c:4628
msgid "Copy the selected text"
msgstr "Markierten Text kopieren"
-#: ../midori/midori-browser.c:4302
+#: ../midori/midori-browser.c:4631
msgid "Paste text from the clipboard"
msgstr "Text aus der Zwischenablage einfügen"
-#: ../midori/midori-browser.c:4305
+#: ../midori/midori-browser.c:4634
msgid "Delete the selected text"
msgstr "Markierten Text löschen"
-#: ../midori/midori-browser.c:4308
+#: ../midori/midori-browser.c:4637
msgid "Select all text"
msgstr "Gesamten Text auswählen"
-#: ../midori/midori-browser.c:4311
+#: ../midori/midori-browser.c:4640
msgid "Find a word or phrase in the page"
msgstr "Finde ein Wort oder einen Satz auf der Seite"
-#: ../midori/midori-browser.c:4313
+#: ../midori/midori-browser.c:4642
msgid "Find _Next"
msgstr "_Nächstes suchen"
-#: ../midori/midori-browser.c:4314
+#: ../midori/midori-browser.c:4643
msgid "Find the next occurrence of a word or phrase"
msgstr "Finde das nächste Auftreten eines Wortes oder Satzes"
-#: ../midori/midori-browser.c:4316
+#: ../midori/midori-browser.c:4645
msgid "Find _Previous"
msgstr "_Vorheriges suchen"
-#: ../midori/midori-browser.c:4317
+#: ../midori/midori-browser.c:4646
msgid "Find the previous occurrence of a word or phrase"
msgstr "Finde das voherige Auftreten eines Wortes oder Satzes"
-#: ../midori/midori-browser.c:4321
+#: ../midori/midori-browser.c:4650
msgid "Configure the application preferences"
msgstr "Anwedungseinstellungen anpassen"
-#: ../midori/midori-browser.c:4323
+#: ../midori/midori-browser.c:4652
msgid "_View"
msgstr "_Ansicht"
-#: ../midori/midori-browser.c:4324
+#: ../midori/midori-browser.c:4653
msgid "_Toolbars"
msgstr "_Werkzeugleisten"
-#: ../midori/midori-browser.c:4336
+#: ../midori/midori-browser.c:4665
msgid "Increase the zoom level"
msgstr "Erhöhe die Vergrößerungsstufe"
-#: ../midori/midori-browser.c:4339
+#: ../midori/midori-browser.c:4668
msgid "Decrease the zoom level"
msgstr "Verringere die Vergrößerungsstufe"
-#: ../midori/midori-browser.c:4342
+#: ../midori/midori-browser.c:4671
msgid "Reset the zoom level"
msgstr "Setzte die Vergrößerungsstufe zurück"
-#: ../midori/midori-browser.c:4343
+#: ../midori/midori-browser.c:4672
msgid "_Encoding"
msgstr "_Zeichensatz"
-#: ../midori/midori-browser.c:4345
+#: ../midori/midori-browser.c:4674
msgid "View So_urce"
msgstr "_Quelltext anzeigen"
-#: ../midori/midori-browser.c:4346
+#: ../midori/midori-browser.c:4675
msgid "View the source code of the page"
msgstr "Zeige den Quelltext der Seite an"
-#: ../midori/midori-browser.c:4348
+#: ../midori/midori-browser.c:4677
msgid "View Selection Source"
msgstr "Quelltext der Markierung anzeigen"
-#: ../midori/midori-browser.c:4349
+#: ../midori/midori-browser.c:4678
msgid "View the source code of the selection"
msgstr "Zeige den Quelltext der Markierung an"
-#: ../midori/midori-browser.c:4353
+#: ../midori/midori-browser.c:4682
msgid "Toggle fullscreen view"
msgstr "Vollbildmodus ein-/ ausschalten"
-#: ../midori/midori-browser.c:4355
+#: ../midori/midori-browser.c:4684
msgid "_Go"
msgstr "_Gehe zu"
-#: ../midori/midori-browser.c:4358
+#: ../midori/midori-browser.c:4687
msgid "Go back to the previous page"
msgstr "Gehe zur voherigen Seite zurück"
-#: ../midori/midori-browser.c:4361
+#: ../midori/midori-browser.c:4690
msgid "Go forward to the next page"
msgstr "Gehe weiter zur nächsten Seite"
-#: ../midori/midori-browser.c:4364
+#: ../midori/midori-browser.c:4693
msgid "Go to your homepage"
msgstr "Gehe zu Deiner Startseite"
-#: ../midori/midori-browser.c:4366
+#: ../midori/midori-browser.c:4695
msgid "Empty Trash"
msgstr "Papierkorb leeren"
-#: ../midori/midori-browser.c:4367
+#: ../midori/midori-browser.c:4696
msgid "Delete the contents of the trash"
msgstr "Inhalt des Papierkorbs löschen"
-#: ../midori/midori-browser.c:4369
+#: ../midori/midori-browser.c:4698
msgid "Undo _Close Tab"
msgstr "Reiter _zurückholen"
-#: ../midori/midori-browser.c:4370
+#: ../midori/midori-browser.c:4699
msgid "Open the last closed tab"
msgstr "Zuletzt geschlossenen Reiter öffnen"
-#: ../midori/midori-browser.c:4374 ../panels/midori-bookmarks.c:231
+#: ../midori/midori-browser.c:4703 ../panels/midori-bookmarks.c:231
msgid "Add a new bookmark"
msgstr "Ein neues Lesezeichen hinzufügen"
-#: ../midori/midori-browser.c:4376
+#: ../midori/midori-browser.c:4705
msgid "Add a new _folder"
msgstr "Einen neuen _Ordner hinzufügen"
-#: ../midori/midori-browser.c:4377
+#: ../midori/midori-browser.c:4706
msgid "Add a new bookmark folder"
msgstr "Einen neuen Lesezeichenordner hinzufügen"
-#: ../midori/midori-browser.c:4379 ../midori/midori-searchaction.c:497
+#: ../midori/midori-browser.c:4708 ../midori/midori-searchaction.c:497
msgid "_Manage Search Engines"
msgstr "_Suchmaschinen verwalten"
-#: ../midori/midori-browser.c:4380
+#: ../midori/midori-browser.c:4709
msgid "Add, edit and remove search engines..."
msgstr "Suchmaschinen hinzufügen, bearbeiten und löschen…"
-#: ../midori/midori-browser.c:4383
+#: ../midori/midori-browser.c:4712
msgid "_Clear Private Data"
msgstr "_Private Daten löschen"
-#: ../midori/midori-browser.c:4384
+#: ../midori/midori-browser.c:4713
msgid "Clear private data..."
msgstr "Private Daten löschen..."
-#: ../midori/midori-browser.c:4388
+#: ../midori/midori-browser.c:4717
msgid "_Previous Tab"
msgstr "_Vorheriger Reiter"
-#: ../midori/midori-browser.c:4389
+#: ../midori/midori-browser.c:4718
msgid "Switch to the previous tab"
msgstr "Zum voherigen Reiter wechseln"
-#: ../midori/midori-browser.c:4391
+#: ../midori/midori-browser.c:4720
msgid "_Next Tab"
msgstr "_Nächster Reiter"
-#: ../midori/midori-browser.c:4392
+#: ../midori/midori-browser.c:4721
msgid "Switch to the next tab"
msgstr "Zum nächsten Reiter wechseln"
-#: ../midori/midori-browser.c:4394
+#: ../midori/midori-browser.c:4723
+msgid "Focus _Current Tab"
+msgstr "_Aktuellen Reiter fokusieren"
+
+#: ../midori/midori-browser.c:4724
+msgid "Focus the current tab"
+msgstr "Den aktuellen Reiter fokussieren"
+
+#: ../midori/midori-browser.c:4726
+msgid "Open last _session"
+msgstr "Die letzte _Sitzung öffnen"
+
+#: ../midori/midori-browser.c:4727
+msgid "Open the tabs saved in the last session"
+msgstr "In der letzten Sitzung geöffnete Reiter öffnen"
+
+#: ../midori/midori-browser.c:4729
msgid "_Help"
msgstr "_Hilfe"
-#: ../midori/midori-browser.c:4396
+#: ../midori/midori-browser.c:4731
msgid "_Contents"
msgstr "_Inhalt"
-#: ../midori/midori-browser.c:4397
+#: ../midori/midori-browser.c:4732
msgid "Show the documentation"
msgstr "Zeige die Dokumentation"
-#: ../midori/midori-browser.c:4399
+#: ../midori/midori-browser.c:4734
msgid "_Frequent Questions"
msgstr "_Häufige Fragen"
-#: ../midori/midori-browser.c:4400
+#: ../midori/midori-browser.c:4735
msgid "Show the Frequently Asked Questions"
msgstr "Häufig gestellte Fragen anzeigen"
-#: ../midori/midori-browser.c:4402
+#: ../midori/midori-browser.c:4737
msgid "_Report a Bug"
msgstr "Fehler _berichten"
-#: ../midori/midori-browser.c:4403
+#: ../midori/midori-browser.c:4738
msgid "Open Midori's bug tracker"
msgstr "Midoris Fehlerverfolgung öffnen"
-#: ../midori/midori-browser.c:4406
+#: ../midori/midori-browser.c:4741
msgid "Show information about the program"
msgstr "Zeige Informationen über das Programm"
-#: ../midori/midori-browser.c:4413
+#: ../midori/midori-browser.c:4748
msgid "P_rivate Browsing"
msgstr "_Privat navigieren"
-#: ../midori/midori-browser.c:4414
+#: ../midori/midori-browser.c:4749
msgid "Don't save any private data while browsing"
msgstr "Keinerlei private Daten während des Navigierens speichern"
-#: ../midori/midori-browser.c:4419
+#: ../midori/midori-browser.c:4754
msgid "_Menubar"
msgstr "_Menüleiste"
-#: ../midori/midori-browser.c:4420
+#: ../midori/midori-browser.c:4755
msgid "Show menubar"
msgstr "Menüleiste anzeigen"
-#: ../midori/midori-browser.c:4423
+#: ../midori/midori-browser.c:4758
msgid "_Navigationbar"
msgstr "_Navigationsleiste"
-#: ../midori/midori-browser.c:4424
+#: ../midori/midori-browser.c:4759
msgid "Show navigationbar"
msgstr "Navigationsleiste anzeigen"
-#: ../midori/midori-browser.c:4427
+#: ../midori/midori-browser.c:4762
msgid "Side_panel"
msgstr "Seiten_leiste"
-#: ../midori/midori-browser.c:4428
+#: ../midori/midori-browser.c:4763
msgid "Show sidepanel"
msgstr "Seitenleiste anzeigen"
-#: ../midori/midori-browser.c:4431
+#: ../midori/midori-browser.c:4766
msgid "_Bookmarkbar"
msgstr "_Lesezeichenleiste"
-#: ../midori/midori-browser.c:4432
+#: ../midori/midori-browser.c:4767
msgid "Show bookmarkbar"
msgstr "Lesezeichenleiste anzeigen"
-#: ../midori/midori-browser.c:4435
+#: ../midori/midori-browser.c:4770
msgid "_Transferbar"
msgstr "_Übertragungsleiste"
-#: ../midori/midori-browser.c:4436
+#: ../midori/midori-browser.c:4771
msgid "Show transferbar"
msgstr "Übertragungsleiste anzeigen"
-#: ../midori/midori-browser.c:4439
+#: ../midori/midori-browser.c:4774
msgid "_Statusbar"
msgstr "_Statusleiste"
-#: ../midori/midori-browser.c:4440
+#: ../midori/midori-browser.c:4775
msgid "Show statusbar"
msgstr "Statusleiste anzeigen"
-#: ../midori/midori-browser.c:4447
+#: ../midori/midori-browser.c:4782
msgid "_Automatic"
msgstr "_Automatisch"
-#: ../midori/midori-browser.c:4450 ../midori/midori-websettings.c:214
+#: ../midori/midori-browser.c:4785 ../midori/midori-websettings.c:216
msgid "Chinese (BIG5)"
msgstr "Chinesisch (BIG5)"
#. i18n: A double underscore "__" is used to prevent an unwanted mnemonic
-#: ../midori/midori-browser.c:4454
+#: ../midori/midori-browser.c:4789
msgid "Japanese (SHIFT__JIS)"
msgstr "Japanisch (SHIFT__JIS)"
-#: ../midori/midori-browser.c:4457 ../midori/midori-websettings.c:216
+#: ../midori/midori-browser.c:4792 ../midori/midori-websettings.c:218
msgid "Russian (KOI8-R)"
msgstr "Russisch (KOI8-R)"
-#: ../midori/midori-browser.c:4460 ../midori/midori-websettings.c:217
+#: ../midori/midori-browser.c:4795 ../midori/midori-websettings.c:219
msgid "Unicode (UTF-8)"
msgstr "Unicode (UTF-8)"
-#: ../midori/midori-browser.c:4463 ../midori/midori-websettings.c:218
+#: ../midori/midori-browser.c:4798 ../midori/midori-websettings.c:220
msgid "Western (ISO-8859-1)"
msgstr "Westlich (ISO-8859-1)"
-#: ../midori/midori-browser.c:4466 ../midori/midori-websettings.c:219
-#: ../midori/midori-websettings.c:291
+#: ../midori/midori-browser.c:4801 ../midori/midori-websettings.c:221
+#: ../midori/midori-websettings.c:294
msgid "Custom..."
msgstr "Benutzerdefiniert…"
-#: ../midori/midori-browser.c:4907
+#: ../midori/midori-browser.c:5284
msgid "_Separator"
msgstr "_Trennlinie"
-#: ../midori/midori-browser.c:4914
+#: ../midori/midori-browser.c:5291
msgid "_Location..."
msgstr "_Ort…"
-#: ../midori/midori-browser.c:4916
+#: ../midori/midori-browser.c:5293
msgid "Open a particular location"
msgstr "Öffne einen bestimmten Ort"
-#: ../midori/midori-browser.c:4940
+#: ../midori/midori-browser.c:5317
msgid "_Web Search..."
msgstr "Im _Netz suchen…"
-#: ../midori/midori-browser.c:4942
+#: ../midori/midori-browser.c:5319
msgid "Run a web search"
msgstr "Starte eine Suche im Netz"
-#: ../midori/midori-browser.c:4963
+#: ../midori/midori-browser.c:5340
msgid "Reopen a previously closed tab or window"
msgstr "Reiter oder Fenster zurückholen"
-#: ../midori/midori-browser.c:4978
+#: ../midori/midori-browser.c:5355
msgid "_Recently visited pages"
msgstr "_Zuletzt besuchte Seiten"
-#: ../midori/midori-browser.c:4980
+#: ../midori/midori-browser.c:5357
msgid "Reopen pages that you visited earlier"
msgstr "Bereits besuchte Seiten erneut öffnen"
-#: ../midori/midori-browser.c:4995 ../midori/sokoke.c:862
+#: ../midori/midori-browser.c:5372 ../midori/sokoke.c:961
msgid "_Bookmarks"
msgstr "_Lesezeichen"
-#: ../midori/midori-browser.c:4997
+#: ../midori/midori-browser.c:5374
msgid "Show the saved bookmarks"
msgstr "Die gespeicherten Lesezeichen anzeigen"
-#: ../midori/midori-browser.c:5012
+#: ../midori/midori-browser.c:5389
msgid "_Tools"
msgstr "_Extras"
-#: ../midori/midori-browser.c:5024
+#: ../midori/midori-browser.c:5401
msgid "_Window"
msgstr "_Fenster"
-#: ../midori/midori-browser.c:5026
+#: ../midori/midori-browser.c:5403
msgid "Show a list of all open tabs"
msgstr "Zeige eine Übersicht aller offenen Reiter"
-#: ../midori/midori-browser.c:5040
+#: ../midori/midori-browser.c:5417
msgid "_Menu"
msgstr "_Menü"
-#: ../midori/midori-browser.c:5042
+#: ../midori/midori-browser.c:5419
msgid "Menu"
msgstr "Menü"
#. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:5228
+#: ../midori/midori-browser.c:5609
msgid "_Inline Find:"
msgstr "_Inkrementelle Suche:"
-#: ../midori/midori-browser.c:5253
+#: ../midori/midori-browser.c:5634
msgid "Previous"
msgstr "Zurück"
-#: ../midori/midori-browser.c:5258
+#: ../midori/midori-browser.c:5639
msgid "Next"
msgstr "Weiter"
-#: ../midori/midori-browser.c:5263
+#: ../midori/midori-browser.c:5644
msgid "Match Case"
msgstr "Groß-/ Kleinschreibung"
-#: ../midori/midori-browser.c:5271
+#: ../midori/midori-browser.c:5652
msgid "Highlight Matches"
msgstr "Treffer hervorheben"
-#: ../midori/midori-browser.c:5281
+#: ../midori/midori-browser.c:5662
msgid "Close Findbar"
msgstr "Suchleiste schließen"
-#: ../midori/midori-browser.c:5316 ../panels/midori-transfers.c:143
+#: ../midori/midori-browser.c:5697 ../panels/midori-transfers.c:143
msgid "Clear All"
msgstr "Alle entfernen"
-#: ../midori/midori-browser.c:5670
+#: ../midori/midori-browser.c:6051
#, c-format
msgid "Unexpected setting '%s'"
msgstr "Unerwartete Einstellung »%s«"
-#: ../midori/midori-locationaction.c:941
+#: ../midori/midori-locationaction.c:961
#, c-format
msgid "Search with %s"
msgstr "Suchen mit %s"
-#: ../midori/midori-panel.c:382 ../midori/midori-panel.c:384
+#: ../midori/midori-panel.c:381 ../midori/midori-panel.c:383
msgid "Detach chosen panel from the window"
msgstr "Gewählte Leiste vom Fenster ablösen"
-#: ../midori/midori-panel.c:394 ../midori/midori-panel.c:396
-#: ../midori/midori-panel.c:577 ../midori/midori-panel.c:580
+#: ../midori/midori-panel.c:393 ../midori/midori-panel.c:395
+#: ../midori/midori-panel.c:576 ../midori/midori-panel.c:579
msgid "Align sidepanel to the right"
msgstr "Seitenleiste rechts anordnen"
-#: ../midori/midori-panel.c:406 ../midori/midori-panel.c:407
+#: ../midori/midori-panel.c:405 ../midori/midori-panel.c:406
msgid "Close panel"
msgstr "Leiste schließen"
-#: ../midori/midori-panel.c:578 ../midori/midori-panel.c:581
+#: ../midori/midori-panel.c:577 ../midori/midori-panel.c:580
msgid "Align sidepanel to the left"
msgstr "Seitenleiste links anordnen"
-#: ../midori/midori-panel.c:704
+#: ../midori/midori-panel.c:703
msgid "Show panel _titles"
msgstr "Leisten_titel anzeigen"
-#: ../midori/midori-panel.c:712
+#: ../midori/midori-panel.c:711
msgid "Show operating _controls"
msgstr "_Bedienelemente anzeigen"
-#: ../midori/midori-panel.c:783
+#: ../midori/midori-panel.c:782
msgid "Options"
msgstr "Optionen"
-#: ../midori/midori-websettings.c:197
+#: ../midori/midori-websettings.c:199
msgid "Show Blank page"
msgstr "Leere Seite anzeigen"
-#: ../midori/midori-websettings.c:198
+#: ../midori/midori-websettings.c:200
msgid "Show Homepage"
msgstr "Startseite anzeigen"
-#: ../midori/midori-websettings.c:199
+#: ../midori/midori-websettings.c:201
msgid "Show last open tabs"
msgstr "Zuletzt geöffnete Reiter anzeigen"
-#: ../midori/midori-websettings.c:215
+#: ../midori/midori-websettings.c:217
msgid "Japanese (SHIFT_JIS)"
msgstr "Japanisch (SHIFT_JIS)"
-#: ../midori/midori-websettings.c:234
+#: ../midori/midori-websettings.c:236
msgid "New tab"
msgstr "Neuer Reiter"
-#: ../midori/midori-websettings.c:235
+#: ../midori/midori-websettings.c:237
msgid "New window"
msgstr "Neues Fenster"
-#: ../midori/midori-websettings.c:236
+#: ../midori/midori-websettings.c:238
msgid "Current tab"
msgstr "Aktueller Reiter"
-#: ../midori/midori-websettings.c:251
+#: ../midori/midori-websettings.c:253
msgid "Default"
msgstr "Standard"
-#: ../midori/midori-websettings.c:252
+#: ../midori/midori-websettings.c:254
msgid "Icons"
msgstr "Symbole"
-#: ../midori/midori-websettings.c:253
+#: ../midori/midori-websettings.c:255
msgid "Text"
msgstr "Text"
-#: ../midori/midori-websettings.c:254
+#: ../midori/midori-websettings.c:256
msgid "Icons and text"
msgstr "Symbole und Text"
-#: ../midori/midori-websettings.c:255
+#: ../midori/midori-websettings.c:257
msgid "Text beside icons"
msgstr "Text neben Symbolen"
-#: ../midori/midori-websettings.c:270
+#: ../midori/midori-websettings.c:272
msgid "All cookies"
msgstr "Alle Profildateien"
-#: ../midori/midori-websettings.c:271
+#: ../midori/midori-websettings.c:273
msgid "Session cookies"
msgstr "Sitzungsprofile"
-#: ../midori/midori-websettings.c:272 ../panels/midori-addons.c:94
+#: ../midori/midori-websettings.c:274 ../panels/midori-addons.c:93
#: ../extensions/shortcuts.c:93
msgid "None"
msgstr "Keine"
-#: ../midori/midori-websettings.c:288
+#: ../midori/midori-websettings.c:290
msgid "Safari"
msgstr "Safari"
-#: ../midori/midori-websettings.c:289
+#: ../midori/midori-websettings.c:291
+msgid "iPhone"
+msgstr "iPhone"
+
+#: ../midori/midori-websettings.c:292
msgid "Firefox"
msgstr "Firefox"
-#: ../midori/midori-websettings.c:290
+#: ../midori/midori-websettings.c:293
msgid "Internet Explorer"
msgstr "Internet Explorer"
-#: ../midori/midori-websettings.c:343
+#: ../midori/midori-websettings.c:346
msgid "Remember last window size"
msgstr "Letzte Fenstergröße merken"
-#: ../midori/midori-websettings.c:344
+#: ../midori/midori-websettings.c:347
msgid "Whether to save the last window size"
msgstr "Die letzte Fenstergröße speichern oder nicht"
-#: ../midori/midori-websettings.c:352
+#: ../midori/midori-websettings.c:355
msgid "Last window width"
msgstr "Letzte Fensterbreite"
-#: ../midori/midori-websettings.c:353
+#: ../midori/midori-websettings.c:356
msgid "The last saved window width"
msgstr "Die zuletzt gespeicherte Fensterbreite"
-#: ../midori/midori-websettings.c:361
+#: ../midori/midori-websettings.c:364
msgid "Last window height"
msgstr "Letzte Fensterhöhe"
-#: ../midori/midori-websettings.c:362
+#: ../midori/midori-websettings.c:365
msgid "The last saved window height"
msgstr "Die zuletzt gespeicherte Fensterhöhe"
-#: ../midori/midori-websettings.c:387
+#: ../midori/midori-websettings.c:390
msgid "Last panel position"
msgstr "Letzte Leistenposition"
-#: ../midori/midori-websettings.c:388
+#: ../midori/midori-websettings.c:391
msgid "The last saved panel position"
msgstr "Die zuletzt gespeicherte Leistenposition"
#. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:397
+#: ../midori/midori-websettings.c:400
msgid "Last panel page"
msgstr "Letzte Leistenseite"
-#: ../midori/midori-websettings.c:398
+#: ../midori/midori-websettings.c:401
msgid "The last saved panel page"
msgstr "Die zuletzt gespeicherte Leistenseite"
-#: ../midori/midori-websettings.c:406
+#: ../midori/midori-websettings.c:409
msgid "Last Web search"
msgstr "Letzte Suche im Netz"
-#: ../midori/midori-websettings.c:407
+#: ../midori/midori-websettings.c:410
msgid "The last saved Web search"
msgstr "Die zuletzt gespeicherte Suche im Netz"
-#: ../midori/midori-websettings.c:416
+#: ../midori/midori-websettings.c:419
msgid "Show Menubar"
msgstr "Menüleiste anzeigen"
-#: ../midori/midori-websettings.c:417
+#: ../midori/midori-websettings.c:420
msgid "Whether to show the menubar"
msgstr "Die Menüleiste anzeigen oder verbergen"
-#: ../midori/midori-websettings.c:425
+#: ../midori/midori-websettings.c:428
msgid "Show Navigationbar"
msgstr "Navigationsleiste anzeigen"
-#: ../midori/midori-websettings.c:426
+#: ../midori/midori-websettings.c:429
msgid "Whether to show the navigationbar"
msgstr "Die Navigationsleiste anzeigen oder verbergen"
-#: ../midori/midori-websettings.c:434
+#: ../midori/midori-websettings.c:437
msgid "Show Bookmarkbar"
msgstr "Lesezeichenleiste anzeigen"
-#: ../midori/midori-websettings.c:435
+#: ../midori/midori-websettings.c:438
msgid "Whether to show the bookmarkbar"
msgstr "Die Lesezeichenleiste anzeigen oder verbergen"
-#: ../midori/midori-websettings.c:443
+#: ../midori/midori-websettings.c:446
msgid "Show Panel"
msgstr "Leiste anzeigen"
-#: ../midori/midori-websettings.c:444
+#: ../midori/midori-websettings.c:447
msgid "Whether to show the panel"
msgstr "Die Leiste anzeigen oder verbergen"
-#: ../midori/midori-websettings.c:459
+#: ../midori/midori-websettings.c:462
msgid "Show Transferbar"
msgstr "Übertragungsleiste anzeigen"
-#: ../midori/midori-websettings.c:460
+#: ../midori/midori-websettings.c:463
msgid "Whether to show the transferbar"
msgstr "Die Übertragungsleiste anzeigen oder verbergen"
-#: ../midori/midori-websettings.c:468
+#: ../midori/midori-websettings.c:471
msgid "Show Statusbar"
msgstr "Statusleiste anzeigen"
-#: ../midori/midori-websettings.c:469
+#: ../midori/midori-websettings.c:472
msgid "Whether to show the statusbar"
msgstr "Die Statusleiste anzeigen oder verbergen"
-#: ../midori/midori-websettings.c:478
+#: ../midori/midori-websettings.c:481
msgid "Toolbar Style:"
msgstr "Werkzeugleistenstil:"
-#: ../midori/midori-websettings.c:479
+#: ../midori/midori-websettings.c:482
msgid "The style of the toolbar"
msgstr "Der Stil der Werkzeugleiste"
-#: ../midori/midori-websettings.c:495
+#: ../midori/midori-websettings.c:498
msgid "Show progress in location entry"
msgstr "Fortschritt im Adressfeld anzeigen"
-#: ../midori/midori-websettings.c:496
+#: ../midori/midori-websettings.c:499
msgid "Whether to show loading progress in the location entry"
msgstr "Aktuellen Ladefortschritt im Adressfeld anzeigen"
-#: ../midori/midori-websettings.c:511
+#: ../midori/midori-websettings.c:514
msgid "Search engines in location completion"
msgstr "Suchmaschinen in Vervollständigung"
-#: ../midori/midori-websettings.c:512
+#: ../midori/midori-websettings.c:515
msgid "Whether to show search engines in the location completion"
msgstr "Verfügbare Suchmaschinen in der Adressvervollständigung anzeigen"
-#: ../midori/midori-websettings.c:520
+#: ../midori/midori-websettings.c:523
msgid "Toolbar Items"
msgstr "Werkzeugleistenelemente"
-#: ../midori/midori-websettings.c:521
+#: ../midori/midori-websettings.c:524
msgid "The items to show on the toolbar"
msgstr "Die in der Werkzeugleiste anzuzeigenden Elemente"
-#: ../midori/midori-websettings.c:529
+#: ../midori/midori-websettings.c:532
msgid "Compact Sidepanel"
msgstr "Kompakte Seitenleiste"
-#: ../midori/midori-websettings.c:530
+#: ../midori/midori-websettings.c:533
msgid "Whether to make the sidepanel compact"
msgstr "Die Seitenleiste anzeigen oder verbergen"
-#: ../midori/midori-websettings.c:545
+#: ../midori/midori-websettings.c:548
msgid "Show operating controls of the panel"
msgstr "Bedienelemente der Leiste anzeigen"
-#: ../midori/midori-websettings.c:546
+#: ../midori/midori-websettings.c:549
msgid "Whether to show the operating controls of the panel"
msgstr "Die Bedienelemente der Leiste anzeigen oder verbergen"
-#: ../midori/midori-websettings.c:561
+#: ../midori/midori-websettings.c:564
msgid "Align sidepanel on the right"
msgstr "Seitenleiste rechts anordnen"
-#: ../midori/midori-websettings.c:562
+#: ../midori/midori-websettings.c:565
msgid "Whether to align the sidepanel on the right"
msgstr "Die Seitenleiste auf der rechten Seite anordnen"
-#: ../midori/midori-websettings.c:571
+#: ../midori/midori-websettings.c:574
msgid "When Midori starts:"
msgstr "Beim Starten von Midori:"
-#: ../midori/midori-websettings.c:572
+#: ../midori/midori-websettings.c:575
msgid "What to do when Midori starts"
msgstr "Was beim Starten von Midori passieren soll"
-#: ../midori/midori-websettings.c:581
+#: ../midori/midori-websettings.c:584
msgid "Homepage:"
msgstr "Startseite:"
-#: ../midori/midori-websettings.c:582
+#: ../midori/midori-websettings.c:585
msgid "The homepage"
msgstr "Die Startseite"
-#: ../midori/midori-websettings.c:597
+#: ../midori/midori-websettings.c:600
msgid "Show crash dialog"
msgstr "Absturzdialog anzeigen"
-#: ../midori/midori-websettings.c:598
+#: ../midori/midori-websettings.c:601
msgid "Show a dialog after Midori crashed"
msgstr "Absturzdialog anzeigen nachdem Midori abgestürzt ist"
#. i18n: Speed dial, webpage shortcuts, named for the phone function
-#: ../midori/midori-websettings.c:614
+#: ../midori/midori-websettings.c:617
msgid "Show speed dial in new tabs"
msgstr "Schnellwahl in neuen Reitern anzeigen"
-#: ../midori/midori-websettings.c:615
+#: ../midori/midori-websettings.c:618
msgid "Show speed dial in newly opened tabs"
msgstr "Schnellwahl in neu geöffneten Reitern anzeigen"
-#: ../midori/midori-websettings.c:623
+#: ../midori/midori-websettings.c:626
msgid "Save downloaded files to:"
msgstr "Heruntergeladene Dateien speichern:"
-#: ../midori/midori-websettings.c:624
+#: ../midori/midori-websettings.c:627
msgid "The folder downloaded files are saved to"
msgstr "Der Ordner, in dem heruntergeladene Dateien gespeichert werden"
-#: ../midori/midori-websettings.c:643
+#: ../midori/midori-websettings.c:648
msgid "Ask for the destination folder"
msgstr "Nach dem Zielordner fragen"
-#: ../midori/midori-websettings.c:644
+#: ../midori/midori-websettings.c:649
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:663
+#: ../midori/midori-websettings.c:668
msgid "Notify when a transfer has been completed"
msgstr "Benachrichtigen bei Abschluss der Übertragung"
-#: ../midori/midori-websettings.c:664
+#: ../midori/midori-websettings.c:669
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:676
+#: ../midori/midori-websettings.c:681
msgid "Download Manager"
msgstr "Übertragungsmanager"
-#: ../midori/midori-websettings.c:677
+#: ../midori/midori-websettings.c:682
msgid "An external download manager"
msgstr "Ein externer Übertragungsmanager"
-#: ../midori/midori-websettings.c:685
+#: ../midori/midori-websettings.c:690
msgid "Text Editor"
msgstr "Texteditor"
-#: ../midori/midori-websettings.c:686
+#: ../midori/midori-websettings.c:691
msgid "An external text editor"
msgstr "Ein externer Texteditor"
-#: ../midori/midori-websettings.c:701
+#: ../midori/midori-websettings.c:706
msgid "News Aggregator"
msgstr "Nachrichtenaggregator"
-#: ../midori/midori-websettings.c:702
+#: ../midori/midori-websettings.c:707
msgid "An external news aggregator"
msgstr "Ein externer Nachrichtenaggregator"
-#: ../midori/midori-websettings.c:710
+#: ../midori/midori-websettings.c:715
msgid "Location entry Search"
msgstr "Adressfeldsuche"
-#: ../midori/midori-websettings.c:711
+#: ../midori/midori-websettings.c:716
msgid "The search to perform inside the location entry"
msgstr "Die Suche, die über das Adressfeld ausgeführt wird"
-#: ../midori/midori-websettings.c:719
+#: ../midori/midori-websettings.c:724
msgid "Preferred Encoding"
msgstr "Bevorzugter Zeichensatz"
-#: ../midori/midori-websettings.c:720
+#: ../midori/midori-websettings.c:725
msgid "The preferred character encoding"
msgstr "Der bevorzugte Zeichensatz"
-#: ../midori/midori-websettings.c:730
+#: ../midori/midori-websettings.c:735
msgid "Always Show Tabbar"
msgstr "Reiterleiste immer anzeigen"
-#: ../midori/midori-websettings.c:731
+#: ../midori/midori-websettings.c:736
msgid "Always show the tabbar"
msgstr "Die Reiterleiste immer anzeigen"
-#: ../midori/midori-websettings.c:739
+#: ../midori/midori-websettings.c:744
msgid "Close Buttons on Tabs"
msgstr "Schließenschaltflächen auf Reitern"
-#: ../midori/midori-websettings.c:740
+#: ../midori/midori-websettings.c:745
msgid "Whether tabs have close buttons"
msgstr "Schließenschaltflächen auf Reitern anzeigen oder verbergen"
-#: ../midori/midori-websettings.c:748
+#: ../midori/midori-websettings.c:753
msgid "Open new pages in:"
msgstr "Öffne neue Seiten in:"
-#: ../midori/midori-websettings.c:749
+#: ../midori/midori-websettings.c:754
msgid "Where to open new pages"
msgstr "Wo neue Seiten geöffnet werden sollen"
-#: ../midori/midori-websettings.c:758
+#: ../midori/midori-websettings.c:763
msgid "Open external pages in:"
msgstr "Öffne Seiten von außerhalb in:"
-#: ../midori/midori-websettings.c:759
+#: ../midori/midori-websettings.c:764
msgid "Where to open externally opened pages"
msgstr "Wo Seiten von außerhalb geöffnet werden sollen"
-#: ../midori/midori-websettings.c:768
+#: ../midori/midori-websettings.c:773
msgid "Middle click opens Selection"
msgstr "Mittelklick öffnet Markierung"
-#: ../midori/midori-websettings.c:769
+#: ../midori/midori-websettings.c:774
msgid "Load an address from the selection via middle click"
msgstr "Lade eine markierte Adresse mit der mittleren Maustaste"
-#: ../midori/midori-websettings.c:777
+#: ../midori/midori-websettings.c:782
msgid "Open tabs in the background"
msgstr "Reiter im Hintergrund öffnen"
-#: ../midori/midori-websettings.c:778
+#: ../midori/midori-websettings.c:783
msgid "Whether to open new tabs in the background"
msgstr "Neue Reiter im Hintergrund öffnen"
-#: ../midori/midori-websettings.c:786
+#: ../midori/midori-websettings.c:791
msgid "Open Tabs next to Current"
msgstr "Reiter neben aktuellem öffnen"
-#: ../midori/midori-websettings.c:787
+#: ../midori/midori-websettings.c:792
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:795
+#: ../midori/midori-websettings.c:800
msgid "Open popups in tabs"
msgstr "Aufklappfenster in Reitern öffnen"
-#: ../midori/midori-websettings.c:796
+#: ../midori/midori-websettings.c:801
msgid "Whether to open popup windows in tabs"
msgstr "Aufklappfenster in neuen Reitern öffnen"
-#: ../midori/midori-websettings.c:812
+#: ../midori/midori-websettings.c:817
msgid "Zoom Text and Images"
msgstr "Text und Bilder vergrößern"
-#: ../midori/midori-websettings.c:813
+#: ../midori/midori-websettings.c:818
msgid "Whether to zoom text and images"
msgstr "Ob Text und Bilder gleichermaßen vergrößert werden sollen"
-#: ../midori/midori-websettings.c:828
+#: ../midori/midori-websettings.c:833
msgid "Find inline while typing"
msgstr "Inkrementelle Suche beim Eintippen"
-#: ../midori/midori-websettings.c:829
+#: ../midori/midori-websettings.c:834
msgid "Whether to automatically find inline while typing"
msgstr "Ob die inkrementelle Suche automatisch beim Eintippen starten soll"
-#: ../midori/midori-websettings.c:837
+#: ../midori/midori-websettings.c:849
+msgid "Kinetic scrolling"
+msgstr "Sanfter Bildlauf"
+
+#: ../midori/midori-websettings.c:850
+msgid "Whether scrolling should kinetically move according to speed"
+msgstr "Ob der Bildlauf sanft schneller und langsamer wird"
+
+#: ../midori/midori-websettings.c:858
msgid "Accept cookies"
msgstr "Cookies annehmen"
-#: ../midori/midori-websettings.c:838
+#: ../midori/midori-websettings.c:859
msgid "What type of cookies to accept"
msgstr "Welche Art von Profildateien (Cookies) angenommen werden"
-#: ../midori/midori-websettings.c:847
+#: ../midori/midori-websettings.c:868
msgid "Original cookies only"
msgstr "Nur ursprüngliche Profildateien"
-#: ../midori/midori-websettings.c:848
+#: ../midori/midori-websettings.c:869
msgid "Accept cookies from the original website only"
msgstr "Nur Profildateien von der ursprünglichen Seite annehmen"
-#: ../midori/midori-websettings.c:856
+#: ../midori/midori-websettings.c:877
msgid "Maximum cookie age"
msgstr "Maximales Alter von Cookiedaten"
-#: ../midori/midori-websettings.c:857
+#: ../midori/midori-websettings.c:878
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:867
+#: ../midori/midori-websettings.c:888
msgid "Remember last visited pages"
msgstr "Zuletzt besuchte Seiten merken"
-#: ../midori/midori-websettings.c:868
+#: ../midori/midori-websettings.c:889
msgid "Whether the last visited pages are saved"
msgstr "Die zuletzt besuchten Seiten speichern"
-#: ../midori/midori-websettings.c:876
+#: ../midori/midori-websettings.c:897
msgid "Maximum history age"
msgstr "Maximales Verlaufsalter"
-#: ../midori/midori-websettings.c:877
+#: ../midori/midori-websettings.c:898
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:885
+#: ../midori/midori-websettings.c:906
msgid "Remember last form inputs"
msgstr "Zuletzt eingegebene Formulareingaben merken"
-#: ../midori/midori-websettings.c:886
+#: ../midori/midori-websettings.c:907
msgid "Whether the last form inputs are saved"
msgstr "Die letzten Formulareingaben speichern"
-#: ../midori/midori-websettings.c:894
+#: ../midori/midori-websettings.c:915
msgid "Remember last downloaded files"
msgstr "Zuletzt heruntergeladene Dateien merken"
-#: ../midori/midori-websettings.c:895
+#: ../midori/midori-websettings.c:916
msgid "Whether the last downloaded files are saved"
msgstr "Die zuletzt heruntegeladenen Dateien speichern"
-#: ../midori/midori-websettings.c:905
+#: ../midori/midori-websettings.c:926
msgid "Proxy Server"
msgstr "Zwischenrechner (Proxy)"
-#: ../midori/midori-websettings.c:906
+#: ../midori/midori-websettings.c:927
msgid "The proxy server used for HTTP connections"
msgstr "Der Zwischenrechner für HTTP-Verbindungen"
-#: ../midori/midori-websettings.c:921
+#: ../midori/midori-websettings.c:942
msgid "Detect proxy server automatically"
msgstr "Proxyrechner automatisch erkennen"
-#: ../midori/midori-websettings.c:922
+#: ../midori/midori-websettings.c:943
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:938
+#: ../midori/midori-websettings.c:959
msgid "Identify as"
msgstr "Ausgeben als"
-#: ../midori/midori-websettings.c:939
+#: ../midori/midori-websettings.c:960
msgid "What to identify as to web pages"
msgstr "Wie gegenüber Seiten im Internet identifiziert werden soll"
-#: ../midori/midori-websettings.c:955
+#: ../midori/midori-websettings.c:976
msgid "Identification string"
msgstr "Identifikationskennung"
-#: ../midori/midori-websettings.c:956
+#: ../midori/midori-websettings.c:977
msgid "The application identification string"
msgstr "Die Identifikationskennung der Anwedung"
-#: ../midori/midori-websettings.c:964
+#: ../midori/midori-websettings.c:985
msgid "Cache size"
msgstr "Zwischenspeichergröße"
-#: ../midori/midori-websettings.c:965
+#: ../midori/midori-websettings.c:986
msgid "The allowed size of the cache"
msgstr "Die erlaubte Zwischenspeichergröße"
-#: ../midori/midori-websettings.c:980
+#: ../midori/midori-websettings.c:1001
msgid "Clear private data"
msgstr "Private Daten löschen"
-#: ../midori/midori-websettings.c:981
+#: ../midori/midori-websettings.c:1002
msgid "The private data selected for deletion"
msgstr "Zum Löschen ausgewählte private Daten"
#. so reloading via Javascript works but not via API calls.
#. 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:782 ../midori/midori-view.c:3043
-#: ../midori/midori-view.c:3047
+#: ../midori/midori-view.c:848 ../midori/midori-view.c:3694
+#: ../midori/midori-view.c:3698
#, c-format
msgid "Error - %s"
msgstr "Fehler - %s"
-#: ../midori/midori-view.c:783
+#: ../midori/midori-view.c:849
#, c-format
msgid "The page '%s' couldn't be loaded."
-msgstr "Die Seite «%s» konnte nicht geladen werden."
+msgstr "Die Seite »%s« konnte nicht geladen werden."
-#: ../midori/midori-view.c:788
+#: ../midori/midori-view.c:854
msgid "Try again"
msgstr "Erneut versuchen"
#. i18n: The title of the 404 - Not found error page
-#: ../midori/midori-view.c:821
+#: ../midori/midori-view.c:887
#, c-format
msgid "Not found - %s"
msgstr "Nicht gefunden - %s"
-#: ../midori/midori-view.c:1218
+#: ../midori/midori-view.c:1101 ../midori/midori-view.c:1814
+#, c-format
+msgid "Send a message to %s"
+msgstr "Nachricht an %s schicken"
+
+#: ../midori/midori-view.c:1653 ../midori/midori-view.c:1716
msgid "Open _Link"
msgstr "Verweis ö_ffnen"
-#: ../midori/midori-view.c:1220
+#: ../midori/midori-view.c:1656 ../midori/midori-view.c:1718
msgid "Open Link in New _Tab"
msgstr "Verweis in neuem _Reiter öffnen"
-#: ../midori/midori-view.c:1237
+#: ../midori/midori-view.c:1659 ../midori/midori-view.c:1725
msgid "Open Link in New _Window"
msgstr "Verweis in neuem _Fenster öffnen"
-#: ../midori/midori-view.c:1243
-msgid "_Download Link destination"
-msgstr "Verweisziel herunter_laden"
+#: ../midori/midori-view.c:1662
+msgid "_Copy Link destination"
+msgstr "Verweisziel _kopieren"
-#: ../midori/midori-view.c:1249
+#: ../midori/midori-view.c:1665 ../midori/midori-view.c:1737
msgid "_Save Link destination"
msgstr "Verweisziel _speichern"
-#: ../midori/midori-view.c:1258
+#: ../midori/midori-view.c:1666 ../midori/midori-view.c:1731
+msgid "_Download Link destination"
+msgstr "Verweisziel herunter_laden"
+
+#: ../midori/midori-view.c:1670 ../midori/midori-view.c:1706
+#: ../midori/midori-view.c:1742
msgid "Download with Download _Manager"
msgstr "Mit Übertragungs_manager herunterladen"
-#: ../midori/midori-view.c:1287
+#: ../midori/midori-view.c:1682
+msgid "Open _Image in New Tab"
+msgstr "_Bild in neuem Reiter öffnen"
+
+#: ../midori/midori-view.c:1685
+msgid "Open Image in New Wi_ndow"
+msgstr "Bild in neuem Fe_nster öffnen"
+
+#: ../midori/midori-view.c:1688
+msgid "Copy Image _Address"
+msgstr "Bild_adresse kopieren"
+
+#: ../midori/midori-view.c:1691
+msgid "Save I_mage"
+msgstr "Bi_ld speichern"
+
+#: ../midori/midori-view.c:1692
+msgid "Download I_mage"
+msgstr "Bi_ld herunterladen"
+
+#: ../midori/midori-view.c:1699
+msgid "Copy Video _Address"
+msgstr "Video_adresse kopieren"
+
+#: ../midori/midori-view.c:1702
+msgid "Save _Video"
+msgstr "_Video speichern"
+
+#: ../midori/midori-view.c:1702
+msgid "Download _Video"
+msgstr "_Video herunterladen"
+
+#: ../midori/midori-view.c:1762
msgid "Search _with"
msgstr "Suchen _mit"
-#: ../midori/midori-view.c:1319
+#: ../midori/midori-view.c:1790 ../midori/midori-view.c:1801
msgid "_Search the Web"
msgstr "Im Netz _suchen"
-#: ../midori/midori-view.c:1329
+#: ../midori/midori-view.c:1822
msgid "Open Address in New _Tab"
msgstr "Adresse in neuem _Reiter öffnen"
-#: ../midori/midori-view.c:1507
+#: ../midori/midori-view.c:2070
msgid "Open or download file"
msgstr "Datei öffnen oder herunterladen"
-#: ../midori/midori-view.c:1524
+#: ../midori/midori-view.c:2087
#, c-format
msgid "File Type: '%s'"
-msgstr "Dateityp: «%s»"
+msgstr "Dateityp: »%s«"
-#: ../midori/midori-view.c:1527
+#: ../midori/midori-view.c:2090
#, c-format
msgid "File Type: %s ('%s')"
-msgstr "Dateityp: %s («%s»)"
+msgstr "Dateityp: %s (»%s«)"
#. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
-#: ../midori/midori-view.c:1531
+#: ../midori/midori-view.c:2094
#, c-format
msgid "Open %s"
msgstr "%s öffnen"
-#: ../midori/midori-view.c:1981
+#: ../midori/midori-view.c:2610
#, c-format
msgid "Inspect page - %s"
msgstr "Seite untersuchen - %s"
-#: ../midori/midori-view.c:2176
+#: ../midori/midori-view.c:2817
msgid "Speed dial"
msgstr "Schnellwahl"
-#: ../midori/midori-view.c:2177
+#: ../midori/midori-view.c:2818
msgid "Click to add a shortcut"
msgstr "Klicken um eine Verknüpfung hinzuzufügen"
-#: ../midori/midori-view.c:2178
+#: ../midori/midori-view.c:2819
msgid "Enter shortcut address"
msgstr "Ziel der Verknüpfung eingeben"
-#: ../midori/midori-view.c:2179
+#: ../midori/midori-view.c:2820
msgid "Enter shortcut title"
msgstr "Titel der Verknüpfung eingeben"
-#: ../midori/midori-view.c:2180
+#: ../midori/midori-view.c:2821
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:2210
+#: ../midori/midori-view.c:2851
#, c-format
msgid "Document cannot be displayed"
msgstr "Dokument kann nicht angezeigt werden"
-#: ../midori/midori-view.c:2227
+#: ../midori/midori-view.c:2868
#, c-format
msgid "No documentation installed"
msgstr "Keine Dokumentation installiert"
-#: ../midori/midori-view.c:2352
+#: ../midori/midori-view.c:2993
msgid "Blank page"
msgstr "Leere Seite"
-#: ../midori/midori-view.c:2581 ../midori/sokoke.c:870
+#: ../midori/midori-view.c:3222 ../midori/sokoke.c:968
msgid "New _Tab"
msgstr "Neuer _Reiter"
-#: ../midori/midori-view.c:2595
+#: ../midori/midori-view.c:3236
msgid "_Duplicate Tab"
msgstr "Reiter _verdoppeln"
-#: ../midori/midori-view.c:2600
+#: ../midori/midori-view.c:3241
msgid "_Restore Tab"
msgstr "Reiter _wiederherstellen"
-#: ../midori/midori-view.c:2600
+#: ../midori/midori-view.c:3241
msgid "_Minimize Tab"
msgstr "Reiter _minimieren"
-#: ../midori/midori-view.c:3149
+#: ../midori/midori-view.c:3800
msgid "Print background images"
msgstr "Hintergrundbilder drucken"
-#: ../midori/midori-view.c:3150
+#: ../midori/midori-view.c:3801
msgid "Whether background images should be printed"
msgstr "Sollen Hintergrundbilder gedruckt werden oder nicht"
-#: ../midori/midori-view.c:3194 ../midori/midori-preferences.c:484
+#: ../midori/midori-view.c:3845 ../midori/midori-preferences.c:489
msgid "Features"
msgstr "Inhalte"
msgstr "Einstellungen für %s"
#. Page "General"
-#: ../midori/midori-preferences.c:398
+#: ../midori/midori-preferences.c:404
msgid "General"
msgstr "Allgemein"
-#: ../midori/midori-preferences.c:399
+#: ../midori/midori-preferences.c:405
msgid "Startup"
msgstr "Programmstart"
-#: ../midori/midori-preferences.c:415
+#: ../midori/midori-preferences.c:421
msgid "Use current page as homepage"
msgstr "Aktuelle Seite als Startseite benutzen"
-#: ../midori/midori-preferences.c:425 ../panels/midori-transfers.c:88
+#: ../midori/midori-preferences.c:431 ../panels/midori-transfers.c:88
msgid "Transfers"
msgstr "Übertragungen"
#. Page "Appearance"
-#: ../midori/midori-preferences.c:440
+#: ../midori/midori-preferences.c:445
msgid "Appearance"
msgstr "Erscheinungsbild"
-#: ../midori/midori-preferences.c:441
+#: ../midori/midori-preferences.c:446
msgid "Font settings"
msgstr "Schrifteinstellungen"
-#: ../midori/midori-preferences.c:443
+#: ../midori/midori-preferences.c:448
msgid "Default Font Family"
msgstr "Standardschriftart"
-#: ../midori/midori-preferences.c:447
+#: ../midori/midori-preferences.c:452
msgid "The default font family used to display text"
msgstr "Die Standardschriftgröße, in der Text angezeigt wird"
-#: ../midori/midori-preferences.c:450
+#: ../midori/midori-preferences.c:455
msgid "The default font size used to display text"
msgstr "Die Standardschriftgröße, in der Text angezeigt wird"
-#: ../midori/midori-preferences.c:453
+#: ../midori/midori-preferences.c:458
msgid "Fixed-width Font Family"
msgstr "Dicktengleiche Schriftart"
-#: ../midori/midori-preferences.c:457
+#: ../midori/midori-preferences.c:462
msgid "The font family used to display fixed-width text"
msgstr "Die Schriftart, in der dicktengleicher Text angezeigt wird"
-#: ../midori/midori-preferences.c:460
+#: ../midori/midori-preferences.c:465
msgid "The font size used to display fixed-width text"
msgstr "Die Schriftgröße, in der dicktengleicher Text angezeigt wird"
-#: ../midori/midori-preferences.c:463
+#: ../midori/midori-preferences.c:468
msgid "Minimum Font Size"
msgstr "Mindestschriftgröße"
-#: ../midori/midori-preferences.c:466
+#: ../midori/midori-preferences.c:471
msgid "The minimum font size used to display text"
msgstr "Die Mindestschriftgröße, in der Text angezeigt wird"
-#: ../midori/midori-preferences.c:473
+#: ../midori/midori-preferences.c:478
msgid "Encoding"
msgstr "Zeichensatz"
-#: ../midori/midori-preferences.c:476
+#: ../midori/midori-preferences.c:481
msgid "The character encoding to use by default"
msgstr "Der voreingestellte Zeichensatz"
#. Page "Behavior"
-#: ../midori/midori-preferences.c:483
+#: ../midori/midori-preferences.c:488
msgid "Behavior"
msgstr "Verhalten"
-#: ../midori/midori-preferences.c:487 ../extensions/statusbar-features.c:88
+#: ../midori/midori-preferences.c:492 ../extensions/statusbar-features.c:88
msgid "Load images automatically"
msgstr "Bilder automatisch laden"
-#: ../midori/midori-preferences.c:488
+#: ../midori/midori-preferences.c:493
msgid "Load and display images automatically"
msgstr "Bilder automatisch laden und anzeigen"
-#: ../midori/midori-preferences.c:492
+#: ../midori/midori-preferences.c:501
msgid "Shrink images automatically"
msgstr "Bilder automatisch verkleinern"
-#: ../midori/midori-preferences.c:493
+#: ../midori/midori-preferences.c:502
msgid "Automatically shrink standalone images to fit"
msgstr "Einzelne Bilder automatisch angemessen verkleinern"
-#: ../midori/midori-preferences.c:499 ../extensions/statusbar-features.c:100
+#: ../midori/midori-preferences.c:509 ../extensions/statusbar-features.c:100
msgid "Enable scripts"
msgstr "Skripte einschalten"
-#: ../midori/midori-preferences.c:500
+#: ../midori/midori-preferences.c:510
msgid "Enable embedded scripting languages"
msgstr "Eingebettete Skriptsprachen einschalten"
-#: ../midori/midori-preferences.c:503 ../extensions/statusbar-features.c:112
+#: ../midori/midori-preferences.c:513 ../extensions/statusbar-features.c:112
msgid "Enable Netscape plugins"
msgstr "Netscape-Module einschalten"
-#: ../midori/midori-preferences.c:504
+#: ../midori/midori-preferences.c:514
msgid "Enable embedded Netscape plugin objects"
msgstr "Eingebettete Netscape-Module einschalten"
-#: ../midori/midori-preferences.c:507
+#: ../midori/midori-preferences.c:517
msgid "Enforce 96 dots per inch"
msgstr "Erzwinge 96 Punkte pro Zoll"
-#: ../midori/midori-preferences.c:508
+#: ../midori/midori-preferences.c:518
msgid "Enforce a video dot density of 96 DPI"
msgstr "Erzwinge eine Punktdichte von 96 DPI"
-#: ../midori/midori-preferences.c:511
+#: ../midori/midori-preferences.c:521
msgid "Enable developer tools"
msgstr "Entwicklerwerkzeuge einschalten"
-#: ../midori/midori-preferences.c:512
+#: ../midori/midori-preferences.c:522
msgid "Enable special extensions for developers"
msgstr "Besondere Erweiterungen für Entwickler einschalten"
-#: ../midori/midori-preferences.c:519
+#: ../midori/midori-preferences.c:529
msgid "Spell Checking"
msgstr "Rechtschreibprüfung"
-#: ../midori/midori-preferences.c:522
+#: ../midori/midori-preferences.c:532
msgid "Enable Spell Checking"
msgstr "Rechtschreibprüfung einschalten"
-#: ../midori/midori-preferences.c:523
+#: ../midori/midori-preferences.c:533
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:527
+#: ../midori/midori-preferences.c:537
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»"
+"Rechtschreibprüfung benutzt werden sollen, zum Beispiel »en_GB,de_DE«"
#. Page "Interface"
-#: ../midori/midori-preferences.c:532
+#: ../midori/midori-preferences.c:542
msgid "Interface"
msgstr "Oberfläche"
-#: ../midori/midori-preferences.c:533
+#: ../midori/midori-preferences.c:543
msgid "Navigationbar"
msgstr "Navigationsleiste"
-#: ../midori/midori-preferences.c:544
+#: ../midori/midori-preferences.c:554
msgid "Browsing"
msgstr "Navigation"
#. Page "Applications"
-#: ../midori/midori-preferences.c:568
+#: ../midori/midori-preferences.c:578
msgid "Applications"
msgstr "Anwendungen"
-#: ../midori/midori-preferences.c:569
+#: ../midori/midori-preferences.c:579
msgid "External applications"
msgstr "Externe Anwendungen"
#. Page "Network"
-#: ../midori/midori-preferences.c:615 ../midori/midori-preferences.c:616
+#: ../midori/midori-preferences.c:625 ../midori/midori-preferences.c:626
msgid "Network"
msgstr "Netzwerk"
-#: ../midori/midori-preferences.c:643
+#: ../midori/midori-preferences.c:653
msgid "MB"
msgstr "MB"
#. Page "Privacy"
-#: ../midori/midori-preferences.c:648
+#: ../midori/midori-preferences.c:658
msgid "Privacy"
msgstr "Privatssphäre"
-#: ../midori/midori-preferences.c:649
+#: ../midori/midori-preferences.c:659
msgid "Web Cookies"
msgstr "Benutzerprofile"
-#: ../midori/midori-preferences.c:662 ../midori/midori-preferences.c:672
+#: ../midori/midori-preferences.c:672 ../midori/midori-preferences.c:682
msgid "days"
msgstr "Tage"
msgid "Could not run external program."
msgstr "Konnte externes Programm nicht ausführen."
-#: ../midori/sokoke.c:861
+#: ../midori/sokoke.c:960
msgid "_Bookmark"
msgstr "_Lesezeichen"
-#: ../midori/sokoke.c:863
+#: ../midori/sokoke.c:962
msgid "Add Boo_kmark"
msgstr "Lesezeichen _hinzufügen"
-#: ../midori/sokoke.c:864
+#: ../midori/sokoke.c:963
msgid "_Console"
msgstr "_Konsole"
-#: ../midori/sokoke.c:865
+#: ../midori/sokoke.c:964
msgid "_Extensions"
msgstr "_Erweiterungen"
-#: ../midori/sokoke.c:866
+#: ../midori/sokoke.c:965
msgid "_History"
msgstr "_Verlauf"
-#: ../midori/sokoke.c:867
+#: ../midori/sokoke.c:966
msgid "_Homepage"
msgstr "_Startseite"
-#: ../midori/sokoke.c:868
+#: ../midori/sokoke.c:967
msgid "_Userscripts"
msgstr "_Benutzerskripte"
-#: ../midori/sokoke.c:869
-msgid "User_styles"
-msgstr "Benutzer_stile"
-
-#: ../midori/sokoke.c:871
+#: ../midori/sokoke.c:969
msgid "_Transfers"
msgstr "Über_tragungen"
-#: ../midori/sokoke.c:872
+#: ../midori/sokoke.c:970
msgid "Netscape p_lugins"
msgstr "Netscape-Module"
-#: ../panels/midori-addons.c:95 ../panels/midori-addons.c:141
+#: ../panels/midori-addons.c:94 ../panels/midori-addons.c:139
msgid "Userscripts"
msgstr "Benutzerskripte"
-#: ../panels/midori-addons.c:96 ../panels/midori-addons.c:143
+#: ../panels/midori-addons.c:95
msgid "Userstyles"
msgstr "Benutzerstile"
+#: ../panels/midori-addons.c:287
+#, c-format
+msgid "Copy userscripts to the folder %s and copy userstyles to the folder %s."
+msgstr ""
+"Kopieren Sie Benutzerskripte in den Ordner »%s« und Benutzerstile in den "
+"Ordner »%s«."
+
+#: ../panels/midori-addons.c:889
+#, c-format
+msgid "Can't monitor folder '%s': %s"
+msgstr "Der Ordner »%s« kann nicht überwacht werden: %s"
+
#: ../panels/midori-bookmarks.c:108
msgid "Bookmarks"
msgstr "Lesezeichen"
msgid "Copy Link Loc_ation"
msgstr "Verweisziel ko_pieren"
-#: ../katze/katze-http-auth.c:124
+#: ../katze/katze-http-auth.c:209
msgid "Authentication Required"
msgstr "Authentifizierung erforderlich"
-#: ../katze/katze-http-auth.c:140
+#: ../katze/katze-http-auth.c:225
msgid ""
"A username and a password are required\n"
"to open this location:"
"Ein Benutzername und ein Kennwort\n"
"werden zum Öffnen dieses Ortes benötigt:"
-#: ../katze/katze-http-auth.c:154
+#: ../katze/katze-http-auth.c:239
msgid "Username"
msgstr "Benutzername"
-#: ../katze/katze-http-auth.c:170
+#: ../katze/katze-http-auth.c:252
msgid "Password"
msgstr "Kennwort"
+#: ../katze/katze-http-auth.c:266
+msgid "_Remember password"
+msgstr "Kennwort _merken"
+
#: ../katze/katze-throbber.c:828
#, c-format
msgid "Named icon '%s' couldn't be loaded"
msgid "Animation frames are broken"
msgstr "Animationsbilder sind fehlerhaft"
-#: ../katze/katze-utils.c:200 ../katze/katze-utils.c:407
+#: ../katze/katze-utils.c:203 ../katze/katze-utils.c:420
#, c-format
msgid "Property '%s' is invalid for %s"
msgstr "Eigenschaft »%s« ist ungültig für %s"
-#: ../katze/katze-utils.c:235 ../katze/katze-utils.c:264
+#: ../katze/katze-utils.c:238 ../katze/katze-utils.c:267
msgid "Choose file"
msgstr "Datei wählen"
-#: ../katze/katze-utils.c:250
+#: ../katze/katze-utils.c:253
msgid "Choose folder"
msgstr "Dateispeicherordner auswählen"
-#: ../extensions/adblock.c:167
+#: ../extensions/adblock.c:315
msgid "Configure Advertisement filters"
msgstr "Werbefilter einstellen"
-#: ../extensions/adblock.c:304
+#: ../extensions/adblock.c:345
+#, c-format
+msgid ""
+"Type the address of a preconfigured filter list in the text entry and click "
+"\"Add\" to add it to the list. You can find more lists at %s."
+msgstr ""
+"Geben Sie die Adresse einer vorkonfigurierten Filterliste in das Textfeld "
+"ein und klicken Sie »Hinzufügen« um sie zur Liste hinzuzufügen. Weitere "
+"Listen finden Sie auf %s."
+
+#: ../extensions/adblock.c:483
msgid "Configure _Advertisement filters..."
msgstr "Werbefilter einstellen..."
-#: ../extensions/adblock.c:565
+#: ../extensions/adblock.c:844
msgid "Advertisement blocker"
msgstr "Werbeblocker"
-#: ../extensions/adblock.c:566
+#: ../extensions/adblock.c:845
msgid "Block advertisements according to a filter list"
msgstr "Werbung an Hand einer Filterliste blockieren"
msgid "List, view and delete cookies"
msgstr "Profildateien auflisten, anzeigen und löschen"
+#: ../extensions/dnsprefetch.c:194
+msgid "DNS prefetching"
+msgstr "DNS-Auflösung im Voraus"
+
+#: ../extensions/dnsprefetch.c:195
+msgid "Prefetch IP addresses of hovered links"
+msgstr "Ermitteln der IP-Adressen von Verweisen im Voraus"
+
#: ../extensions/feed-panel/feed-atom.c:237
msgid "Failed to find required Atom \"entry\" elements in XML data."
msgstr ""
#: ../extensions/feed-panel/main.c:126
#, c-format
msgid "Feed '%s' already exists"
-msgstr "Nachrichtenquelle «%s» ist bereits vorhanden"
+msgstr "Nachrichtenquelle »%s« ist bereits vorhanden"
#: ../extensions/feed-panel/main.c:203
#, c-format
msgid "Error loading feed '%s'"
-msgstr "Fehler beim Laden der Nachrichtenquelle «%s»"
+msgstr "Fehler beim Laden der Nachrichtenquelle »%s«"
#: ../extensions/feed-panel/main.c:514
msgid "Feed Panel"
msgid "Read Atom/ RSS feeds"
msgstr "Atom-/ RSS-Quellen (Feeds) lesen"
-#: ../extensions/mouse-gestures/main.c:236
+#: ../extensions/formhistory.c:286
+msgid "Stores history of entered form data"
+msgstr "Speichert zuvor eingegebene Formulareingaben"
+
+#: ../extensions/formhistory.c:290
+#, c-format
+msgid "Not available: %s"
+msgstr "Nicht verfügbar: %s"
+
+#: ../extensions/formhistory.c:291
+msgid "Resource files not installed"
+msgstr "Konfigurationsdateien nicht installiert"
+
+#: ../extensions/formhistory.c:296
+msgid "Form history filler"
+msgstr "Formularvervollständigung"
+
+#: ../extensions/mouse-gestures/main.c:246
msgid "Mouse Gestures"
msgstr "Mausgesten"
-#: ../extensions/mouse-gestures/main.c:237
+#: ../extensions/mouse-gestures/main.c:247
msgid "Control Midori by moving the mouse"
msgstr "Steuere Midori durch Bewegen der Maus"
msgid "Easily toggle features on web pages on and off"
msgstr "Funktionen auf Internetseiten leicht an- und abstellen"
-#: ../extensions/tab-panel.c:558 ../extensions/tab-panel.c:613
+#: ../extensions/tab-panel.c:562 ../extensions/tab-panel.c:619
msgid "Tab Panel"
msgstr "Reiterleiste"
-#: ../extensions/tab-panel.c:597
+#: ../extensions/tab-panel.c:603
msgid "T_ab Panel"
msgstr "_Reiterleiste"
-#: ../extensions/tab-panel.c:614
+#: ../extensions/tab-panel.c:620
msgid "Show tabs in a vertical panel"
msgstr "Reiter in einer senkrechten Leiste anzeigen"
msgid "Customize _Toolbar..."
msgstr "_Werkzeugleiste anpassen..."
-#: ../extensions/toolbar-editor.c:611
+#: ../extensions/toolbar-editor.c:612
msgid "Toolbar Editor"
msgstr "Werkzeugleisteneditor"
-#: ../extensions/toolbar-editor.c:612
+#: ../extensions/toolbar-editor.c:614
msgid "Easily edit the toolbar layout"
msgstr "Werkzeugleisten leicht anpassen"
+#: ../extensions/toolbar-editor.c:617
+msgid "Not available on this platform"
+msgstr "Auf dieser Plattform nicht verfügbar"
+
+#~ msgid "User_styles"
+#~ msgstr "Benutzer_stile"
+
#~ msgid "Resizable text areas"
#~ msgstr "Vergrößerbare Textfelder"
#~ msgid "Load on Startup"
#~ msgstr "Beim Programmstart öffnen"
-#~ msgid "Download Folder"
-#~ msgstr "Dateispeicherordner"
-
#~ msgid "Configure _Toolbar..."
#~ msgstr "Werkzeugleiste anpassen..."
msgstr ""
"Project-Id-Version: midori git version\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-05 14:46+0300\n"
-"PO-Revision-Date: 2009-09-06 23:35+0200\n"
+"POT-Creation-Date: 2009-10-12 22:09+0300\n"
+"PO-Revision-Date: 2009-10-12 23:01+0200\n"
"Last-Translator: Evaggelos Balaskas <ebalaskas@ebalaskas.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
"MIME-Version: 1.0\n"
msgstr "Ελαφρύς περιηγητής ιστού"
#: ../data/midori.desktop.in.h:2
-#: ../midori/main.c:1435
-#: ../midori/main.c:1609
-#: ../midori/main.c:1617
-#: ../midori/main.c:1628
-#: ../midori/midori-websettings.c:287
+#: ../midori/main.c:1469
+#: ../midori/main.c:1643
+#: ../midori/main.c:1651
+#: ../midori/main.c:1662
+#: ../midori/midori-websettings.c:289
msgid "Midori"
msgstr "Μιντόρι"
msgid "The trash couldn't be saved. %s"
msgstr "Τα απορρίμματα δεν μπορούν να αποθηκευτούν. %s"
-#: ../midori/main.c:993
+#: ../midori/main.c:988
+#: ../midori/main.c:1160
#, c-format
msgid "The session couldn't be saved. %s"
msgstr "Η συνεδρία δεν μπορεί να αποθηκευτεί. %s"
-#: ../midori/main.c:1190
+#: ../midori/main.c:1189
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:1205
+#: ../midori/main.c:1204
msgid "Modify _preferences"
msgstr "Τροποποίηση _προτιμήσεων"
-#: ../midori/main.c:1209
+#: ../midori/main.c:1208
msgid "Reset the last _session"
msgstr "Επαναφορά της τελευταίας σ_υνεδρίας"
-#: ../midori/main.c:1214
+#: ../midori/main.c:1213
msgid "Disable all _extensions"
msgstr "Απενεργοποίηση όλων των επ_εκτάσεων"
-#: ../midori/main.c:1435
+#: ../midori/main.c:1369
+#: ../midori/main.c:1870
+#, c-format
+msgid "The session couldn't be loaded: %s\n"
+msgstr "Η συνεδρία δεν μπορεί να φορτωθεί: %s\n"
+
+#: ../midori/main.c:1469
msgid "No filename specified"
msgstr "Δεν ορίστηκε όνομα αρχείου"
-#: ../midori/main.c:1458
+#: ../midori/main.c:1492
msgid "An unknown error occured."
msgstr "Συνέβει ένα άγνωστο σφάλμα."
-#: ../midori/main.c:1490
+#: ../midori/main.c:1524
#, c-format
msgid "Snapshot saved to: %s\n"
msgstr "Το στιγμιότυπο αποθηκεύτηκε στο: %s\n"
-#: ../midori/main.c:1539
+#: ../midori/main.c:1573
msgid "Run ADDRESS as a web application"
msgstr "Άνοιγμα της διεύθυνσης ως διαδικτυακή εφαρμογή"
-#: ../midori/main.c:1539
+#: ../midori/main.c:1573
msgid "ADDRESS"
msgstr "Διεύθυνση"
-#: ../midori/main.c:1541
+#: ../midori/main.c:1575
msgid "Use FOLDER as configuration folder"
msgstr "Χρήση φακέλου ως φάκελος ρύθμισης"
-#: ../midori/main.c:1541
+#: ../midori/main.c:1575
msgid "FOLDER"
msgstr "ΦΑΚΕΛΟΣ"
-#: ../midori/main.c:1543
+#: ../midori/main.c:1577
msgid "Run the specified filename as javascript"
msgstr "Τρέξε το συγκεκριμένο όνομα αρχείου ως javascript"
-#: ../midori/main.c:1546
+#: ../midori/main.c:1580
msgid "Take a snapshot of the specified URI"
msgstr "Αποθήκευση του συγκεκριμένου URI"
-#: ../midori/main.c:1549
+#: ../midori/main.c:1583
msgid "Execute the specified command"
msgstr "Εκτέλεση συγκεκριμένης εντολής"
-#: ../midori/main.c:1551
+#: ../midori/main.c:1585
msgid "Display program version"
msgstr "Προβολή έκδοσης προγράμματος"
-#: ../midori/main.c:1553
+#: ../midori/main.c:1587
msgid "Addresses"
msgstr "Διευθύνσεις"
-#: ../midori/main.c:1606
+#: ../midori/main.c:1640
msgid "[Addresses]"
msgstr "[Διευθύνσεις"
-#: ../midori/main.c:1629
+#: ../midori/main.c:1663
msgid "Please report comments, suggestions and bugs to:"
msgstr "Παρακαλώ αναφέρατε σχόλια, προτάσεις και σφάλματα στο:"
-#: ../midori/main.c:1631
+#: ../midori/main.c:1665
msgid "Check for new versions at:"
msgstr "Έλεγχος για νέα έκδοση στο:"
-#: ../midori/main.c:1711
+#: ../midori/main.c:1745
msgid "The specified configuration folder is invalid."
msgstr "Η συγκεκριμένη ρύθμιση φακέλου είναι άκυρη."
-#: ../midori/main.c:1751
+#: ../midori/main.c:1793
msgid "An instance of Midori is already running but not responding.\n"
msgstr "Όλα τα στιγμιότυπα του Μιντόρι τρέχουν ήδη αλλά δεν ανταποκρίνονται.\n"
-#: ../midori/main.c:1795
+#: ../midori/main.c:1837
#, c-format
msgid "The search engines couldn't be loaded. %s\n"
msgstr "Οι μηχανές αναζήτησης δεν μπορούν να φορτωθούν. %s\n"
-#: ../midori/main.c:1813
+#: ../midori/main.c:1855
#, c-format
msgid "The bookmarks couldn't be loaded: %s\n"
msgstr "Οι σελιδοδείκτες δεν μπορούν να φορτωθούν: %s\n"
-#: ../midori/main.c:1828
-#, c-format
-msgid "The session couldn't be loaded: %s\n"
-msgstr "Η συνεδρία δεν μπορεί να φορτωθεί: %s\n"
-
-#: ../midori/main.c:1841
+#: ../midori/main.c:1883
#, c-format
msgid "The trash couldn't be loaded: %s\n"
msgstr "Τα απορρίμματα δεν μπορούν να φορτωθούν: %s\n"
-#: ../midori/main.c:1854
+#: ../midori/main.c:1896
#, c-format
msgid "The history couldn't be loaded: %s\n"
msgstr "Το ιστορικό δεν μπορεί να φορτωθεί: %s\n"
-#: ../midori/main.c:1866
+#: ../midori/main.c:1908
msgid "The following errors occured:"
msgstr "Δημιουργήθηκαν τα ακόλουθα σφάλματα:"
-#: ../midori/main.c:1882
+#: ../midori/main.c:1924
msgid "_Ignore"
msgstr "Α_γνόησε"
msgid "Malformed document."
msgstr "Κακοσχηματισμένο έγγραφο."
-#: ../midori/midori-array.c:432
-#: ../midori/sokoke.c:699
+#: ../midori/midori-array.c:437
+#: ../midori/sokoke.c:798
#, c-format
msgid "Writing failed."
msgstr "Αποτυχία εγγραφής."
-#: ../midori/midori-browser.c:315
-#: ../midori/midori-browser.c:4327
-#: ../midori/midori-browser.c:4333
+#: ../midori/midori-browser.c:310
+#: ../midori/midori-browser.c:4530
+#: ../midori/midori-browser.c:4536
msgid "Reload the current page"
msgstr "Ανανέωση της τρέχουσας σελίδας"
-#: ../midori/midori-browser.c:326
-#: ../midori/midori-browser.c:4330
+#: ../midori/midori-browser.c:321
+#: ../midori/midori-browser.c:4533
msgid "Stop loading the current page"
msgstr "Σταμάτημα φόρτωσης της τρέχουσας σελίδας"
-#: ../midori/midori-browser.c:417
+#: ../midori/midori-browser.c:416
#, c-format
msgid "%d%% loaded"
msgstr "%d%% φορτώθηκε"
-#: ../midori/midori-browser.c:442
+#: ../midori/midori-browser.c:441
#, c-format
msgid "Unexpected action '%s'."
msgstr "Αναπάντεχη ενέργεια '%s'."
-#: ../midori/midori-browser.c:627
+#: ../midori/midori-browser.c:638
msgid "New folder"
msgstr "Νέος φάκελος"
-#: ../midori/midori-browser.c:627
+#: ../midori/midori-browser.c:638
msgid "Edit folder"
msgstr "Επεξεργασία φακέλου"
-#: ../midori/midori-browser.c:629
+#: ../midori/midori-browser.c:640
msgid "New bookmark"
msgstr "Νέος σελιδοδείκτης"
-#: ../midori/midori-browser.c:629
+#: ../midori/midori-browser.c:640
msgid "Edit bookmark"
msgstr "Επεξεργασία σελιδοδείκτη"
-#: ../midori/midori-browser.c:659
+#: ../midori/midori-browser.c:670
msgid "_Title:"
msgstr "_Τίτλος:"
-#: ../midori/midori-browser.c:672
+#: ../midori/midori-browser.c:683
#: ../midori/midori-searchaction.c:952
msgid "_Description:"
msgstr "_Περιγραφή:"
-#: ../midori/midori-browser.c:691
+#: ../midori/midori-browser.c:702
#: ../midori/midori-searchaction.c:966
#: ../extensions/feed-panel/main.c:368
msgid "_Address:"
msgstr "_Διεύθυνση:"
-#: ../midori/midori-browser.c:710
+#: ../midori/midori-browser.c:725
msgid "_Folder:"
msgstr "_Φάκελος:"
-#: ../midori/midori-browser.c:715
-#: ../midori/midori-browser.c:756
+#: ../midori/midori-browser.c:730
+#: ../midori/midori-browser.c:771
msgid "Toplevel folder"
msgstr "Αρχικός φάκελος"
-#: ../midori/midori-browser.c:834
+#: ../midori/midori-browser.c:849
msgid "Save file as"
msgstr "Αποθήκευση αρχείου ως"
-#: ../midori/midori-browser.c:1211
+#: ../midori/midori-browser.c:1226
#: ../panels/midori-transfers.c:272
#, c-format
msgid "%s of %s"
msgstr "%s από %s"
-#: ../midori/midori-browser.c:1248
+#: ../midori/midori-browser.c:1263
#, c-format
msgid "The file '<b>%s</b>' has been downloaded."
msgstr "Το αρχείο '<b>%s</b>' έχει κατέβει."
-#: ../midori/midori-browser.c:1252
+#: ../midori/midori-browser.c:1267
msgid "Transfer completed"
msgstr "Η μεταφορά ολοκληρώθηκε"
-#: ../midori/midori-browser.c:1393
+#: ../midori/midori-browser.c:1408
msgid "Save file"
msgstr "Αποθήκευση αρχείου"
-#: ../midori/midori-browser.c:2060
+#: ../midori/midori-browser.c:2069
msgid "Open file"
msgstr "Άνοιγμα αρχείου"
-#: ../midori/midori-browser.c:3268
+#: ../midori/midori-browser.c:3419
#: ../extensions/feed-panel/main.c:356
msgid "New feed"
msgstr "Νέα ροή"
-#: ../midori/midori-browser.c:3523
+#: ../midori/midori-browser.c:3674
#: ../panels/midori-bookmarks.c:781
#: ../panels/midori-history.c:812
msgid "Open all in _Tabs"
msgstr "Άνοιγμα όλων σε _καρτέλες"
-#: ../midori/midori-browser.c:3530
+#: ../midori/midori-browser.c:3681
#: ../panels/midori-bookmarks.c:787
#: ../panels/midori-history.c:818
#: ../extensions/feed-panel/feed-panel.c:542
msgid "Open in New _Tab"
msgstr "Άνοιγμα σε νέα_καρτέλα"
-#: ../midori/midori-browser.c:3533
+#: ../midori/midori-browser.c:3684
#: ../panels/midori-bookmarks.c:789
#: ../panels/midori-history.c:820
#: ../extensions/feed-panel/feed-panel.c:544
msgid "Open in New _Window"
msgstr "Άνοιγμα σε νέο _παράθυρο"
-#: ../midori/midori-browser.c:3843
+#: ../midori/midori-browser.c:3994
msgid "Clear Private Data"
msgstr "Καθαρισμός προσωπικών δεδομένων"
-#: ../midori/midori-browser.c:3847
+#: ../midori/midori-browser.c:3998
msgid "_Clear private data"
msgstr "_Καθαρισμός προσωπικών δεδομένων"
-#: ../midori/midori-browser.c:3860
+#: ../midori/midori-browser.c:4011
msgid "Clear the following data:"
msgstr "Καθαρισμός των παρακάτω δεδομένων:"
-#: ../midori/midori-browser.c:3870
-#: ../midori/midori-preferences.c:665
+#: ../midori/midori-browser.c:4021
+#: ../midori/midori-preferences.c:675
#: ../panels/midori-history.c:108
msgid "History"
msgstr "Ιστορικό"
-#: ../midori/midori-browser.c:3875
+#: ../midori/midori-browser.c:4026
msgid "Cookies"
msgstr "Cookies"
-#: ../midori/midori-browser.c:3880
+#: ../midori/midori-browser.c:4031
msgid "'Flash' Cookies"
msgstr "Άδειασμα των cookies"
-#: ../midori/midori-browser.c:3885
+#: ../midori/midori-browser.c:4036
msgid "Website icons"
msgstr "Εικονίδια ιστότοπων"
-#: ../midori/midori-browser.c:3890
-#: ../midori/sokoke.c:873
+#: ../midori/midori-browser.c:4041
+#: ../midori/sokoke.c:971
msgid "_Closed Tabs"
msgstr "_Κλειστές καρτέλες"
-#: ../midori/midori-browser.c:3898
+#: ../midori/midori-browser.c:4049
msgid "Clear private data when _quitting Midori"
msgstr "Καθαρισμός προσωπικών δεδομένων κατά τον _τερματισμό του Midori"
-#: ../midori/midori-browser.c:3979
+#: ../midori/midori-browser.c:4145
msgid "A lightweight web browser."
msgstr "Ένας ελαφρύς περιηγητής ιστού"
-#: ../midori/midori-browser.c:3995
+#: ../midori/midori-browser.c:4161
msgid "translator-credits"
msgstr "Ευάγγελος Μπαλάσκας <ebalaskas@ebalaskas.gr> 2008"
-#: ../midori/midori-browser.c:4261
+#: ../midori/midori-browser.c:4456
msgid "_File"
msgstr "_Αρχείο"
-#: ../midori/midori-browser.c:4263
-#: ../midori/sokoke.c:874
+#: ../midori/midori-browser.c:4458
+#: ../midori/sokoke.c:972
msgid "New _Window"
msgstr "Νέο _παράθυρο"
-#: ../midori/midori-browser.c:4264
+#: ../midori/midori-browser.c:4459
msgid "Open a new window"
msgstr "Άνοιγμα ενός νέου παραθύρου"
-#: ../midori/midori-browser.c:4267
+#: ../midori/midori-browser.c:4462
msgid "Open a new tab"
msgstr "Άνοιγμα μίας νέας καρτέλας"
-#: ../midori/midori-browser.c:4270
+#: ../midori/midori-browser.c:4465
msgid "Open a file"
msgstr "Άνοιγμα αρχείου"
-#: ../midori/midori-browser.c:4273
+#: ../midori/midori-browser.c:4468
msgid "Save to a file"
msgstr "Αποθήκευση σε αρχείου"
-#: ../midori/midori-browser.c:4275
+#: ../midori/midori-browser.c:4470
msgid "Add to Speed _dial"
msgstr "Προσθήκη σε γρήγορη σ_ύνδεση"
-#: ../midori/midori-browser.c:4276
+#: ../midori/midori-browser.c:4471
msgid "Add shortcut to speed dial"
msgstr "Προσθήκη συντόμευσης σε γρήγορη σύνδεση"
-#: ../midori/midori-browser.c:4278
+#: ../midori/midori-browser.c:4473
msgid "_Close Tab"
msgstr "_Κλείσιμο καρτέλας"
-#: ../midori/midori-browser.c:4279
+#: ../midori/midori-browser.c:4474
msgid "Close the current tab"
msgstr "Κλείσιμο της τρέχουσας καρτέλας"
-#: ../midori/midori-browser.c:4281
+#: ../midori/midori-browser.c:4476
msgid "C_lose Window"
msgstr "Κ_λείσιμο παραθύρου"
-#: ../midori/midori-browser.c:4282
+#: ../midori/midori-browser.c:4477
msgid "Close this window"
msgstr "Κλείσιμο αυτού του παραθύρου"
-#: ../midori/midori-browser.c:4285
+#: ../midori/midori-browser.c:4480
msgid "Print the current page"
msgstr "Εκτύπωση της τρέχουσας σελίδας"
-#: ../midori/midori-browser.c:4288
+#: ../midori/midori-browser.c:4483
msgid "Quit the application"
msgstr "Έξοδος από την εφαρμογή"
-#: ../midori/midori-browser.c:4290
+#: ../midori/midori-browser.c:4485
msgid "_Edit"
msgstr "_Επεξεργασία"
-#: ../midori/midori-browser.c:4293
+#: ../midori/midori-browser.c:4489
+msgid "Undo the last modification"
+msgstr "Αναίρεση της τελευταίας τροποποίησης"
+
+#: ../midori/midori-browser.c:4492
+msgid "Redo the last modification"
+msgstr "Επανάληψη της τελευταίας τροποποίησης"
+
+#: ../midori/midori-browser.c:4496
msgid "Cut the selected text"
msgstr "Αποκοπή επιλεγμένου κειμένου"
-#: ../midori/midori-browser.c:4296
-#: ../midori/midori-browser.c:4299
+#: ../midori/midori-browser.c:4499
+#: ../midori/midori-browser.c:4502
msgid "Copy the selected text"
msgstr "Αντιγραφή επιλεγμένου κειμένου"
-#: ../midori/midori-browser.c:4302
+#: ../midori/midori-browser.c:4505
msgid "Paste text from the clipboard"
msgstr "Επικόλληση κειμένου από το πρόχειρο"
-#: ../midori/midori-browser.c:4305
+#: ../midori/midori-browser.c:4508
msgid "Delete the selected text"
msgstr "Διαγραφή του επιλεγμένου κειμένου"
-#: ../midori/midori-browser.c:4308
+#: ../midori/midori-browser.c:4511
msgid "Select all text"
msgstr "Επιλογή όλου του κειμένου"
-#: ../midori/midori-browser.c:4311
+#: ../midori/midori-browser.c:4514
msgid "Find a word or phrase in the page"
msgstr "Αναζήτηση μίας λέξης ή φράσης στην σελίδα"
-#: ../midori/midori-browser.c:4313
+#: ../midori/midori-browser.c:4516
msgid "Find _Next"
msgstr "Εύρεση επ_όμενο"
-#: ../midori/midori-browser.c:4314
+#: ../midori/midori-browser.c:4517
msgid "Find the next occurrence of a word or phrase"
msgstr "Εύρεση της επόμενης ύπαρξης της λέξης ή της φράσης"
-#: ../midori/midori-browser.c:4316
+#: ../midori/midori-browser.c:4519
msgid "Find _Previous"
msgstr "Εύρεση _προηγούμενο"
-#: ../midori/midori-browser.c:4317
+#: ../midori/midori-browser.c:4520
msgid "Find the previous occurrence of a word or phrase"
msgstr "Εύρεση της προηγούμενης ύπαρξης της λέξης ή της φράσης"
-#: ../midori/midori-browser.c:4321
+#: ../midori/midori-browser.c:4524
msgid "Configure the application preferences"
msgstr "Παραμετροποίηση των ρυθμίσεων της εφαρμογής"
-#: ../midori/midori-browser.c:4323
+#: ../midori/midori-browser.c:4526
msgid "_View"
msgstr "_Εμφάνιση"
-#: ../midori/midori-browser.c:4324
+#: ../midori/midori-browser.c:4527
msgid "_Toolbars"
msgstr "_Εργαλειοθήκες"
-#: ../midori/midori-browser.c:4336
+#: ../midori/midori-browser.c:4539
msgid "Increase the zoom level"
msgstr "Αύξηση του επίπεδου εστίασης"
-#: ../midori/midori-browser.c:4339
+#: ../midori/midori-browser.c:4542
msgid "Decrease the zoom level"
msgstr "Μείωση του επιπέδου εστίασης"
-#: ../midori/midori-browser.c:4342
+#: ../midori/midori-browser.c:4545
msgid "Reset the zoom level"
msgstr "Επαναφορά του επιπέδου εστίασης"
-#: ../midori/midori-browser.c:4343
+#: ../midori/midori-browser.c:4546
msgid "_Encoding"
msgstr "_Κωδικοποίηση"
-#: ../midori/midori-browser.c:4345
+#: ../midori/midori-browser.c:4548
msgid "View So_urce"
msgstr "Προβολή κ_ώδικα"
-#: ../midori/midori-browser.c:4346
+#: ../midori/midori-browser.c:4549
msgid "View the source code of the page"
msgstr "Προβολή του πηγαίου κώδικα αυτής της σελίδας"
-#: ../midori/midori-browser.c:4348
+#: ../midori/midori-browser.c:4551
msgid "View Selection Source"
msgstr "Προβολή του επιλεγμένου κώδικα"
-#: ../midori/midori-browser.c:4349
+#: ../midori/midori-browser.c:4552
msgid "View the source code of the selection"
msgstr "Προβολή του πηγαίου κώδικα του επιλεγμένου"
-#: ../midori/midori-browser.c:4353
+#: ../midori/midori-browser.c:4556
msgid "Toggle fullscreen view"
msgstr "Εναλλαγή σε πλήρη οθόνη"
-#: ../midori/midori-browser.c:4355
+#: ../midori/midori-browser.c:4558
msgid "_Go"
msgstr "_Μετάβαση"
-#: ../midori/midori-browser.c:4358
+#: ../midori/midori-browser.c:4561
msgid "Go back to the previous page"
msgstr "Μετάβαση στην προηγούμενη σελίδα"
-#: ../midori/midori-browser.c:4361
+#: ../midori/midori-browser.c:4564
msgid "Go forward to the next page"
msgstr "Μετάβαση στην επόμενη σελίδα"
-#: ../midori/midori-browser.c:4364
+#: ../midori/midori-browser.c:4567
msgid "Go to your homepage"
msgstr "Μετάβαση στην αρχική σελίδα"
-#: ../midori/midori-browser.c:4366
+#: ../midori/midori-browser.c:4569
msgid "Empty Trash"
msgstr "Άδειασμα αποριμμάτων"
-#: ../midori/midori-browser.c:4367
+#: ../midori/midori-browser.c:4570
msgid "Delete the contents of the trash"
msgstr "Διαγραφή των περιεχομένων των απορριμάτων"
-#: ../midori/midori-browser.c:4369
+#: ../midori/midori-browser.c:4572
msgid "Undo _Close Tab"
msgstr "Αναίρεση κλ_είσιμο καρτέλας"
-#: ../midori/midori-browser.c:4370
+#: ../midori/midori-browser.c:4573
msgid "Open the last closed tab"
msgstr "Άνοιγμα της τελευταίας καρτέλας που έκλεισε"
-#: ../midori/midori-browser.c:4374
+#: ../midori/midori-browser.c:4577
#: ../panels/midori-bookmarks.c:231
msgid "Add a new bookmark"
msgstr "Προσθήκη ενός νέου σελιδοδείκτη"
-#: ../midori/midori-browser.c:4376
+#: ../midori/midori-browser.c:4579
msgid "Add a new _folder"
msgstr "Προσθήκη ενός νέου φ_ακέλου"
-#: ../midori/midori-browser.c:4377
+#: ../midori/midori-browser.c:4580
msgid "Add a new bookmark folder"
msgstr "Προσθήκη ενός νέου φακέλου σελιδοδεικτών"
-#: ../midori/midori-browser.c:4379
+#: ../midori/midori-browser.c:4582
#: ../midori/midori-searchaction.c:497
msgid "_Manage Search Engines"
msgstr "_Διαχείριση των μηχανών αναζήτησης"
-#: ../midori/midori-browser.c:4380
+#: ../midori/midori-browser.c:4583
msgid "Add, edit and remove search engines..."
msgstr "Προσθήκη, επεξεργασία και διαγραφή των μηχανών αναζήτησης..."
-#: ../midori/midori-browser.c:4383
+#: ../midori/midori-browser.c:4586
msgid "_Clear Private Data"
msgstr "_Καθαρισμός προσωπικών δεδομένων"
-#: ../midori/midori-browser.c:4384
+#: ../midori/midori-browser.c:4587
msgid "Clear private data..."
msgstr "Καθαρισμός προσωπικών δεδομένων..."
-#: ../midori/midori-browser.c:4388
+#: ../midori/midori-browser.c:4591
msgid "_Previous Tab"
msgstr "_Προηγούμενη καρτέλα"
-#: ../midori/midori-browser.c:4389
+#: ../midori/midori-browser.c:4592
msgid "Switch to the previous tab"
msgstr "Μετάβαση στην προηγούμενη καρτέλα"
-#: ../midori/midori-browser.c:4391
+#: ../midori/midori-browser.c:4594
msgid "_Next Tab"
msgstr "Επόμε_νη καρτέλα"
-#: ../midori/midori-browser.c:4392
+#: ../midori/midori-browser.c:4595
msgid "Switch to the next tab"
msgstr "Μετάβαση στην επόμενη καρτέλα"
-#: ../midori/midori-browser.c:4394
+#: ../midori/midori-browser.c:4597
+msgid "Focus _Current Tab"
+msgstr "Εστίαση στην _ισχύουσα καρτέλα"
+
+#: ../midori/midori-browser.c:4598
+msgid "Focus the current tab"
+msgstr "Εστίαση στην ισχύουσα καρτέλα"
+
+#: ../midori/midori-browser.c:4600
+msgid "Open last _session"
+msgstr "Επαναφορά της τελευταίας _συνεδρίας"
+
+#: ../midori/midori-browser.c:4601
+msgid "Open the tabs saved in the last session"
+msgstr "Άνοιγμα των καρτέλων που αποθηκεύτηκαν κατά την τελευταία συνεδρία"
+
+#: ../midori/midori-browser.c:4603
msgid "_Help"
msgstr "_Βοήθεια"
-#: ../midori/midori-browser.c:4396
+#: ../midori/midori-browser.c:4605
msgid "_Contents"
msgstr "_Περιεχόμενα"
-#: ../midori/midori-browser.c:4397
+#: ../midori/midori-browser.c:4606
msgid "Show the documentation"
msgstr "Εμφάνιση της τεκμηρίωσης"
-#: ../midori/midori-browser.c:4399
+#: ../midori/midori-browser.c:4608
msgid "_Frequent Questions"
msgstr "Σ_υχνές ερωτήσεις"
-#: ../midori/midori-browser.c:4400
+#: ../midori/midori-browser.c:4609
msgid "Show the Frequently Asked Questions"
msgstr "Εμφάνιση των πιο συχνά ερωτηθέντων ερωτήσεων"
-#: ../midori/midori-browser.c:4402
+#: ../midori/midori-browser.c:4611
msgid "_Report a Bug"
msgstr "Α_ναφορά σφάλματος"
-#: ../midori/midori-browser.c:4403
+#: ../midori/midori-browser.c:4612
msgid "Open Midori's bug tracker"
msgstr "Άνοιγμα καταγραφής σφαλμάτων midori"
-#: ../midori/midori-browser.c:4406
+#: ../midori/midori-browser.c:4615
msgid "Show information about the program"
msgstr "Εμφάνιση πληροφοριών σχετικά με την εφαρμογή"
-#: ../midori/midori-browser.c:4413
+#: ../midori/midori-browser.c:4622
msgid "P_rivate Browsing"
msgstr "Π_ροσωπική περιήγηση"
-#: ../midori/midori-browser.c:4414
+#: ../midori/midori-browser.c:4623
msgid "Don't save any private data while browsing"
msgstr "Να μην γίνει αποθήκευση προσωπικών δεδομένων κατά την περιήγηση"
-#: ../midori/midori-browser.c:4419
+#: ../midori/midori-browser.c:4628
msgid "_Menubar"
msgstr "_Μπάρα μενού"
-#: ../midori/midori-browser.c:4420
+#: ../midori/midori-browser.c:4629
msgid "Show menubar"
msgstr "Προβολή μπάρας μενού"
-#: ../midori/midori-browser.c:4423
+#: ../midori/midori-browser.c:4632
msgid "_Navigationbar"
msgstr "_Μπάρα περιήγησης"
-#: ../midori/midori-browser.c:4424
+#: ../midori/midori-browser.c:4633
msgid "Show navigationbar"
msgstr "Εμφάνιση περιήγησης"
-#: ../midori/midori-browser.c:4427
+#: ../midori/midori-browser.c:4636
msgid "Side_panel"
msgstr "Πλαϊνό _πλαίσιο"
-#: ../midori/midori-browser.c:4428
+#: ../midori/midori-browser.c:4637
msgid "Show sidepanel"
msgstr "Εμφάνιση πλαϊνού πλαισίου"
-#: ../midori/midori-browser.c:4431
+#: ../midori/midori-browser.c:4640
msgid "_Bookmarkbar"
msgstr "_Μπάρα σελιδοδείκτη"
-#: ../midori/midori-browser.c:4432
+#: ../midori/midori-browser.c:4641
msgid "Show bookmarkbar"
msgstr "Εμφάνιση μπάρα σελιδοδείκτη"
-#: ../midori/midori-browser.c:4435
+#: ../midori/midori-browser.c:4644
msgid "_Transferbar"
msgstr "_Μπάρα μεταφορών"
-#: ../midori/midori-browser.c:4436
+#: ../midori/midori-browser.c:4645
msgid "Show transferbar"
msgstr "Εμφάνιση μπάρα μεταφορών"
-#: ../midori/midori-browser.c:4439
+#: ../midori/midori-browser.c:4648
msgid "_Statusbar"
msgstr "_Γραμμή κατάστασης"
-#: ../midori/midori-browser.c:4440
+#: ../midori/midori-browser.c:4649
msgid "Show statusbar"
msgstr "Εμφάνιση γραμμής κατάστασης"
-#: ../midori/midori-browser.c:4447
+#: ../midori/midori-browser.c:4656
msgid "_Automatic"
msgstr "_Αυτόματα"
-#: ../midori/midori-browser.c:4450
-#: ../midori/midori-websettings.c:214
+#: ../midori/midori-browser.c:4659
+#: ../midori/midori-websettings.c:216
msgid "Chinese (BIG5)"
msgstr "Κινέζικα (BIG5)"
#. i18n: A double underscore "__" is used to prevent an unwanted mnemonic
-#: ../midori/midori-browser.c:4454
+#: ../midori/midori-browser.c:4663
msgid "Japanese (SHIFT__JIS)"
msgstr "Ιαπωνικά (SHIFT__JIS)"
-#: ../midori/midori-browser.c:4457
-#: ../midori/midori-websettings.c:216
+#: ../midori/midori-browser.c:4666
+#: ../midori/midori-websettings.c:218
msgid "Russian (KOI8-R)"
msgstr "Ρωσικά (KOI8-R)"
-#: ../midori/midori-browser.c:4460
-#: ../midori/midori-websettings.c:217
+#: ../midori/midori-browser.c:4669
+#: ../midori/midori-websettings.c:219
msgid "Unicode (UTF-8)"
msgstr "Unicode (UTF-8)"
-#: ../midori/midori-browser.c:4463
-#: ../midori/midori-websettings.c:218
+#: ../midori/midori-browser.c:4672
+#: ../midori/midori-websettings.c:220
msgid "Western (ISO-8859-1)"
msgstr "Δυτικά (ISO-8859-1)"
-#: ../midori/midori-browser.c:4466
-#: ../midori/midori-websettings.c:219
-#: ../midori/midori-websettings.c:291
+#: ../midori/midori-browser.c:4675
+#: ../midori/midori-websettings.c:221
+#: ../midori/midori-websettings.c:294
msgid "Custom..."
msgstr "Προσαρμογή..."
-#: ../midori/midori-browser.c:4907
+#: ../midori/midori-browser.c:5159
msgid "_Separator"
msgstr "_Διαχωριστής"
-#: ../midori/midori-browser.c:4914
+#: ../midori/midori-browser.c:5166
msgid "_Location..."
msgstr "_Τοποθεσία:"
-#: ../midori/midori-browser.c:4916
+#: ../midori/midori-browser.c:5168
msgid "Open a particular location"
msgstr "Άνοιγμα συγκεκριμένης τοποθεσίας"
-#: ../midori/midori-browser.c:4940
+#: ../midori/midori-browser.c:5192
msgid "_Web Search..."
msgstr "_Αναζήτηση ιστού..."
-#: ../midori/midori-browser.c:4942
+#: ../midori/midori-browser.c:5194
msgid "Run a web search"
msgstr "Εκκίνηση μίας αναζήτησης ιστού"
-#: ../midori/midori-browser.c:4963
+#: ../midori/midori-browser.c:5215
msgid "Reopen a previously closed tab or window"
msgstr "Ξανα-άνοιγμα προηγούμενης καρτέλας ή παράθυρο που έχει κλείσει"
-#: ../midori/midori-browser.c:4978
+#: ../midori/midori-browser.c:5230
msgid "_Recently visited pages"
msgstr "_Πρόσφατες επισκεπτόμενες σελίδες "
-#: ../midori/midori-browser.c:4980
+#: ../midori/midori-browser.c:5232
msgid "Reopen pages that you visited earlier"
msgstr "Ξανα-άνοιγμα σελίδων που επισκεφτήκατε νωρίτερα"
-#: ../midori/midori-browser.c:4995
-#: ../midori/sokoke.c:862
+#: ../midori/midori-browser.c:5247
+#: ../midori/sokoke.c:961
msgid "_Bookmarks"
msgstr "_Σελιδοδείκτες"
-#: ../midori/midori-browser.c:4997
+#: ../midori/midori-browser.c:5249
msgid "Show the saved bookmarks"
msgstr "Εμφάνιση των αποθηκευμένων σελιδοδεικτών"
-#: ../midori/midori-browser.c:5012
+#: ../midori/midori-browser.c:5264
msgid "_Tools"
msgstr "_Εργαλεία"
-#: ../midori/midori-browser.c:5024
+#: ../midori/midori-browser.c:5276
msgid "_Window"
msgstr "_Παράθυρο"
-#: ../midori/midori-browser.c:5026
+#: ../midori/midori-browser.c:5278
msgid "Show a list of all open tabs"
msgstr "Εμφάνιση μίας λίστας με όλα τις ανοιχτές καρτέλες"
-#: ../midori/midori-browser.c:5040
+#: ../midori/midori-browser.c:5292
msgid "_Menu"
msgstr "_Μενού"
-#: ../midori/midori-browser.c:5042
+#: ../midori/midori-browser.c:5294
msgid "Menu"
msgstr "Μενού"
#. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:5228
+#: ../midori/midori-browser.c:5477
msgid "_Inline Find:"
msgstr "Ε_νσωματωμένη αναζήτηση:"
-#: ../midori/midori-browser.c:5253
+#: ../midori/midori-browser.c:5502
msgid "Previous"
msgstr "Προηγούμενο"
-#: ../midori/midori-browser.c:5258
+#: ../midori/midori-browser.c:5507
msgid "Next"
msgstr "Επόμενο"
-#: ../midori/midori-browser.c:5263
+#: ../midori/midori-browser.c:5512
msgid "Match Case"
msgstr "Ταίριασμα πεζών"
-#: ../midori/midori-browser.c:5271
+#: ../midori/midori-browser.c:5520
msgid "Highlight Matches"
msgstr "Τονισμός των ταιριασμάτων"
-#: ../midori/midori-browser.c:5281
+#: ../midori/midori-browser.c:5530
msgid "Close Findbar"
msgstr "Κλείσιμο μπάρας εύρεσης"
-#: ../midori/midori-browser.c:5316
+#: ../midori/midori-browser.c:5565
#: ../panels/midori-transfers.c:143
msgid "Clear All"
msgstr "Καθαρισμός όλων"
-#: ../midori/midori-browser.c:5670
+#: ../midori/midori-browser.c:5919
#, c-format
msgid "Unexpected setting '%s'"
msgstr "Αναπάντεχη ρύθμιση '%s'"
-#: ../midori/midori-locationaction.c:941
+#: ../midori/midori-locationaction.c:968
#, c-format
msgid "Search with %s"
msgstr "Αναζήτηση με %s"
-#: ../midori/midori-panel.c:382
-#: ../midori/midori-panel.c:384
+#: ../midori/midori-panel.c:381
+#: ../midori/midori-panel.c:383
msgid "Detach chosen panel from the window"
msgstr "Αποσύνδεση επιλεγμένου πλαισίου από το παράθυρο"
-#: ../midori/midori-panel.c:394
-#: ../midori/midori-panel.c:396
-#: ../midori/midori-panel.c:577
-#: ../midori/midori-panel.c:580
+#: ../midori/midori-panel.c:393
+#: ../midori/midori-panel.c:395
+#: ../midori/midori-panel.c:576
+#: ../midori/midori-panel.c:579
msgid "Align sidepanel to the right"
msgstr "Εάν θα ευθυγραμμίζεται το πλαϊνό πλαίσιο στα δεξιά"
+#: ../midori/midori-panel.c:405
#: ../midori/midori-panel.c:406
-#: ../midori/midori-panel.c:407
msgid "Close panel"
msgstr "Κλείσιμο πλαισίου"
-#: ../midori/midori-panel.c:578
-#: ../midori/midori-panel.c:581
+#: ../midori/midori-panel.c:577
+#: ../midori/midori-panel.c:580
msgid "Align sidepanel to the left"
msgstr "Εάν θα ευθυγραμμίζεται το πλαϊνό πλαίσιο στα αριστερά"
-#: ../midori/midori-panel.c:704
+#: ../midori/midori-panel.c:703
msgid "Show panel _titles"
msgstr "Εμφάνιση των _τίτλων στο ταμπλό"
-#: ../midori/midori-panel.c:712
+#: ../midori/midori-panel.c:711
msgid "Show operating _controls"
msgstr "Εμφάνιση των στοιχείων λειτουργίας"
-#: ../midori/midori-panel.c:783
+#: ../midori/midori-panel.c:782
msgid "Options"
msgstr "Επιλογές"
-#: ../midori/midori-websettings.c:197
+#: ../midori/midori-websettings.c:199
msgid "Show Blank page"
msgstr "Εμφάνιση κενής σελίδας"
-#: ../midori/midori-websettings.c:198
+#: ../midori/midori-websettings.c:200
msgid "Show Homepage"
msgstr "Εμφάνιση αρχικής σελίδας"
-#: ../midori/midori-websettings.c:199
+#: ../midori/midori-websettings.c:201
msgid "Show last open tabs"
msgstr "Εμφάνιση των τελευταίων ανοιχτών καρτέλων"
-#: ../midori/midori-websettings.c:215
+#: ../midori/midori-websettings.c:217
msgid "Japanese (SHIFT_JIS)"
msgstr "Ιαπωνικά (SHIFT_JIS)"
-#: ../midori/midori-websettings.c:234
+#: ../midori/midori-websettings.c:236
msgid "New tab"
msgstr "Νέα καρτέλα"
-#: ../midori/midori-websettings.c:235
+#: ../midori/midori-websettings.c:237
msgid "New window"
msgstr "Νέο παράθυρο"
-#: ../midori/midori-websettings.c:236
+#: ../midori/midori-websettings.c:238
msgid "Current tab"
msgstr "Τρέχον καρτέλα"
-#: ../midori/midori-websettings.c:251
+#: ../midori/midori-websettings.c:253
msgid "Default"
msgstr "Προκαθορισμένο"
-#: ../midori/midori-websettings.c:252
+#: ../midori/midori-websettings.c:254
msgid "Icons"
msgstr "Εικονίδια"
-#: ../midori/midori-websettings.c:253
+#: ../midori/midori-websettings.c:255
msgid "Text"
msgstr "Κείμενο"
-#: ../midori/midori-websettings.c:254
+#: ../midori/midori-websettings.c:256
msgid "Icons and text"
msgstr "Εικονίδια με κείμενο"
-#: ../midori/midori-websettings.c:255
+#: ../midori/midori-websettings.c:257
msgid "Text beside icons"
msgstr "Κείμενο δίπλα στα εικονίδια"
-#: ../midori/midori-websettings.c:270
+#: ../midori/midori-websettings.c:272
msgid "All cookies"
msgstr "Όλα τα cookies"
-#: ../midori/midori-websettings.c:271
+#: ../midori/midori-websettings.c:273
msgid "Session cookies"
msgstr "Cookies συνεδρίας"
-#: ../midori/midori-websettings.c:272
-#: ../panels/midori-addons.c:94
+#: ../midori/midori-websettings.c:274
+#: ../panels/midori-addons.c:93
#: ../extensions/shortcuts.c:93
msgid "None"
msgstr "Κανένα"
-#: ../midori/midori-websettings.c:288
+#: ../midori/midori-websettings.c:290
msgid "Safari"
msgstr "Safari"
-#: ../midori/midori-websettings.c:289
+#: ../midori/midori-websettings.c:291
+msgid "iPhone"
+msgstr "iPhone"
+
+#: ../midori/midori-websettings.c:292
msgid "Firefox"
msgstr "Firefox"
-#: ../midori/midori-websettings.c:290
+#: ../midori/midori-websettings.c:293
msgid "Internet Explorer"
msgstr "Internet Explorer"
-#: ../midori/midori-websettings.c:343
+#: ../midori/midori-websettings.c:346
msgid "Remember last window size"
msgstr "Απομνημόνευση μεγέθους τελευταίου παραθύρου"
-#: ../midori/midori-websettings.c:344
+#: ../midori/midori-websettings.c:347
msgid "Whether to save the last window size"
msgstr "Εάν θα αποθηκεύεται το μέγεθος του τελευταίου παραθύρου"
-#: ../midori/midori-websettings.c:352
+#: ../midori/midori-websettings.c:355
msgid "Last window width"
msgstr "Πλάτος τελευταίου παραθύρου"
-#: ../midori/midori-websettings.c:353
+#: ../midori/midori-websettings.c:356
msgid "The last saved window width"
msgstr "Το τελευταίο αποθηκευμένο πλάτος παραθύρου"
-#: ../midori/midori-websettings.c:361
+#: ../midori/midori-websettings.c:364
msgid "Last window height"
msgstr "Ύψος τελευταίου παραθύρου"
-#: ../midori/midori-websettings.c:362
+#: ../midori/midori-websettings.c:365
msgid "The last saved window height"
msgstr "Το τελευταίο ύψος αποθηκευμένου παραθύρου"
-#: ../midori/midori-websettings.c:387
+#: ../midori/midori-websettings.c:390
msgid "Last panel position"
msgstr "Η τελευταία θέση πλαισίου"
-#: ../midori/midori-websettings.c:388
+#: ../midori/midori-websettings.c:391
msgid "The last saved panel position"
msgstr "Η τελευταία αποθηκευμένη θέση πλαισίου"
#. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:397
+#: ../midori/midori-websettings.c:400
msgid "Last panel page"
msgstr "Η τελευταία σελίδα πλαισίου"
-#: ../midori/midori-websettings.c:398
+#: ../midori/midori-websettings.c:401
msgid "The last saved panel page"
msgstr "Η τελευταία αποθηκευμένη σελίδα πλαισίου"
-#: ../midori/midori-websettings.c:406
+#: ../midori/midori-websettings.c:409
msgid "Last Web search"
msgstr "Τελευταία αναζήτηση ιστού"
-#: ../midori/midori-websettings.c:407
+#: ../midori/midori-websettings.c:410
msgid "The last saved Web search"
msgstr "Η τελευταία αποθηκευμένη αναζήτηση ιστού"
-#: ../midori/midori-websettings.c:416
+#: ../midori/midori-websettings.c:419
msgid "Show Menubar"
msgstr "Εμφάνιση γραμμής μενού"
-#: ../midori/midori-websettings.c:417
+#: ../midori/midori-websettings.c:420
msgid "Whether to show the menubar"
msgstr "Εάν θα φαίνεται η μπάρα του μενού"
-#: ../midori/midori-websettings.c:425
+#: ../midori/midori-websettings.c:428
msgid "Show Navigationbar"
msgstr "Εμφάνιση της γραμμής πλοήγησης"
-#: ../midori/midori-websettings.c:426
+#: ../midori/midori-websettings.c:429
msgid "Whether to show the navigationbar"
msgstr "Εάν θα φαίνεται η γραμμή πλοήγησης"
-#: ../midori/midori-websettings.c:434
+#: ../midori/midori-websettings.c:437
msgid "Show Bookmarkbar"
msgstr "Εμφάνιση μπάρας σελιδοδεικτών"
-#: ../midori/midori-websettings.c:435
+#: ../midori/midori-websettings.c:438
msgid "Whether to show the bookmarkbar"
msgstr "Εάν θα φαίνεται η μπάρα των σελιλοδεικτών"
-#: ../midori/midori-websettings.c:443
+#: ../midori/midori-websettings.c:446
msgid "Show Panel"
msgstr "Εμφάνιση πλαισίου"
-#: ../midori/midori-websettings.c:444
+#: ../midori/midori-websettings.c:447
msgid "Whether to show the panel"
msgstr "Εάν θα φαίνεται το πλαίσιο"
-#: ../midori/midori-websettings.c:459
+#: ../midori/midori-websettings.c:462
msgid "Show Transferbar"
msgstr "Εμφάνιση μπάρας μεταφορών"
-#: ../midori/midori-websettings.c:460
+#: ../midori/midori-websettings.c:463
msgid "Whether to show the transferbar"
msgstr "Εάν θα φαίνεται η μπάρα μεταφορών"
-#: ../midori/midori-websettings.c:468
+#: ../midori/midori-websettings.c:471
msgid "Show Statusbar"
msgstr "Εμφάνιση γραμμής κατάστασης"
-#: ../midori/midori-websettings.c:469
+#: ../midori/midori-websettings.c:472
msgid "Whether to show the statusbar"
msgstr "Εάν θα φαίνεται η γραμμή κατάστασης"
-#: ../midori/midori-websettings.c:478
+#: ../midori/midori-websettings.c:481
msgid "Toolbar Style:"
msgstr "Στυλ εργαλειοθήκης:"
-#: ../midori/midori-websettings.c:479
+#: ../midori/midori-websettings.c:482
msgid "The style of the toolbar"
msgstr "Το στυλ της εργαλειοθήκης"
-#: ../midori/midori-websettings.c:495
+#: ../midori/midori-websettings.c:498
msgid "Show progress in location entry"
msgstr "Να εμφανίζεται η πρόοδος στην τοποθεσίας εισαγωγής"
-#: ../midori/midori-websettings.c:496
+#: ../midori/midori-websettings.c:499
msgid "Whether to show loading progress in the location entry"
msgstr "Εάν θα εμφανίζεται η φόρτωση προόδου στην τοποθεσία εισαγωγής"
-#: ../midori/midori-websettings.c:511
+#: ../midori/midori-websettings.c:514
msgid "Search engines in location completion"
msgstr "Μηχανές αναζήτησης στην τοποθεσία συμπλήρωσης"
-#: ../midori/midori-websettings.c:512
+#: ../midori/midori-websettings.c:515
msgid "Whether to show search engines in the location completion"
msgstr "Εάν θα φαίνονται οι μηχανές αναζήτησης στην τοποθεσία συμπλήρωσης"
-#: ../midori/midori-websettings.c:520
+#: ../midori/midori-websettings.c:523
msgid "Toolbar Items"
msgstr "Αντικείμενα εργαλειοθήκης"
-#: ../midori/midori-websettings.c:521
+#: ../midori/midori-websettings.c:524
msgid "The items to show on the toolbar"
msgstr "Τι αντικείμενα να εμφανίζονται στην εργαλειοθήκη"
-#: ../midori/midori-websettings.c:529
+#: ../midori/midori-websettings.c:532
msgid "Compact Sidepanel"
msgstr "Σύμπτυξη πλαϊνού πλαισίου"
-#: ../midori/midori-websettings.c:530
+#: ../midori/midori-websettings.c:533
msgid "Whether to make the sidepanel compact"
msgstr "Εάν θα γίνει σύμπτυξη του πλαϊνού πλαισίου"
-#: ../midori/midori-websettings.c:545
+#: ../midori/midori-websettings.c:548
msgid "Show operating controls of the panel"
msgstr "Εμφάνιση των στοιχείων λειτουργίας στο ταμπλό"
-#: ../midori/midori-websettings.c:546
+#: ../midori/midori-websettings.c:549
msgid "Whether to show the operating controls of the panel"
msgstr "Εάν θα φαίνονται τα στοιχεία λειτουργίας στο ταμπλό"
-#: ../midori/midori-websettings.c:561
+#: ../midori/midori-websettings.c:564
msgid "Align sidepanel on the right"
msgstr "Ευθυγράμμιση πλαϊνού πλαισίου στα δεξιά"
-#: ../midori/midori-websettings.c:562
+#: ../midori/midori-websettings.c:565
msgid "Whether to align the sidepanel on the right"
msgstr "Εάν θα ευθυγραμμίζεται το πλαϊνό πλαίσιο στα δεξιά"
-#: ../midori/midori-websettings.c:571
+#: ../midori/midori-websettings.c:574
msgid "When Midori starts:"
msgstr "Κατά την εκκίνηση του midori:"
-#: ../midori/midori-websettings.c:572
+#: ../midori/midori-websettings.c:575
msgid "What to do when Midori starts"
msgstr "Κατά την εκκίνηση του midori να φορτώνει:"
-#: ../midori/midori-websettings.c:581
+#: ../midori/midori-websettings.c:584
msgid "Homepage:"
msgstr "Αρχική σελίδα:"
-#: ../midori/midori-websettings.c:582
+#: ../midori/midori-websettings.c:585
msgid "The homepage"
msgstr "Η αρχική σελίδα"
-#: ../midori/midori-websettings.c:597
+#: ../midori/midori-websettings.c:600
msgid "Show crash dialog"
msgstr "Εμφάνιση παραθύρου αποτυχίας"
-#: ../midori/midori-websettings.c:598
+#: ../midori/midori-websettings.c:601
msgid "Show a dialog after Midori crashed"
msgstr "Εμφάνιση διαλόγου μετά από αποτυχία"
#. i18n: Speed dial, webpage shortcuts, named for the phone function
-#: ../midori/midori-websettings.c:614
+#: ../midori/midori-websettings.c:617
msgid "Show speed dial in new tabs"
msgstr "Εμφάνιση γρήγορης σύνδεσης σε νέες καρτέλες"
-#: ../midori/midori-websettings.c:615
+#: ../midori/midori-websettings.c:618
msgid "Show speed dial in newly opened tabs"
msgstr "Εμφάνιση γρήγορης σύνδεσης στις νέες ανοιχτές καρτέλες"
-#: ../midori/midori-websettings.c:623
+#: ../midori/midori-websettings.c:626
msgid "Save downloaded files to:"
msgstr "Αποθήκευση των αρχείων που κατέβηκαν στο:"
-#: ../midori/midori-websettings.c:624
+#: ../midori/midori-websettings.c:627
msgid "The folder downloaded files are saved to"
msgstr "Ο κατάλογος στον οποίο αποθηκεύονται τα αρχεία που κατεβαίνουν"
-#: ../midori/midori-websettings.c:643
+#: ../midori/midori-websettings.c:648
msgid "Ask for the destination folder"
msgstr "Ερώτηση για τον κατάλογο αποθήκευσης"
-#: ../midori/midori-websettings.c:644
+#: ../midori/midori-websettings.c:649
msgid "Whether to ask for the destination folder when downloading a file"
msgstr "Εάν θα ρωτάει για τον κατάλογο αποθήκευσης όταν κατεβαίνει ένα αρχείο"
-#: ../midori/midori-websettings.c:663
+#: ../midori/midori-websettings.c:668
msgid "Notify when a transfer has been completed"
msgstr "Ειδοποίηση όταν μία μεταφορά έχει ολοκληρωθεί"
-#: ../midori/midori-websettings.c:664
+#: ../midori/midori-websettings.c:669
msgid "Whether to show a notification when a transfer has been completed"
msgstr "Εάν θα εμφανίζεται μία ειδοποίηση όταν ολοκληρωθεί μία μεταφορά"
-#: ../midori/midori-websettings.c:676
+#: ../midori/midori-websettings.c:681
msgid "Download Manager"
msgstr "Διαχειριστής μεταφορών"
-#: ../midori/midori-websettings.c:677
+#: ../midori/midori-websettings.c:682
msgid "An external download manager"
msgstr "Εξωτερικός διαχειριστής μεταφορών"
-#: ../midori/midori-websettings.c:685
+#: ../midori/midori-websettings.c:690
msgid "Text Editor"
msgstr "Κειμενογράφος"
-#: ../midori/midori-websettings.c:686
+#: ../midori/midori-websettings.c:691
msgid "An external text editor"
msgstr "Εξωτερικός κειμενογράφος"
-#: ../midori/midori-websettings.c:701
+#: ../midori/midori-websettings.c:706
msgid "News Aggregator"
msgstr "Διαχειριστής νέων"
-#: ../midori/midori-websettings.c:702
+#: ../midori/midori-websettings.c:707
msgid "An external news aggregator"
msgstr "Εξωτερικός διαχειριστής νέων"
-#: ../midori/midori-websettings.c:710
+#: ../midori/midori-websettings.c:715
msgid "Location entry Search"
msgstr "Διεύθυνση για αναζήτηση"
-#: ../midori/midori-websettings.c:711
+#: ../midori/midori-websettings.c:716
msgid "The search to perform inside the location entry"
msgstr "Η αναζήτηση να πραγματοποιηθεί εσωτερικά της τοποθεσίας εισαγωγής"
-#: ../midori/midori-websettings.c:719
+#: ../midori/midori-websettings.c:724
msgid "Preferred Encoding"
msgstr "Προτιμώμενη κωδικοποίηση"
-#: ../midori/midori-websettings.c:720
+#: ../midori/midori-websettings.c:725
msgid "The preferred character encoding"
msgstr "Η προτιμώμενη κωδικοποίηση χαρακτήρων"
-#: ../midori/midori-websettings.c:730
+#: ../midori/midori-websettings.c:735
msgid "Always Show Tabbar"
msgstr "Εμφάνιση πάντα της γραμμής καρτέλων"
-#: ../midori/midori-websettings.c:731
+#: ../midori/midori-websettings.c:736
msgid "Always show the tabbar"
msgstr "Εμφάνιση πάντα της μπάρας με τις καρτέλες"
-#: ../midori/midori-websettings.c:739
+#: ../midori/midori-websettings.c:744
msgid "Close Buttons on Tabs"
msgstr "Κουμπιά κλεισίματος στις καρτέλες"
-#: ../midori/midori-websettings.c:740
+#: ../midori/midori-websettings.c:745
msgid "Whether tabs have close buttons"
msgstr "Εάν οι καρτέλες θα έχουν κουμπί κλεισίματος"
-#: ../midori/midori-websettings.c:748
+#: ../midori/midori-websettings.c:753
msgid "Open new pages in:"
msgstr "Άνοιγμα νέων σελίδων σε:"
-#: ../midori/midori-websettings.c:749
+#: ../midori/midori-websettings.c:754
msgid "Where to open new pages"
msgstr "Που να ανοίγουν οι νέες σελίδες"
-#: ../midori/midori-websettings.c:758
+#: ../midori/midori-websettings.c:763
msgid "Open external pages in:"
msgstr "Άνοιγμα εξωτερικών σελίδων σε:"
-#: ../midori/midori-websettings.c:759
+#: ../midori/midori-websettings.c:764
msgid "Where to open externally opened pages"
msgstr "Που να ανοίγουν οι εξωτερικές ανοιγμένες σελίδες"
-#: ../midori/midori-websettings.c:768
+#: ../midori/midori-websettings.c:773
msgid "Middle click opens Selection"
msgstr "Το μεσαίο κλικ ανοίγει την Επιλογή"
-#: ../midori/midori-websettings.c:769
+#: ../midori/midori-websettings.c:774
msgid "Load an address from the selection via middle click"
msgstr "Φόρτωση μίας διεύθυνσης από την επιλογή μέσω του μεσαίου κλικ"
-#: ../midori/midori-websettings.c:777
+#: ../midori/midori-websettings.c:782
msgid "Open tabs in the background"
msgstr "Άνοιγμα των καρτελών στο παρασκήνιο"
-#: ../midori/midori-websettings.c:778
+#: ../midori/midori-websettings.c:783
msgid "Whether to open new tabs in the background"
msgstr "Εάν θα ανοίγονται νέες καρτέλες στο παρασκήνιο"
-#: ../midori/midori-websettings.c:786
+#: ../midori/midori-websettings.c:791
msgid "Open Tabs next to Current"
msgstr "Άνοιγμα των καρτελών δίπλα στο τρέχων"
-#: ../midori/midori-websettings.c:787
+#: ../midori/midori-websettings.c:792
msgid "Whether to open new tabs next to the current tab or after the last one"
msgstr "Εάν θα ανοίγονται νέες καρτέλες δίπλα στην τρέχουσα καρτέλα ή μετά την τελευταία"
-#: ../midori/midori-websettings.c:795
+#: ../midori/midori-websettings.c:800
msgid "Open popups in tabs"
msgstr "Άνοιγμα αναδυόμενων παραθύρων σε καρτέλες"
-#: ../midori/midori-websettings.c:796
+#: ../midori/midori-websettings.c:801
msgid "Whether to open popup windows in tabs"
msgstr "Εάν θα ανοίγονται τα αναδυόμενα παράθυρα σε καρτέλες"
-#: ../midori/midori-websettings.c:812
+#: ../midori/midori-websettings.c:817
msgid "Zoom Text and Images"
msgstr "Εστίαση κειμένου και εικόνων"
-#: ../midori/midori-websettings.c:813
+#: ../midori/midori-websettings.c:818
msgid "Whether to zoom text and images"
msgstr "Εάν θα εστιάζεται το κείμενο και οι εικόνες"
-#: ../midori/midori-websettings.c:828
+#: ../midori/midori-websettings.c:833
msgid "Find inline while typing"
msgstr "Ενσωματωμένη εύρεση κατά την πληκτρολόγηση"
-#: ../midori/midori-websettings.c:829
+#: ../midori/midori-websettings.c:834
msgid "Whether to automatically find inline while typing"
msgstr "Εάν θα γίνεται αυτόματη ενσωματωμένη αναζήτηση κατά την πληκτρολόγηση"
-#: ../midori/midori-websettings.c:837
+#: ../midori/midori-websettings.c:849
+msgid "Kinetic scrolling"
+msgstr "Κινητική κύλιση"
+
+#: ../midori/midori-websettings.c:850
+msgid "Whether scrolling should kinetically move according to speed"
+msgstr "Εάν η κύλιση θα κινείται ανάλογα με την ταχύτητα "
+
+#: ../midori/midori-websettings.c:858
msgid "Accept cookies"
msgstr "Αποδοχή cookies"
-#: ../midori/midori-websettings.c:838
+#: ../midori/midori-websettings.c:859
msgid "What type of cookies to accept"
msgstr "Τι τύπο cookies να γίνονται αποδεκτά"
-#: ../midori/midori-websettings.c:847
+#: ../midori/midori-websettings.c:868
msgid "Original cookies only"
msgstr "Μόνο πρωτότυπα cookies"
-#: ../midori/midori-websettings.c:848
+#: ../midori/midori-websettings.c:869
msgid "Accept cookies from the original website only"
msgstr "Αποδοχή cookies μόνο από πρωτότυπους ιστότοπους"
-#: ../midori/midori-websettings.c:856
+#: ../midori/midori-websettings.c:877
msgid "Maximum cookie age"
msgstr "Μέγιστος χρόνος cookie"
-#: ../midori/midori-websettings.c:857
+#: ../midori/midori-websettings.c:878
msgid "The maximum number of days to save cookies for"
msgstr "Ο μέγιστος χρόνος σε μέρες για την αποθήκευση των cookies"
-#: ../midori/midori-websettings.c:867
+#: ../midori/midori-websettings.c:888
msgid "Remember last visited pages"
msgstr "Απομνημόνευση των τελευταίων επισκεπτόμενων σελίδων"
-#: ../midori/midori-websettings.c:868
+#: ../midori/midori-websettings.c:889
msgid "Whether the last visited pages are saved"
msgstr "Εάν θα αποθηκεύονται οι τελευταίες επισκεπτόμενες σελίδες"
-#: ../midori/midori-websettings.c:876
+#: ../midori/midori-websettings.c:897
msgid "Maximum history age"
msgstr "Μέγιστο χρόνος ιστορικού"
-#: ../midori/midori-websettings.c:877
+#: ../midori/midori-websettings.c:898
msgid "The maximum number of days to save the history for"
msgstr "Ο μέγιστος χρόνος σε μέρες για την αποθήκευση του ιστορικού"
-#: ../midori/midori-websettings.c:885
+#: ../midori/midori-websettings.c:906
msgid "Remember last form inputs"
msgstr "Απομνημόνευση των τελευταίων εισαγωγών"
-#: ../midori/midori-websettings.c:886
+#: ../midori/midori-websettings.c:907
msgid "Whether the last form inputs are saved"
msgstr "Εάν θα αποθηκεύονται οι τελευταίες εισαγωγές φορμών"
-#: ../midori/midori-websettings.c:894
+#: ../midori/midori-websettings.c:915
msgid "Remember last downloaded files"
msgstr "Απομνημόνευση των τελευταίων αρχείων που κατέβηκαν"
-#: ../midori/midori-websettings.c:895
+#: ../midori/midori-websettings.c:916
msgid "Whether the last downloaded files are saved"
msgstr "Εάν θα αποθηκεύονται τα τελευταία αρχεία που κατέβηκαν"
-#: ../midori/midori-websettings.c:905
+#: ../midori/midori-websettings.c:926
msgid "Proxy Server"
msgstr "Διακομιστής μεσολάβησης"
-#: ../midori/midori-websettings.c:906
+#: ../midori/midori-websettings.c:927
msgid "The proxy server used for HTTP connections"
msgstr "Ο μεσολαβητής χρησιμοποιείται για http συνδέσεις"
-#: ../midori/midori-websettings.c:921
+#: ../midori/midori-websettings.c:942
msgid "Detect proxy server automatically"
msgstr "Αυτόματη εύρεση διακομιστή μεσολάβησης"
-#: ../midori/midori-websettings.c:922
+#: ../midori/midori-websettings.c:943
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:938
+#: ../midori/midori-websettings.c:959
msgid "Identify as"
msgstr "Αναγνώριση ως"
-#: ../midori/midori-websettings.c:939
+#: ../midori/midori-websettings.c:960
msgid "What to identify as to web pages"
msgstr "Με τι να αναγνωρίζεται στις σελίδες ιστού"
-#: ../midori/midori-websettings.c:955
+#: ../midori/midori-websettings.c:976
msgid "Identification string"
msgstr "Αλφαριθμητικό αναγνώρισης"
-#: ../midori/midori-websettings.c:956
+#: ../midori/midori-websettings.c:977
msgid "The application identification string"
msgstr "Το αλφαριθμητικό αναγνώρισης της εφαρμογής"
-#: ../midori/midori-websettings.c:964
+#: ../midori/midori-websettings.c:985
msgid "Cache size"
msgstr "Μέγεθος προσωρινής μνήμης"
-#: ../midori/midori-websettings.c:965
+#: ../midori/midori-websettings.c:986
msgid "The allowed size of the cache"
msgstr "Το επιτρεπόμενο μέγεθος της προσωρινής μνήμης"
-#: ../midori/midori-websettings.c:980
+#: ../midori/midori-websettings.c:1001
msgid "Clear private data"
msgstr "Καθαρισμός προσωπικών δεδομένων"
-#: ../midori/midori-websettings.c:981
+#: ../midori/midori-websettings.c:1002
msgid "The private data selected for deletion"
msgstr "Τα προσωπικά δεδομένα που επιλέχθηκαν για διαγραφή"
#. so reloading via Javascript works but not via API calls.
#. 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:782
-#: ../midori/midori-view.c:3043
-#: ../midori/midori-view.c:3047
+#: ../midori/midori-view.c:847
+#: ../midori/midori-view.c:3643
+#: ../midori/midori-view.c:3647
#, c-format
msgid "Error - %s"
msgstr "Σφάλμα- %s"
-#: ../midori/midori-view.c:783
+#: ../midori/midori-view.c:848
#, c-format
msgid "The page '%s' couldn't be loaded."
msgstr "Η σελίδα '%s' δεν μπορεί να φορτωθεί."
-#: ../midori/midori-view.c:788
+#: ../midori/midori-view.c:853
msgid "Try again"
msgstr "Δοκιμάστε ξανά"
#. i18n: The title of the 404 - Not found error page
-#: ../midori/midori-view.c:821
+#: ../midori/midori-view.c:886
#, c-format
msgid "Not found - %s"
msgstr "Δεν βρέθηκε - %s"
-#: ../midori/midori-view.c:1218
+#: ../midori/midori-view.c:1100
+#: ../midori/midori-view.c:1813
+#, c-format
+msgid "Send a message to %s"
+msgstr "Αποστολή μηνύματος στο: %s"
+
+#: ../midori/midori-view.c:1652
+#: ../midori/midori-view.c:1715
msgid "Open _Link"
msgstr "Άνοιγμα _συνδέσμου"
-#: ../midori/midori-view.c:1220
+#: ../midori/midori-view.c:1655
+#: ../midori/midori-view.c:1717
msgid "Open Link in New _Tab"
msgstr "Άνοιγμα συνδέσμου σε νέα κ_αρτέλα"
-#: ../midori/midori-view.c:1237
+#: ../midori/midori-view.c:1658
+#: ../midori/midori-view.c:1724
msgid "Open Link in New _Window"
msgstr "Άνοιγμα συνδέσμου σε νέο _παραθύρο"
-#: ../midori/midori-view.c:1243
-msgid "_Download Link destination"
-msgstr "Î\9a_αÏ\84ÎβαÏ\83μα συνδέσμου προορισμού"
+#: ../midori/midori-view.c:1661
+msgid "_Copy Link destination"
+msgstr "Î\91_νÏ\84ιγÏ\81αÏ\86ή συνδέσμου προορισμού"
-#: ../midori/midori-view.c:1249
+#: ../midori/midori-view.c:1664
+#: ../midori/midori-view.c:1736
msgid "_Save Link destination"
msgstr "Απ_οθήκευση συνδέσμου προορισμού"
-#: ../midori/midori-view.c:1258
+#: ../midori/midori-view.c:1665
+#: ../midori/midori-view.c:1730
+msgid "_Download Link destination"
+msgstr "Κ_ατέβασμα συνδέσμου προορισμού"
+
+#: ../midori/midori-view.c:1669
+#: ../midori/midori-view.c:1705
+#: ../midori/midori-view.c:1741
msgid "Download with Download _Manager"
msgstr "Κατέβασμα με τον διαχειριστή μεταφορών"
-#: ../midori/midori-view.c:1287
+#: ../midori/midori-view.c:1681
+msgid "Open _Image in New Tab"
+msgstr "Άνοιγμα ει_κόνας σε νέα καρτέλα"
+
+#: ../midori/midori-view.c:1684
+msgid "Open _Image in New Window"
+msgstr "Άνοιγμα ει_κόνας σε νέο παράθυρο"
+
+#: ../midori/midori-view.c:1687
+msgid "Copy Image _Address"
+msgstr "Αντιγραφή _διεύθυνσης εικόνας"
+
+#: ../midori/midori-view.c:1690
+msgid "Save I_mage"
+msgstr "Αποθήκευση ει_κόνας"
+
+#: ../midori/midori-view.c:1691
+msgid "Download I_mage"
+msgstr "Αποθήκευση ει_κόνας"
+
+#: ../midori/midori-view.c:1698
+msgid "Copy Video _Address"
+msgstr "Αντιγραφή _διεύθυνσης βίντεο"
+
+#: ../midori/midori-view.c:1701
+msgid "Save _Video"
+msgstr "Αποθήκευση _βίντεο"
+
+#: ../midori/midori-view.c:1701
+msgid "Download _Video"
+msgstr "Αποθήκευση _βίντεο"
+
+#: ../midori/midori-view.c:1761
msgid "Search _with"
msgstr "Αναζήτηση _με"
-#: ../midori/midori-view.c:1319
+#: ../midori/midori-view.c:1789
+#: ../midori/midori-view.c:1800
msgid "_Search the Web"
msgstr "_Αναζήτηση στον ιστό"
-#: ../midori/midori-view.c:1329
+#: ../midori/midori-view.c:1821
msgid "Open Address in New _Tab"
msgstr "Άνοιγμα διεύθυνσης σε νέα_καρτέλα"
-#: ../midori/midori-view.c:1507
+#: ../midori/midori-view.c:2030
msgid "Open or download file"
msgstr "Άνοιγμα ή κατέβασμα αρχείου"
-#: ../midori/midori-view.c:1524
+#: ../midori/midori-view.c:2047
#, c-format
msgid "File Type: '%s'"
msgstr "Τύπος αρχείου: '%s'"
-#: ../midori/midori-view.c:1527
+#: ../midori/midori-view.c:2050
#, 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:1531
+#: ../midori/midori-view.c:2054
#, c-format
msgid "Open %s"
msgstr "Άνοιγμα %s"
-#: ../midori/midori-view.c:1981
+#: ../midori/midori-view.c:2567
#, c-format
msgid "Inspect page - %s"
msgstr "Εξέταση σελίδα -%s"
-#: ../midori/midori-view.c:2176
+#: ../midori/midori-view.c:2766
msgid "Speed dial"
msgstr "Γρήγορη σύνδεση"
-#: ../midori/midori-view.c:2177
+#: ../midori/midori-view.c:2767
msgid "Click to add a shortcut"
msgstr "Κάντε click για προσθήκη συντόμευσης"
-#: ../midori/midori-view.c:2178
+#: ../midori/midori-view.c:2768
msgid "Enter shortcut address"
msgstr "Εισάγεται διεύθυνση συντόμευσης"
-#: ../midori/midori-view.c:2179
+#: ../midori/midori-view.c:2769
msgid "Enter shortcut title"
msgstr "Εισάγετε τίτλο συντόμευσης"
-#: ../midori/midori-view.c:2180
+#: ../midori/midori-view.c:2770
msgid "Are you sure you want to delete this shortcut?"
msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή την συντόμευση;"
-#: ../midori/midori-view.c:2210
+#: ../midori/midori-view.c:2800
#, c-format
msgid "Document cannot be displayed"
msgstr "Το αρχείο δεν μπορεί να εμφανιστεί"
-#: ../midori/midori-view.c:2227
+#: ../midori/midori-view.c:2817
#, c-format
msgid "No documentation installed"
msgstr "Δεν έχει εγκατασταθεί τεκμηρίωση"
-#: ../midori/midori-view.c:2352
+#: ../midori/midori-view.c:2942
msgid "Blank page"
msgstr "Κενή σελίδα"
-#: ../midori/midori-view.c:2581
-#: ../midori/sokoke.c:870
+#: ../midori/midori-view.c:3171
+#: ../midori/sokoke.c:968
msgid "New _Tab"
msgstr "Νέα _καρτέλα"
-#: ../midori/midori-view.c:2595
+#: ../midori/midori-view.c:3185
msgid "_Duplicate Tab"
msgstr "_Διπλότυπη καρτέλα"
-#: ../midori/midori-view.c:2600
+#: ../midori/midori-view.c:3190
msgid "_Restore Tab"
msgstr "_Επαναφορά καρτέλας"
-#: ../midori/midori-view.c:2600
+#: ../midori/midori-view.c:3190
msgid "_Minimize Tab"
msgstr "_Ελαχιστοποίηση καρτέλας"
-#: ../midori/midori-view.c:3149
+#: ../midori/midori-view.c:3749
msgid "Print background images"
msgstr "Εκτύπωση εικόνων παρασκηνίου"
-#: ../midori/midori-view.c:3150
+#: ../midori/midori-view.c:3750
msgid "Whether background images should be printed"
msgstr "Εάν θα τυπώνονται οι εικόνες παρασκηνίου"
-#: ../midori/midori-view.c:3194
-#: ../midori/midori-preferences.c:484
+#: ../midori/midori-view.c:3794
+#: ../midori/midori-preferences.c:489
msgid "Features"
msgstr "Χαρακτηριστικά"
msgstr "Προτιμήσεις για %s"
#. Page "General"
-#: ../midori/midori-preferences.c:398
+#: ../midori/midori-preferences.c:404
msgid "General"
msgstr "Γενικά"
-#: ../midori/midori-preferences.c:399
+#: ../midori/midori-preferences.c:405
msgid "Startup"
msgstr "Εκκίνηση"
-#: ../midori/midori-preferences.c:415
+#: ../midori/midori-preferences.c:421
msgid "Use current page as homepage"
msgstr "Τρέχουσα σελίδα ως αρχική"
-#: ../midori/midori-preferences.c:425
+#: ../midori/midori-preferences.c:431
#: ../panels/midori-transfers.c:88
msgid "Transfers"
msgstr "Μεταφορές"
#. Page "Appearance"
-#: ../midori/midori-preferences.c:440
+#: ../midori/midori-preferences.c:445
msgid "Appearance"
msgstr "Εμφάνιση"
-#: ../midori/midori-preferences.c:441
+#: ../midori/midori-preferences.c:446
msgid "Font settings"
msgstr "Ρυθμίσεις γραμματοσειράς"
-#: ../midori/midori-preferences.c:443
+#: ../midori/midori-preferences.c:448
msgid "Default Font Family"
msgstr "Προεπιλεγμένη οικογένεια γραμματοσειράς"
-#: ../midori/midori-preferences.c:447
+#: ../midori/midori-preferences.c:452
msgid "The default font family used to display text"
msgstr "Η προκαθορισμένη οικογένεια γραμματοσειράς χρησιμοποιείται για την εμφάνιση του κειμένου"
-#: ../midori/midori-preferences.c:450
+#: ../midori/midori-preferences.c:455
msgid "The default font size used to display text"
msgstr "Το προκαθορισμένο μέγεθος γραμματοσειράς για την εμφάνιση του κειμένου"
-#: ../midori/midori-preferences.c:453
+#: ../midori/midori-preferences.c:458
msgid "Fixed-width Font Family"
msgstr "Σταθερού-μεγέθους οικογένεια γραμματοσειράς"
-#: ../midori/midori-preferences.c:457
+#: ../midori/midori-preferences.c:462
msgid "The font family used to display fixed-width text"
msgstr "Η οικογένεια γραμματοσειράς χρησιμοποιείται για την εμφάνιση σταθερού μεγέθους κειμένου"
-#: ../midori/midori-preferences.c:460
+#: ../midori/midori-preferences.c:465
msgid "The font size used to display fixed-width text"
msgstr "Το μέγεθος της γραμματοσειράς που χρησιμοποιείται για την εμφάνιση κειμένου σταθερού μεγέθους"
-#: ../midori/midori-preferences.c:463
+#: ../midori/midori-preferences.c:468
msgid "Minimum Font Size"
msgstr "Ελάχιστο μέγεθος γραμματοσειράς"
-#: ../midori/midori-preferences.c:466
+#: ../midori/midori-preferences.c:471
msgid "The minimum font size used to display text"
msgstr "Το ελάχιστο μέγεθος γραμματοσειράς για την εμφάνιση του κειμένου"
-#: ../midori/midori-preferences.c:473
+#: ../midori/midori-preferences.c:478
msgid "Encoding"
msgstr "Κωδικοποίηση"
-#: ../midori/midori-preferences.c:476
+#: ../midori/midori-preferences.c:481
msgid "The character encoding to use by default"
msgstr "Η προτιμώμενη κωδικοποίηση χαρακτήρων προς χρήση"
#. Page "Behavior"
-#: ../midori/midori-preferences.c:483
+#: ../midori/midori-preferences.c:488
msgid "Behavior"
msgstr "Συμπεριφορά"
-#: ../midori/midori-preferences.c:487
+#: ../midori/midori-preferences.c:492
#: ../extensions/statusbar-features.c:88
msgid "Load images automatically"
msgstr "Αυτόματη φόρτωση εικόνων"
-#: ../midori/midori-preferences.c:488
+#: ../midori/midori-preferences.c:493
msgid "Load and display images automatically"
msgstr "Αυτόματη φόρτωση και εμφάνιση εικόνων"
-#: ../midori/midori-preferences.c:492
+#: ../midori/midori-preferences.c:501
msgid "Shrink images automatically"
msgstr "Αυτόματη σμίκρυνσης εικόνων"
-#: ../midori/midori-preferences.c:493
+#: ../midori/midori-preferences.c:502
msgid "Automatically shrink standalone images to fit"
msgstr "Αυτόματη σμίκρυνση αυτόνομων εικόνων για ταίριασμα"
-#: ../midori/midori-preferences.c:499
+#: ../midori/midori-preferences.c:509
#: ../extensions/statusbar-features.c:100
msgid "Enable scripts"
msgstr "Ενεργοποίηση σεναρίων"
-#: ../midori/midori-preferences.c:500
+#: ../midori/midori-preferences.c:510
msgid "Enable embedded scripting languages"
msgstr "Ενεργοποίηση ενσωματωμένων γλωσσών κειμένου"
-#: ../midori/midori-preferences.c:503
+#: ../midori/midori-preferences.c:513
#: ../extensions/statusbar-features.c:112
msgid "Enable Netscape plugins"
msgstr "Ενεργοποίηση αρθρωμάτων netscape"
-#: ../midori/midori-preferences.c:504
+#: ../midori/midori-preferences.c:514
msgid "Enable embedded Netscape plugin objects"
msgstr "Ενεργοποίηση ενσωματωμένων αρθρωμάτων netscape"
-#: ../midori/midori-preferences.c:507
+#: ../midori/midori-preferences.c:517
msgid "Enforce 96 dots per inch"
msgstr "Επιβολή 96 dots ανά ίντσα"
-#: ../midori/midori-preferences.c:508
+#: ../midori/midori-preferences.c:518
msgid "Enforce a video dot density of 96 DPI"
msgstr "Επιβολή της πυκνότητας βίντεο dot στα 96DPI"
-#: ../midori/midori-preferences.c:511
+#: ../midori/midori-preferences.c:521
msgid "Enable developer tools"
msgstr "Ενεργοποίηση εργαλείων ανάπτυξης"
-#: ../midori/midori-preferences.c:512
+#: ../midori/midori-preferences.c:522
msgid "Enable special extensions for developers"
msgstr "Ενεργοποίηση συγκεκριμένων επεκτάσεων για προγραμματιστές"
-#: ../midori/midori-preferences.c:519
+#: ../midori/midori-preferences.c:529
msgid "Spell Checking"
msgstr "Ορθογραφία πληκτρολόγησης"
-#: ../midori/midori-preferences.c:522
+#: ../midori/midori-preferences.c:532
msgid "Enable Spell Checking"
msgstr "Ενεργοποίηση ορθογραφίας"
-#: ../midori/midori-preferences.c:523
+#: ../midori/midori-preferences.c:533
msgid "Enable spell checking while typing"
msgstr "Ενεργοποίηση ορθογραφίας κατά την πληκτρολόγηση"
#. i18n: The example should be adjusted to contain a good local default
-#: ../midori/midori-preferences.c:527
+#: ../midori/midori-preferences.c:537
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:532
+#: ../midori/midori-preferences.c:542
msgid "Interface"
msgstr "Διεπαφή"
-#: ../midori/midori-preferences.c:533
+#: ../midori/midori-preferences.c:543
msgid "Navigationbar"
msgstr "Γραμμή πλοήγησης"
-#: ../midori/midori-preferences.c:544
+#: ../midori/midori-preferences.c:554
msgid "Browsing"
msgstr "Περιήγηση"
#. Page "Applications"
-#: ../midori/midori-preferences.c:568
+#: ../midori/midori-preferences.c:578
msgid "Applications"
msgstr "Εφαρμογές"
-#: ../midori/midori-preferences.c:569
+#: ../midori/midori-preferences.c:579
msgid "External applications"
msgstr "Εξωτερικές εφαρμογές"
#. Page "Network"
-#: ../midori/midori-preferences.c:615
-#: ../midori/midori-preferences.c:616
+#: ../midori/midori-preferences.c:625
+#: ../midori/midori-preferences.c:626
msgid "Network"
msgstr "Δίκτυο"
-#: ../midori/midori-preferences.c:643
+#: ../midori/midori-preferences.c:653
msgid "MB"
msgstr "ΜΒ"
#. Page "Privacy"
-#: ../midori/midori-preferences.c:648
+#: ../midori/midori-preferences.c:658
msgid "Privacy"
msgstr "Προσωπικό απόρρητο"
-#: ../midori/midori-preferences.c:649
+#: ../midori/midori-preferences.c:659
msgid "Web Cookies"
msgstr "Cookies ιστού"
-#: ../midori/midori-preferences.c:662
#: ../midori/midori-preferences.c:672
+#: ../midori/midori-preferences.c:682
msgid "days"
msgstr "ημέρες"
msgid "Could not run external program."
msgstr "Δεν μπορεί να εκτελεστεί το εξωτερικό πρόγραμμα."
-#: ../midori/sokoke.c:861
+#: ../midori/sokoke.c:960
msgid "_Bookmark"
msgstr "_Σελιδοδείκτης"
-#: ../midori/sokoke.c:863
+#: ../midori/sokoke.c:962
msgid "Add Boo_kmark"
msgstr "Προσθήκη σ_ελιδοδείκτη"
-#: ../midori/sokoke.c:864
+#: ../midori/sokoke.c:963
msgid "_Console"
msgstr "_Τερματικό"
-#: ../midori/sokoke.c:865
+#: ../midori/sokoke.c:964
msgid "_Extensions"
msgstr "_Επεκτάσεις"
-#: ../midori/sokoke.c:866
+#: ../midori/sokoke.c:965
msgid "_History"
msgstr "_Ιστορικό"
-#: ../midori/sokoke.c:867
+#: ../midori/sokoke.c:966
msgid "_Homepage"
msgstr "_Αρχική σελίδα"
-#: ../midori/sokoke.c:868
+#: ../midori/sokoke.c:967
msgid "_Userscripts"
msgstr "_Σενάρια χρήστη"
-#: ../midori/sokoke.c:869
-msgid "User_styles"
-msgstr "_Θέματα χρήστη"
-
-#: ../midori/sokoke.c:871
+#: ../midori/sokoke.c:969
msgid "_Transfers"
msgstr "_Μεταφορές"
-#: ../midori/sokoke.c:872
+#: ../midori/sokoke.c:970
msgid "Netscape p_lugins"
msgstr "Α_ρθρωμάτων netscape"
-#: ../panels/midori-addons.c:95
-#: ../panels/midori-addons.c:141
+#: ../panels/midori-addons.c:94
+#: ../panels/midori-addons.c:139
msgid "Userscripts"
msgstr "Σενάρια χρηστών"
-#: ../panels/midori-addons.c:96
-#: ../panels/midori-addons.c:143
+#: ../panels/midori-addons.c:95
msgid "Userstyles"
msgstr "Θέματα χρήστη"
+#: ../panels/midori-addons.c:287
+#, c-format
+msgid "Copy userscripts to the folder %s and copy userstyles to the folder %s."
+msgstr "Αντιγραφή σεναρίων χρήστη στον κατάλογο %s και αντιγραφή των θεμάτων χρήση στον κατάλογο %s."
+
+#: ../panels/midori-addons.c:889
+#, c-format
+msgid "Can't monitor folder '%s': %s"
+msgstr "Αδυναμία παρακολούθησης του καταλόγου '%s': %s"
+
#: ../panels/midori-bookmarks.c:108
msgid "Bookmarks"
msgstr "Σελιδοδείκτες"
msgid "Copy Link Loc_ation"
msgstr "Αντιγραφή τοποθεσίας σ_υνδέσμου"
-#: ../katze/katze-http-auth.c:124
+#: ../katze/katze-http-auth.c:209
msgid "Authentication Required"
msgstr "Απαιτείται αυθεντικοποίηση"
-#: ../katze/katze-http-auth.c:140
+#: ../katze/katze-http-auth.c:225
msgid ""
"A username and a password are required\n"
"to open this location:"
"Απαιτείται ένα όνομα χρήσης και ένα συνθηματικό\n"
"για το άνοιγμα της τοποθεσίας:"
-#: ../katze/katze-http-auth.c:154
+#: ../katze/katze-http-auth.c:239
msgid "Username"
msgstr "Όνομα χρήσης"
-#: ../katze/katze-http-auth.c:170
+#: ../katze/katze-http-auth.c:252
msgid "Password"
msgstr "Συνθηματικό"
+#: ../katze/katze-http-auth.c:266
+msgid "_Remember password"
+msgstr "Α_πομνημόνευση συνθηματικού"
+
#: ../katze/katze-throbber.c:828
#, c-format
msgid "Named icon '%s' couldn't be loaded"
msgid "Animation frames are broken"
msgstr "Τα κινούμενα γραφικά πλαίσια δεν λειτουργούν"
-#: ../katze/katze-utils.c:200
-#: ../katze/katze-utils.c:407
+#: ../katze/katze-utils.c:203
+#: ../katze/katze-utils.c:420
#, c-format
msgid "Property '%s' is invalid for %s"
msgstr "Η ιδιότητα '%s' δεν είναι έγκυρη για το %s"
-#: ../katze/katze-utils.c:235
-#: ../katze/katze-utils.c:264
+#: ../katze/katze-utils.c:238
+#: ../katze/katze-utils.c:267
msgid "Choose file"
msgstr "Επιλογή αρχείου"
-#: ../katze/katze-utils.c:250
+#: ../katze/katze-utils.c:253
msgid "Choose folder"
msgstr "Επιλογή φακέλου"
-#: ../extensions/adblock.c:167
+#: ../extensions/adblock.c:235
msgid "Configure Advertisement filters"
msgstr "Ρύθμιση φίλτρων διαφημίσεων"
-#: ../extensions/adblock.c:304
+#: ../extensions/adblock.c:372
msgid "Configure _Advertisement filters..."
msgstr "Ρύθμιση φίλτρων δ_ιαφημίσεων..."
-#: ../extensions/adblock.c:565
+#: ../extensions/adblock.c:704
+#, c-format
+msgid "Not available: %s required"
+msgstr "Μη διαθέσιμο: απαιτείται %s"
+
+#: ../extensions/adblock.c:709
msgid "Advertisement blocker"
msgstr "Εμποδιστής διαφημίσεων"
-#: ../extensions/adblock.c:566
+#: ../extensions/adblock.c:711
msgid "Block advertisements according to a filter list"
msgstr "Μπλόκαρε διαφημίσεις σύμφωνα με μία λίστα με φίλτρα"
msgid "List, view and delete cookies"
msgstr "Λίστα, εμφάνιση και διαγραφή cookies"
+#: ../extensions/dnsprefetch.c:143
+msgid "DNS prefetching"
+msgstr "Προ ανάκληση DNS"
+
+#: ../extensions/dnsprefetch.c:144
+msgid "Prefetch IP addresses of hovered links"
+msgstr "Προ φόρτωση των διευθύνσεων IP των συνδέσμων"
+
#: ../extensions/feed-panel/feed-atom.c:237
msgid "Failed to find required Atom \"entry\" elements in XML data."
msgstr "Αποτυχία εύρεσης απαιτούμενου στοιχείου Atom \"entry\" στα δεδομένα XML."
msgid "Read Atom/ RSS feeds"
msgstr "Ανάγνωση Atom / RSS ροών"
-#: ../extensions/mouse-gestures/main.c:236
+#: ../extensions/formhistory.c:276
+msgid "Stores history of entered form data"
+msgstr "Αποθηκεύει το ιστορικό των δεδομένων που έχουν εισαχθεί σε φόρμες"
+
+#: ../extensions/formhistory.c:280
+#, c-format
+msgid "Not available: %s"
+msgstr "Μη διαθέσιμα: %s"
+
+#: ../extensions/formhistory.c:281
+msgid "Resource files not installed"
+msgstr "Τα αρχεία πόρων δεν έχουν εγκατασταθεί"
+
+#: ../extensions/formhistory.c:286
+msgid "Form history filler"
+msgstr "Ιστορικό δεδομένων φόρμας"
+
+#: ../extensions/mouse-gestures/main.c:246
msgid "Mouse Gestures"
msgstr "Κινήσεις ποντικιού"
-#: ../extensions/mouse-gestures/main.c:237
+#: ../extensions/mouse-gestures/main.c:247
msgid "Control Midori by moving the mouse"
msgstr "Χειρισμός του midori μετακινώντας το ποντίκι"
msgid "Easily toggle features on web pages on and off"
msgstr "Εύκολη εναλλαγή χαρακτηριστικών στις ιστοσελίδες ενεργοποίηση και απενεργοποίηση"
-#: ../extensions/tab-panel.c:558
-#: ../extensions/tab-panel.c:613
+#: ../extensions/tab-panel.c:562
+#: ../extensions/tab-panel.c:619
msgid "Tab Panel"
msgstr "Πλαίσιο καρτέλας"
-#: ../extensions/tab-panel.c:597
+#: ../extensions/tab-panel.c:603
msgid "T_ab Panel"
msgstr "Πλαίσιο κ_αρτέλας"
-#: ../extensions/tab-panel.c:614
+#: ../extensions/tab-panel.c:620
msgid "Show tabs in a vertical panel"
msgstr "Εμφάνιση καρτελών στο κάθετο πλαίσιο"
msgid "Customize _Toolbar..."
msgstr "Προσαρμογή _εργαλειοθήκης..."
-#: ../extensions/toolbar-editor.c:611
+#: ../extensions/toolbar-editor.c:612
msgid "Toolbar Editor"
msgstr "Επεξεργασία εργαλειοθήκης"
-#: ../extensions/toolbar-editor.c:612
+#: ../extensions/toolbar-editor.c:614
msgid "Easily edit the toolbar layout"
msgstr "Εύκολη επεξεργασία της εμφάνισης της εργαλειοθήκης"
+#: ../extensions/toolbar-editor.c:617
+msgid "Not available on this platform"
+msgstr "Μη διαθέσιμο σε αυτή την πλατφόρμα"
+
# Indonesian translations for midori package.
# Copyright (C) 2008 THE midori'S COPYRIGHT HOLDER
# This file is distributed under the same license as the midori package.
-# Andhika Padmawan <andhika.padmawan@gmail.com> 2008
+# Andhika Padmawan <andhika.padmawan@gmail.com>, 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: midori\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-06 05:25+0100\n"
-"PO-Revision-Date: 2008-11-13 21:26+0700\n"
+"POT-Creation-Date: 2009-07-29 23:58+0200\n"
+"PO-Revision-Date: 2009-09-26 10:42-0400\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,54,-1,-1,-1,-1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: ../midori.desktop.in.h:1
+#: ../data/midori.desktop.in.h:1
msgid "Lightweight web browser"
msgstr "Peramban web ringan"
-#: ../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:1343 ../midori/main.c:1517
+#: ../midori/main.c:1525 ../midori/main.c:1536
+#: ../midori/midori-websettings.c:287
msgid "Midori"
msgstr "Midori"
-#: ../midori.desktop.in.h:3
+#: ../data/midori.desktop.in.h:3
msgid "Web Browser"
msgstr "Peramban Web"
-#: ../midori/main.c:86
-msgid "_Bookmark"
-msgstr "B_ookmark"
-
-#: ../midori/main.c:87 ../midori/midori-browser.c:3744
-msgid "_Bookmarks"
-msgstr "B_ookmark"
-
-#: ../midori/main.c:88
-msgid "_Add Bookmark"
-msgstr "_Tambah Bookmark"
-
-#: ../midori/main.c:89
-msgid "_Console"
-msgstr "_Konsol"
-
-#: ../midori/main.c:90
-msgid "_Extensions"
-msgstr "_Ekstensi"
-
-#: ../midori/main.c:91
-msgid "_History"
-msgstr "_Riwayat"
-
-#: ../midori/main.c:92
-msgid "_Homepage"
-msgstr "_Beranda"
-
-#: ../midori/main.c:93
-msgid "_Userscripts"
-msgstr "_Skrip pengguna"
-
-#: ../midori/main.c:94
-msgid "User_styles"
-msgstr "Ga_ya pengguna"
-
-#: ../midori/main.c:95
-msgid "New _Tab"
-msgstr "Tab _Baru"
-
#: ../midori/main.c:96
-msgid "_Transfers"
-msgstr "_Transfer"
-
-#: ../midori/main.c:97
-msgid "_Closed Tabs and Windows"
-msgstr "Tutup Tab dan _Jendela"
-
-#: ../midori/main.c:98
-msgid "New _Window"
-msgstr "Jendela _Baru"
-
-#: ../midori/main.c:143
#, c-format
msgid "The configuration couldn't be loaded: %s\n"
msgstr "Konfigurasi tak dapat dimuat: %s\n"
-#: ../midori/main.c:198
+#: ../midori/main.c:151
#, c-format
msgid "Value '%s' is invalid for %s"
msgstr "Nilai '%s' hanya sah untuk %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 "Nilai konfigurasi '%s' tidak sah"
-#: ../midori/main.c:532
-msgid "File not found."
-msgstr "Berkas tak ditemukan."
-
-#: ../midori/main.c:540 ../midori/main.c:549
-msgid "Malformed document."
-msgstr "Dokumen salah bentuk."
-
-#: ../midori/main.c:571 ../midori/main.c:603
+#: ../midori/main.c:350
#, c-format
msgid "Failed to open database: %s\n"
msgstr "Gagal membuka basis data: %s\n"
-#: ../midori/main.c:657
+#: ../midori/main.c:382
+#, c-format
+msgid "Failed to execute database statement: %s\n"
+msgstr "Gagal mengeksekusi pernyataan basis data: %s\n"
+
+#: ../midori/main.c:436
#, c-format
msgid "Failed to remove history item: %s\n"
msgstr "Gagal menghapus item riwayat: %s\n"
-#: ../midori/main.c:681
+#: ../midori/main.c:460
#, c-format
msgid "Failed to clear history: %s\n"
msgstr "Gagal membersihkan riwayat: %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 "Gagal menambah item riwayat: %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 "Gagal menghapus item riwayat lama: %s\n"
-#: ../midori/main.c:976 ../midori/sokoke.c:459
+#: ../midori/main.c:741
#, c-format
-msgid "Writing failed."
-msgstr "Penulisan gagal."
+msgid "The configuration couldn't be saved. %s"
+msgstr "Konfigurasi tak dapat disimpan. %s"
-#: ../midori/main.c:1000 ../midori/midori-preferences.c:350
-msgid "Transfers"
-msgstr "Transfer"
+#: ../midori/main.c:779
+#, c-format
+msgid "The search engines couldn't be saved. %s"
+msgstr "Mesin pencari tak dapat disimpan. %s"
+
+#: ../midori/main.c:798 ../midori/main.c:826 ../midori/main.c:855
+#, c-format
+msgid "The bookmarks couldn't be saved. %s"
+msgstr "Bookmark tak dapat disimpan. %s"
-#: ../midori/main.c:1040
+#. i18n: Trash, or wastebin, containing closed tabs
+#: ../midori/main.c:878 ../midori/main.c:901
+#, c-format
+msgid "The trash couldn't be saved. %s"
+msgstr "Kotak sampah tak dapat disimpan. %s"
+
+#: ../midori/main.c:974
#, c-format
msgid "The session couldn't be saved. %s"
msgstr "Sesi tak dapat disimpan. %s"
-#: ../midori/main.c:1297
+#: ../midori/main.c:1101
+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 kelihatannya telah macet saat terakhir kali dibuka. Jika hal ini "
+"terjadi berulang kali, coba salah satu opsi berikut untuk memecahkan "
+"masalah tersebut."
+
+#: ../midori/main.c:1116
+msgid "Modify _preferences"
+msgstr "Ubah _pengaturan"
+
+#: ../midori/main.c:1120
+msgid "Reset the last _session"
+msgstr "Atur ulang _sesi terakhir"
+
+#: ../midori/main.c:1125
+msgid "Disable all _extensions"
+msgstr "Nonaktifkan semua _ekstensi"
+
+#: ../midori/main.c:1343
+msgid "No filename specified"
+msgstr "Tak ada nama berkas yang ditentukan"
+
+#: ../midori/main.c:1366
+msgid "An unknown error occured."
+msgstr "Galat tak diketahui terjadi."
+
+#: ../midori/main.c:1398
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr "Cuplikan layar disimpan ke: %s\n"
+
+#: ../midori/main.c:1447
+msgid "Run ADDRESS as a web application"
+msgstr "Jalankan ALAMAT sebagai sebuah aplikasi web"
+
+#: ../midori/main.c:1447
+msgid "ADDRESS"
+msgstr "ALAMAT"
+
+#: ../midori/main.c:1449
+msgid "Use FOLDER as configuration folder"
+msgstr "Gunakan FOLDER sebagai folder konfigurasi"
+
+#: ../midori/main.c:1449
+msgid "FOLDER"
+msgstr "FOLDER"
+
+#: ../midori/main.c:1451
msgid "Run the specified filename as javascript"
msgstr "Jalankan nama berkas yang ditentukan sebagai javascript"
-#: ../midori/main.c:1299
+#: ../midori/main.c:1454
+msgid "Take a snapshot of the specified URI"
+msgstr "Ambil cuplikan layar dari URI yang ditentukan"
+
+#: ../midori/main.c:1457
+msgid "Execute the specified command"
+msgstr "Eksekusi perintah yang ditentukan"
+
+#: ../midori/main.c:1459
msgid "Display program version"
msgstr "Tampilkan versi program"
-#: ../midori/main.c:1301
-msgid "URIs"
-msgstr "URI"
+#: ../midori/main.c:1461
+msgid "Addresses"
+msgstr "Alamat"
-#: ../midori/main.c:1335
-msgid "[URIs]"
-msgstr "[URI]"
+#: ../midori/main.c:1514
+msgid "[Addresses]"
+msgstr "[Alamat]"
-#: ../midori/main.c:1371
+#: ../midori/main.c:1537
msgid "Please report comments, suggestions and bugs to:"
msgstr "Silakan laporkan komentar, saran dan kutu ke:"
-#: ../midori/main.c:1373
+#: ../midori/main.c:1539
msgid "Check for new versions at:"
msgstr "Cek versi baru di:"
-#: ../midori/main.c:1394
-msgid "No filename specified"
-msgstr "Tak ada nama berkas yang ditentukan"
+#: ../midori/main.c:1619
+msgid "The specified configuration folder is invalid."
+msgstr "Folder konfigurasi yang ditentukan tidak valid."
-#: ../midori/main.c:1411
-#, c-format
+#: ../midori/main.c:1655
msgid "An instance of Midori is already running but not responding.\n"
msgstr "Sebuah instansi Midori telah berjalan namun tidak merespon.\n"
-#: ../midori/main.c:1447
+#: ../midori/main.c:1715
+#, c-format
+msgid "The search engines couldn't be loaded. %s\n"
+msgstr "Mesin pencari tak dapat dimuat. %s\n"
+
+#: ../midori/main.c:1727
#, c-format
msgid "The bookmarks couldn't be loaded: %s\n"
msgstr "Bookmark tak dapat dimuat: %s\n"
-#: ../midori/main.c:1463
+#: ../midori/main.c:1742
#, c-format
msgid "The session couldn't be loaded: %s\n"
msgstr "Sesi tak dapat dimuat: %s\n"
-#: ../midori/main.c:1477
+#: ../midori/main.c:1755
#, c-format
msgid "The trash couldn't be loaded: %s\n"
msgstr "Kotak sampah tak dapat dimuat: %s\n"
-#: ../midori/main.c:1491
+#: ../midori/main.c:1768
#, c-format
msgid "The history couldn't be loaded: %s\n"
msgstr "Riwayat tak dapat dimuat: %s\n"
-#: ../midori/main.c:1504
+#: ../midori/main.c:1780
msgid "The following errors occured:"
msgstr "Galat berikut terjadi:"
-#: ../midori/main.c:1520
+#: ../midori/main.c:1796
msgid "_Ignore"
-msgstr ""
-
-#: ../midori/main.c:1688
-#, c-format
-msgid "The search engines couldn't be saved. %s"
-msgstr "Mesin pencari tak dapat disimpan. %s"
+msgstr "_Abaikan"
-#: ../midori/main.c:1698
-#, c-format
-msgid "The bookmarks couldn't be saved. %s"
-msgstr "Bookmark tak dapat disimpan. %s"
+#: ../midori/midori-array.c:250
+msgid "File not found."
+msgstr "Berkas tak ditemukan."
-#: ../midori/main.c:1707
-#, c-format
-msgid "The trash couldn't be saved. %s"
-msgstr "Kotak sampah tak dapat disimpan. %s"
+#: ../midori/midori-array.c:258 ../midori/midori-array.c:267
+msgid "Malformed document."
+msgstr "Dokumen salah bentuk."
-#: ../midori/main.c:1715
+#: ../midori/midori-array.c:429 ../midori/sokoke.c:694
#, c-format
-msgid "The configuration couldn't be saved. %s"
-msgstr "Konfigurasi tak dapat disimpan. %s"
+msgid "Writing failed."
+msgstr "Penulisan gagal."
-#: ../midori/midori-browser.c:249 ../midori/midori-browser.c:3130
-#: ../midori/midori-browser.c:3136
+#: ../midori/midori-browser.c:307 ../midori/midori-browser.c:4229
+#: ../midori/midori-browser.c:4235
msgid "Reload the current page"
msgstr "Muat ulang halaman ini"
-#: ../midori/midori-browser.c:261 ../midori/midori-browser.c:3133
+#: ../midori/midori-browser.c:318 ../midori/midori-browser.c:4232
msgid "Stop loading the current page"
msgstr "Stop memuat halaman ini"
-#: ../midori/midori-browser.c:319
+#: ../midori/midori-browser.c:409
#, c-format
msgid "%d%% loaded"
msgstr "%d%% termuat"
-#: ../midori/midori-browser.c:342
+#: ../midori/midori-browser.c:434
#, c-format
msgid "Unexpected action '%s'."
msgstr "Aksi tak diharapkan '%s'."
-#: ../midori/midori-browser.c:508
+#: ../midori/midori-browser.c:616
+msgid "New folder"
+msgstr "Folder baru"
+
+#: ../midori/midori-browser.c:616
+msgid "Edit folder"
+msgstr "Sunting folder"
+
+#: ../midori/midori-browser.c:618
msgid "New bookmark"
msgstr "Bookmark baru"
-#: ../midori/midori-browser.c:508
+#: ../midori/midori-browser.c:618
msgid "Edit bookmark"
msgstr "Sunting bookmark"
-#: ../midori/midori-browser.c:530
+#: ../midori/midori-browser.c:648
msgid "_Title:"
msgstr "_Judul:"
-#: ../midori/midori-browser.c:543 ../midori/midori-searchaction.c:841
+#: ../midori/midori-browser.c:661 ../midori/midori-searchaction.c:952
msgid "_Description:"
msgstr "_Keterangan:"
-#: ../midori/midori-browser.c:562 ../midori/midori-searchaction.c:855
-msgid "_URL:"
-msgstr "_URL:"
+#: ../midori/midori-browser.c:680 ../midori/midori-searchaction.c:966
+#: ../extensions/feed-panel/main.c:343
+msgid "_Address:"
+msgstr "_Alamat"
-#: ../midori/midori-browser.c:578
+#: ../midori/midori-browser.c:699
msgid "_Folder:"
msgstr "_Folder:"
-#: ../midori/midori-browser.c:582
-msgid "Root"
-msgstr "Root"
+#: ../midori/midori-browser.c:704 ../midori/midori-browser.c:745
+msgid "Toplevel folder"
+msgstr "Folder level atas"
-#: ../midori/midori-browser.c:668
+#: ../midori/midori-browser.c:821
msgid "Save file as"
msgstr "Simpan berkas sebagai"
-#: ../midori/midori-browser.c:1248
+#: ../midori/midori-browser.c:1172
+#, c-format
+msgid "The file '<b>%s</b>' has been downloaded."
+msgstr "Berkas '<b>%s</b>' telah diunduh."
+
+#: ../midori/midori-browser.c:1176
+msgid "Transfer completed"
+msgstr "Transfer selesai"
+
+#: ../midori/midori-browser.c:1317
+msgid "Save file"
+msgstr "Simpan berkas"
+
+#: ../midori/midori-browser.c:1984
msgid "Open file"
msgstr "Buka berkas"
-#: ../midori/midori-browser.c:2328
+#: ../midori/midori-browser.c:3430 ../panels/midori-bookmarks.c:781
+#: ../panels/midori-history.c:812
+msgid "Open all in _Tabs"
+msgstr "Buka semua di _Tab"
+
+#: ../midori/midori-browser.c:3437 ../panels/midori-bookmarks.c:787
+#: ../panels/midori-history.c:818 ../extensions/feed-panel/feed-panel.c:542
msgid "Open in New _Tab"
msgstr "Buka di _Tab Baru"
-#: ../midori/midori-browser.c:2330
+#: ../midori/midori-browser.c:3440 ../panels/midori-bookmarks.c:789
+#: ../panels/midori-history.c:820 ../extensions/feed-panel/feed-panel.c:544
msgid "Open in New _Window"
msgstr "Buka di _Jendela Baru"
-#: ../midori/midori-browser.c:2601
-msgid "<i>Separator</i>"
-msgstr "<i>Pemisah</i>"
+#: ../midori/midori-browser.c:3750
+msgid "Clear Private Data"
+msgstr "Hapus Data Pribadi"
-#: ../midori/midori-browser.c:2712
-#, c-format
-msgid "A week ago"
-msgstr "Seminggu yang lalu"
+#: ../midori/midori-browser.c:3754
+msgid "_Clear private data"
+msgstr "_Hapus data pribadi"
-#: ../midori/midori-browser.c:2718
-#, c-format
-msgid "%d days ago"
-msgstr "%d hari yang lalu"
+#: ../midori/midori-browser.c:3767
+msgid "Clear the following data:"
+msgstr "Hapus data berikut:"
-#: ../midori/midori-browser.c:2725
-msgid "Today"
-msgstr "Hari Ini"
+#: ../midori/midori-browser.c:3777 ../midori/midori-preferences.c:671
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "Riwayat"
-#: ../midori/midori-browser.c:2727
-msgid "Yesterday"
-msgstr "Kemarin"
+#: ../midori/midori-browser.c:3782
+msgid "Cookies"
+msgstr "Kuki"
+
+#: ../midori/midori-browser.c:3787
+msgid "'Flash' Cookies"
+msgstr "Kuki 'Flash'"
-#: ../midori/midori-browser.c:2816
+#: ../midori/midori-browser.c:3792
+msgid "Website icons"
+msgstr "Ikon situs web"
+
+#: ../midori/midori-browser.c:3797 ../midori/sokoke.c:868
+msgid "_Closed Tabs"
+msgstr "_Tab Tertutup"
+
+#: ../midori/midori-browser.c:3805
+msgid "Clear private data when _quitting Midori"
+msgstr "Hapus data pribadi ketika _keluar Midori"
+
+#: ../midori/midori-browser.c:3889
msgid "A lightweight web browser."
msgstr "Peramban web ringan."
-#: ../midori/midori-browser.c:2824
+#: ../midori/midori-browser.c:3897
msgid "translator-credits"
msgstr "Andhika Padmawan <andhika.padmawan@gmail.com>"
-#: ../midori/midori-browser.c:2958
-msgid "Are you sure you want to remove all history items?"
-msgstr "Anda yakin ingin menghapus semua item riwayat?"
-
-#: ../midori/midori-browser.c:3064
+#: ../midori/midori-browser.c:4163
msgid "_File"
msgstr "_Berkas"
-#: ../midori/midori-browser.c:3067
+#: ../midori/midori-browser.c:4165 ../midori/sokoke.c:869
+msgid "New _Window"
+msgstr "Jendela _Baru"
+
+#: ../midori/midori-browser.c:4166
msgid "Open a new window"
msgstr "Buka di jendela baru"
-#: ../midori/midori-browser.c:3070
+#: ../midori/midori-browser.c:4169
msgid "Open a new tab"
msgstr "Buka di tab baru"
-#: ../midori/midori-browser.c:3073
+#: ../midori/midori-browser.c:4172
msgid "Open a file"
msgstr "Buka berkas"
-#: ../midori/midori-browser.c:3076
+#: ../midori/midori-browser.c:4175
msgid "Save to a file"
msgstr "Simpan ke berkas"
-#: ../midori/midori-browser.c:3078
+#: ../midori/midori-browser.c:4177
+msgid "Add to Speed _dial"
+msgstr "Tambah ke Panggil _cepat"
+
+#: ../midori/midori-browser.c:4178
+msgid "Add shortcut to speed dial"
+msgstr "Tambah jalan pintas ke panggil cepat"
+
+#: ../midori/midori-browser.c:4180
msgid "_Close Tab"
msgstr "_Tutup Tab"
-#: ../midori/midori-browser.c:3079
+#: ../midori/midori-browser.c:4181
msgid "Close the current tab"
msgstr "Tutup tab saat ini"
-#: ../midori/midori-browser.c:3081
+#: ../midori/midori-browser.c:4183
msgid "C_lose Window"
msgstr "T_utup Jendela"
-#: ../midori/midori-browser.c:3082
+#: ../midori/midori-browser.c:4184
msgid "Close this window"
msgstr "Tutup jendela ini"
-#: ../midori/midori-browser.c:3085
+#: ../midori/midori-browser.c:4187
msgid "Print the current page"
msgstr "Cetak halaman saat ini"
-#: ../midori/midori-browser.c:3088
+#: ../midori/midori-browser.c:4190
msgid "Quit the application"
msgstr "Keluar aplikasi"
-#: ../midori/midori-browser.c:3090
+#: ../midori/midori-browser.c:4192
msgid "_Edit"
msgstr "_Sunting"
-#: ../midori/midori-browser.c:3093
+#: ../midori/midori-browser.c:4195
msgid "Cut the selected text"
msgstr "Potong teks terpilih"
-#: ../midori/midori-browser.c:3096 ../midori/midori-browser.c:3099
+#: ../midori/midori-browser.c:4198 ../midori/midori-browser.c:4201
msgid "Copy the selected text"
msgstr "Salin teks terpilih"
-#: ../midori/midori-browser.c:3102
+#: ../midori/midori-browser.c:4204
msgid "Paste text from the clipboard"
msgstr "Tempel teks dari papan klip"
-#: ../midori/midori-browser.c:3105
+#: ../midori/midori-browser.c:4207
msgid "Delete the selected text"
msgstr "Hapus teks terpilih"
-#: ../midori/midori-browser.c:3108
+#: ../midori/midori-browser.c:4210
msgid "Select all text"
msgstr "Pilih semua teks"
-#: ../midori/midori-browser.c:3111
+#: ../midori/midori-browser.c:4213
msgid "Find a word or phrase in the page"
msgstr "Cari kata atau frasa di halaman"
-#: ../midori/midori-browser.c:3113
+#: ../midori/midori-browser.c:4215
msgid "Find _Next"
msgstr "Cari _Berikutnya"
-#: ../midori/midori-browser.c:3114
+#: ../midori/midori-browser.c:4216
msgid "Find the next occurrence of a word or phrase"
msgstr "Cari kejadian berikutnya dari kata atau frasa"
-#: ../midori/midori-browser.c:3116
+#: ../midori/midori-browser.c:4218
msgid "Find _Previous"
msgstr "Cari _Sebelumnya"
-#: ../midori/midori-browser.c:3117
+#: ../midori/midori-browser.c:4219
msgid "Find the previous occurrence of a word or phrase"
msgstr "Cari kejadian sebelumnya dari kata atau frasa"
-#: ../midori/midori-browser.c:3120
-msgid "_Quick Find"
-msgstr "_Cari Cepat"
-
-#: ../midori/midori-browser.c:3121
-msgid "Quickly jump to a word or phrase"
-msgstr "Lompat segera ke kata atau frasa"
-
-#: ../midori/midori-browser.c:3124
+#: ../midori/midori-browser.c:4223
msgid "Configure the application preferences"
msgstr "Konfigurasi pilihan aplikasi"
-#: ../midori/midori-browser.c:3126
+#: ../midori/midori-browser.c:4225
msgid "_View"
msgstr "_Tampilan"
-#: ../midori/midori-browser.c:3127
+#: ../midori/midori-browser.c:4226
msgid "_Toolbars"
msgstr "_Batang Alat"
-#: ../midori/midori-browser.c:3139
+#: ../midori/midori-browser.c:4238
msgid "Increase the zoom level"
msgstr "Naikkan level pembesaran"
-#: ../midori/midori-browser.c:3142
+#: ../midori/midori-browser.c:4241
msgid "Decrease the zoom level"
msgstr "Turunkan level pembesaran"
-#: ../midori/midori-browser.c:3145
+#: ../midori/midori-browser.c:4244
msgid "Reset the zoom level"
msgstr "Reset level pembesaran"
-#: ../midori/midori-browser.c:3147 ../midori/midori-view.c:998
-msgid "View _Source"
-msgstr "Tampilkan _Sumber"
+#: ../midori/midori-browser.c:4245
+msgid "_Encoding"
+msgstr "_Penyandian"
+
+#: ../midori/midori-browser.c:4247
+msgid "View So_urce"
+msgstr "Tampilkan S_umber"
-#: ../midori/midori-browser.c:3148
+#: ../midori/midori-browser.c:4248
msgid "View the source code of the page"
msgstr "Tampilkan kode program dari halaman"
-#: ../midori/midori-browser.c:3150
+#: ../midori/midori-browser.c:4250
msgid "View Selection Source"
msgstr "Tampilkan Pemilihan Sumber"
-#: ../midori/midori-browser.c:3151
+#: ../midori/midori-browser.c:4251
msgid "View the source code of the selection"
msgstr "Tampilkan kode program dari pemilihan"
-#: ../midori/midori-browser.c:3155
+#: ../midori/midori-browser.c:4255
msgid "Toggle fullscreen view"
msgstr "Aktifkan tampilan layar penuh"
-#: ../midori/midori-browser.c:3157
+#: ../midori/midori-browser.c:4257
msgid "_Go"
msgstr "_Ke"
-#: ../midori/midori-browser.c:3160
+#: ../midori/midori-browser.c:4260
msgid "Go back to the previous page"
msgstr "Mundur ke halaman sebelumnya"
-#: ../midori/midori-browser.c:3163
+#: ../midori/midori-browser.c:4263
msgid "Go forward to the next page"
msgstr "Maju ke halaman berikutnya"
-#: ../midori/midori-browser.c:3166
+#: ../midori/midori-browser.c:4266
msgid "Go to your homepage"
msgstr "Ke laman anda"
-#: ../midori/midori-browser.c:3168
+#: ../midori/midori-browser.c:4268
msgid "Empty Trash"
msgstr "Kosongkan Tempat Sampah"
-#: ../midori/midori-browser.c:3169
+#: ../midori/midori-browser.c:4269
msgid "Delete the contents of the trash"
msgstr "Hapus isi tempat sampah"
-#: ../midori/midori-browser.c:3171 ../midori/midori-view.c:970
-msgid "Undo Close Tab"
-msgstr "Batalkan Menutup Tab"
+#: ../midori/midori-browser.c:4271
+msgid "Undo _Close Tab"
+msgstr "Tak _Jadi Tutup Tab"
-#: ../midori/midori-browser.c:3172
+#: ../midori/midori-browser.c:4272
msgid "Open the last closed tab"
msgstr "Buka tab yang terakhir ditutup"
-#: ../midori/midori-browser.c:3176
+#: ../midori/midori-browser.c:4276 ../panels/midori-bookmarks.c:231
msgid "Add a new bookmark"
msgstr "Tambah bookmark baru"
-#: ../midori/midori-browser.c:3179
-msgid "Edit the selected bookmark"
-msgstr "Sunting bookmark terpilih"
-
-#: ../midori/midori-browser.c:3182
-msgid "Delete the selected bookmark"
-msgstr "Hapus bookmark terpilih"
-
-#: ../midori/midori-browser.c:3185
-msgid "Delete the selected history item"
-msgstr "Hapus item riwayat terpilih"
+#: ../midori/midori-browser.c:4278
+msgid "Add a new _folder"
+msgstr "Tambah sebuah _folder baru"
-#: ../midori/midori-browser.c:3188
-msgid "Clear the entire history"
-msgstr "Bersihkan seluruh riwayat"
-
-#: ../midori/midori-browser.c:3191
-msgid "Bookmark the selected history item"
-msgstr "Bookmark item riwayat terpilih"
-
-#: ../midori/midori-browser.c:3193
-msgid "_Tools"
-msgstr "_Alat"
+#: ../midori/midori-browser.c:4279
+msgid "Add a new bookmark folder"
+msgstr "Tambah sebuah folder penanda baru"
-#: ../midori/midori-browser.c:3195 ../midori/midori-searchaction.c:465
+#: ../midori/midori-browser.c:4281 ../midori/midori-searchaction.c:497
msgid "_Manage Search Engines"
msgstr "_Atur Mesin Pencari"
-#: ../midori/midori-browser.c:3196
+#: ../midori/midori-browser.c:4282
msgid "Add, edit and remove search engines..."
msgstr "Tambah, sunting dan hapus mesin pencari..."
-#: ../midori/midori-browser.c:3200
+#: ../midori/midori-browser.c:4285
+msgid "_Clear Private Data"
+msgstr "_Hapus Data Pribadi"
+
+#: ../midori/midori-browser.c:4286
+msgid "Clear private data..."
+msgstr "Hapus data pribadi..."
+
+#: ../midori/midori-browser.c:4290
msgid "_Previous Tab"
msgstr "_Tab Sebelumnya"
-#: ../midori/midori-browser.c:3201
+#: ../midori/midori-browser.c:4291
msgid "Switch to the previous tab"
msgstr "Pindah ke tab sebelumnya"
-#: ../midori/midori-browser.c:3203
+#: ../midori/midori-browser.c:4293
msgid "_Next Tab"
msgstr "Tab _Berikutnya"
-#: ../midori/midori-browser.c:3204
+#: ../midori/midori-browser.c:4294
msgid "Switch to the next tab"
msgstr "Pindah ke tab berikutnya"
-#: ../midori/midori-browser.c:3206
+#: ../midori/midori-browser.c:4296
msgid "_Help"
msgstr "Ba_ntuan"
-#: ../midori/midori-browser.c:3208
+#: ../midori/midori-browser.c:4298
msgid "_Contents"
msgstr "_Isi"
-#: ../midori/midori-browser.c:3209
+#: ../midori/midori-browser.c:4299
msgid "Show the documentation"
msgstr "Tampilkan dokumentasi"
-#: ../midori/midori-browser.c:3211
-msgid "_Frequent questions"
-msgstr "_Sering ditanyakan"
+#: ../midori/midori-browser.c:4301
+msgid "_Frequent Questions"
+msgstr "_Pertanyaan Sering Ditanyakan"
-#: ../midori/midori-browser.c:3212
+#: ../midori/midori-browser.c:4302
msgid "Show the Frequently Asked Questions"
msgstr "Tampilkan Pertanyaan Acapkali Diajukan"
-#: ../midori/midori-browser.c:3214
-msgid "_Report a bug"
-msgstr "_Laporkan kutu"
+#: ../midori/midori-browser.c:4304
+msgid "_Report a Bug"
+msgstr "_Laporkan Kutu"
-#: ../midori/midori-browser.c:3215
+#: ../midori/midori-browser.c:4305
msgid "Open Midori's bug tracker"
msgstr "Buka pelacak kutu Midori"
-#: ../midori/midori-browser.c:3218
+#: ../midori/midori-browser.c:4308
msgid "Show information about the program"
msgstr "Tampilkan informasi tentang program"
-#: ../midori/midori-browser.c:3225
+#: ../midori/midori-browser.c:4315
msgid "P_rivate Browsing"
msgstr "Meramban P_rivat"
-#: ../midori/midori-browser.c:3226
+#: ../midori/midori-browser.c:4316
msgid "Don't save any private data while browsing"
msgstr "Jangan simpan data privat ketika meramban"
-#: ../midori/midori-browser.c:3231
+#: ../midori/midori-browser.c:4321
msgid "_Menubar"
msgstr "_Batang menu"
-#: ../midori/midori-browser.c:3232
+#: ../midori/midori-browser.c:4322
msgid "Show menubar"
msgstr "Tampilkan batang menu"
-#: ../midori/midori-browser.c:3235
+#: ../midori/midori-browser.c:4325
msgid "_Navigationbar"
msgstr "Batang _navigasi"
-#: ../midori/midori-browser.c:3236
+#: ../midori/midori-browser.c:4326
msgid "Show navigationbar"
msgstr "Tampilkan batang navigasi"
-#: ../midori/midori-browser.c:3239
+#: ../midori/midori-browser.c:4329
msgid "Side_panel"
msgstr "Panel _sisi"
-#: ../midori/midori-browser.c:3240
+#: ../midori/midori-browser.c:4330
msgid "Show sidepanel"
msgstr "Tampilkan panel sisi"
-#: ../midori/midori-browser.c:3243
+#: ../midori/midori-browser.c:4333
msgid "_Bookmarkbar"
-msgstr "Batang _bookmark"
+msgstr "Batang _penanda"
-#: ../midori/midori-browser.c:3244
+#: ../midori/midori-browser.c:4334
msgid "Show bookmarkbar"
-msgstr "Tampilkan batang bookmark"
+msgstr "Tampilkan batang penanda"
-#: ../midori/midori-browser.c:3247
+#: ../midori/midori-browser.c:4337
msgid "_Transferbar"
msgstr "Batang _transfer"
-#: ../midori/midori-browser.c:3248
+#: ../midori/midori-browser.c:4338
msgid "Show transferbar"
msgstr "Tampilkan batang transfer"
-#: ../midori/midori-browser.c:3251
+#: ../midori/midori-browser.c:4341
msgid "_Statusbar"
msgstr "Batang stat_us"
-#: ../midori/midori-browser.c:3252
+#: ../midori/midori-browser.c:4342
msgid "Show statusbar"
msgstr "Tampilkan batang status"
-#: ../midori/midori-browser.c:3669
+#: ../midori/midori-browser.c:4349
+msgid "_Automatic"
+msgstr "_Otomatis"
+
+#: ../midori/midori-browser.c:4352 ../midori/midori-websettings.c:214
+msgid "Chinese (BIG5)"
+msgstr "China (BIG5)"
+
+#. i18n: A double underscore "__" is used to prevent an unwanted mnemonic
+#: ../midori/midori-browser.c:4356
+msgid "Japanese (SHIFT__JIS)"
+msgstr "Jepang (SHIFT__JIS)"
+
+#: ../midori/midori-browser.c:4359 ../midori/midori-websettings.c:216
+msgid "Russian (KOI8-R)"
+msgstr "Rusia (KOI8-R)"
+
+#: ../midori/midori-browser.c:4362 ../midori/midori-websettings.c:217
+msgid "Unicode (UTF-8)"
+msgstr "Unicode (UTF-8)"
+
+#: ../midori/midori-browser.c:4365 ../midori/midori-websettings.c:218
+msgid "Western (ISO-8859-1)"
+msgstr "Barat (ISO-8859-1)"
+
+#: ../midori/midori-browser.c:4368 ../midori/midori-websettings.c:219
+#: ../midori/midori-websettings.c:291
+msgid "Custom..."
+msgstr "Suai..."
+
+#: ../midori/midori-browser.c:4806
+msgid "_Separator"
+msgstr "_Pemisah"
+
+#: ../midori/midori-browser.c:4813
msgid "_Location..."
msgstr "_Lokasi..."
-#: ../midori/midori-browser.c:3671
+#: ../midori/midori-browser.c:4815
msgid "Open a particular location"
msgstr "Buka lokasi khusus"
-#: ../midori/midori-browser.c:3695
+#: ../midori/midori-browser.c:4839
msgid "_Web Search..."
msgstr "Penelusuran _Web..."
-#: ../midori/midori-browser.c:3697
+#: ../midori/midori-browser.c:4841
msgid "Run a web search"
msgstr "Jalankan penelusuran web"
-#: ../midori/midori-browser.c:3716
+#: ../midori/midori-browser.c:4862
msgid "Reopen a previously closed tab or window"
msgstr "Buka kembali tab atau jendela yang sebelumnya tertutup"
-#: ../midori/midori-browser.c:3729
+#: ../midori/midori-browser.c:4877
msgid "_Recently visited pages"
msgstr "_Halaman yang baru dikunjungi"
-#: ../midori/midori-browser.c:3731
+#: ../midori/midori-browser.c:4879
msgid "Reopen pages that you visited earlier"
msgstr "Buka kembali halaman yang sebelumnya anda kunjungi"
-#: ../midori/midori-browser.c:3746
+#: ../midori/midori-browser.c:4894 ../midori/sokoke.c:857
+msgid "_Bookmarks"
+msgstr "B_ookmark"
+
+#: ../midori/midori-browser.c:4896
msgid "Show the saved bookmarks"
-msgstr "Tampilkan bookmark tersimpan"
+msgstr "Tampilkan penanda tersimpan"
-#: ../midori/midori-browser.c:3759
+#: ../midori/midori-browser.c:4911
+msgid "_Tools"
+msgstr "_Alat"
+
+#: ../midori/midori-browser.c:4923
msgid "_Window"
msgstr "_Jendela"
-#: ../midori/midori-browser.c:3761
+#: ../midori/midori-browser.c:4925
msgid "Show a list of all open tabs"
msgstr "Tampilkan senarai semua tab yang terbuka"
-#: ../midori/midori-browser.c:3883
-msgid "Bookmarks"
-msgstr "Bookmark"
+#: ../midori/midori-browser.c:4939
+msgid "_Menu"
+msgstr "_Menu"
-#: ../midori/midori-browser.c:3926 ../midori/midori-preferences.c:517
-msgid "History"
-msgstr "Riwayat"
+#: ../midori/midori-browser.c:4941
+msgid "Menu"
+msgstr "Menu"
#. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:3969
-msgid "_Inline find:"
-msgstr "_Cari dalam baris:"
+#: ../midori/midori-browser.c:5127
+msgid "_Inline Find:"
+msgstr "_Cari Dalam Baris:"
+
+#: ../midori/midori-browser.c:5152
+msgid "Previous"
+msgstr "Sebelumnya"
-#: ../midori/midori-browser.c:4004
+#: ../midori/midori-browser.c:5157
+msgid "Next"
+msgstr "Berikutnya"
+
+#: ../midori/midori-browser.c:5162
msgid "Match Case"
msgstr "Cocokkan Huruf"
-#: ../midori/midori-browser.c:4012
+#: ../midori/midori-browser.c:5170
msgid "Highlight Matches"
msgstr "Sorot Kecocokan"
-#: ../midori/midori-browser.c:4021
+#: ../midori/midori-browser.c:5180
msgid "Close Findbar"
msgstr "Tutup batang cari"
-#: ../midori/midori-browser.c:4262
+#: ../midori/midori-browser.c:5215
+#: ../extensions/cookie-manager/cookie-manager-page.c:109
+msgid "Delete All"
+msgstr "Hapus Semua"
+
+#: ../midori/midori-browser.c:5552
#, c-format
msgid "Unexpected setting '%s'"
msgstr "Pengaturan tak diharapkan '%s'"
-#: ../midori/midori-panel.c:223 ../midori/midori-panel.c:224
+#: ../midori/midori-locationaction.c:901
+#, c-format
+msgid "Search with %s"
+msgstr "Cari %s"
+
+#: ../midori/midori-panel.c:382 ../midori/midori-panel.c:384
+msgid "Detach chosen panel from the window"
+msgstr "Lepaskan panel terpilih dari jendela"
+
+#: ../midori/midori-panel.c:394 ../midori/midori-panel.c:396
+#: ../midori/midori-panel.c:577 ../midori/midori-panel.c:580
+msgid "Align sidepanel to the right"
+msgstr "Ratakan panel sisi ke kanan"
+
+#: ../midori/midori-panel.c:406 ../midori/midori-panel.c:407
msgid "Close panel"
msgstr "Tutup panel"
-#: ../midori/midori-websettings.c:131 ../midori/midori-view.c:1635
-msgid "Blank page"
-msgstr "Halaman kosong"
+#: ../midori/midori-panel.c:578 ../midori/midori-panel.c:581
+msgid "Align sidepanel to the left"
+msgstr "Ratakan panel sisi ke kiri"
-#: ../midori/midori-websettings.c:132 ../midori/midori-websettings.c:387
-msgid "Homepage"
-msgstr "Beranda"
+#: ../midori/midori-panel.c:704
+msgid "Show panel _titles"
+msgstr "Tampilkan _judul panel"
-#: ../midori/midori-websettings.c:133
-msgid "Last open pages"
-msgstr "Halaman terakhir dibuka"
+#: ../midori/midori-panel.c:712
+msgid "Show operating _controls"
+msgstr "Tampilkan _kendali operasi"
-#: ../midori/midori-websettings.c:148
-msgid "Chinese (BIG5)"
-msgstr "China (BIG5)"
+#: ../midori/midori-panel.c:783
+msgid "Options"
+msgstr "Opsi"
-#: ../midori/midori-websettings.c:149
-msgid "Japanese (SHIFT_JIS)"
-msgstr "Jepang (SHIFT_JIS)"
+#: ../midori/midori-websettings.c:197
+msgid "Show Blank page"
+msgstr "Tampilkan halaman Kosong"
-#: ../midori/midori-websettings.c:150
-msgid "Russian (KOI8-R)"
-msgstr "Rusia (KOI8-R)"
+#: ../midori/midori-websettings.c:198
+msgid "Show Homepage"
+msgstr "Tampilkan Beranda"
-#: ../midori/midori-websettings.c:151
-msgid "Unicode (UTF-8)"
-msgstr "Unicode (UTF-8)"
+#: ../midori/midori-websettings.c:199
+msgid "Show last open tabs"
+msgstr "Tampilkan tab yang terakhir terbuka"
-#: ../midori/midori-websettings.c:152
-msgid "Western (ISO-8859-1)"
-msgstr "Barat (ISO-8859-1)"
-
-#: ../midori/midori-websettings.c:153
-msgid "Custom..."
-msgstr "Suai..."
+#: ../midori/midori-websettings.c:215
+msgid "Japanese (SHIFT_JIS)"
+msgstr "Jepang (SHIFT_JIS)"
-#: ../midori/midori-websettings.c:168
+#: ../midori/midori-websettings.c:234
msgid "New tab"
msgstr "Tab baru"
-#: ../midori/midori-websettings.c:169
+#: ../midori/midori-websettings.c:235
msgid "New window"
msgstr "Jendela baru"
-#: ../midori/midori-websettings.c:170
+#: ../midori/midori-websettings.c:236
msgid "Current tab"
msgstr "Tab saat ini"
-#: ../midori/midori-websettings.c:185
+#: ../midori/midori-websettings.c:251
msgid "Default"
msgstr "Standar"
-#: ../midori/midori-websettings.c:186
+#: ../midori/midori-websettings.c:252
msgid "Icons"
msgstr "Ikon"
-#: ../midori/midori-websettings.c:187
+#: ../midori/midori-websettings.c:253
msgid "Text"
msgstr "Teks"
-#: ../midori/midori-websettings.c:188
-msgid "Both"
-msgstr "Keduanya"
+#: ../midori/midori-websettings.c:254
+msgid "Icons and text"
+msgstr "Ikon dan teks"
-#: ../midori/midori-websettings.c:189
-msgid "Both horizontal"
-msgstr "Keduanya horizontal"
+#: ../midori/midori-websettings.c:255
+msgid "Text beside icons"
+msgstr "Teks di samping ikon"
-#: ../midori/midori-websettings.c:204
+#: ../midori/midori-websettings.c:270
msgid "All cookies"
msgstr "Semua kuki"
-#: ../midori/midori-websettings.c:205
+#: ../midori/midori-websettings.c:271
msgid "Session cookies"
msgstr "Kuki sesi"
-#: ../midori/midori-websettings.c:206 ../panels/midori-addons.c:97
+#: ../midori/midori-websettings.c:272 ../panels/midori-addons.c:94
+#: ../extensions/shortcuts.c:93
msgid "None"
msgstr "Tak ada"
-#: ../midori/midori-websettings.c:246
+#: ../midori/midori-websettings.c:288
+msgid "Safari"
+msgstr "Safari"
+
+#: ../midori/midori-websettings.c:289
+msgid "Firefox"
+msgstr "Firefox"
+
+#: ../midori/midori-websettings.c:290
+msgid "Internet Explorer"
+msgstr "Internet Explorer"
+
+#: ../midori/midori-websettings.c:343
msgid "Remember last window size"
msgstr "Ingat ukuran jendela terakhir"
-#: ../midori/midori-websettings.c:247
+#: ../midori/midori-websettings.c:344
msgid "Whether to save the last window size"
msgstr "Apakah ingin menyimpan ukuran jendela yang terakhir tersimpan"
-#: ../midori/midori-websettings.c:255
+#: ../midori/midori-websettings.c:352
msgid "Last window width"
msgstr "Lebar jendela terakhir"
-#: ../midori/midori-websettings.c:256
+#: ../midori/midori-websettings.c:353
msgid "The last saved window width"
msgstr "Lebar jendela terakhir tersimpan"
-#: ../midori/midori-websettings.c:264
+#: ../midori/midori-websettings.c:361
msgid "Last window height"
msgstr "Tinggi jendela terakhir"
-#: ../midori/midori-websettings.c:265
+#: ../midori/midori-websettings.c:362
msgid "The last saved window height"
msgstr "Tinggi jendela terakhir tersimpan"
-#: ../midori/midori-websettings.c:273
+#: ../midori/midori-websettings.c:387
msgid "Last panel position"
msgstr "Posisi panel terakhir"
-#: ../midori/midori-websettings.c:274
+#: ../midori/midori-websettings.c:388
msgid "The last saved panel position"
msgstr "Posisi panel terakhir tersimpan"
#. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:283
+#: ../midori/midori-websettings.c:397
msgid "Last panel page"
msgstr "Halaman panel terakhir"
-#: ../midori/midori-websettings.c:284
+#: ../midori/midori-websettings.c:398
msgid "The last saved panel page"
msgstr "Halaman panel terakhir tersimpan"
-#: ../midori/midori-websettings.c:292
+#: ../midori/midori-websettings.c:406
msgid "Last Web search"
msgstr "Penelusuran Web terakhir"
-#: ../midori/midori-websettings.c:293
+#: ../midori/midori-websettings.c:407
msgid "The last saved Web search"
msgstr "Penelusuran Web terakhir tersimpan"
-#: ../midori/midori-websettings.c:302
+#: ../midori/midori-websettings.c:416
msgid "Show Menubar"
msgstr "Tampilkan Batang Menu"
-#: ../midori/midori-websettings.c:303
+#: ../midori/midori-websettings.c:417
msgid "Whether to show the menubar"
msgstr "Apakah ingin menampilkan batang menu"
-#: ../midori/midori-websettings.c:311
+#: ../midori/midori-websettings.c:425
msgid "Show Navigationbar"
msgstr "Tampilkan Batang Navigasi"
-#: ../midori/midori-websettings.c:312
+#: ../midori/midori-websettings.c:426
msgid "Whether to show the navigationbar"
msgstr "Apakah ingin menampilkan batang navigasi"
-#: ../midori/midori-websettings.c:320
+#: ../midori/midori-websettings.c:434
msgid "Show Bookmarkbar"
-msgstr "Tampilkan Batang Bookmark"
+msgstr "Tampilkan Batang Penanda"
-#: ../midori/midori-websettings.c:321
+#: ../midori/midori-websettings.c:435
msgid "Whether to show the bookmarkbar"
-msgstr "Apakah ingin menampilkan batang bookmark"
+msgstr "Apakah ingin menampilkan batang penanda"
-#: ../midori/midori-websettings.c:329
+#: ../midori/midori-websettings.c:443
msgid "Show Panel"
msgstr "Tampilkan Panel"
-#: ../midori/midori-websettings.c:330
+#: ../midori/midori-websettings.c:444
msgid "Whether to show the panel"
msgstr "Apakah ingin menampilkan panel"
-#: ../midori/midori-websettings.c:338
+#: ../midori/midori-websettings.c:459
+msgid "Show Transferbar"
+msgstr "Tampilkan Batang Transfer"
+
+#: ../midori/midori-websettings.c:460
+msgid "Whether to show the transferbar"
+msgstr "Apakah ingin menampilkan batang transfer"
+
+#: ../midori/midori-websettings.c:468
msgid "Show Statusbar"
msgstr "Tampilkan Batang Status"
-#: ../midori/midori-websettings.c:339
+#: ../midori/midori-websettings.c:469
msgid "Whether to show the statusbar"
msgstr "Apakah ingin menampilkan batang status"
-#: ../midori/midori-websettings.c:348
-msgid "Toolbar Style"
-msgstr "Gaya Batang Alat"
+#: ../midori/midori-websettings.c:478
+msgid "Toolbar Style:"
+msgstr "Gaya Batang Alat:"
-#: ../midori/midori-websettings.c:349
+#: ../midori/midori-websettings.c:479
msgid "The style of the toolbar"
msgstr "Gaya dari batang alat"
-#: ../midori/midori-websettings.c:358
+#: ../midori/midori-websettings.c:495
+msgid "Show progress in location entry"
+msgstr "Tampilkan progres di lema lokasi"
+
+#: ../midori/midori-websettings.c:496
+msgid "Whether to show loading progress in the location entry"
+msgstr "Apakah ingin menampilkan progres memuat di lema lokasi"
+
+#: ../midori/midori-websettings.c:511
+msgid "Search engines in location completion"
+msgstr "Mesin pencari di penyelesai lokasi"
+
+#: ../midori/midori-websettings.c:512
+msgid "Whether to show search engines in the location completion"
+msgstr "Apakah akan menampilkan mesin pencari di penyelesai lokasi"
+
+#: ../midori/midori-websettings.c:520
msgid "Toolbar Items"
msgstr "Item Batang Alat"
-#: ../midori/midori-websettings.c:359
+#: ../midori/midori-websettings.c:521
msgid "The items to show on the toolbar"
msgstr "Item yang akan ditampilkan di batang alat"
-#: ../midori/midori-websettings.c:367
+#: ../midori/midori-websettings.c:529
msgid "Compact Sidepanel"
msgstr "Panel Sisi Kompak"
-#: ../midori/midori-websettings.c:368
+#: ../midori/midori-websettings.c:530
msgid "Whether to make the sidepanel compact"
msgstr "Apakah ingin membuat panel sisi kompak"
-#: ../midori/midori-websettings.c:377
-msgid "Load on Startup"
-msgstr "Dimuat Saat Hidupkan"
+#: ../midori/midori-websettings.c:545
+msgid "Show operating controls of the panel"
+msgstr "Tampilkan kendali operasi dari panel"
-#: ../midori/midori-websettings.c:378
-msgid "What to load on startup"
-msgstr "Apa yang akan dimuat saat hidupkan"
+#: ../midori/midori-websettings.c:546
+msgid "Whether to show the operating controls of the panel"
+msgstr "Apakah ingin menampilkan kendali operasi dari panel"
-#: ../midori/midori-websettings.c:388
+#: ../midori/midori-websettings.c:561
+msgid "Align sidepanel on the right"
+msgstr "Ratakan panel sisi di kanan"
+
+#: ../midori/midori-websettings.c:562
+msgid "Whether to align the sidepanel on the right"
+msgstr "Apakah ingin meratakan panel sisi di sebelah kanan"
+
+#: ../midori/midori-websettings.c:571
+msgid "When Midori starts:"
+msgstr "Jika Midori dijalankan:"
+
+#: ../midori/midori-websettings.c:572
+msgid "What to do when Midori starts"
+msgstr "Apa yang akan dilakukan saat Midori dijalankan"
+
+#: ../midori/midori-websettings.c:581
+msgid "Homepage:"
+msgstr "Beranda:"
+
+#: ../midori/midori-websettings.c:582
msgid "The homepage"
msgstr "Laman"
-#: ../midori/midori-websettings.c:396
-msgid "Download Folder"
-msgstr "Folder Unduh"
+#: ../midori/midori-websettings.c:597
+msgid "Show crash dialog"
+msgstr "Tampilkan dialog macet"
-#: ../midori/midori-websettings.c:397
+#: ../midori/midori-websettings.c:598
+msgid "Show a dialog after Midori crashed"
+msgstr "Tampilkan sebuah dialog setelah Midori macet"
+
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:614
+msgid "Show speed dial in new tabs"
+msgstr "Tampilkan panggil cepat di tab baru"
+
+#: ../midori/midori-websettings.c:615
+msgid "Show speed dial in newly opened tabs"
+msgstr "Tampilkan panggil cepat di tab yang baru dibuka"
+
+#: ../midori/midori-websettings.c:623
+msgid "Save downloaded files to:"
+msgstr "Simpan berkas yang diunduh ke:"
+
+#: ../midori/midori-websettings.c:624
msgid "The folder downloaded files are saved to"
msgstr "Folder berkas terunduh disimpan di"
-#: ../midori/midori-websettings.c:405
+#: ../midori/midori-websettings.c:643
+msgid "Ask for the destination folder"
+msgstr "Tanya folder tujuan"
+
+#: ../midori/midori-websettings.c:644
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr "Apakah akan menanyakan folder tujuan ketika mengunduh sebuah berkas"
+
+#: ../midori/midori-websettings.c:663
+msgid "Notify when a transfer has been completed"
+msgstr "Beritahu jika sebuah transfer telah selesai"
+
+#: ../midori/midori-websettings.c:664
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr "Apakah akan menampilkan sebuah notifikasi ketika sebuah transfer "
+"telah selesai"
+
+#: ../midori/midori-websettings.c:676
msgid "Download Manager"
msgstr "Manajer Unduh"
-#: ../midori/midori-websettings.c:406
+#: ../midori/midori-websettings.c:677
msgid "An external download manager"
msgstr "Manajer unduh eksternal"
-#: ../midori/midori-websettings.c:414
+#: ../midori/midori-websettings.c:685
msgid "Text Editor"
msgstr "Penyunting Teks"
-#: ../midori/midori-websettings.c:415
+#: ../midori/midori-websettings.c:686
msgid "An external text editor"
msgstr "Penyunting teks eksternal"
-#: ../midori/midori-websettings.c:423
+#: ../midori/midori-websettings.c:701
+msgid "News Aggregator"
+msgstr "Agregator Berita"
+
+#: ../midori/midori-websettings.c:702
+msgid "An external news aggregator"
+msgstr "Sebuah agregator berita eksternal"
+
+#: ../midori/midori-websettings.c:710
msgid "Location entry Search"
msgstr "Pencari entri lokasi"
-#: ../midori/midori-websettings.c:424
+#: ../midori/midori-websettings.c:711
msgid "The search to perform inside the location entry"
msgstr "Pencarian yang dilakukan di dalam entri lokasi"
-#: ../midori/midori-websettings.c:432
+#: ../midori/midori-websettings.c:719
msgid "Preferred Encoding"
msgstr "Penyandian Kesukaan"
-#: ../midori/midori-websettings.c:433
+#: ../midori/midori-websettings.c:720
msgid "The preferred character encoding"
msgstr "Penyandian karakter kesukaan"
-#: ../midori/midori-websettings.c:443
+#: ../midori/midori-websettings.c:730
msgid "Always Show Tabbar"
msgstr "Selalu Tampilkan Batang Tab"
-#: ../midori/midori-websettings.c:444
+#: ../midori/midori-websettings.c:731
msgid "Always show the tabbar"
msgstr "Selalu tampilkan batang tab"
-#: ../midori/midori-websettings.c:452
+#: ../midori/midori-websettings.c:739
msgid "Close Buttons on Tabs"
msgstr "Tutup Tombol di Tab"
-#: ../midori/midori-websettings.c:453
+#: ../midori/midori-websettings.c:740
msgid "Whether tabs have close buttons"
msgstr "Apakah tab memiliki tombol tutup"
-#: ../midori/midori-websettings.c:462
-msgid "Open new pages in"
-msgstr "Buka halaman baru di"
+#: ../midori/midori-websettings.c:748
+msgid "Open new pages in:"
+msgstr "Buka halaman baru di:"
-#: ../midori/midori-websettings.c:463
+#: ../midori/midori-websettings.c:749
msgid "Where to open new pages"
msgstr "Dimana membuka halaman baru"
-#: ../midori/midori-websettings.c:473
-msgid "Open external pages in"
-msgstr "Buka halaman eksternal di"
+#: ../midori/midori-websettings.c:758
+msgid "Open external pages in:"
+msgstr "Buka halaman eksternal di:"
-#: ../midori/midori-websettings.c:474
+#: ../midori/midori-websettings.c:759
msgid "Where to open externally opened pages"
msgstr "Dimana ingin membuka halaman yang dibuka secara eksternal"
-#: ../midori/midori-websettings.c:483
+#: ../midori/midori-websettings.c:768
msgid "Middle click opens Selection"
msgstr "Klik Tengah Membuka Pilihan"
-#: ../midori/midori-websettings.c:484
-msgid "Load an URL from the selection via middle click"
-msgstr "Muat URI dari pilihan via klik tengah"
+#: ../midori/midori-websettings.c:769
+msgid "Load an address from the selection via middle click"
+msgstr "Muat sebuah alamat dari pilihan via klik tengah"
-#: ../midori/midori-websettings.c:492
+#: ../midori/midori-websettings.c:777
msgid "Open tabs in the background"
msgstr "Buka Tab di Latar Belakang"
-#: ../midori/midori-websettings.c:493
+#: ../midori/midori-websettings.c:778
msgid "Whether to open new tabs in the background"
msgstr "Apakah ingin membuka tab baru di latar belakang"
-#: ../midori/midori-websettings.c:501
+#: ../midori/midori-websettings.c:786
msgid "Open Tabs next to Current"
msgstr "Buka Tab di Samping Saat Ini"
-#: ../midori/midori-websettings.c:502
+#: ../midori/midori-websettings.c:787
msgid "Whether to open new tabs next to the current tab or after the last one"
msgstr ""
"Apakah ingin membuka tab baru di sebelah tab saat ini atau setelah tab "
"terakhir"
-#: ../midori/midori-websettings.c:510
+#: ../midori/midori-websettings.c:795
msgid "Open popups in tabs"
msgstr "Buka popup di tab"
-#: ../midori/midori-websettings.c:511
+#: ../midori/midori-websettings.c:796
msgid "Whether to open popup windows in tabs"
msgstr "Apakah ingin membuka jendela popup di tab"
-#: ../midori/midori-websettings.c:537
+#: ../midori/midori-websettings.c:812
+msgid "Zoom Text and Images"
+msgstr "Pembesaran Teks dan Gambar"
+
+#: ../midori/midori-websettings.c:813
+msgid "Whether to zoom text and images"
+msgstr "Apakah ingin memperbesar teks dan gambar"
+
+#: ../midori/midori-websettings.c:828
+msgid "Find inline while typing"
+msgstr "Cari dalam baris ketika mengetik"
+
+#: ../midori/midori-websettings.c:829
+msgid "Whether to automatically find inline while typing"
+msgstr "Apakah akan secara otomatis mencari dalam baris ketika mengetik"
+
+#: ../midori/midori-websettings.c:837
msgid "Accept cookies"
msgstr "Terima kuki"
-#: ../midori/midori-websettings.c:538
+#: ../midori/midori-websettings.c:838
msgid "What type of cookies to accept"
msgstr "Tipe kuki apa yang diterima"
-#: ../midori/midori-websettings.c:547
+#: ../midori/midori-websettings.c:847
msgid "Original cookies only"
msgstr "Hanya kuki asli"
-#: ../midori/midori-websettings.c:548
+#: ../midori/midori-websettings.c:848
msgid "Accept cookies from the original website only"
msgstr "Terima kuki hanya dari situs web asli"
-#: ../midori/midori-websettings.c:556
+#: ../midori/midori-websettings.c:856
msgid "Maximum cookie age"
msgstr "Usia kuki maksimum"
-#: ../midori/midori-websettings.c:557
+#: ../midori/midori-websettings.c:857
msgid "The maximum number of days to save cookies for"
msgstr "Jumlah maksimum hari untuk menyimpan kuki"
-#: ../midori/midori-websettings.c:567
+#: ../midori/midori-websettings.c:867
msgid "Remember last visited pages"
msgstr "Ingat halaman terakhir dikunjungi"
-#: ../midori/midori-websettings.c:568
+#: ../midori/midori-websettings.c:868
msgid "Whether the last visited pages are saved"
msgstr "Apakah halaman terakhir dikunjungi tersimpan"
-#: ../midori/midori-websettings.c:576
+#: ../midori/midori-websettings.c:876
msgid "Maximum history age"
msgstr "Usia riwayat maksimum"
-#: ../midori/midori-websettings.c:577
+#: ../midori/midori-websettings.c:877
msgid "The maximum number of days to save the history for"
msgstr "Jumlah maksimum hari untuk tetap menyimpan riwayat"
-#: ../midori/midori-websettings.c:585
+#: ../midori/midori-websettings.c:885
msgid "Remember last form inputs"
msgstr "Ingat bentuk terakhir masukan"
-#: ../midori/midori-websettings.c:586
+#: ../midori/midori-websettings.c:886
msgid "Whether the last form inputs are saved"
msgstr "Apakah bentuk terakhir masukan disimpan"
-#: ../midori/midori-websettings.c:594
+#: ../midori/midori-websettings.c:894
msgid "Remember last downloaded files"
msgstr "Ingat berkas terakhir diunduh"
-#: ../midori/midori-websettings.c:595
+#: ../midori/midori-websettings.c:895
msgid "Whether the last downloaded files are saved"
msgstr "Apakah berkas terakhir diunduh akan disimpan"
-#: ../midori/midori-websettings.c:605
-msgid "HTTP Proxy"
-msgstr "Proxy HTTP"
+#: ../midori/midori-websettings.c:905
+msgid "Proxy Server"
+msgstr "Server Proxy"
-#: ../midori/midori-websettings.c:606
-msgid "The proxy used for HTTP connections"
-msgstr "Proxy yang digunakan untuk koneksi HTTP"
+#: ../midori/midori-websettings.c:906
+msgid "The proxy server used for HTTP connections"
+msgstr "Proxy server yang digunakan untuk koneksi HTTP"
-#: ../midori/midori-websettings.c:614
+#: ../midori/midori-websettings.c:921
+msgid "Detect proxy server automatically"
+msgstr "Deteksi server proxy secara otomatis"
+
+#: ../midori/midori-websettings.c:922
+msgid "Whether to detect the proxy server automatically from the environment"
+msgstr "Apakah akan mendeteksi server proxy secara otomatis dari lingkungan"
+
+#. i18n: This refers to an application, not the 'user agent' string
+#: ../midori/midori-websettings.c:938
+msgid "Identify as"
+msgstr "Identifikasi sebagai"
+
+#: ../midori/midori-websettings.c:939
+msgid "What to identify as to web pages"
+msgstr "Apa yang diidentifikasi sebagai halaman web"
+
+#: ../midori/midori-websettings.c:955
+msgid "Identification string"
+msgstr "Tali identifikasi"
+
+#: ../midori/midori-websettings.c:956
+msgid "The application identification string"
+msgstr "Tali identifikasi aplikasi"
+
+#: ../midori/midori-websettings.c:964
msgid "Cache size"
msgstr "Ukuran tembolok"
-#: ../midori/midori-websettings.c:615
+#: ../midori/midori-websettings.c:965
msgid "The allowed size of the cache"
msgstr "Ukuran tembolok yang diizinkan"
+#: ../midori/midori-websettings.c:980
+msgid "Clear private data"
+msgstr "Hapus data pribadi"
+
+#: ../midori/midori-websettings.c:981
+msgid "The private data selected for deletion"
+msgstr "Data pribadi yang dipilih untuk dihapus"
+
+#: ../midori/midori-view.c:781
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr "Halaman bernama '%s' tak dapat dimuat"
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#: ../midori/midori-view.c:783 ../midori/midori-view.c:3013
+#: ../extensions/feed-panel/main.c:112
+msgid "Error"
+msgstr "Galat"
+
+#: ../midori/midori-view.c:786
+msgid "Try again"
+msgstr "Coba lagi"
+
#. 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:818 ../midori/midori-view.c:3017
#, c-format
msgid "Not found - %s"
-msgstr ""
+msgstr "Tak ditemukan - %s"
-#: ../midori/midori-view.c:902
+#: ../midori/midori-view.c:1205
+msgid "Open _Link"
+msgstr "Buka _Tautan"
+
+#: ../midori/midori-view.c:1207
msgid "Open Link in New _Tab"
msgstr "Buka Taut di _Tab Baru"
-#: ../midori/midori-view.c:925
-msgid "_Save Link destination"
-msgstr "_Simpan Taut tujuan"
+#: ../midori/midori-view.c:1224
+msgid "Open Link in New _Window"
+msgstr "Buka Tautan di _Jendela Baru"
-#: ../midori/midori-view.c:933
+#: ../midori/midori-view.c:1230
msgid "_Download Link destination"
msgstr "_Unduh Taut tujuan"
-#: ../midori/midori-view.c:955
-msgid "Open URL in New _Tab"
-msgstr "Buka URL di _Tab Baru"
+#: ../midori/midori-view.c:1236
+msgid "_Save Link destination"
+msgstr "_Simpan Taut tujuan"
+
+#: ../midori/midori-view.c:1245
+msgid "Download with Download _Manager"
+msgstr "Unduh Dengan _Manajer Unduh"
+
+#: ../midori/midori-view.c:1274
+msgid "Search _with"
+msgstr "Cari _dengan"
+
+#: ../midori/midori-view.c:1306
+msgid "_Search the Web"
+msgstr "_Cari web"
+
+#: ../midori/midori-view.c:1316
+msgid "Open Address in New _Tab"
+msgstr "Buka Alamat di _Tab Baru"
+
+#: ../midori/midori-view.c:1494
+msgid "Open or download file"
+msgstr "Buka atau unduh berkas"
+
+#: ../midori/midori-view.c:1511
+#, c-format
+msgid "File Type: '%s'"
+msgstr "Tipe Berkas: '%s'"
+
+#: ../midori/midori-view.c:1514
+#, c-format
+msgid "File Type: %s ('%s')"
+msgstr "Tipe Berkas: %s ('%s')"
+
+#. i18n: A file open dialog title, ie. "Open http://fila.com/manual.tgz"
+#: ../midori/midori-view.c:1518
+#, c-format
+msgid "Open %s"
+msgstr "Buka %s"
-#: ../midori/midori-view.c:1365
+#: ../midori/midori-view.c:1957
#, c-format
msgid "Inspect page - %s"
msgstr "Periksa halaman - %s"
-#: ../midori/midori-view.c:1503
-msgid "Source"
-msgstr "Sumber"
+#: ../midori/midori-view.c:2147
+msgid "Speed dial"
+msgstr "Panggil cepat"
+
+#: ../midori/midori-view.c:2148
+msgid "Click to add a shortcut"
+msgstr "Klik untuk menambah jalan pintas"
+
+#: ../midori/midori-view.c:2149
+msgid "Enter shortcut address"
+msgstr "Masukkan alamat jalan pintas"
+
+#: ../midori/midori-view.c:2150
+msgid "Enter shortcut title"
+msgstr "Masukkan judul jalan pintas"
-#: ../midori/midori-view.c:1527
-#, fuzzy, c-format
+#: ../midori/midori-view.c:2151
+msgid "Are you sure you want to delete this shortcut?"
+msgstr "Anda yakin ingin menghapus jalan pintas ini?"
+
+#: ../midori/midori-view.c:2181
+#, c-format
+msgid "Document cannot be displayed"
+msgstr "Dokumen tak dapat ditampilkan"
+
+#: ../midori/midori-view.c:2198
+#, c-format
msgid "No documentation installed"
-msgstr "Tampilkan dokumentasi"
+msgstr "Tak ada dokumentasi yang terinstal"
+
+#: ../midori/midori-view.c:2323
+msgid "Blank page"
+msgstr "Halaman kosong"
-#: ../midori/midori-preferences.c:87
+#: ../midori/midori-view.c:2551 ../midori/sokoke.c:865
+msgid "New _Tab"
+msgstr "Tab _Baru"
+
+#: ../midori/midori-view.c:2565
+msgid "_Duplicate Tab"
+msgstr "_Duplikasi Tab"
+
+#: ../midori/midori-view.c:2570
+msgid "_Restore Tab"
+msgstr "_Kembalikan Tab"
+
+#: ../midori/midori-view.c:2570
+msgid "_Minimize Tab"
+msgstr "_Kecilkan Tab"
+
+#: ../midori/midori-preferences.c:91
#, c-format
msgid "Preferences for %s"
msgstr "Pengaturan untuk %s"
#. Page "General"
-#: ../midori/midori-preferences.c:338
+#: ../midori/midori-preferences.c:398
msgid "General"
msgstr "Umum"
-#: ../midori/midori-preferences.c:339
+#: ../midori/midori-preferences.c:399
msgid "Startup"
msgstr "Mulai"
+#: ../midori/midori-preferences.c:415
+msgid "Use current page as homepage"
+msgstr "Gunakan halaman saat ini sebagai beranda"
+
+#: ../midori/midori-preferences.c:425 ../panels/midori-transfers.c:88
+msgid "Transfers"
+msgstr "Transfer"
+
#. Page "Appearance"
-#: ../midori/midori-preferences.c:386
+#: ../midori/midori-preferences.c:440
msgid "Appearance"
msgstr "Tampilan"
-#: ../midori/midori-preferences.c:387
+#: ../midori/midori-preferences.c:441
msgid "Font settings"
msgstr "Pengaturan fonta"
-#: ../midori/midori-preferences.c:389
+#: ../midori/midori-preferences.c:443
msgid "Default Font Family"
msgstr "Keluarga Fonta Standar"
-#: ../midori/midori-preferences.c:397
+#: ../midori/midori-preferences.c:447
+msgid "The default font family used to display text"
+msgstr "Keluarga fonta standar yang digunakan untuk menampilkan teks"
+
+#: ../midori/midori-preferences.c:450
+msgid "The default font size used to display text"
+msgstr "Ukuran fonta standar yang digunakan untuk menampilkan teks"
+
+#: ../midori/midori-preferences.c:453
+msgid "Fixed-width Font Family"
+msgstr "Keluarga Fonta Sesuai Lebar"
+
+#: ../midori/midori-preferences.c:457
+msgid "The font family used to display fixed-width text"
+msgstr "Keluarga fonta yang digunakan untuk menampilkan teks sesuai lebar"
+
+#: ../midori/midori-preferences.c:460
+msgid "The font size used to display fixed-width text"
+msgstr "Ukuran fonta yang digunakan untuk menampilkan teks sesuai lebar"
+
+#: ../midori/midori-preferences.c:463
msgid "Minimum Font Size"
msgstr "Ukuran Fonta Minimum"
+#: ../midori/midori-preferences.c:466
+msgid "The minimum font size used to display text"
+msgstr "Ukuran fonta minimum yang digunakan untuk menampilkan teks"
+
+#: ../midori/midori-preferences.c:473
+msgid "Encoding"
+msgstr "Penyandian"
+
+#: ../midori/midori-preferences.c:476
+msgid "The character encoding to use by default"
+msgstr "Penyandian karakter untuk digunakan sebagai standar"
+
#. Page "Behavior"
-#: ../midori/midori-preferences.c:407
+#: ../midori/midori-preferences.c:483
msgid "Behavior"
msgstr "Perilaku"
-#: ../midori/midori-preferences.c:408
+#: ../midori/midori-preferences.c:484
msgid "Features"
msgstr "Fitur"
-#: ../midori/midori-preferences.c:411 ../extensions/statusbar-features.c:32
+#: ../midori/midori-preferences.c:487 ../extensions/statusbar-features.c:88
msgid "Load images automatically"
-msgstr "Muat citra secara otomatis"
+msgstr "Muat gambar secara otomatis"
-#: ../midori/midori-preferences.c:414
+#: ../midori/midori-preferences.c:488
+msgid "Load and display images automatically"
+msgstr "Muat dan tampilkan gambar secara otomatis"
+
+#: ../midori/midori-preferences.c:491
msgid "Shrink images automatically"
-msgstr "Kecilkan citra secara otomatis"
+msgstr "Kecilkan gambar secara otomatis"
+
+#: ../midori/midori-preferences.c:492
+msgid "Automatically shrink standalone images to fit"
+msgstr "Secara otomatis mengecilkan gambar tunggal agar muat"
-#: ../midori/midori-preferences.c:417
+#: ../midori/midori-preferences.c:495
msgid "Print background images"
-msgstr "Cetak citra latar belakang"
+msgstr "Cetak gambar latar belakang"
+
+#: ../midori/midori-preferences.c:496
+msgid "Whether background images should be printed"
+msgstr "Apakah gambar latar belakang harus dicetak"
-#: ../midori/midori-preferences.c:420
+#: ../midori/midori-preferences.c:499
msgid "Resizable text areas"
msgstr "Area teks dapat diubah ukurannya"
-#: ../midori/midori-preferences.c:423 ../extensions/statusbar-features.c:39
+#: ../midori/midori-preferences.c:500
+msgid "Whether text areas are resizable"
+msgstr "Apakah area teks dapat diubah ukurannya"
+
+#: ../midori/midori-preferences.c:503 ../extensions/statusbar-features.c:100
msgid "Enable scripts"
msgstr "Aktifkan skrip"
-#: ../midori/midori-preferences.c:426 ../extensions/statusbar-features.c:46
-msgid "Enable plugins"
-msgstr "Aktifkan plugin"
+#: ../midori/midori-preferences.c:504
+msgid "Enable embedded scripting languages"
+msgstr "Aktifkan bahasa skrip terbenam"
+
+#: ../midori/midori-preferences.c:507 ../extensions/statusbar-features.c:112
+msgid "Enable Netscape plugins"
+msgstr "Aktifkan plugin Netscape"
+
+#: ../midori/midori-preferences.c:508
+msgid "Enable embedded Netscape plugin objects"
+msgstr "Aktifkan objek plugin Netscape terbenam"
-#: ../midori/midori-preferences.c:429
+#: ../midori/midori-preferences.c:511
+msgid "Enforce 96 dots per inch"
+msgstr "Paksa 96 titik per inci"
+
+#: ../midori/midori-preferences.c:512
+msgid "Enforce a video dot density of 96 DPI"
+msgstr "Paksa kerapatan titik video 96 DPI"
+
+#: ../midori/midori-preferences.c:515
msgid "Enable developer tools"
msgstr "Aktifkan alat pengembang"
+#: ../midori/midori-preferences.c:516
+msgid "Enable special extensions for developers"
+msgstr "Aktifkan ekstensi khusus untuk pengembang"
+
+#: ../midori/midori-preferences.c:523
+msgid "Spell Checking"
+msgstr "Pemeriksa Ejaan"
+
+#: ../midori/midori-preferences.c:526
+msgid "Enable Spell Checking"
+msgstr "Aktifkan Pemeriksa Ejaan"
+
+#: ../midori/midori-preferences.c:527
+msgid "Enable spell checking while typing"
+msgstr "Aktifkan pemeriksa ejaan ketika mengetik"
+
+#. i18n: The example should be adjusted to contain a good local default
+#: ../midori/midori-preferences.c:531
+msgid ""
+"A comma separated list of languages to be used for spell checking, for "
+"example \"en_GB,de_DE\""
+msgstr ""
+"Senarai dipisahkan koma dari bahasa yang akan digunakan untuk pemeriksa "
+"ejaan, misalnya \"en_GB,de_DE\""
+
#. Page "Interface"
-#: ../midori/midori-preferences.c:437
+#: ../midori/midori-preferences.c:536
msgid "Interface"
msgstr "Antarmuka"
-#: ../midori/midori-preferences.c:438
+#: ../midori/midori-preferences.c:537
msgid "Navigationbar"
msgstr "Batang navigasi"
-#: ../midori/midori-preferences.c:453
+#: ../midori/midori-preferences.c:548
msgid "Browsing"
msgstr "Meramban"
-#: ../midori/midori-preferences.c:480 ../midori/midori-preferences.c:481
+#. Page "Applications"
+#: ../midori/midori-preferences.c:574
+msgid "Applications"
+msgstr "Aplikasi"
+
+#: ../midori/midori-preferences.c:575
+msgid "External applications"
+msgstr "Aplikasi Eksternal"
+
+#. Page "Network"
+#: ../midori/midori-preferences.c:621 ../midori/midori-preferences.c:622
msgid "Network"
msgstr "Jaringan"
-#: ../midori/midori-preferences.c:492
+#: ../midori/midori-preferences.c:649
msgid "MB"
msgstr "MB"
#. Page "Privacy"
-#: ../midori/midori-preferences.c:498
+#: ../midori/midori-preferences.c:654
msgid "Privacy"
msgstr "Privasi"
-#: ../midori/midori-preferences.c:500
+#: ../midori/midori-preferences.c:655
msgid "Web Cookies"
msgstr "Kuki Web"
-#: ../midori/midori-preferences.c:513 ../midori/midori-preferences.c:524
+#: ../midori/midori-preferences.c:668 ../midori/midori-preferences.c:678
msgid "days"
msgstr "hari"
-#: ../midori/midori-searchaction.c:456 ../katze/katze-arrayaction.c:273
+#: ../midori/midori-searchaction.c:488 ../katze/katze-arrayaction.c:335
msgid "Empty"
msgstr "Kosong"
-#: ../midori/midori-searchaction.c:797
+#: ../midori/midori-searchaction.c:908
msgid "Add search engine"
msgstr "Tambah mesin pencari"
-#: ../midori/midori-searchaction.c:797
+#: ../midori/midori-searchaction.c:908
msgid "Edit search engine"
msgstr "Sunting mesin pencari"
-#: ../midori/midori-searchaction.c:825
+#: ../midori/midori-searchaction.c:936
msgid "_Name:"
msgstr "_Nama:"
-#: ../midori/midori-searchaction.c:869
-msgid "_Icon (name or file):"
-msgstr "_Ikon (nama atau berkas):"
+#: ../midori/midori-searchaction.c:980
+msgid "_Icon:"
+msgstr "_Ikon:"
-#: ../midori/midori-searchaction.c:883
+#: ../midori/midori-searchaction.c:994
msgid "_Token:"
msgstr "_Token:"
-#: ../midori/midori-searchaction.c:1060
-msgid "Manage search engines"
-msgstr "Atur mesin pencari"
+#: ../midori/midori-searchaction.c:1213
+msgid "Manage Search Engines"
+msgstr "Atur Mesin Pencari"
-#: ../midori/sokoke.c:63 ../midori/sokoke.c:75
+#: ../midori/midori-searchaction.c:1312
+msgid "Use as _default"
+msgstr "Gunakan sebagai stan_dar"
+
+#: ../midori/sokoke.c:162 ../midori/sokoke.c:174
msgid "Could not run external program."
msgstr "Tak dapat menjalankan program eksternal."
-#: ../midori/sokoke.c:282
-msgid "Warning: You are using a superuser account!"
-msgstr "Peringatan: Anda menggunakan akun superuser!"
+#: ../midori/sokoke.c:856
+msgid "_Bookmark"
+msgstr "B_ookmark"
-#: ../midori/gjs.c:514
-msgid "An unknown error occured."
-msgstr "Galat tak diketahui terjadi."
+#: ../midori/sokoke.c:858
+msgid "Add Boo_kmark"
+msgstr "Tambah P_enanda"
-#: ../midori/gjs.c:742 ../midori/gjs.c:832
-#, c-format
-msgid "%s has no property '%s'"
-msgstr "%s tak memiliki properti '%s'"
+#: ../midori/sokoke.c:859
+msgid "_Console"
+msgstr "_Konsol"
-#: ../midori/gjs.c:878
-#, c-format
-msgid "%s cannot be assigned to %s.%s"
-msgstr "%s tak dapat ditugaskan ke %s.%s"
+#: ../midori/sokoke.c:860
+msgid "_Extensions"
+msgstr "_Ekstensi"
-#: ../midori/gjs.c:888
-#, c-format
-msgid "%s.%s cannot be accessed"
-msgstr "%s.%s tak dapat diakses"
+#: ../midori/sokoke.c:861
+msgid "_History"
+msgstr "_Riwayat"
+
+#: ../midori/sokoke.c:862
+msgid "_Homepage"
+msgstr "_Beranda"
-#: ../panels/midori-addons.c:98 ../panels/midori-addons.c:144
+#: ../midori/sokoke.c:863
+msgid "_Userscripts"
+msgstr "_Skrip pengguna"
+
+#: ../midori/sokoke.c:864
+msgid "User_styles"
+msgstr "Ga_ya pengguna"
+
+#: ../midori/sokoke.c:866
+msgid "_Transfers"
+msgstr "_Transfer"
+
+#: ../midori/sokoke.c:867
+msgid "Netscape p_lugins"
+msgstr "P_lugin Netscape"
+
+#: ../panels/midori-addons.c:95 ../panels/midori-addons.c:141
msgid "Userscripts"
msgstr "Skrip pengguna"
-#: ../panels/midori-addons.c:99 ../panels/midori-addons.c:146
+#: ../panels/midori-addons.c:96 ../panels/midori-addons.c:143
msgid "Userstyles"
msgstr "Gaya pengguna"
-#: ../panels/midori-addons.c:1006 ../panels/midori-extensions.c:144
-msgid "_Enable"
-msgstr "_Aktifkan"
+#: ../panels/midori-bookmarks.c:108
+msgid "Bookmarks"
+msgstr "Penanda"
-#: ../panels/midori-addons.c:1015 ../panels/midori-extensions.c:153
-msgid "_Disable"
-msgstr "_Non Aktifkan"
+#: ../panels/midori-bookmarks.c:239
+msgid "Edit the selected bookmark"
+msgstr "Sunting penanda terpilih"
+
+#: ../panels/midori-bookmarks.c:247
+msgid "Delete the selected bookmark"
+msgstr "Hapus penanda terpilih"
+
+#: ../panels/midori-bookmarks.c:260
+msgid "Add a new folder"
+msgstr "Tambah folder baru"
+
+#: ../panels/midori-bookmarks.c:592
+msgid "<i>Separator</i>"
+msgstr "<i>Pemisah</i>"
#: ../panels/midori-console.c:87
msgid "Console"
msgstr "Konsol"
-#: ../panels/midori-extensions.c:87
+#: ../panels/midori-extensions.c:91
msgid "Extensions"
msgstr "Ekstensi"
+#: ../panels/midori-history.c:162
+msgid "Are you sure you want to remove all history items?"
+msgstr "Anda yakin ingin menghapus semua item riwayat?"
+
+#: ../panels/midori-history.c:217
+msgid "Bookmark the selected history item"
+msgstr "Bookmark item riwayat terpilih"
+
+#: ../panels/midori-history.c:226
+msgid "Delete the selected history item"
+msgstr "Hapus item riwayat terpilih"
+
+#: ../panels/midori-history.c:234
+msgid "Clear the entire history"
+msgstr "Bersihkan seluruh riwayat"
+
+#: ../panels/midori-history.c:601
+msgid "A week ago"
+msgstr "Seminggu yang lalu"
+
+#: ../panels/midori-history.c:606
+#, c-format
+msgid "%d day ago"
+msgid_plural "%d days ago"
+msgstr[0] "%d hari yang lalu"
+
+#: ../panels/midori-history.c:614
+msgid "Today"
+msgstr "Hari Ini"
+
+#: ../panels/midori-history.c:616
+msgid "Yesterday"
+msgstr "Kemarin"
+
+#: ../panels/midori-plugins.c:87 ../extensions/statusbar-features.c:108
+msgid "Netscape plugins"
+msgstr "Plugin Netscape"
+
+#: ../panels/midori-transfers.c:271
+#, c-format
+msgid "%s of %s"
+msgstr "%s dari %s"
+
+#: ../panels/midori-transfers.c:479
+msgid "Open Destination _Folder"
+msgstr "Buka _Folder Tujuan"
+
+#: ../panels/midori-transfers.c:482
+msgid "Copy Link Loc_ation"
+msgstr "Salin Tautan Lok_asi"
+
+#: ../katze/katze-http-auth.c:97
+msgid "Authentication Required"
+msgstr "Otentikasi Diperlukan"
+
+#: ../katze/katze-http-auth.c:113
+msgid ""
+"A username and a password are required\n"
+"to open this location:"
+msgstr ""
+"Sebuah nama pengguna dan sebuah sandi diperlukan\n"
+"untuk membuka lokasi ini:"
+
+#: ../katze/katze-http-auth.c:127
+msgid "Username"
+msgstr "Nama Pengguna"
+
+#: ../katze/katze-http-auth.c:138
+msgid "Password"
+msgstr "Sandi"
+
#: ../katze/katze-throbber.c:828
#, c-format
msgid "Named icon '%s' couldn't be loaded"
msgid "Animation frames are broken"
msgstr "Bingkai animasi rusak"
-#: ../katze/katze-utils.c:154 ../katze/katze-utils.c:352
+#: ../katze/katze-utils.c:200 ../katze/katze-utils.c:407
#, c-format
msgid "Property '%s' is invalid for %s"
msgstr "Properti '%s' tidak sah untuk %s"
-#: ../katze/katze-utils.c:178 ../katze/katze-utils.c:217
+#: ../katze/katze-utils.c:235 ../katze/katze-utils.c:264
msgid "Choose file"
msgstr "Pilih berkas"
-#: ../katze/katze-utils.c:198
+#: ../katze/katze-utils.c:250
msgid "Choose folder"
msgstr "Pilih folder"
+#: ../extensions/adblock.c:167
+msgid "Configure Advertisement filters"
+msgstr "Atur filter Iklan"
+
+#: ../extensions/adblock.c:304
+msgid "Configure _Advertisement filters..."
+msgstr "Atur filter _Iklan..."
+
+#: ../extensions/adblock.c:562
+msgid "Advertisement blocker"
+msgstr "Pemblokir Iklan"
+
+#: ../extensions/adblock.c:563
+msgid "Block advertisements according to a filter list"
+msgstr "Blok iklan berdasarkan sebuah senarai filter"
+
+#: ../extensions/colorful-tabs.c:115
+msgid "Tint tabs distinctly"
+msgstr "Warnai tab dengan jelas"
+
+#: ../extensions/colorful-tabs.c:151
+msgid "Colorful Tabs"
+msgstr "Tab Penuh Warna"
+
+#: ../extensions/colorful-tabs.c:152
+msgid "Tint each tab distinctly"
+msgstr "Warnai tiap tab dengan jelas"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:79
+#: ../extensions/cookie-manager/main.c:56
+msgid "Cookie Manager"
+msgstr "Manajer Kuki"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:111
+msgid ""
+"Deletes all shown cookies. If a filter is set, only those cookies are "
+"deleted which match the filter."
+msgstr ""
+"Hapus semua kuki yang ditampilkan. Jika sebuah filter diatur, hanya kuki "
+"yang cocok dengan filter yang dihapus."
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:126
+msgid "Expand All"
+msgstr "Perluas Semua"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:133
+msgid "Collapse All"
+msgstr "Perkecil Semua"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:460
+msgid "Do you really want to delete all cookies?"
+msgstr "Anda yakin ingin menghapus semua kuki?"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:462
+msgid "Question"
+msgstr "Pertanyaan"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:471
+msgid "Only cookies which match the filter will be deleted."
+msgstr "Hanya kuki yang cocok dengan filter yang akan dihapus."
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:539
+msgid "At the end of the session"
+msgstr "Di akhir sesi"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:542
+#, 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>Host</b>: %s\n"
+"<b>Nama</b>: %s\n"
+"<b>Nilai</b>: %s\n"
+"<b>Alamat</b>: %s\n"
+"<b>Keamanan</b>: %s\n"
+"<b>Kadaluwarsa</b>: %s"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:548
+msgid "Yes"
+msgstr "Ya"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:548
+msgid "No"
+msgstr "Tidak"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:811
+msgid "Name"
+msgstr "Nama"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:862
+msgid "_Expand All"
+msgstr "_Perluas Semua"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:870
+msgid "_Collapse All"
+msgstr "P_erkecil Semua"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:923
+msgid "Filter:"
+msgstr "Filter:"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:928
+msgid ""
+"Enter a filter string to show only cookies whose name or domain field match "
+"the entered filter"
+msgstr ""
+"Masukkan sebuah tali filter untuk menampilkan hanya kuki yang nama atau "
+"daerah ranahnya cocok dengan filter yang dimasukkan"
+
+#: ../extensions/cookie-manager/main.c:40
+msgid "_Cookie Manager"
+msgstr "Manajer _Kuki"
+
+#: ../extensions/cookie-manager/main.c:57
+msgid "List, view and delete cookies"
+msgstr "Senarai, tampilan dan hapus kuki"
+
+#: ../extensions/feed-panel/feed-atom.c:242
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr "Gagal untuk mencari elemen Atom \"lema\" yang diperlukan di data XML."
+
+#: ../extensions/feed-panel/feed-atom.c:348
+msgid "Failed to find required Atom \"feed\" elements in XML data."
+msgstr "Gagal untuk mencari elemen Atom \"umpan\" yang diperlukan di data 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 "Terakhir dimutakhirkan: %s."
+
+#: ../extensions/feed-panel/feed-panel.c:664
+msgid "Feeds"
+msgstr "Umpan"
+
+#: ../extensions/feed-panel/feed-panel.c:717
+msgid "Add new feed"
+msgstr "Tambah umpan baru"
+
+#: ../extensions/feed-panel/feed-panel.c:724
+msgid "Delete feed"
+msgstr "Hapus umpan"
+
+#: ../extensions/feed-panel/feed-panel.c:807
+msgid "_Feeds"
+msgstr "_Umpan"
+
+#: ../extensions/feed-panel/feed-parse.c:185
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr "Gagal mencari elemen root di umpan data XML."
+
+#: ../extensions/feed-panel/feed-parse.c:225
+#, c-format
+msgid "Unsupported feed format."
+msgstr "Format umpan tak didukung."
+
+#: ../extensions/feed-panel/feed-parse.c:255
+#, c-format
+msgid "Failed to parse XML feed: %s"
+msgstr "Gagal menguraikan umpan XML: %s"
+
+#: ../extensions/feed-panel/feed-rss.c:46
+msgid "Failed to find \"channel\" element in RSS XML data."
+msgstr "Gagal mencari elemen \"kanal\" di data XML RSS."
+
+#: ../extensions/feed-panel/feed-rss.c:51
+msgid "Unsupported RSS version found."
+msgstr "Versi RSS tak didukung telah ditemukan."
+
+#: ../extensions/feed-panel/feed-rss.c:148
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr "Gagal mencari elemen \"item\" RSS yang diperlukan di data XML."
+
+#: ../extensions/feed-panel/feed-rss.c:248
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr "Gagal mencari elemen \"kanal\" RSS yang diperlukan di data XML."
+
+#: ../extensions/feed-panel/main.c:114
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr "Umpan '%s' telah ada"
+
+#: ../extensions/feed-panel/main.c:191
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr "Gagal memuat umpan '%s'"
+
+#: ../extensions/feed-panel/main.c:331
+msgid "New feed"
+msgstr "Umpan baru"
+
+#: ../extensions/feed-panel/main.c:489
+msgid "Feed Panel"
+msgstr "Panel Umpan"
+
+#: ../extensions/feed-panel/main.c:490
+msgid "Read Atom/ RSS feeds"
+msgstr "Baca umpan Atom/ RSS"
+
+#: ../extensions/mouse-gestures/main.c:236
+msgid "Mouse Gestures"
+msgstr "Gerak Tetikus"
+
+#: ../extensions/mouse-gestures/main.c:237
+msgid "Control Midori by moving the mouse"
+msgstr "Kendalikan Midori dengan menggerakkan tetikus"
+
#. 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 "Pageholder"
-#: ../extensions/page-holder.c:128
+#: ../extensions/page-holder.c:161
msgid "_Pageholder"
msgstr "_Pageholder"
-#: ../extensions/statusbar-features.c:30
+#: ../extensions/shortcuts.c:172
+msgid "Customize Keyboard shortcuts"
+msgstr "Sesuaikan jalan pintas Papan Ketik"
+
+#: ../extensions/shortcuts.c:264
+msgid "Customize Sh_ortcuts..."
+msgstr "Sesuaikan J_alan Pintas..."
+
+#: ../extensions/shortcuts.c:303
+msgid "Shortcuts"
+msgstr "Jalan Pintas"
+
+#: ../extensions/shortcuts.c:304
+msgid "View and edit keyboard shortcuts"
+msgstr "Tampilkan dan sunting jalan pintas papan ketik"
+
+#: ../extensions/statusbar-features.c:84
msgid "Images"
-msgstr ""
+msgstr "Gambar"
-#: ../extensions/statusbar-features.c:37
-#, fuzzy
+#: ../extensions/statusbar-features.c:96
msgid "Scripts"
-msgstr "Skrip pengguna"
+msgstr "Skrip"
+
+#: ../extensions/statusbar-features.c:149
+msgid "Statusbar Features"
+msgstr "Fitur Batang Status"
+
+#: ../extensions/statusbar-features.c:150
+msgid "Easily toggle features on web pages on and off"
+msgstr "Matikan atau hidupkan dengan mudah fitur-fitur di halaman web"
-#: ../extensions/statusbar-features.c:44
-msgid "Plugins"
+#: ../extensions/tab-panel.c:383 ../extensions/tab-panel.c:443
+msgid "Tab Panel"
+msgstr "Panel Tab"
+
+#: ../extensions/tab-panel.c:427
+msgid "T_ab Panel"
+msgstr "Panel T_ab"
+
+#: ../extensions/tab-panel.c:444
+msgid "Show tabs in a vertical panel"
+msgstr "Tampilkan tab di sebuah panel vertikal"
+
+#: ../extensions/toolbar-editor.c:391
+msgid "Customize Toolbar"
+msgstr "Sesuaikan Batang Alat"
+
+#: ../extensions/toolbar-editor.c:407
+msgid ""
+"Select items to be displayed on the toolbar. Items can be reodered by drag "
+"and drop."
msgstr ""
+"Pilih item yang akan ditampilkan di batang alat. Item dapat diubah urutannya "
+"dengan seret dan taruh."
+
+#: ../extensions/toolbar-editor.c:423
+msgid "Available Items"
+msgstr "Item Tersedia"
+
+#: ../extensions/toolbar-editor.c:444
+msgid "Displayed Items"
+msgstr "Item Ditampilkan"
+
+#: ../extensions/toolbar-editor.c:579
+msgid "Customize _Toolbar..."
+msgstr "Sesuaikan _Batang Alat..."
+
+#: ../extensions/toolbar-editor.c:611
+msgid "Toolbar Editor"
+msgstr "Penyunting Batang Alat"
+
+#: ../extensions/toolbar-editor.c:612
+msgid "Easily edit the toolbar layout"
+msgstr "Sunting tata letak batang alat dengan mudah"
+
+#~ msgid "_Closed Tabs and Windows"
+#~ msgstr "Tutup Tab dan _Jendela"
+
+#~ msgid "URIs"
+#~ msgstr "URI"
+
+#~ msgid "[URIs]"
+#~ msgstr "[URI]"
+
+#~ msgid "_URL:"
+#~ msgstr "_URL:"
+
+#~ msgid "Root"
+#~ msgstr "Root"
+
+#~ msgid "_Quick Find"
+#~ msgstr "_Cari Cepat"
+
+#~ msgid "Quickly jump to a word or phrase"
+#~ msgstr "Lompat segera ke kata atau frasa"
+
+#~ msgid "Last open pages"
+#~ msgstr "Halaman terakhir dibuka"
+
+#~ msgid "Both"
+#~ msgstr "Keduanya"
+
+#~ msgid "Both horizontal"
+#~ msgstr "Keduanya horizontal"
+
+#~ msgid "Load on Startup"
+#~ msgstr "Dimuat Saat Hidupkan"
+
+#~ msgid "Download Folder"
+#~ msgstr "Folder Unduh"
+
+#~ msgid "HTTP Proxy"
+#~ msgstr "Proxy HTTP"
+
+#~ msgid "Open URL in New _Tab"
+#~ msgstr "Buka URL di _Tab Baru"
+
+#~ msgid "Source"
+#~ msgstr "Sumber"
+
+#~ msgid "_Icon (name or file):"
+#~ msgstr "_Ikon (nama atau berkas):"
+
+#~ msgid "Manage search engines"
+#~ msgstr "Atur mesin pencari"
+
+#~ msgid "Warning: You are using a superuser account!"
+#~ msgstr "Peringatan: Anda menggunakan akun superuser!"
+
+#~ msgid "%s has no property '%s'"
+#~ msgstr "%s tak memiliki properti '%s'"
+
+#~ msgid "%s cannot be assigned to %s.%s"
+#~ msgstr "%s tak dapat ditugaskan ke %s.%s"
+
+#~ msgid "%s.%s cannot be accessed"
+#~ msgstr "%s.%s tak dapat diakses"
-#~ msgid "Open in Page_holder..."
-#~ msgstr "Buka di Page_holder..."
+#~ msgid "_Enable"
+#~ msgstr "_Aktifkan"
-#~ msgid "Open the current page in the pageholder"
-#~ msgstr "Buka halaman saat ini di pageholder"
+#~ msgid "_Disable"
+#~ msgstr "_Non Aktifkan"
#~ msgid "Last pageholder URI"
#~ msgstr "URI pageholder terakhir"
msgstr ""
"Project-Id-Version: Midori 0.1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-09 18:16+0900\n"
-"PO-Revision-Date: 2009-08-09 18:18+0900\n"
+"POT-Creation-Date: 2009-10-12 22:45+0900\n"
+"PO-Revision-Date: 2009-10-12 22:57+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"
msgstr "軽量級ウェブブラウザ"
#: ../data/midori.desktop.in.h:2
-#: ../midori/main.c:1343
-#: ../midori/main.c:1517
-#: ../midori/main.c:1525
-#: ../midori/main.c:1536
-#: ../midori/midori-websettings.c:287
+#: ../midori/main.c:1469
+#: ../midori/main.c:1643
+#: ../midori/main.c:1651
+#: ../midori/main.c:1662
+#: ../midori/midori-websettings.c:289
msgid "Midori"
msgstr "Midori"
msgid "Web Browser"
msgstr "ウェブブラウザ"
-#: ../midori/main.c:96
+#: ../midori/main.c:102
#, c-format
msgid "The configuration couldn't be loaded: %s\n"
msgstr "設定を読み込めませんでした: %s\n"
-#: ../midori/main.c:151
+#: ../midori/main.c:157
#, c-format
msgid "Value '%s' is invalid for %s"
msgstr "'%s' は %s の値として無効です"
-#: ../midori/main.c:158
-#: ../midori/main.c:238
+#: ../midori/main.c:164
+#: ../midori/main.c:245
#, c-format
msgid "Invalid configuration value '%s'"
msgstr "無効な設定値 '%s'"
-#: ../midori/main.c:350
+#: ../midori/main.c:369
#, c-format
msgid "Failed to open database: %s\n"
msgstr "データベースのオープンに失敗しました: %s\n"
-#: ../midori/main.c:382
+#: ../midori/main.c:401
#, c-format
msgid "Failed to execute database statement: %s\n"
msgstr "データベース文の実行に失敗しました: %s\n"
-#: ../midori/main.c:436
+#: ../midori/main.c:455
#, c-format
msgid "Failed to remove history item: %s\n"
msgstr "履歴アイテムの削除に失敗しました: %s\n"
-#: ../midori/main.c:460
+#: ../midori/main.c:479
#, c-format
msgid "Failed to clear history: %s\n"
msgstr "履歴のクリアに失敗しました: %s\n"
-#: ../midori/main.c:483
-#: ../midori/main.c:517
-#: ../midori/main.c:533
+#: ../midori/main.c:502
+#: ../midori/main.c:536
+#: ../midori/main.c:552
#, 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:712
+#: ../midori/main.c:731
#, c-format
msgid "Failed to remove old history items: %s\n"
msgstr "古い履歴アイテムの削除に失敗しました: %s\n"
-#: ../midori/main.c:741
+#: ../midori/main.c:760
#, c-format
msgid "The configuration couldn't be saved. %s"
msgstr "設定を保存できませんでした。%s"
-#: ../midori/main.c:779
+#: ../midori/main.c:798
#, c-format
msgid "The search engines couldn't be saved. %s"
msgstr "検索エンジンを保存できませんでした。%s"
-#: ../midori/main.c:798
-#: ../midori/main.c:826
-#: ../midori/main.c:855
+#: ../midori/main.c:817
+#: ../midori/main.c:845
+#: ../midori/main.c:874
#, c-format
msgid "The bookmarks couldn't be saved. %s"
msgstr "ブックマークを保存できませんでした。%s"
#. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:878
-#: ../midori/main.c:901
+#: ../midori/main.c:897
+#: ../midori/main.c:920
#, c-format
msgid "The trash couldn't be saved. %s"
msgstr "ゴミ箱を保存できませんでした。%s"
-#: ../midori/main.c:974
+#: ../midori/main.c:988
+#: ../midori/main.c:1160
#, c-format
msgid "The session couldn't be saved. %s"
msgstr "セッションは保存できませんでした。%s"
-#: ../midori/main.c:1101
+#: ../midori/main.c:1189
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:1116
+#: ../midori/main.c:1204
msgid "Modify _preferences"
msgstr "設定を変更する(_P)"
-#: ../midori/main.c:1120
+#: ../midori/main.c:1208
msgid "Reset the last _session"
msgstr "最後のセッションをリセットする(_S)"
-#: ../midori/main.c:1125
+#: ../midori/main.c:1213
msgid "Disable all _extensions"
msgstr "すべてのエクステンションを無効にする(_E)"
-#: ../midori/main.c:1343
+#: ../midori/main.c:1369
+#: ../midori/main.c:1870
+#, c-format
+msgid "The session couldn't be loaded: %s\n"
+msgstr "セッションを読み込めませんでした: %s\n"
+
+#: ../midori/main.c:1469
msgid "No filename specified"
msgstr "ファイル名が指定されていません"
-#: ../midori/main.c:1366
+#: ../midori/main.c:1492
msgid "An unknown error occured."
msgstr "未知のエラーが発生しました。"
-#: ../midori/main.c:1398
+#: ../midori/main.c:1524
#, c-format
msgid "Snapshot saved to: %s\n"
msgstr "スナップショットを取得しました: %s\n"
# CLI --help
-#: ../midori/main.c:1447
+#: ../midori/main.c:1573
msgid "Run ADDRESS as a web application"
msgstr "ADDRESS をウェブアプリケーションとして実行する"
-#: ../midori/main.c:1447
+#: ../midori/main.c:1573
msgid "ADDRESS"
msgstr "ADDRESS"
# CLI --help
-#: ../midori/main.c:1449
+#: ../midori/main.c:1575
msgid "Use FOLDER as configuration folder"
msgstr "設定フォルダとして FOLDER を使用する"
-#: ../midori/main.c:1449
+#: ../midori/main.c:1575
msgid "FOLDER"
msgstr "FOLDER"
# CLI --help
-#: ../midori/main.c:1451
+#: ../midori/main.c:1577
msgid "Run the specified filename as javascript"
msgstr "指定されたファイル名を javascript として実行する"
# CLI --help
-#: ../midori/main.c:1454
+#: ../midori/main.c:1580
msgid "Take a snapshot of the specified URI"
msgstr "指定された URI のスナップショットを取得する"
# CLI --help
-#: ../midori/main.c:1457
+#: ../midori/main.c:1583
msgid "Execute the specified command"
msgstr "指定されたコマンドを実行する"
# CLI --help
-#: ../midori/main.c:1459
+#: ../midori/main.c:1585
msgid "Display program version"
msgstr "プログラムのバージョンを表示する"
-#: ../midori/main.c:1461
+#: ../midori/main.c:1587
msgid "Addresses"
msgstr "アドレス"
-#: ../midori/main.c:1514
+#: ../midori/main.c:1640
msgid "[Addresses]"
msgstr "[アドレス]"
-#: ../midori/main.c:1537
+#: ../midori/main.c:1663
msgid "Please report comments, suggestions and bugs to:"
msgstr "コメント、ご提案、またはバグの報告はこちらまでお願いします:"
-#: ../midori/main.c:1539
+#: ../midori/main.c:1665
msgid "Check for new versions at:"
msgstr "新しいバージョンのチェックはこちら:"
-#: ../midori/main.c:1619
+#: ../midori/main.c:1745
msgid "The specified configuration folder is invalid."
msgstr "指定された設定フォルダが正しくありません。"
-#: ../midori/main.c:1655
+#: ../midori/main.c:1793
msgid "An instance of Midori is already running but not responding.\n"
msgstr "Midori のインスタンスはすでに実行中ですが応答がありません。\n"
-#: ../midori/main.c:1715
+#: ../midori/main.c:1837
#, c-format
msgid "The search engines couldn't be loaded. %s\n"
msgstr "検索エンジンを読み込めませんでした。%s\n"
-#: ../midori/main.c:1727
+#: ../midori/main.c:1855
#, c-format
msgid "The bookmarks couldn't be loaded: %s\n"
msgstr "ブックマークを読み込めませんでした: %s\n"
-#: ../midori/main.c:1742
-#, c-format
-msgid "The session couldn't be loaded: %s\n"
-msgstr "セッションを読み込めませんでした: %s\n"
-
-#: ../midori/main.c:1755
+#: ../midori/main.c:1883
#, c-format
msgid "The trash couldn't be loaded: %s\n"
msgstr "ゴミ箱を読み込めませんでした: %s\n"
-#: ../midori/main.c:1768
+#: ../midori/main.c:1896
#, c-format
msgid "The history couldn't be loaded: %s\n"
msgstr "履歴を読み込めませんでした: %s\n"
-#: ../midori/main.c:1780
+#: ../midori/main.c:1908
msgid "The following errors occured:"
msgstr "次のエラーが発生しました:"
-#: ../midori/main.c:1796
+#: ../midori/main.c:1924
msgid "_Ignore"
msgstr "無視(_I)"
-#: ../midori/midori-array.c:250
+#: ../midori/midori-array.c:251
msgid "File not found."
msgstr "ファイルが見つかりません。"
-#: ../midori/midori-array.c:258
-#: ../midori/midori-array.c:267
+#: ../midori/midori-array.c:260
+#: ../midori/midori-array.c:270
msgid "Malformed document."
msgstr "不正な形式のドキュメントです。"
-#: ../midori/midori-array.c:429
-#: ../midori/sokoke.c:694
+#: ../midori/midori-array.c:437
+#: ../midori/sokoke.c:798
#, c-format
msgid "Writing failed."
msgstr "書き込みに失敗しました。"
-#: ../midori/midori-browser.c:307
-#: ../midori/midori-browser.c:4275
-#: ../midori/midori-browser.c:4281
+#: ../midori/midori-browser.c:310
+#: ../midori/midori-browser.c:4530
+#: ../midori/midori-browser.c:4536
msgid "Reload the current page"
msgstr "現在のページを再読み込みします"
-#: ../midori/midori-browser.c:318
-#: ../midori/midori-browser.c:4278
+#: ../midori/midori-browser.c:321
+#: ../midori/midori-browser.c:4533
msgid "Stop loading the current page"
msgstr "現在のページの読み込みを中止します"
-#: ../midori/midori-browser.c:409
+#: ../midori/midori-browser.c:416
#, c-format
msgid "%d%% loaded"
msgstr "%d%% ロードしました"
-#: ../midori/midori-browser.c:434
+#: ../midori/midori-browser.c:441
#, c-format
msgid "Unexpected action '%s'."
msgstr "'%s' は想定外のアクションです。"
-#: ../midori/midori-browser.c:616
+#: ../midori/midori-browser.c:638
msgid "New folder"
msgstr "新しいフォルダ"
-#: ../midori/midori-browser.c:616
+#: ../midori/midori-browser.c:638
msgid "Edit folder"
msgstr "フォルダの編集"
-#: ../midori/midori-browser.c:618
+#: ../midori/midori-browser.c:640
msgid "New bookmark"
msgstr "新しいブックマーク"
-#: ../midori/midori-browser.c:618
+#: ../midori/midori-browser.c:640
msgid "Edit bookmark"
msgstr "ブックマークの編集"
-#: ../midori/midori-browser.c:648
+#: ../midori/midori-browser.c:670
msgid "_Title:"
msgstr "タイトル(_T):"
-#: ../midori/midori-browser.c:661
+#: ../midori/midori-browser.c:683
#: ../midori/midori-searchaction.c:952
msgid "_Description:"
msgstr "説明(_D):"
-#: ../midori/midori-browser.c:680
+#: ../midori/midori-browser.c:702
#: ../midori/midori-searchaction.c:966
-#: ../extensions/feed-panel/main.c:343
+#: ../extensions/feed-panel/main.c:368
msgid "_Address:"
msgstr "アドレス(_A):"
-#: ../midori/midori-browser.c:699
+#: ../midori/midori-browser.c:725
msgid "_Folder:"
msgstr "フォルダ(_F):"
-#: ../midori/midori-browser.c:704
-#: ../midori/midori-browser.c:745
+#: ../midori/midori-browser.c:730
+#: ../midori/midori-browser.c:771
msgid "Toplevel folder"
msgstr "トップレベルフォルダ"
-#: ../midori/midori-browser.c:821
+#: ../midori/midori-browser.c:849
msgid "Save file as"
msgstr "名前を付けて保存"
-#: ../midori/midori-browser.c:1181
-#: ../panels/midori-transfers.c:271
+#: ../midori/midori-browser.c:1226
+#: ../panels/midori-transfers.c:272
#, c-format
msgid "%s of %s"
msgstr "%s / %s"
-#: ../midori/midori-browser.c:1218
+#: ../midori/midori-browser.c:1263
#, c-format
msgid "The file '<b>%s</b>' has been downloaded."
msgstr "ファイル '<b>%s</b>' をダウンロードしました。"
-#: ../midori/midori-browser.c:1222
+#: ../midori/midori-browser.c:1267
msgid "Transfer completed"
msgstr "転送完了"
-#: ../midori/midori-browser.c:1363
+#: ../midori/midori-browser.c:1408
msgid "Save file"
msgstr "ファイルの保存"
-#: ../midori/midori-browser.c:2030
+#: ../midori/midori-browser.c:2069
msgid "Open file"
msgstr "ファイルを開く"
-#: ../midori/midori-browser.c:3476
+#: ../midori/midori-browser.c:3419
+#: ../extensions/feed-panel/main.c:356
+msgid "New feed"
+msgstr "新しいフィード"
+
+#: ../midori/midori-browser.c:3674
#: ../panels/midori-bookmarks.c:781
#: ../panels/midori-history.c:812
msgid "Open all in _Tabs"
msgstr "タブですべて開く(_T)"
-#: ../midori/midori-browser.c:3483
+#: ../midori/midori-browser.c:3681
#: ../panels/midori-bookmarks.c:787
#: ../panels/midori-history.c:818
#: ../extensions/feed-panel/feed-panel.c:542
msgid "Open in New _Tab"
msgstr "新しいタブで開く(_T)"
-#: ../midori/midori-browser.c:3486
+#: ../midori/midori-browser.c:3684
#: ../panels/midori-bookmarks.c:789
#: ../panels/midori-history.c:820
#: ../extensions/feed-panel/feed-panel.c:544
msgstr "新しいウィンドウで開く(_W)"
# Dialog title
-#: ../midori/midori-browser.c:3796
+#: ../midori/midori-browser.c:3994
msgid "Clear Private Data"
msgstr "プライベートデータのクリア"
# Button label
-#: ../midori/midori-browser.c:3800
+#: ../midori/midori-browser.c:3998
msgid "_Clear private data"
msgstr "プライベートデータのクリア(_C)"
-#: ../midori/midori-browser.c:3813
+#: ../midori/midori-browser.c:4011
msgid "Clear the following data:"
msgstr "以下のデータをクリアします:"
-#: ../midori/midori-browser.c:3823
-#: ../midori/midori-preferences.c:671
+#: ../midori/midori-browser.c:4021
+#: ../midori/midori-preferences.c:675
#: ../panels/midori-history.c:108
msgid "History"
msgstr "履歴"
-#: ../midori/midori-browser.c:3828
+#: ../midori/midori-browser.c:4026
msgid "Cookies"
msgstr "Cookie"
-#: ../midori/midori-browser.c:3833
+#: ../midori/midori-browser.c:4031
msgid "'Flash' Cookies"
msgstr "'Flash' Cookie"
-#: ../midori/midori-browser.c:3838
+#: ../midori/midori-browser.c:4036
msgid "Website icons"
msgstr "ウェブサイトアイコン"
-#: ../midori/midori-browser.c:3843
-#: ../midori/sokoke.c:868
+#: ../midori/midori-browser.c:4041
+#: ../midori/sokoke.c:971
msgid "_Closed Tabs"
msgstr "閉じたタブ(_C)"
-#: ../midori/midori-browser.c:3851
+#: ../midori/midori-browser.c:4049
msgid "Clear private data when _quitting Midori"
msgstr "Midori 終了時にプライベートデータをクリアする(_Q)"
-#: ../midori/midori-browser.c:3935
+#: ../midori/midori-browser.c:4145
msgid "A lightweight web browser."
msgstr "軽快なウェブブラウザ"
-#: ../midori/midori-browser.c:3943
+#: ../midori/midori-browser.c:4161
msgid "translator-credits"
msgstr "Masato Hashimoto <hashimo@xfce.org>"
-#: ../midori/midori-browser.c:4209
+#: ../midori/midori-browser.c:4456
msgid "_File"
msgstr "ファイル(_F)"
-#: ../midori/midori-browser.c:4211
-#: ../midori/sokoke.c:869
+#: ../midori/midori-browser.c:4458
+#: ../midori/sokoke.c:972
msgid "New _Window"
msgstr "新しいウィンドウ(_W)"
# tooltip
-#: ../midori/midori-browser.c:4212
+#: ../midori/midori-browser.c:4459
msgid "Open a new window"
msgstr "新しいウィンドウを開きます"
# tooltip
-#: ../midori/midori-browser.c:4215
+#: ../midori/midori-browser.c:4462
msgid "Open a new tab"
msgstr "新しいタブを開きます"
# tooltip
-#: ../midori/midori-browser.c:4218
+#: ../midori/midori-browser.c:4465
msgid "Open a file"
msgstr "ファイルを開きます"
# tooltip
-#: ../midori/midori-browser.c:4221
+#: ../midori/midori-browser.c:4468
msgid "Save to a file"
msgstr "ファイルへ保存します"
-#: ../midori/midori-browser.c:4223
+#: ../midori/midori-browser.c:4470
msgid "Add to Speed _dial"
msgstr "スピードダイアルに追加(_D)"
# tooltip
-#: ../midori/midori-browser.c:4224
+#: ../midori/midori-browser.c:4471
msgid "Add shortcut to speed dial"
msgstr "ショートカットをスピードダイアルに追加します"
-#: ../midori/midori-browser.c:4226
+#: ../midori/midori-browser.c:4473
msgid "_Close Tab"
msgstr "タブを閉じる(_C)"
# tooltip
-#: ../midori/midori-browser.c:4227
+#: ../midori/midori-browser.c:4474
msgid "Close the current tab"
msgstr "現在のタブを閉じます"
-#: ../midori/midori-browser.c:4229
+#: ../midori/midori-browser.c:4476
msgid "C_lose Window"
msgstr "ウィンドウを閉じる(_L)"
# tooltip
-#: ../midori/midori-browser.c:4230
+#: ../midori/midori-browser.c:4477
msgid "Close this window"
msgstr "このウィンドウを閉じます"
# tooltip
-#: ../midori/midori-browser.c:4233
+#: ../midori/midori-browser.c:4480
msgid "Print the current page"
msgstr "現在のページを印刷します"
# tooltip
-#: ../midori/midori-browser.c:4236
+#: ../midori/midori-browser.c:4483
msgid "Quit the application"
msgstr "このアプリケーションを終了します"
-#: ../midori/midori-browser.c:4238
+#: ../midori/midori-browser.c:4485
msgid "_Edit"
msgstr "編集(_E)"
+#: ../midori/midori-browser.c:4489
+msgid "Undo the last modification"
+msgstr "最後の修正を元に戻す"
+
+#: ../midori/midori-browser.c:4492
+msgid "Redo the last modification"
+msgstr "最後の修正をやり直す"
+
# tooltip
-#: ../midori/midori-browser.c:4241
+#: ../midori/midori-browser.c:4496
msgid "Cut the selected text"
msgstr "選択した文字を切り取ります"
# tooltip
-#: ../midori/midori-browser.c:4244
-#: ../midori/midori-browser.c:4247
+#: ../midori/midori-browser.c:4499
+#: ../midori/midori-browser.c:4502
msgid "Copy the selected text"
msgstr "選択した文字をコピーします"
# tooltip
-#: ../midori/midori-browser.c:4250
+#: ../midori/midori-browser.c:4505
msgid "Paste text from the clipboard"
msgstr "クリップボードから文字を貼り付けます"
# tooltip
-#: ../midori/midori-browser.c:4253
+#: ../midori/midori-browser.c:4508
msgid "Delete the selected text"
msgstr "選択した文字を削除します"
# tooltip
-#: ../midori/midori-browser.c:4256
+#: ../midori/midori-browser.c:4511
msgid "Select all text"
msgstr "すべての文字を選択します"
# tooltip
-#: ../midori/midori-browser.c:4259
+#: ../midori/midori-browser.c:4514
msgid "Find a word or phrase in the page"
msgstr "ページ内の単語やフレーズを検索します"
-#: ../midori/midori-browser.c:4261
+#: ../midori/midori-browser.c:4516
msgid "Find _Next"
msgstr "次を検索(_N)"
# tooltip
-#: ../midori/midori-browser.c:4262
+#: ../midori/midori-browser.c:4517
msgid "Find the next occurrence of a word or phrase"
msgstr "指定文字列に一致する次の候補を検索します"
-#: ../midori/midori-browser.c:4264
+#: ../midori/midori-browser.c:4519
msgid "Find _Previous"
msgstr "前を検索(_P)"
# tooltip
-#: ../midori/midori-browser.c:4265
+#: ../midori/midori-browser.c:4520
msgid "Find the previous occurrence of a word or phrase"
msgstr "指定文字列に一致する前の候補を検索します"
# tooltip
-#: ../midori/midori-browser.c:4269
+#: ../midori/midori-browser.c:4524
msgid "Configure the application preferences"
msgstr "このアプリケーションの設定を行います"
-#: ../midori/midori-browser.c:4271
+#: ../midori/midori-browser.c:4526
msgid "_View"
msgstr "表示(_V)"
-#: ../midori/midori-browser.c:4272
+#: ../midori/midori-browser.c:4527
msgid "_Toolbars"
msgstr "ツールバー(_T)"
# tooltip
-#: ../midori/midori-browser.c:4284
+#: ../midori/midori-browser.c:4539
msgid "Increase the zoom level"
msgstr "ズームレベルを大きくします"
# tooltip
-#: ../midori/midori-browser.c:4287
+#: ../midori/midori-browser.c:4542
msgid "Decrease the zoom level"
msgstr "ズームレベルを小さくします"
# tooltip
-#: ../midori/midori-browser.c:4290
+#: ../midori/midori-browser.c:4545
msgid "Reset the zoom level"
msgstr "ズームレベルをリセットします"
-#: ../midori/midori-browser.c:4291
+#: ../midori/midori-browser.c:4546
msgid "_Encoding"
msgstr "エンコーディング(_E)"
-#: ../midori/midori-browser.c:4293
+#: ../midori/midori-browser.c:4548
msgid "View So_urce"
msgstr "ソースを表示(_U)"
# tooltip
-#: ../midori/midori-browser.c:4294
+#: ../midori/midori-browser.c:4549
msgid "View the source code of the page"
msgstr "ページのソースコードを表示します"
-#: ../midori/midori-browser.c:4296
+#: ../midori/midori-browser.c:4551
msgid "View Selection Source"
msgstr "選択領域のソースを表示"
# tooltip
-#: ../midori/midori-browser.c:4297
+#: ../midori/midori-browser.c:4552
msgid "View the source code of the selection"
msgstr "選択した領域のソースを表示します"
# tooltip
-#: ../midori/midori-browser.c:4301
+#: ../midori/midori-browser.c:4556
msgid "Toggle fullscreen view"
msgstr "全画面表示/解除を切り替えます"
-#: ../midori/midori-browser.c:4303
+#: ../midori/midori-browser.c:4558
msgid "_Go"
msgstr "移動(_G)"
# tooltip
-#: ../midori/midori-browser.c:4306
+#: ../midori/midori-browser.c:4561
msgid "Go back to the previous page"
msgstr "前のページへ戻ります"
# tooltip
-#: ../midori/midori-browser.c:4309
+#: ../midori/midori-browser.c:4564
msgid "Go forward to the next page"
msgstr "次のページへ進みます"
# tooltip
-#: ../midori/midori-browser.c:4312
+#: ../midori/midori-browser.c:4567
msgid "Go to your homepage"
msgstr "ホームページに移動します"
-#: ../midori/midori-browser.c:4314
+#: ../midori/midori-browser.c:4569
msgid "Empty Trash"
msgstr "ゴミ箱を空にする"
# tooltip
-#: ../midori/midori-browser.c:4315
+#: ../midori/midori-browser.c:4570
msgid "Delete the contents of the trash"
msgstr "ゴミ箱の中身を削除します"
-#: ../midori/midori-browser.c:4317
+#: ../midori/midori-browser.c:4572
msgid "Undo _Close Tab"
msgstr "閉じたタブを元に戻す(_C)"
# tooltip
-#: ../midori/midori-browser.c:4318
+#: ../midori/midori-browser.c:4573
msgid "Open the last closed tab"
msgstr "最後に閉じたタブを開きます"
# tooltip
-#: ../midori/midori-browser.c:4322
+#: ../midori/midori-browser.c:4577
#: ../panels/midori-bookmarks.c:231
msgid "Add a new bookmark"
msgstr "新しいブックマークを追加します"
-#: ../midori/midori-browser.c:4324
+#: ../midori/midori-browser.c:4579
msgid "Add a new _folder"
msgstr "新しいフォルダの追加(_F)"
# tooltip
-#: ../midori/midori-browser.c:4325
+#: ../midori/midori-browser.c:4580
msgid "Add a new bookmark folder"
msgstr "新しいブックマークフォルダを追加します"
-#: ../midori/midori-browser.c:4327
+#: ../midori/midori-browser.c:4582
#: ../midori/midori-searchaction.c:497
msgid "_Manage Search Engines"
msgstr "検索エンジンの管理(_M)"
# tooltip
-#: ../midori/midori-browser.c:4328
+#: ../midori/midori-browser.c:4583
msgid "Add, edit and remove search engines..."
msgstr "検索エンジンを追加、編集、または削除します..."
-#: ../midori/midori-browser.c:4331
+#: ../midori/midori-browser.c:4586
msgid "_Clear Private Data"
msgstr "プライベートデータのクリア(_C)"
# tooltip
-#: ../midori/midori-browser.c:4332
+#: ../midori/midori-browser.c:4587
msgid "Clear private data..."
msgstr "プライベートデータをクリアします..."
-#: ../midori/midori-browser.c:4336
+#: ../midori/midori-browser.c:4591
msgid "_Previous Tab"
msgstr "前のタブ(_P)"
# tooltip
-#: ../midori/midori-browser.c:4337
+#: ../midori/midori-browser.c:4592
msgid "Switch to the previous tab"
msgstr "前のタブへ切り替えます"
-#: ../midori/midori-browser.c:4339
+#: ../midori/midori-browser.c:4594
msgid "_Next Tab"
msgstr "次のタブ(_N)"
# tooltip
-#: ../midori/midori-browser.c:4340
+#: ../midori/midori-browser.c:4595
msgid "Switch to the next tab"
msgstr "次のタブへ切り替えます"
-#: ../midori/midori-browser.c:4342
+#: ../midori/midori-browser.c:4597
+msgid "Focus _Current Tab"
+msgstr "現在のタブにフォーカス(_C)"
+
+# tooltip
+#: ../midori/midori-browser.c:4598
+msgid "Focus the current tab"
+msgstr "現在のタブにフォーカスを移動します"
+
+#: ../midori/midori-browser.c:4600
+msgid "Open last _session"
+msgstr "最後のセッションを開く(_S)"
+
+#: ../midori/midori-browser.c:4601
+msgid "Open the tabs saved in the last session"
+msgstr "最後のセッションで保存されたタブを開きます"
+
+#: ../midori/midori-browser.c:4603
msgid "_Help"
msgstr "ヘルプ(_H)"
-#: ../midori/midori-browser.c:4344
+#: ../midori/midori-browser.c:4605
msgid "_Contents"
msgstr "目次(_C)"
# tooltip
-#: ../midori/midori-browser.c:4345
+#: ../midori/midori-browser.c:4606
msgid "Show the documentation"
msgstr "ドキュメントを表示します"
-#: ../midori/midori-browser.c:4347
+#: ../midori/midori-browser.c:4608
msgid "_Frequent Questions"
msgstr "よくある質問(_F)"
# tooltip
-#: ../midori/midori-browser.c:4348
+#: ../midori/midori-browser.c:4609
msgid "Show the Frequently Asked Questions"
msgstr "よくある質問とその回答を表示します"
-#: ../midori/midori-browser.c:4350
+#: ../midori/midori-browser.c:4611
msgid "_Report a Bug"
msgstr "バグを報告(_R)"
# tooltip
-#: ../midori/midori-browser.c:4351
+#: ../midori/midori-browser.c:4612
msgid "Open Midori's bug tracker"
msgstr "Midori のバグトラッカーを開きます"
# tooltip
-#: ../midori/midori-browser.c:4354
+#: ../midori/midori-browser.c:4615
msgid "Show information about the program"
msgstr "このプログラムについての情報を表示します"
-#: ../midori/midori-browser.c:4361
+#: ../midori/midori-browser.c:4622
msgid "P_rivate Browsing"
msgstr "プライベートブラウジング(_R)"
# tooltip
-#: ../midori/midori-browser.c:4362
+#: ../midori/midori-browser.c:4623
msgid "Don't save any private data while browsing"
msgstr "閲覧中に個人データを保存しません"
-#: ../midori/midori-browser.c:4367
+#: ../midori/midori-browser.c:4628
msgid "_Menubar"
msgstr "メニューバー(_M)"
# tooltip
-#: ../midori/midori-browser.c:4368
+#: ../midori/midori-browser.c:4629
msgid "Show menubar"
msgstr "メニューバーを表示します"
-#: ../midori/midori-browser.c:4371
+#: ../midori/midori-browser.c:4632
msgid "_Navigationbar"
msgstr "ナビゲーションバー(_N)"
# tooltip
-#: ../midori/midori-browser.c:4372
+#: ../midori/midori-browser.c:4633
msgid "Show navigationbar"
msgstr "ナビゲーションバーを表示します"
-#: ../midori/midori-browser.c:4375
+#: ../midori/midori-browser.c:4636
msgid "Side_panel"
msgstr "サイドパネル(_P)"
# tooltip
-#: ../midori/midori-browser.c:4376
+#: ../midori/midori-browser.c:4637
msgid "Show sidepanel"
msgstr "サイドパネルを表示します"
-#: ../midori/midori-browser.c:4379
+#: ../midori/midori-browser.c:4640
msgid "_Bookmarkbar"
msgstr "ブックマークバー(_B)"
# tooltip
-#: ../midori/midori-browser.c:4380
+#: ../midori/midori-browser.c:4641
msgid "Show bookmarkbar"
msgstr "ブックマークバーを表示します"
-#: ../midori/midori-browser.c:4383
+#: ../midori/midori-browser.c:4644
msgid "_Transferbar"
msgstr "転送バー(_T)"
# tooltip
-#: ../midori/midori-browser.c:4384
+#: ../midori/midori-browser.c:4645
msgid "Show transferbar"
msgstr "転送バーを表示します"
-#: ../midori/midori-browser.c:4387
+#: ../midori/midori-browser.c:4648
msgid "_Statusbar"
msgstr "ステータスバー(_S)"
# tooltip
-#: ../midori/midori-browser.c:4388
+#: ../midori/midori-browser.c:4649
msgid "Show statusbar"
msgstr "ステータスバーを表示します"
-#: ../midori/midori-browser.c:4395
+#: ../midori/midori-browser.c:4656
msgid "_Automatic"
msgstr "自動(_A)"
-#: ../midori/midori-browser.c:4398
-#: ../midori/midori-websettings.c:214
+#: ../midori/midori-browser.c:4659
+#: ../midori/midori-websettings.c:216
msgid "Chinese (BIG5)"
msgstr "中国語 (BIG5)"
#. i18n: A double underscore "__" is used to prevent an unwanted mnemonic
-#: ../midori/midori-browser.c:4402
+#: ../midori/midori-browser.c:4663
msgid "Japanese (SHIFT__JIS)"
msgstr "日本語 (SHIFT__JIS)"
-#: ../midori/midori-browser.c:4405
-#: ../midori/midori-websettings.c:216
+#: ../midori/midori-browser.c:4666
+#: ../midori/midori-websettings.c:218
msgid "Russian (KOI8-R)"
msgstr "ロシア語 (KOI8-R)"
-#: ../midori/midori-browser.c:4408
-#: ../midori/midori-websettings.c:217
+#: ../midori/midori-browser.c:4669
+#: ../midori/midori-websettings.c:219
msgid "Unicode (UTF-8)"
msgstr "Unicode (UTF-8)"
-#: ../midori/midori-browser.c:4411
-#: ../midori/midori-websettings.c:218
+#: ../midori/midori-browser.c:4672
+#: ../midori/midori-websettings.c:220
msgid "Western (ISO-8859-1)"
msgstr "西欧 (ISO-8859-1)"
-#: ../midori/midori-browser.c:4414
-#: ../midori/midori-websettings.c:219
-#: ../midori/midori-websettings.c:291
+#: ../midori/midori-browser.c:4675
+#: ../midori/midori-websettings.c:221
+#: ../midori/midori-websettings.c:294
msgid "Custom..."
msgstr "カスタム..."
-#: ../midori/midori-browser.c:4852
+#: ../midori/midori-browser.c:5159
msgid "_Separator"
msgstr "セパレータ(_S)"
-#: ../midori/midori-browser.c:4859
+#: ../midori/midori-browser.c:5166
msgid "_Location..."
msgstr "場所(_L)..."
# tooltip
-#: ../midori/midori-browser.c:4861
+#: ../midori/midori-browser.c:5168
msgid "Open a particular location"
msgstr "指定された場所を開きます"
-#: ../midori/midori-browser.c:4885
+#: ../midori/midori-browser.c:5192
msgid "_Web Search..."
msgstr "ウェブ検索(_W)..."
# tooltip
-#: ../midori/midori-browser.c:4887
+#: ../midori/midori-browser.c:5194
msgid "Run a web search"
msgstr "ウェブ検索を実行します"
# tooltip
-#: ../midori/midori-browser.c:4908
+#: ../midori/midori-browser.c:5215
msgid "Reopen a previously closed tab or window"
msgstr "これまでに閉じられたタブやウィンドウを再び開きます"
-#: ../midori/midori-browser.c:4923
+#: ../midori/midori-browser.c:5230
msgid "_Recently visited pages"
msgstr "最近訪れたページ(_R)"
# tooltip
-#: ../midori/midori-browser.c:4925
+#: ../midori/midori-browser.c:5232
msgid "Reopen pages that you visited earlier"
msgstr "以前に訪れたページを再び開きます"
-#: ../midori/midori-browser.c:4940
-#: ../midori/sokoke.c:857
+#: ../midori/midori-browser.c:5247
+#: ../midori/sokoke.c:961
msgid "_Bookmarks"
msgstr "ブックマーク(_B)"
# tooltip
-#: ../midori/midori-browser.c:4942
+#: ../midori/midori-browser.c:5249
msgid "Show the saved bookmarks"
msgstr "ブックマークを表示します"
-#: ../midori/midori-browser.c:4957
+#: ../midori/midori-browser.c:5264
msgid "_Tools"
msgstr "ツール(_T)"
-#: ../midori/midori-browser.c:4969
+#: ../midori/midori-browser.c:5276
msgid "_Window"
msgstr "ウィンドウ(_W)"
# tooltip
-#: ../midori/midori-browser.c:4971
+#: ../midori/midori-browser.c:5278
msgid "Show a list of all open tabs"
msgstr "開いているすべてのタブのリストを表示します"
-#: ../midori/midori-browser.c:4985
+#: ../midori/midori-browser.c:5292
msgid "_Menu"
msgstr "メニュー(_M)"
-#: ../midori/midori-browser.c:4987
+#: ../midori/midori-browser.c:5294
msgid "Menu"
msgstr "メニュー"
#. i18n: A panel at the bottom, to search text in pages
-#: ../midori/midori-browser.c:5173
+#: ../midori/midori-browser.c:5477
msgid "_Inline Find:"
msgstr "インライン検索(_I)"
-#: ../midori/midori-browser.c:5198
+#: ../midori/midori-browser.c:5502
msgid "Previous"
msgstr "前を検索"
-#: ../midori/midori-browser.c:5203
+#: ../midori/midori-browser.c:5507
msgid "Next"
msgstr "次を検索"
-#: ../midori/midori-browser.c:5208
+#: ../midori/midori-browser.c:5512
msgid "Match Case"
msgstr "大文字・小文字を区別"
-#: ../midori/midori-browser.c:5216
+#: ../midori/midori-browser.c:5520
msgid "Highlight Matches"
msgstr "強調表示"
-#: ../midori/midori-browser.c:5226
+#: ../midori/midori-browser.c:5530
msgid "Close Findbar"
msgstr "検索バーを閉じる"
-#: ../midori/midori-browser.c:5261
-#: ../extensions/cookie-manager/cookie-manager-page.c:109
-msgid "Delete All"
-msgstr "すべて削除"
+#: ../midori/midori-browser.c:5565
+#: ../panels/midori-transfers.c:143
+msgid "Clear All"
+msgstr "すべてクリア"
-#: ../midori/midori-browser.c:5598
+#: ../midori/midori-browser.c:5919
#, c-format
msgid "Unexpected setting '%s'"
msgstr "'%s' は予想外の設定です"
-#: ../midori/midori-locationaction.c:901
+#: ../midori/midori-locationaction.c:968
#, c-format
msgid "Search with %s"
msgstr "%s で検索"
-#: ../midori/midori-panel.c:382
-#: ../midori/midori-panel.c:384
+#: ../midori/midori-panel.c:381
+#: ../midori/midori-panel.c:383
msgid "Detach chosen panel from the window"
msgstr "選択したパネルをウィンドウから切り離す"
-#: ../midori/midori-panel.c:394
-#: ../midori/midori-panel.c:396
-#: ../midori/midori-panel.c:577
-#: ../midori/midori-panel.c:580
+#: ../midori/midori-panel.c:393
+#: ../midori/midori-panel.c:395
+#: ../midori/midori-panel.c:576
+#: ../midori/midori-panel.c:579
msgid "Align sidepanel to the right"
msgstr "サイドパネルを右側に配置する"
+#: ../midori/midori-panel.c:405
#: ../midori/midori-panel.c:406
-#: ../midori/midori-panel.c:407
msgid "Close panel"
msgstr "パネルを閉じます"
-#: ../midori/midori-panel.c:578
-#: ../midori/midori-panel.c:581
+#: ../midori/midori-panel.c:577
+#: ../midori/midori-panel.c:580
msgid "Align sidepanel to the left"
msgstr "サイドパネルを左側に配置する"
-#: ../midori/midori-panel.c:704
+#: ../midori/midori-panel.c:703
msgid "Show panel _titles"
msgstr "パネルタイトルの表示(_T)"
-#: ../midori/midori-panel.c:712
+#: ../midori/midori-panel.c:711
msgid "Show operating _controls"
msgstr "操作コントロールの表示(_C)"
-#: ../midori/midori-panel.c:783
+#: ../midori/midori-panel.c:782
msgid "Options"
msgstr "オプション"
-#: ../midori/midori-websettings.c:197
+#: ../midori/midori-websettings.c:199
msgid "Show Blank page"
msgstr "空白ページを表示"
-#: ../midori/midori-websettings.c:198
+#: ../midori/midori-websettings.c:200
msgid "Show Homepage"
msgstr "ホームページを表示"
-#: ../midori/midori-websettings.c:199
+#: ../midori/midori-websettings.c:201
msgid "Show last open tabs"
msgstr "最後に開いたタブを表示"
-#: ../midori/midori-websettings.c:215
+#: ../midori/midori-websettings.c:217
msgid "Japanese (SHIFT_JIS)"
msgstr "日本語 (SHIFT_JIS)"
-#: ../midori/midori-websettings.c:234
+#: ../midori/midori-websettings.c:236
msgid "New tab"
msgstr "新しいタブ"
-#: ../midori/midori-websettings.c:235
+#: ../midori/midori-websettings.c:237
msgid "New window"
msgstr "新しいウィンドウ"
-#: ../midori/midori-websettings.c:236
+#: ../midori/midori-websettings.c:238
msgid "Current tab"
msgstr "現在のタブ"
-#: ../midori/midori-websettings.c:251
+#: ../midori/midori-websettings.c:253
msgid "Default"
msgstr "デフォルト"
-#: ../midori/midori-websettings.c:252
+#: ../midori/midori-websettings.c:254
msgid "Icons"
msgstr "アイコン"
-#: ../midori/midori-websettings.c:253
+#: ../midori/midori-websettings.c:255
msgid "Text"
msgstr "文字"
-#: ../midori/midori-websettings.c:254
+#: ../midori/midori-websettings.c:256
msgid "Icons and text"
msgstr "アイコンと文字"
-#: ../midori/midori-websettings.c:255
+#: ../midori/midori-websettings.c:257
msgid "Text beside icons"
msgstr "アイコンと文字 (横方向)"
-#: ../midori/midori-websettings.c:270
+#: ../midori/midori-websettings.c:272
msgid "All cookies"
msgstr "すべての Cookie"
-#: ../midori/midori-websettings.c:271
+#: ../midori/midori-websettings.c:273
msgid "Session cookies"
msgstr "セッションの Cookie"
-#: ../midori/midori-websettings.c:272
-#: ../panels/midori-addons.c:94
+#: ../midori/midori-websettings.c:274
+#: ../panels/midori-addons.c:93
#: ../extensions/shortcuts.c:93
msgid "None"
msgstr "なし"
-#: ../midori/midori-websettings.c:288
+#: ../midori/midori-websettings.c:290
msgid "Safari"
msgstr "Safari"
-#: ../midori/midori-websettings.c:289
+#: ../midori/midori-websettings.c:291
+msgid "iPhone"
+msgstr "iPhone"
+
+#: ../midori/midori-websettings.c:292
msgid "Firefox"
msgstr "Firefox"
-#: ../midori/midori-websettings.c:290
+#: ../midori/midori-websettings.c:293
msgid "Internet Explorer"
msgstr "Internet Explorer"
-#: ../midori/midori-websettings.c:343
+#: ../midori/midori-websettings.c:346
msgid "Remember last window size"
msgstr "最後のウィンドウサイズを記憶する"
# tooltip
-#: ../midori/midori-websettings.c:344
+#: ../midori/midori-websettings.c:347
msgid "Whether to save the last window size"
msgstr "最後のウィンドウサイズを記憶します"
-#: ../midori/midori-websettings.c:352
+#: ../midori/midori-websettings.c:355
msgid "Last window width"
msgstr "最後のウィンドウの幅"
-#: ../midori/midori-websettings.c:353
+#: ../midori/midori-websettings.c:356
msgid "The last saved window width"
msgstr "最後に保存されたウィンドウ幅"
-#: ../midori/midori-websettings.c:361
+#: ../midori/midori-websettings.c:364
msgid "Last window height"
msgstr "最後のウィンドウの高さ"
# tooltip
-#: ../midori/midori-websettings.c:362
+#: ../midori/midori-websettings.c:365
msgid "The last saved window height"
msgstr "最後に保存されたウィンドウの高さにします"
-#: ../midori/midori-websettings.c:387
+#: ../midori/midori-websettings.c:390
msgid "Last panel position"
msgstr "最後のパネルの位置"
# tooltip
-#: ../midori/midori-websettings.c:388
+#: ../midori/midori-websettings.c:391
msgid "The last saved panel position"
msgstr "最後に保存されたパネルの位置にします"
#. i18n: The internal index of the last opened panel
-#: ../midori/midori-websettings.c:397
+#: ../midori/midori-websettings.c:400
msgid "Last panel page"
msgstr "最後のパネルページ"
# tooltip
-#: ../midori/midori-websettings.c:398
+#: ../midori/midori-websettings.c:401
msgid "The last saved panel page"
msgstr "最後に保存されたパネルのページです"
-#: ../midori/midori-websettings.c:406
+#: ../midori/midori-websettings.c:409
msgid "Last Web search"
msgstr "最後のウェブ検索"
-#: ../midori/midori-websettings.c:407
+#: ../midori/midori-websettings.c:410
msgid "The last saved Web search"
msgstr "最後に保存されたウェブ検索です"
-#: ../midori/midori-websettings.c:416
+#: ../midori/midori-websettings.c:419
msgid "Show Menubar"
msgstr "メニューバーを表示する"
# tooltip
-#: ../midori/midori-websettings.c:417
+#: ../midori/midori-websettings.c:420
msgid "Whether to show the menubar"
msgstr "メニューバーを表示します"
-#: ../midori/midori-websettings.c:425
+#: ../midori/midori-websettings.c:428
msgid "Show Navigationbar"
msgstr "ナビゲーションバーを表示する"
# tooltip
-#: ../midori/midori-websettings.c:426
+#: ../midori/midori-websettings.c:429
msgid "Whether to show the navigationbar"
msgstr "ナビゲーションバーを表示します"
-#: ../midori/midori-websettings.c:434
+#: ../midori/midori-websettings.c:437
msgid "Show Bookmarkbar"
msgstr "ブックマークバーを表示する"
# tooltip
-#: ../midori/midori-websettings.c:435
+#: ../midori/midori-websettings.c:438
msgid "Whether to show the bookmarkbar"
msgstr "ブックマークバーを表示します"
-#: ../midori/midori-websettings.c:443
+#: ../midori/midori-websettings.c:446
msgid "Show Panel"
msgstr "パネルを表示する"
# tooltip
-#: ../midori/midori-websettings.c:444
+#: ../midori/midori-websettings.c:447
msgid "Whether to show the panel"
msgstr "パネルを表示します"
-#: ../midori/midori-websettings.c:459
+#: ../midori/midori-websettings.c:462
msgid "Show Transferbar"
msgstr "転送バーを表示する"
# tooltip
-#: ../midori/midori-websettings.c:460
+#: ../midori/midori-websettings.c:463
msgid "Whether to show the transferbar"
msgstr "転送バーを表示します"
-#: ../midori/midori-websettings.c:468
+#: ../midori/midori-websettings.c:471
msgid "Show Statusbar"
msgstr "ステータスバーを表示する"
# tooltip
-#: ../midori/midori-websettings.c:469
+#: ../midori/midori-websettings.c:472
msgid "Whether to show the statusbar"
msgstr "ステータスバーを表示します"
-#: ../midori/midori-websettings.c:478
+#: ../midori/midori-websettings.c:481
msgid "Toolbar Style:"
msgstr "ツールバー方式:"
# tooltip
-#: ../midori/midori-websettings.c:479
+#: ../midori/midori-websettings.c:482
msgid "The style of the toolbar"
msgstr "ツールバーの表示方式を指定します"
-#: ../midori/midori-websettings.c:495
+#: ../midori/midori-websettings.c:498
msgid "Show progress in location entry"
msgstr "ロケーションエントリに進捗を表示する"
# tooltip
-#: ../midori/midori-websettings.c:496
+#: ../midori/midori-websettings.c:499
msgid "Whether to show loading progress in the location entry"
msgstr "ロケーションエントリ内に読み込みの進捗状況を表示します"
-#: ../midori/midori-websettings.c:511
+#: ../midori/midori-websettings.c:514
msgid "Search engines in location completion"
msgstr "場所の補完に検索エンジンを使用する"
# tooltip
-#: ../midori/midori-websettings.c:512
+#: ../midori/midori-websettings.c:515
msgid "Whether to show search engines in the location completion"
msgstr "場所の補完候補内から検索エンジンを使用できるようにします"
-#: ../midori/midori-websettings.c:520
+#: ../midori/midori-websettings.c:523
msgid "Toolbar Items"
msgstr "ツールバーアイテム"
# tooltip
-#: ../midori/midori-websettings.c:521
+#: ../midori/midori-websettings.c:524
msgid "The items to show on the toolbar"
msgstr "ツールバーに表示するアイテムを指定します"
-#: ../midori/midori-websettings.c:529
+#: ../midori/midori-websettings.c:532
msgid "Compact Sidepanel"
msgstr "サイドパネルをコンパクトにする"
# tooltip
-#: ../midori/midori-websettings.c:530
+#: ../midori/midori-websettings.c:533
msgid "Whether to make the sidepanel compact"
msgstr "サイドパネルの表示をコンパクトにします"
-#: ../midori/midori-websettings.c:545
+#: ../midori/midori-websettings.c:548
msgid "Show operating controls of the panel"
msgstr "パネルの操作コントロールを表示する"
# tooltip
-#: ../midori/midori-websettings.c:546
+#: ../midori/midori-websettings.c:549
msgid "Whether to show the operating controls of the panel"
msgstr "パネルに操作コントロールを表示します"
-#: ../midori/midori-websettings.c:561
+#: ../midori/midori-websettings.c:564
msgid "Align sidepanel on the right"
msgstr "サイドパネルを右側に配置する"
# tooltip
-#: ../midori/midori-websettings.c:562
+#: ../midori/midori-websettings.c:565
msgid "Whether to align the sidepanel on the right"
msgstr "サイドパネルを右側に表示します"
-#: ../midori/midori-websettings.c:571
+#: ../midori/midori-websettings.c:574
msgid "When Midori starts:"
msgstr "Midori を起動した時:"
# tooltip
-#: ../midori/midori-websettings.c:572
+#: ../midori/midori-websettings.c:575
msgid "What to do when Midori starts"
msgstr "Midori の起動時に表示するページを指定します"
-#: ../midori/midori-websettings.c:581
+#: ../midori/midori-websettings.c:584
msgid "Homepage:"
msgstr "ホームページ:"
# tooltip
-#: ../midori/midori-websettings.c:582
+#: ../midori/midori-websettings.c:585
msgid "The homepage"
msgstr "ホームページを指定します"
-#: ../midori/midori-websettings.c:597
+#: ../midori/midori-websettings.c:600
msgid "Show crash dialog"
msgstr "クラッシュダイアログを表示する"
# tooltip
-#: ../midori/midori-websettings.c:598
+#: ../midori/midori-websettings.c:601
msgid "Show a dialog after Midori crashed"
msgstr "Midori がクラッシュした後の起動時にダイアログを表示します"
#. i18n: Speed dial, webpage shortcuts, named for the phone function
-#: ../midori/midori-websettings.c:614
+#: ../midori/midori-websettings.c:617
msgid "Show speed dial in new tabs"
msgstr "新しいタブにスピードダイアルを表示する"
# tooltip
-#: ../midori/midori-websettings.c:615
+#: ../midori/midori-websettings.c:618
msgid "Show speed dial in newly opened tabs"
msgstr "新しく開かれたタブにスピードダイアルを表示します"
-#: ../midori/midori-websettings.c:623
+#: ../midori/midori-websettings.c:626
msgid "Save downloaded files to:"
msgstr "ダウンロードファイルの保存先:"
# tooltip
-#: ../midori/midori-websettings.c:624
+#: ../midori/midori-websettings.c:627
msgid "The folder downloaded files are saved to"
msgstr "ダウンロードファイルの保存先を指定します"
-#: ../midori/midori-websettings.c:643
+#: ../midori/midori-websettings.c:648
msgid "Ask for the destination folder"
msgstr "保存先フォルダを問い合わせる"
# tooltip
-#: ../midori/midori-websettings.c:644
+#: ../midori/midori-websettings.c:649
msgid "Whether to ask for the destination folder when downloading a file"
msgstr "ファイルをダウンロードする時に保存先フォルダを問い合わせます"
-#: ../midori/midori-websettings.c:663
+#: ../midori/midori-websettings.c:668
msgid "Notify when a transfer has been completed"
msgstr "転送が完了したら通知する"
# tooltip
-#: ../midori/midori-websettings.c:664
+#: ../midori/midori-websettings.c:669
msgid "Whether to show a notification when a transfer has been completed"
msgstr "転送が完了したら通知します"
-#: ../midori/midori-websettings.c:676
+#: ../midori/midori-websettings.c:681
msgid "Download Manager"
msgstr "ダウンロードマネージャ"
# tooltip
-#: ../midori/midori-websettings.c:677
+#: ../midori/midori-websettings.c:682
msgid "An external download manager"
msgstr "外部ダウンロードマネージャを指定します"
-#: ../midori/midori-websettings.c:685
+#: ../midori/midori-websettings.c:690
msgid "Text Editor"
msgstr "テキストエディタ"
# tooltip
-#: ../midori/midori-websettings.c:686
+#: ../midori/midori-websettings.c:691
msgid "An external text editor"
msgstr "外部テキストエディタを指定します"
-#: ../midori/midori-websettings.c:701
+#: ../midori/midori-websettings.c:706
msgid "News Aggregator"
msgstr "フィードリーダ"
# tooltip
-#: ../midori/midori-websettings.c:702
+#: ../midori/midori-websettings.c:707
msgid "An external news aggregator"
msgstr "外部フィードリーダを指定します"
-#: ../midori/midori-websettings.c:710
+#: ../midori/midori-websettings.c:715
msgid "Location entry Search"
msgstr "ロケーションエントリの検索"
# tooltip
-#: ../midori/midori-websettings.c:711
+#: ../midori/midori-websettings.c:716
msgid "The search to perform inside the location entry"
msgstr "ロケーションエントリに入力された文字列の検索エンジンを指定します"
-#: ../midori/midori-websettings.c:719
+#: ../midori/midori-websettings.c:724
msgid "Preferred Encoding"
msgstr "文字のエンコーディング"
# tooltip
-#: ../midori/midori-websettings.c:720
+#: ../midori/midori-websettings.c:725
msgid "The preferred character encoding"
msgstr "文字のエンコーディングを指定します"
-#: ../midori/midori-websettings.c:730
+#: ../midori/midori-websettings.c:735
msgid "Always Show Tabbar"
msgstr "常にタブバーを表示する"
# tooltip
-#: ../midori/midori-websettings.c:731
+#: ../midori/midori-websettings.c:736
msgid "Always show the tabbar"
msgstr "常にタブバーを表示します"
-#: ../midori/midori-websettings.c:739
+#: ../midori/midori-websettings.c:744
msgid "Close Buttons on Tabs"
msgstr "タブに閉じるボタンを表示する"
# tooltip
-#: ../midori/midori-websettings.c:740
+#: ../midori/midori-websettings.c:745
msgid "Whether tabs have close buttons"
msgstr "タブに閉じるボタンを表示します"
-#: ../midori/midori-websettings.c:748
+#: ../midori/midori-websettings.c:753
msgid "Open new pages in:"
msgstr "新しくページを開く時:"
# tooltip
-#: ../midori/midori-websettings.c:749
+#: ../midori/midori-websettings.c:754
msgid "Where to open new pages"
msgstr "新しいページをどこに開くか指定します"
-#: ../midori/midori-websettings.c:758
+#: ../midori/midori-websettings.c:763
msgid "Open external pages in:"
msgstr "外部ページを開く時:"
# tooltip
-#: ../midori/midori-websettings.c:759
+#: ../midori/midori-websettings.c:764
msgid "Where to open externally opened pages"
msgstr "外部のページをどこに開くか指定します"
-#: ../midori/midori-websettings.c:768
+#: ../midori/midori-websettings.c:773
msgid "Middle click opens Selection"
msgstr "選択範囲を中央クリックで開く"
# tooltip
-#: ../midori/midori-websettings.c:769
+#: ../midori/midori-websettings.c:774
msgid "Load an address from the selection via middle click"
msgstr "選択したアドレスをマウスの中央クリックで読み込みます"
-#: ../midori/midori-websettings.c:777
+#: ../midori/midori-websettings.c:782
msgid "Open tabs in the background"
msgstr "タブをバックグラウンドで開く"
# tooltip
-#: ../midori/midori-websettings.c:778
+#: ../midori/midori-websettings.c:783
msgid "Whether to open new tabs in the background"
msgstr "新しいタブをバックグラウンドで開きます"
-#: ../midori/midori-websettings.c:786
+#: ../midori/midori-websettings.c:791
msgid "Open Tabs next to Current"
msgstr "現在のタブの隣に開く"
# tooltip
-#: ../midori/midori-websettings.c:787
+#: ../midori/midori-websettings.c:792
msgid "Whether to open new tabs next to the current tab or after the last one"
msgstr "新しいタブを現在のタブの隣に開くか、最後のタブの隣に開くかを指定します"
-#: ../midori/midori-websettings.c:795
+#: ../midori/midori-websettings.c:800
msgid "Open popups in tabs"
msgstr "ポップアップをタブに開く"
# tooltip
-#: ../midori/midori-websettings.c:796
+#: ../midori/midori-websettings.c:801
msgid "Whether to open popup windows in tabs"
msgstr "ポップアップウィンドウをタブに開きます"
-#: ../midori/midori-websettings.c:812
+#: ../midori/midori-websettings.c:817
msgid "Zoom Text and Images"
msgstr "文字や画像を拡大/縮小する"
# tooltip
-#: ../midori/midori-websettings.c:813
+#: ../midori/midori-websettings.c:818
msgid "Whether to zoom text and images"
msgstr "文字や画像の拡大/縮小を可能にします"
-#: ../midori/midori-websettings.c:828
+#: ../midori/midori-websettings.c:833
msgid "Find inline while typing"
msgstr "キー入力中に自動的に検索する"
# tooltip
-#: ../midori/midori-websettings.c:829
+#: ../midori/midori-websettings.c:834
msgid "Whether to automatically find inline while typing"
msgstr "インライン検索において、キー入力に従い自動的に検索します"
-#: ../midori/midori-websettings.c:837
+#: ../midori/midori-websettings.c:849
+msgid "Kinetic scrolling"
+msgstr "慣性スクロール"
+
+#: ../midori/midori-websettings.c:850
+msgid "Whether scrolling should kinetically move according to speed"
+msgstr "速度にしたがって慣性がかかったようにスクロールします"
+
+#: ../midori/midori-websettings.c:858
msgid "Accept cookies"
msgstr "Cookie の受け入れ"
# tooltip
-#: ../midori/midori-websettings.c:838
+#: ../midori/midori-websettings.c:859
msgid "What type of cookies to accept"
msgstr "Cookie を受け入れる方式を選択します"
-#: ../midori/midori-websettings.c:847
+#: ../midori/midori-websettings.c:868
msgid "Original cookies only"
msgstr "オリジナルの Cookie のみ"
# tooltip
-#: ../midori/midori-websettings.c:848
+#: ../midori/midori-websettings.c:869
msgid "Accept cookies from the original website only"
msgstr "オリジナルのウェブサイトからの Cookie のみ受け入れます"
-#: ../midori/midori-websettings.c:856
+#: ../midori/midori-websettings.c:877
msgid "Maximum cookie age"
msgstr "Cookie の最大保存日数"
# tooltip
-#: ../midori/midori-websettings.c:857
+#: ../midori/midori-websettings.c:878
msgid "The maximum number of days to save cookies for"
msgstr "Cookie を保存する最大の日数です"
-#: ../midori/midori-websettings.c:867
+#: ../midori/midori-websettings.c:888
msgid "Remember last visited pages"
msgstr "最後に訪れたページを記憶する"
# tooltip
-#: ../midori/midori-websettings.c:868
+#: ../midori/midori-websettings.c:889
msgid "Whether the last visited pages are saved"
msgstr "最後に訪れたページを記憶します"
-#: ../midori/midori-websettings.c:876
+#: ../midori/midori-websettings.c:897
msgid "Maximum history age"
msgstr "履歴の最大保存日数"
# tooltip
-#: ../midori/midori-websettings.c:877
+#: ../midori/midori-websettings.c:898
msgid "The maximum number of days to save the history for"
msgstr "履歴を保存する最大の日数です"
-#: ../midori/midori-websettings.c:885
+#: ../midori/midori-websettings.c:906
msgid "Remember last form inputs"
msgstr "最後のフォーム入力を記憶する"
# tooltip
-#: ../midori/midori-websettings.c:886
+#: ../midori/midori-websettings.c:907
msgid "Whether the last form inputs are saved"
msgstr "最後にフォーム入力した内容を記憶します"
-#: ../midori/midori-websettings.c:894
+#: ../midori/midori-websettings.c:915
msgid "Remember last downloaded files"
msgstr "最後のダウンロードファイルを記憶する"
# tooltip
-#: ../midori/midori-websettings.c:895
+#: ../midori/midori-websettings.c:916
msgid "Whether the last downloaded files are saved"
msgstr "最後にダウンロードしたファイルを記憶します"
-#: ../midori/midori-websettings.c:905
+#: ../midori/midori-websettings.c:926
msgid "Proxy Server"
msgstr "プロキシサーバ"
# tooltip
-#: ../midori/midori-websettings.c:906
+#: ../midori/midori-websettings.c:927
msgid "The proxy server used for HTTP connections"
msgstr "HTTP 接続でプロキシサーバを使用する場合に設定します"
-#: ../midori/midori-websettings.c:921
+#: ../midori/midori-websettings.c:942
msgid "Detect proxy server automatically"
msgstr "プロキシサーバを自動検出する"
# tooltip
-#: ../midori/midori-websettings.c:922
+#: ../midori/midori-websettings.c:943
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:938
+#: ../midori/midori-websettings.c:959
msgid "Identify as"
msgstr "識別名"
# tooltip
-#: ../midori/midori-websettings.c:939
+#: ../midori/midori-websettings.c:960
msgid "What to identify as to web pages"
msgstr "ウェブページに報告するユーザエージェントの識別名を指定します"
-#: ../midori/midori-websettings.c:955
+#: ../midori/midori-websettings.c:976
msgid "Identification string"
msgstr "識別文字列"
# tooltip
-#: ../midori/midori-websettings.c:956
+#: ../midori/midori-websettings.c:977
msgid "The application identification string"
msgstr "アプリケーション識別文字列です"
-#: ../midori/midori-websettings.c:964
+#: ../midori/midori-websettings.c:985
msgid "Cache size"
msgstr "キャッシュサイズ"
# tooltip
-#: ../midori/midori-websettings.c:965
+#: ../midori/midori-websettings.c:986
msgid "The allowed size of the cache"
msgstr "キャッシュのサイズを指定します"
# Button title
-#: ../midori/midori-websettings.c:980
+#: ../midori/midori-websettings.c:1001
msgid "Clear private data"
msgstr "プライベートデータのクリア"
# FIXME:
-#: ../midori/midori-websettings.c:981
+#: ../midori/midori-websettings.c:1002
msgid "The private data selected for deletion"
msgstr "選択されているプライベートデータを削除します"
-#: ../midori/midori-view.c:781
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#. 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:847
+#: ../midori/midori-view.c:3643
+#: ../midori/midori-view.c:3647
+#, c-format
+msgid "Error - %s"
+msgstr "エラー - %s"
+
+#: ../midori/midori-view.c:848
#, 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:783
-#: ../midori/midori-view.c:3021
-#: ../extensions/feed-panel/main.c:112
-msgid "Error"
-msgstr "エラー"
-
-#: ../midori/midori-view.c:786
+#: ../midori/midori-view.c:853
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:818
-#: ../midori/midori-view.c:3025
+#: ../midori/midori-view.c:886
#, c-format
msgid "Not found - %s"
msgstr "ページが見つかりません - %s"
-#: ../midori/midori-view.c:1210
+#: ../midori/midori-view.c:1100
+#: ../midori/midori-view.c:1813
+#, c-format
+msgid "Send a message to %s"
+msgstr "メッセージを送信します 宛先: %s"
+
+#: ../midori/midori-view.c:1652
+#: ../midori/midori-view.c:1715
msgid "Open _Link"
msgstr "リンクを開く(_L)"
-#: ../midori/midori-view.c:1212
+#: ../midori/midori-view.c:1655
+#: ../midori/midori-view.c:1717
msgid "Open Link in New _Tab"
msgstr "リンクを新しいタブで開く(_T)"
-#: ../midori/midori-view.c:1229
+#: ../midori/midori-view.c:1658
+#: ../midori/midori-view.c:1724
msgid "Open Link in New _Window"
msgstr "リンクを新しいウィンドウで開く(_W)"
-#: ../midori/midori-view.c:1235
-msgid "_Download Link destination"
-msgstr "ã\83ªã\83³ã\82¯å\85\88ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89(_D)"
+#: ../midori/midori-view.c:1661
+msgid "_Copy Link destination"
+msgstr "ã\83ªã\83³ã\82¯å\85\88ã\82\92ã\82³ã\83\94ã\83¼(_C)"
-#: ../midori/midori-view.c:1241
+#: ../midori/midori-view.c:1664
+#: ../midori/midori-view.c:1736
msgid "_Save Link destination"
msgstr "リンク先を保存(_S)"
-#: ../midori/midori-view.c:1250
+#: ../midori/midori-view.c:1665
+#: ../midori/midori-view.c:1730
+msgid "_Download Link destination"
+msgstr "リンク先をダウンロード(_D)"
+
+#: ../midori/midori-view.c:1669
+#: ../midori/midori-view.c:1705
+#: ../midori/midori-view.c:1741
msgid "Download with Download _Manager"
msgstr "ダウンロードマネージャでダウンロード(_M)"
-#: ../midori/midori-view.c:1279
+#: ../midori/midori-view.c:1681
+msgid "Open _Image in New Tab"
+msgstr "画像を新しいタブで開く(_I)"
+
+#: ../midori/midori-view.c:1684
+msgid "Open _Image in New Window"
+msgstr "画像を新しいウィンドウで開く(_I)"
+
+#: ../midori/midori-view.c:1687
+msgid "Copy Image _Address"
+msgstr "画像のアドレスをコピー(_A)"
+
+#: ../midori/midori-view.c:1690
+msgid "Save I_mage"
+msgstr "画像を保存(_M)"
+
+#: ../midori/midori-view.c:1691
+msgid "Download I_mage"
+msgstr "画像をダウンロード(_M)"
+
+#: ../midori/midori-view.c:1698
+msgid "Copy Video _Address"
+msgstr "動画のアドレスをコピー(_A)"
+
+#: ../midori/midori-view.c:1701
+msgid "Save _Video"
+msgstr "動画を保存(_V)"
+
+#: ../midori/midori-view.c:1701
+msgid "Download _Video"
+msgstr "動画をダウンロード(_V)"
+
+#: ../midori/midori-view.c:1761
msgid "Search _with"
msgstr "検索(_W)"
-#: ../midori/midori-view.c:1311
+#: ../midori/midori-view.c:1789
+#: ../midori/midori-view.c:1800
msgid "_Search the Web"
msgstr "ウェブで検索(_S)"
-#: ../midori/midori-view.c:1321
+#: ../midori/midori-view.c:1821
msgid "Open Address in New _Tab"
msgstr "アドレスを新しいタブで開く(_T)"
-#: ../midori/midori-view.c:1499
+#: ../midori/midori-view.c:2030
msgid "Open or download file"
msgstr "ファイルを開きますか、保存しますか?"
-#: ../midori/midori-view.c:1516
+#: ../midori/midori-view.c:2047
#, c-format
msgid "File Type: '%s'"
msgstr "ファイルタイプ: '%s'"
-#: ../midori/midori-view.c:1519
+#: ../midori/midori-view.c:2050
#, 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:1523
+#: ../midori/midori-view.c:2054
#, c-format
msgid "Open %s"
msgstr "%s を開く"
-#: ../midori/midori-view.c:1962
+#: ../midori/midori-view.c:2567
#, c-format
msgid "Inspect page - %s"
msgstr "ページの調査 - %s"
-#: ../midori/midori-view.c:2154
+#: ../midori/midori-view.c:2766
msgid "Speed dial"
msgstr "スピードダイアル"
-#: ../midori/midori-view.c:2155
+#: ../midori/midori-view.c:2767
msgid "Click to add a shortcut"
msgstr "クリックするとショートカットを追加できます"
-#: ../midori/midori-view.c:2156
+#: ../midori/midori-view.c:2768
msgid "Enter shortcut address"
msgstr "ショートカットのアドレスを入力してください"
-#: ../midori/midori-view.c:2157
+#: ../midori/midori-view.c:2769
msgid "Enter shortcut title"
msgstr "ショートカットの名前を入力してください"
-#: ../midori/midori-view.c:2158
+#: ../midori/midori-view.c:2770
msgid "Are you sure you want to delete this shortcut?"
msgstr "このショートカットを削除してもよろしいですか?"
-#: ../midori/midori-view.c:2188
+#: ../midori/midori-view.c:2800
#, c-format
msgid "Document cannot be displayed"
msgstr "ドキュメントを表示できません"
-#: ../midori/midori-view.c:2205
+#: ../midori/midori-view.c:2817
#, c-format
msgid "No documentation installed"
msgstr "ドキュメントはインストールされていません"
-#: ../midori/midori-view.c:2330
+#: ../midori/midori-view.c:2942
msgid "Blank page"
msgstr "空白ページ"
-#: ../midori/midori-view.c:2559
-#: ../midori/sokoke.c:865
+#: ../midori/midori-view.c:3171
+#: ../midori/sokoke.c:968
msgid "New _Tab"
msgstr "新しいタブ(_T)"
-#: ../midori/midori-view.c:2573
+#: ../midori/midori-view.c:3185
msgid "_Duplicate Tab"
msgstr "タブの複製(_D)"
-#: ../midori/midori-view.c:2578
+#: ../midori/midori-view.c:3190
msgid "_Restore Tab"
msgstr "タブの復元(_R)"
-#: ../midori/midori-view.c:2578
+#: ../midori/midori-view.c:3190
msgid "_Minimize Tab"
msgstr "タブの最小化(_M)"
+#: ../midori/midori-view.c:3749
+msgid "Print background images"
+msgstr "背景画像を印刷する"
+
+# tooltip
+#: ../midori/midori-view.c:3750
+msgid "Whether background images should be printed"
+msgstr "印刷するときに背景画像も印刷します"
+
+#: ../midori/midori-view.c:3794
+#: ../midori/midori-preferences.c:489
+msgid "Features"
+msgstr "機能"
+
#: ../midori/midori-preferences.c:91
#, c-format
msgid "Preferences for %s"
msgstr "%s の設定"
#. Page "General"
-#: ../midori/midori-preferences.c:398
+#: ../midori/midori-preferences.c:404
msgid "General"
msgstr "一般"
-#: ../midori/midori-preferences.c:399
+#: ../midori/midori-preferences.c:405
msgid "Startup"
msgstr "起動"
# tooltip
-#: ../midori/midori-preferences.c:415
+#: ../midori/midori-preferences.c:421
msgid "Use current page as homepage"
msgstr "現在のページをホームページにします"
-#: ../midori/midori-preferences.c:425
+#: ../midori/midori-preferences.c:431
#: ../panels/midori-transfers.c:88
msgid "Transfers"
msgstr "転送"
#. Page "Appearance"
-#: ../midori/midori-preferences.c:440
+#: ../midori/midori-preferences.c:445
msgid "Appearance"
msgstr "外観"
-#: ../midori/midori-preferences.c:441
+#: ../midori/midori-preferences.c:446
msgid "Font settings"
msgstr "フォント設定"
-#: ../midori/midori-preferences.c:443
+#: ../midori/midori-preferences.c:448
msgid "Default Font Family"
msgstr "デフォルトフォントファミリ"
# tooltip
-#: ../midori/midori-preferences.c:447
+#: ../midori/midori-preferences.c:452
msgid "The default font family used to display text"
msgstr "文字表示で使用するデフォルトのフォントファミリを指定します"
# tooltip
-#: ../midori/midori-preferences.c:450
+#: ../midori/midori-preferences.c:455
msgid "The default font size used to display text"
msgstr "文字表示で使用するデフォルトのフォントサイズを指定します"
-#: ../midori/midori-preferences.c:453
+#: ../midori/midori-preferences.c:458
msgid "Fixed-width Font Family"
msgstr "等幅フォントファミリ"
# tooltip
-#: ../midori/midori-preferences.c:457
+#: ../midori/midori-preferences.c:462
msgid "The font family used to display fixed-width text"
msgstr "等幅文字表示で使用するフォントファミリを指定します"
# tooltip
-#: ../midori/midori-preferences.c:460
+#: ../midori/midori-preferences.c:465
msgid "The font size used to display fixed-width text"
msgstr "等幅文字表示で使用するフォントのサイズを指定します"
-#: ../midori/midori-preferences.c:463
+#: ../midori/midori-preferences.c:468
msgid "Minimum Font Size"
msgstr "最小フォントサイズ"
# tooltip
-#: ../midori/midori-preferences.c:466
+#: ../midori/midori-preferences.c:471
msgid "The minimum font size used to display text"
msgstr "文字表示で使用する最小のフォントサイズを指定します"
-#: ../midori/midori-preferences.c:473
+#: ../midori/midori-preferences.c:478
msgid "Encoding"
msgstr "エンコーディング"
# tooltip
-#: ../midori/midori-preferences.c:476
+#: ../midori/midori-preferences.c:481
msgid "The character encoding to use by default"
msgstr "デフォルトで使用する文字エンコーディングです"
#. Page "Behavior"
-#: ../midori/midori-preferences.c:483
+#: ../midori/midori-preferences.c:488
msgid "Behavior"
msgstr "振る舞い"
-#: ../midori/midori-preferences.c:484
-msgid "Features"
-msgstr "機能"
-
-#: ../midori/midori-preferences.c:487
+#: ../midori/midori-preferences.c:492
#: ../extensions/statusbar-features.c:88
msgid "Load images automatically"
msgstr "画像を自動的に読み込む"
# tooltip
-#: ../midori/midori-preferences.c:488
+#: ../midori/midori-preferences.c:493
msgid "Load and display images automatically"
msgstr "画像を自動的に読み込んで表示します"
-#: ../midori/midori-preferences.c:491
+#: ../midori/midori-preferences.c:501
msgid "Shrink images automatically"
msgstr "画像を自動的に縮小する"
# tooltip
-#: ../midori/midori-preferences.c:492
+#: ../midori/midori-preferences.c:502
msgid "Automatically shrink standalone images to fit"
msgstr "画像を単独表示するときに自動的に縮小します"
-#: ../midori/midori-preferences.c:495
-msgid "Print background images"
-msgstr "背景画像を印刷する"
-
-# tooltip
-#: ../midori/midori-preferences.c:496
-msgid "Whether background images should be printed"
-msgstr "印刷するときに背景画像も印刷します"
-
-#: ../midori/midori-preferences.c:499
-msgid "Resizable text areas"
-msgstr "可変サイズのテキストエリアにする"
-
-# tooltip
-#: ../midori/midori-preferences.c:500
-msgid "Whether text areas are resizable"
-msgstr "テキストエリアのサイズ変更を可能にします"
-
-#: ../midori/midori-preferences.c:503
+#: ../midori/midori-preferences.c:509
#: ../extensions/statusbar-features.c:100
msgid "Enable scripts"
msgstr "スクリプトを有効にする"
# tooltip
-#: ../midori/midori-preferences.c:504
+#: ../midori/midori-preferences.c:510
msgid "Enable embedded scripting languages"
msgstr "組み込みスクリプト言語を有効にします"
-#: ../midori/midori-preferences.c:507
+#: ../midori/midori-preferences.c:513
#: ../extensions/statusbar-features.c:112
msgid "Enable Netscape plugins"
msgstr "Netscape プラグインを有効にする"
# tooltip
-#: ../midori/midori-preferences.c:508
+#: ../midori/midori-preferences.c:514
msgid "Enable embedded Netscape plugin objects"
msgstr "組み込み Netscape プラグインオブジェクトを有効にします"
-#: ../midori/midori-preferences.c:511
+#: ../midori/midori-preferences.c:517
msgid "Enforce 96 dots per inch"
msgstr "強制的に 96DPI にする"
# tooltip
-#: ../midori/midori-preferences.c:512
+#: ../midori/midori-preferences.c:518
msgid "Enforce a video dot density of 96 DPI"
msgstr "ドット密度を強制的に 96DPI にします"
-#: ../midori/midori-preferences.c:515
+#: ../midori/midori-preferences.c:521
msgid "Enable developer tools"
msgstr "開発ツールを有効にする"
# tooltip
-#: ../midori/midori-preferences.c:516
+#: ../midori/midori-preferences.c:522
msgid "Enable special extensions for developers"
msgstr "開発者用特殊エクステンションを有効にします"
-#: ../midori/midori-preferences.c:523
+#: ../midori/midori-preferences.c:529
msgid "Spell Checking"
msgstr "スペルチェック"
-#: ../midori/midori-preferences.c:526
+#: ../midori/midori-preferences.c:532
msgid "Enable Spell Checking"
msgstr "スペルチェックを有効にする"
# tooltip
-#: ../midori/midori-preferences.c:527
+#: ../midori/midori-preferences.c:533
msgid "Enable spell checking while typing"
msgstr "キー入力中のスペルチェックを有効にします"
# tooltip
#. i18n: The example should be adjusted to contain a good local default
-#: ../midori/midori-preferences.c:531
+#: ../midori/midori-preferences.c:537
msgid "A comma separated list of languages to be used for spell checking, for example \"en_GB,de_DE\""
msgstr "スペルチェックを行う言語をカンマで区切って指定します。例 \"en,de_DE\""
#. Page "Interface"
-#: ../midori/midori-preferences.c:536
+#: ../midori/midori-preferences.c:542
msgid "Interface"
msgstr "インターフェイス"
-#: ../midori/midori-preferences.c:537
+#: ../midori/midori-preferences.c:543
msgid "Navigationbar"
msgstr "ナビゲーションバー"
-#: ../midori/midori-preferences.c:548
+#: ../midori/midori-preferences.c:554
msgid "Browsing"
msgstr "ブラウジング"
#. Page "Applications"
-#: ../midori/midori-preferences.c:574
+#: ../midori/midori-preferences.c:578
msgid "Applications"
msgstr "アプリケーション"
-#: ../midori/midori-preferences.c:575
+#: ../midori/midori-preferences.c:579
msgid "External applications"
msgstr "外部アプリケーション"
#. Page "Network"
-#: ../midori/midori-preferences.c:621
-#: ../midori/midori-preferences.c:622
+#: ../midori/midori-preferences.c:625
+#: ../midori/midori-preferences.c:626
msgid "Network"
msgstr "ネットワーク"
-#: ../midori/midori-preferences.c:649
+#: ../midori/midori-preferences.c:653
msgid "MB"
msgstr "MB"
#. Page "Privacy"
-#: ../midori/midori-preferences.c:654
+#: ../midori/midori-preferences.c:658
msgid "Privacy"
msgstr "プライバシー"
-#: ../midori/midori-preferences.c:655
+#: ../midori/midori-preferences.c:659
msgid "Web Cookies"
msgstr "ウェブ Cookie"
-#: ../midori/midori-preferences.c:668
-#: ../midori/midori-preferences.c:678
+#: ../midori/midori-preferences.c:672
+#: ../midori/midori-preferences.c:682
msgid "days"
msgstr "日"
msgid "Use as _default"
msgstr "デフォルトで使う(_D)"
-#: ../midori/sokoke.c:162
-#: ../midori/sokoke.c:174
+#: ../midori/sokoke.c:166
+#: ../midori/sokoke.c:178
msgid "Could not run external program."
msgstr "外部プログラムを実行できませんでした。"
-#: ../midori/sokoke.c:856
+#: ../midori/sokoke.c:960
msgid "_Bookmark"
msgstr "ブックマーク(_B)"
-#: ../midori/sokoke.c:858
+#: ../midori/sokoke.c:962
msgid "Add Boo_kmark"
msgstr "ブックマークに追加(_K)"
-#: ../midori/sokoke.c:859
+#: ../midori/sokoke.c:963
msgid "_Console"
msgstr "コンソール(_C)"
-#: ../midori/sokoke.c:860
+#: ../midori/sokoke.c:964
msgid "_Extensions"
msgstr "エクステンション(_E)"
-#: ../midori/sokoke.c:861
+#: ../midori/sokoke.c:965
msgid "_History"
msgstr "履歴(_H)"
-#: ../midori/sokoke.c:862
+#: ../midori/sokoke.c:966
msgid "_Homepage"
msgstr "ホームページ(_H)"
-#: ../midori/sokoke.c:863
+#: ../midori/sokoke.c:967
msgid "_Userscripts"
msgstr "ユーザスクリプト(_U)"
-#: ../midori/sokoke.c:864
-msgid "User_styles"
-msgstr "ユーザスタイル(_S)"
-
-#: ../midori/sokoke.c:866
+#: ../midori/sokoke.c:969
msgid "_Transfers"
msgstr "転送(_T)"
-#: ../midori/sokoke.c:867
+#: ../midori/sokoke.c:970
msgid "Netscape p_lugins"
msgstr "Netscape プラグイン(_L)"
-#: ../panels/midori-addons.c:95
-#: ../panels/midori-addons.c:141
+#: ../panels/midori-addons.c:94
+#: ../panels/midori-addons.c:139
msgid "Userscripts"
msgstr "ユーザスクリプト"
-#: ../panels/midori-addons.c:96
-#: ../panels/midori-addons.c:143
+#: ../panels/midori-addons.c:95
msgid "Userstyles"
msgstr "ユーザスタイル"
+#: ../panels/midori-addons.c:287
+#, c-format
+msgid "Copy userscripts to the folder %s and copy userstyles to the folder %s."
+msgstr "ユーザスクリプトをフォルダ %s へ、ユーザスタイルをフォルダ %s へコピーします。"
+
+#: ../panels/midori-addons.c:889
+#, c-format
+msgid "Can't monitor folder '%s': %s"
+msgstr "フォルダ '%s' をモニタできません: %s"
+
#: ../panels/midori-bookmarks.c:108
msgid "Bookmarks"
msgstr "ブックマーク"
msgid "Netscape plugins"
msgstr "Netscape プラグイン"
-#: ../panels/midori-transfers.c:479
+#: ../panels/midori-transfers.c:480
msgid "Open Destination _Folder"
msgstr "保存先フォルダを開く(_F)"
-#: ../panels/midori-transfers.c:482
+#: ../panels/midori-transfers.c:483
msgid "Copy Link Loc_ation"
-msgstr "ã\83ªã\83³ã\82¯ã\81®å ´æ\89\80ã\81®コピー(_A)"
+msgstr "ã\83ªã\83³ã\82¯ã\81®å ´æ\89\80ã\82\92コピー(_A)"
-#: ../katze/katze-http-auth.c:97
+#: ../katze/katze-http-auth.c:209
msgid "Authentication Required"
msgstr "認証が要求されました"
-#: ../katze/katze-http-auth.c:113
+#: ../katze/katze-http-auth.c:225
msgid ""
"A username and a password are required\n"
"to open this location:"
"この場所を開くためにはユーザ名とパスワードが\n"
"必要です:"
-#: ../katze/katze-http-auth.c:127
+#: ../katze/katze-http-auth.c:239
msgid "Username"
msgstr "ユーザ名"
-#: ../katze/katze-http-auth.c:138
+#: ../katze/katze-http-auth.c:252
msgid "Password"
msgstr "パスワード"
+#: ../katze/katze-http-auth.c:266
+msgid "_Remember password"
+msgstr "パスワードを記憶する(_R)"
+
#: ../katze/katze-throbber.c:828
#, c-format
msgid "Named icon '%s' couldn't be loaded"
msgid "Animation frames are broken"
msgstr "アニメーションフレームは壊れています"
-#: ../katze/katze-utils.c:200
-#: ../katze/katze-utils.c:407
+#: ../katze/katze-utils.c:203
+#: ../katze/katze-utils.c:420
#, c-format
msgid "Property '%s' is invalid for %s"
msgstr "'%s' は %s のプロパティとして無効です"
-#: ../katze/katze-utils.c:235
-#: ../katze/katze-utils.c:264
+#: ../katze/katze-utils.c:238
+#: ../katze/katze-utils.c:267
msgid "Choose file"
msgstr "ファイルの選択"
-#: ../katze/katze-utils.c:250
+#: ../katze/katze-utils.c:253
msgid "Choose folder"
msgstr "フォルダの選択"
-#: ../extensions/adblock.c:167
+#: ../extensions/adblock.c:235
msgid "Configure Advertisement filters"
msgstr "広告フィルタの設定"
-#: ../extensions/adblock.c:304
+#: ../extensions/adblock.c:372
msgid "Configure _Advertisement filters..."
msgstr "広告フィルタの設定(_A)..."
-#: ../extensions/adblock.c:562
+#: ../extensions/adblock.c:704
+#, c-format
+msgid "Not available: %s required"
+msgstr "利用できません: %s が必要です"
+
+#: ../extensions/adblock.c:709
msgid "Advertisement blocker"
msgstr "広告ブロッカ"
# description
-#: ../extensions/adblock.c:563
+#: ../extensions/adblock.c:711
msgid "Block advertisements according to a filter list"
msgstr "フィルタリストに登録された広告をブロックします"
msgid "Cookie Manager"
msgstr "Cookie マネージャ"
+#: ../extensions/cookie-manager/cookie-manager-page.c:109
+msgid "Delete All"
+msgstr "すべて削除"
+
#: ../extensions/cookie-manager/cookie-manager-page.c:111
msgid "Deletes all shown cookies. If a filter is set, only those cookies are deleted which match the filter."
msgstr "表示されているすべての cookie を削除します。フィルタが設定されていれば、フィルタにマッチした cookie のみ削除されます。"
msgid "List, view and delete cookies"
msgstr "Cookie の一覧や内容の表示および削除を行います"
-#: ../extensions/feed-panel/feed-atom.c:242
+#: ../extensions/dnsprefetch.c:143
+msgid "DNS prefetching"
+msgstr "DNS プリフェッチ"
+
+#: ../extensions/dnsprefetch.c:144
+msgid "Prefetch IP addresses of hovered links"
+msgstr "マウスポインタを置いたリンクの IP アドレスを先読みします"
+
+#: ../extensions/feed-panel/feed-atom.c:237
msgid "Failed to find required Atom \"entry\" elements in XML data."
msgstr "XML データ内に要求された Atom \"entry\" 要素が見つかりませんでした。"
-#: ../extensions/feed-panel/feed-atom.c:348
+#: ../extensions/feed-panel/feed-atom.c:343
msgid "Failed to find required Atom \"feed\" elements in XML data."
msgstr "XML データ内に要求された Atom \"feed\" 要素が見つかりませんでした。"
msgid "_Feeds"
msgstr "フィード(_F)"
-#: ../extensions/feed-panel/feed-parse.c:185
+#: ../extensions/feed-panel/feed-parse.c:192
#, c-format
msgid "Failed to find root element in feed XML data."
msgstr "フィード XML データ内にルート要素が見つかりませんでした。"
-#: ../extensions/feed-panel/feed-parse.c:225
+#: ../extensions/feed-panel/feed-parse.c:232
#, c-format
msgid "Unsupported feed format."
msgstr "サポートされていないフィード形式です。"
-#: ../extensions/feed-panel/feed-parse.c:255
+#: ../extensions/feed-panel/feed-parse.c:262
#, c-format
msgid "Failed to parse XML feed: %s"
msgstr "XML フィードの解析に失敗しました: %s"
msgid "Failed to find required RSS \"channel\" elements in XML data."
msgstr "XML データ内に要求された RSS \"channel\" 要素が見つかりませんでした。"
-#: ../extensions/feed-panel/main.c:114
+#: ../extensions/feed-panel/main.c:124
+msgid "Error"
+msgstr "エラー"
+
+#: ../extensions/feed-panel/main.c:126
#, c-format
msgid "Feed '%s' already exists"
msgstr "フィード '%s' はすでに存在します"
-#: ../extensions/feed-panel/main.c:191
+#: ../extensions/feed-panel/main.c:203
#, 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
+#: ../extensions/feed-panel/main.c:514
msgid "Feed Panel"
msgstr "フィードパネル"
# description
-#: ../extensions/feed-panel/main.c:490
+#: ../extensions/feed-panel/main.c:515
msgid "Read Atom/ RSS feeds"
msgstr "Atom/RSS フィードを購読します"
-#: ../extensions/mouse-gestures/main.c:236
+#: ../extensions/formhistory.c:276
+msgid "Stores history of entered form data"
+msgstr "入力されたフォームデータの履歴を記憶します"
+
+#: ../extensions/formhistory.c:280
+#, c-format
+msgid "Not available: %s"
+msgstr "利用できません: %s"
+
+#: ../extensions/formhistory.c:281
+msgid "Resource files not installed"
+msgstr "リソースファイルがインストールされていません"
+
+#: ../extensions/formhistory.c:286
+msgid "Form history filler"
+msgstr "入力フォーム履歴フィルタ"
+
+#: ../extensions/mouse-gestures/main.c:246
msgid "Mouse Gestures"
msgstr "マウスジェスチャ"
# description
-#: ../extensions/mouse-gestures/main.c:237
+#: ../extensions/mouse-gestures/main.c:247
msgid "Control Midori by moving the mouse"
msgstr "マウスの操作で Midori を制御します"
msgid "Easily toggle features on web pages on and off"
msgstr "ウェブページへの機能のオン/オフを簡単に切り換えます"
-#: ../extensions/tab-panel.c:371
-#: ../extensions/tab-panel.c:431
+#: ../extensions/tab-panel.c:562
+#: ../extensions/tab-panel.c:619
msgid "Tab Panel"
msgstr "タブパネル"
-#: ../extensions/tab-panel.c:415
+#: ../extensions/tab-panel.c:603
msgid "T_ab Panel"
msgstr "タブパネル(_A)"
# description
-#: ../extensions/tab-panel.c:432
+#: ../extensions/tab-panel.c:620
msgid "Show tabs in a vertical panel"
msgstr "タブを縦のパネルに表示します"
msgid "Customize _Toolbar..."
msgstr "ツールバーのカスタマイズ(_T)..."
-#: ../extensions/toolbar-editor.c:611
+#: ../extensions/toolbar-editor.c:612
msgid "Toolbar Editor"
msgstr "ツールバーエディタ"
# description
-#: ../extensions/toolbar-editor.c:612
+#: ../extensions/toolbar-editor.c:614
msgid "Easily edit the toolbar layout"
msgstr "ツールバーのレイアウトを簡単に編集できます"
-#~ msgid "_Closed Tabs and Windows"
-#~ msgstr "閉じたタブとウィンドウ(_C)"
-#~ msgid "Last open pages"
-#~ msgstr "最後に開いたページ"
-#~ msgid "Both"
-#~ msgstr "アイコンと文字"
-#~ msgid "Both horizontal"
-#~ msgstr "アイコンと文字 (横方向)"
-#~ msgid "Load on Startup"
-#~ msgstr "起動時に読み込む"
-#~ msgid "Download Folder"
-#~ msgstr "ダウンロードフォルダ"
-#~ msgid "Configure _Toolbar..."
-#~ msgstr "ツールバーの設定(_T)..."
-#~ msgid "_Enable"
-#~ msgstr "有効(_E)"
+#: ../extensions/toolbar-editor.c:617
+msgid "Not available on this platform"
+msgstr "このプラットフォームでは利用できません"
+
+#~ msgid "User_styles"
+#~ msgstr "ユーザスタイル(_S)"
+#~ msgid "Resizable text areas"
+#~ msgstr "可変サイズのテキストエリアにする"
--- /dev/null
+# Korean translations for midori package.
+# Copyright (C) 2009 THE midori'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the midori package.
+# Seo Sanghyeon <sanxiyn@gmail.com> 2009
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: midori 0.1.10\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-06 00:44+0200\n"
+"PO-Revision-Date: 2009-24-09 09:10+0200\n"
+"Last-Translator: Seo Sanghyeon <sanxiyn@gmail.com>\n"
+"Language-Team: Korean <ko@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: ../data/midori.desktop.in.h:1
+msgid "Lightweight web browser"
+msgstr ""
+
+#: ../data/midori.desktop.in.h:2 ../midori/main.c:1435 ../midori/main.c:1609
+#: ../midori/main.c:1617 ../midori/main.c:1628
+#: ../midori/midori-websettings.c:287
+msgid "Midori"
+msgstr ""
+
+#: ../data/midori.desktop.in.h:3
+msgid "Web Browser"
+msgstr ""
+
+#: ../midori/main.c:102
+#, c-format
+msgid "The configuration couldn't be loaded: %s\n"
+msgstr ""
+
+#: ../midori/main.c:157
+#, c-format
+msgid "Value '%s' is invalid for %s"
+msgstr ""
+
+#: ../midori/main.c:164 ../midori/main.c:245
+#, c-format
+msgid "Invalid configuration value '%s'"
+msgstr ""
+
+#: ../midori/main.c:369
+#, c-format
+msgid "Failed to open database: %s\n"
+msgstr ""
+
+#: ../midori/main.c:401
+#, c-format
+msgid "Failed to execute database statement: %s\n"
+msgstr ""
+
+#: ../midori/main.c:455
+#, c-format
+msgid "Failed to remove history item: %s\n"
+msgstr ""
+
+#: ../midori/main.c:479
+#, c-format
+msgid "Failed to clear history: %s\n"
+msgstr ""
+
+#: ../midori/main.c:502 ../midori/main.c:536 ../midori/main.c:552
+#, 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:731
+#, c-format
+msgid "Failed to remove old history items: %s\n"
+msgstr ""
+
+#: ../midori/main.c:760
+#, c-format
+msgid "The configuration couldn't be saved. %s"
+msgstr ""
+
+#: ../midori/main.c:798
+#, c-format
+msgid "The search engines couldn't be saved. %s"
+msgstr ""
+
+#: ../midori/main.c:817 ../midori/main.c:845 ../midori/main.c:874
+#, c-format
+msgid "The bookmarks couldn't be saved. %s"
+msgstr ""
+
+#. i18n: Trash, or wastebin, containing closed tabs
+#: ../midori/main.c:897 ../midori/main.c:920
+#, c-format
+msgid "The trash couldn't be saved. %s"
+msgstr ""
+
+#: ../midori/main.c:993
+#, c-format
+msgid "The session couldn't be saved. %s"
+msgstr ""
+
+#: ../midori/main.c:1190
+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:1205
+msgid "Modify _preferences"
+msgstr ""
+
+#: ../midori/main.c:1209
+msgid "Reset the last _session"
+msgstr ""
+
+#: ../midori/main.c:1214
+msgid "Disable all _extensions"
+msgstr ""
+
+#: ../midori/main.c:1435
+msgid "No filename specified"
+msgstr ""
+
+#: ../midori/main.c:1458
+msgid "An unknown error occured."
+msgstr ""
+
+#: ../midori/main.c:1490
+#, c-format
+msgid "Snapshot saved to: %s\n"
+msgstr ""
+
+#: ../midori/main.c:1539
+msgid "Run ADDRESS as a web application"
+msgstr ""
+
+#: ../midori/main.c:1539
+msgid "ADDRESS"
+msgstr ""
+
+#: ../midori/main.c:1541
+msgid "Use FOLDER as configuration folder"
+msgstr ""
+
+#: ../midori/main.c:1541
+msgid "FOLDER"
+msgstr ""
+
+#: ../midori/main.c:1543
+msgid "Run the specified filename as javascript"
+msgstr ""
+
+#: ../midori/main.c:1546
+msgid "Take a snapshot of the specified URI"
+msgstr ""
+
+#: ../midori/main.c:1549
+msgid "Execute the specified command"
+msgstr ""
+
+#: ../midori/main.c:1551
+msgid "Display program version"
+msgstr ""
+
+#: ../midori/main.c:1553
+msgid "Addresses"
+msgstr ""
+
+#: ../midori/main.c:1606
+msgid "[Addresses]"
+msgstr ""
+
+#: ../midori/main.c:1629
+msgid "Please report comments, suggestions and bugs to:"
+msgstr ""
+
+#: ../midori/main.c:1631
+msgid "Check for new versions at:"
+msgstr ""
+
+#: ../midori/main.c:1711
+msgid "The specified configuration folder is invalid."
+msgstr ""
+
+#: ../midori/main.c:1751
+msgid "An instance of Midori is already running but not responding.\n"
+msgstr ""
+
+#: ../midori/main.c:1795
+#, c-format
+msgid "The search engines couldn't be loaded. %s\n"
+msgstr ""
+
+#: ../midori/main.c:1813
+#, c-format
+msgid "The bookmarks couldn't be loaded: %s\n"
+msgstr ""
+
+#: ../midori/main.c:1828
+#, c-format
+msgid "The session couldn't be loaded: %s\n"
+msgstr ""
+
+#: ../midori/main.c:1841
+#, c-format
+msgid "The trash couldn't be loaded: %s\n"
+msgstr ""
+
+#: ../midori/main.c:1854
+#, c-format
+msgid "The history couldn't be loaded: %s\n"
+msgstr ""
+
+#: ../midori/main.c:1866
+msgid "The following errors occured:"
+msgstr ""
+
+#: ../midori/main.c:1882
+msgid "_Ignore"
+msgstr ""
+
+#: ../midori/midori-array.c:251
+msgid "File not found."
+msgstr ""
+
+#: ../midori/midori-array.c:260 ../midori/midori-array.c:270
+msgid "Malformed document."
+msgstr ""
+
+#: ../midori/midori-array.c:432 ../midori/sokoke.c:699
+#, c-format
+msgid "Writing failed."
+msgstr ""
+
+#: ../midori/midori-browser.c:315 ../midori/midori-browser.c:4327
+#: ../midori/midori-browser.c:4333
+msgid "Reload the current page"
+msgstr ""
+
+#: ../midori/midori-browser.c:326 ../midori/midori-browser.c:4330
+msgid "Stop loading the current page"
+msgstr ""
+
+#: ../midori/midori-browser.c:417
+#, c-format
+msgid "%d%% loaded"
+msgstr ""
+
+#: ../midori/midori-browser.c:442
+#, c-format
+msgid "Unexpected action '%s'."
+msgstr ""
+
+#: ../midori/midori-browser.c:627
+msgid "New folder"
+msgstr ""
+
+#: ../midori/midori-browser.c:627
+msgid "Edit folder"
+msgstr ""
+
+#: ../midori/midori-browser.c:629
+msgid "New bookmark"
+msgstr ""
+
+#: ../midori/midori-browser.c:629
+msgid "Edit bookmark"
+msgstr ""
+
+#: ../midori/midori-browser.c:659
+msgid "_Title:"
+msgstr ""
+
+#: ../midori/midori-browser.c:672 ../midori/midori-searchaction.c:952
+msgid "_Description:"
+msgstr ""
+
+#: ../midori/midori-browser.c:691 ../midori/midori-searchaction.c:966
+#: ../extensions/feed-panel/main.c:368
+msgid "_Address:"
+msgstr ""
+
+#: ../midori/midori-browser.c:710
+msgid "_Folder:"
+msgstr ""
+
+#: ../midori/midori-browser.c:715 ../midori/midori-browser.c:756
+msgid "Toplevel folder"
+msgstr ""
+
+#: ../midori/midori-browser.c:834
+msgid "Save file as"
+msgstr ""
+
+#: ../midori/midori-browser.c:1211 ../panels/midori-transfers.c:272
+#, c-format
+msgid "%s of %s"
+msgstr ""
+
+#: ../midori/midori-browser.c:1248
+#, c-format
+msgid "The file '<b>%s</b>' has been downloaded."
+msgstr ""
+
+#: ../midori/midori-browser.c:1252
+msgid "Transfer completed"
+msgstr ""
+
+#: ../midori/midori-browser.c:1393
+msgid "Save file"
+msgstr ""
+
+#: ../midori/midori-browser.c:2060
+msgid "Open file"
+msgstr ""
+
+#: ../midori/midori-browser.c:3268 ../extensions/feed-panel/main.c:356
+msgid "New feed"
+msgstr ""
+
+#: ../midori/midori-browser.c:3523 ../panels/midori-bookmarks.c:781
+#: ../panels/midori-history.c:812
+msgid "Open all in _Tabs"
+msgstr ""
+
+#: ../midori/midori-browser.c:3530 ../panels/midori-bookmarks.c:787
+#: ../panels/midori-history.c:818 ../extensions/feed-panel/feed-panel.c:542
+msgid "Open in New _Tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:3533 ../panels/midori-bookmarks.c:789
+#: ../panels/midori-history.c:820 ../extensions/feed-panel/feed-panel.c:544
+msgid "Open in New _Window"
+msgstr ""
+
+#: ../midori/midori-browser.c:3843
+msgid "Clear Private Data"
+msgstr ""
+
+#: ../midori/midori-browser.c:3847
+msgid "_Clear private data"
+msgstr ""
+
+#: ../midori/midori-browser.c:3860
+msgid "Clear the following data:"
+msgstr ""
+
+#: ../midori/midori-browser.c:3870 ../midori/midori-preferences.c:665
+#: ../panels/midori-history.c:108
+msgid "History"
+msgstr "방문 기록"
+
+#: ../midori/midori-browser.c:3875
+msgid "Cookies"
+msgstr ""
+
+#: ../midori/midori-browser.c:3880
+msgid "'Flash' Cookies"
+msgstr ""
+
+#: ../midori/midori-browser.c:3885
+msgid "Website icons"
+msgstr ""
+
+#: ../midori/midori-browser.c:3890 ../midori/sokoke.c:873
+msgid "_Closed Tabs"
+msgstr "최근에 닫은 탭(_C)"
+
+#: ../midori/midori-browser.c:3898
+msgid "Clear private data when _quitting Midori"
+msgstr ""
+
+#: ../midori/midori-browser.c:3979
+msgid "A lightweight web browser."
+msgstr ""
+
+#: ../midori/midori-browser.c:3995
+msgid "translator-credits"
+msgstr "Seo Sanghyeon <sanxiyn@gmail.com>"
+
+#: ../midori/midori-browser.c:4261
+msgid "_File"
+msgstr "파일(_F)"
+
+#: ../midori/midori-browser.c:4263 ../midori/sokoke.c:874
+msgid "New _Window"
+msgstr "새 창(_W)"
+
+#: ../midori/midori-browser.c:4264
+msgid "Open a new window"
+msgstr ""
+
+#: ../midori/midori-browser.c:4267
+msgid "Open a new tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:4270
+msgid "Open a file"
+msgstr ""
+
+#: ../midori/midori-browser.c:4273
+msgid "Save to a file"
+msgstr ""
+
+#: ../midori/midori-browser.c:4275
+msgid "Add to Speed _dial"
+msgstr ""
+
+#: ../midori/midori-browser.c:4276
+msgid "Add shortcut to speed dial"
+msgstr ""
+
+#: ../midori/midori-browser.c:4278
+msgid "_Close Tab"
+msgstr "탭 닫기(_C)"
+
+#: ../midori/midori-browser.c:4279
+msgid "Close the current tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:4281
+msgid "C_lose Window"
+msgstr "창 닫기(_L)"
+
+#: ../midori/midori-browser.c:4282
+msgid "Close this window"
+msgstr ""
+
+#: ../midori/midori-browser.c:4285
+msgid "Print the current page"
+msgstr ""
+
+#: ../midori/midori-browser.c:4288
+msgid "Quit the application"
+msgstr ""
+
+#: ../midori/midori-browser.c:4290
+msgid "_Edit"
+msgstr "편집(_E)"
+
+#: ../midori/midori-browser.c:4293
+msgid "Cut the selected text"
+msgstr ""
+
+#: ../midori/midori-browser.c:4296 ../midori/midori-browser.c:4299
+msgid "Copy the selected text"
+msgstr ""
+
+#: ../midori/midori-browser.c:4302
+msgid "Paste text from the clipboard"
+msgstr ""
+
+#: ../midori/midori-browser.c:4305
+msgid "Delete the selected text"
+msgstr ""
+
+#: ../midori/midori-browser.c:4308
+msgid "Select all text"
+msgstr ""
+
+#: ../midori/midori-browser.c:4311
+msgid "Find a word or phrase in the page"
+msgstr ""
+
+#: ../midori/midori-browser.c:4313
+msgid "Find _Next"
+msgstr "다시 찾기(_N)"
+
+#: ../midori/midori-browser.c:4314
+msgid "Find the next occurrence of a word or phrase"
+msgstr ""
+
+#: ../midori/midori-browser.c:4316
+msgid "Find _Previous"
+msgstr ""
+
+#: ../midori/midori-browser.c:4317
+msgid "Find the previous occurrence of a word or phrase"
+msgstr ""
+
+#: ../midori/midori-browser.c:4321
+msgid "Configure the application preferences"
+msgstr ""
+
+#: ../midori/midori-browser.c:4323
+msgid "_View"
+msgstr "보기(_V)"
+
+#: ../midori/midori-browser.c:4324
+msgid "_Toolbars"
+msgstr ""
+
+#: ../midori/midori-browser.c:4336
+msgid "Increase the zoom level"
+msgstr ""
+
+#: ../midori/midori-browser.c:4339
+msgid "Decrease the zoom level"
+msgstr ""
+
+#: ../midori/midori-browser.c:4342
+msgid "Reset the zoom level"
+msgstr ""
+
+#: ../midori/midori-browser.c:4343
+msgid "_Encoding"
+msgstr "문자 인코딩(_E)"
+
+#: ../midori/midori-browser.c:4345
+msgid "View So_urce"
+msgstr "소스 보기(_U)"
+
+#: ../midori/midori-browser.c:4346
+msgid "View the source code of the page"
+msgstr ""
+
+#: ../midori/midori-browser.c:4348
+msgid "View Selection Source"
+msgstr ""
+
+#: ../midori/midori-browser.c:4349
+msgid "View the source code of the selection"
+msgstr ""
+
+#: ../midori/midori-browser.c:4353
+msgid "Toggle fullscreen view"
+msgstr ""
+
+#: ../midori/midori-browser.c:4355
+msgid "_Go"
+msgstr "이동(_G)"
+
+#: ../midori/midori-browser.c:4358
+msgid "Go back to the previous page"
+msgstr ""
+
+#: ../midori/midori-browser.c:4361
+msgid "Go forward to the next page"
+msgstr ""
+
+#: ../midori/midori-browser.c:4364
+msgid "Go to your homepage"
+msgstr ""
+
+#: ../midori/midori-browser.c:4366
+msgid "Empty Trash"
+msgstr ""
+
+#: ../midori/midori-browser.c:4367
+msgid "Delete the contents of the trash"
+msgstr ""
+
+#: ../midori/midori-browser.c:4369
+msgid "Undo _Close Tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:4370
+msgid "Open the last closed tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:4374 ../panels/midori-bookmarks.c:231
+msgid "Add a new bookmark"
+msgstr ""
+
+#: ../midori/midori-browser.c:4376
+msgid "Add a new _folder"
+msgstr ""
+
+#: ../midori/midori-browser.c:4377
+msgid "Add a new bookmark folder"
+msgstr ""
+
+#: ../midori/midori-browser.c:4379 ../midori/midori-searchaction.c:497
+msgid "_Manage Search Engines"
+msgstr ""
+
+#: ../midori/midori-browser.c:4380
+msgid "Add, edit and remove search engines..."
+msgstr ""
+
+#: ../midori/midori-browser.c:4383
+msgid "_Clear Private Data"
+msgstr ""
+
+#: ../midori/midori-browser.c:4384
+msgid "Clear private data..."
+msgstr ""
+
+#: ../midori/midori-browser.c:4388
+msgid "_Previous Tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:4389
+msgid "Switch to the previous tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:4391
+msgid "_Next Tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:4392
+msgid "Switch to the next tab"
+msgstr ""
+
+#: ../midori/midori-browser.c:4394
+msgid "_Help"
+msgstr "도움말(_H)"
+
+#: ../midori/midori-browser.c:4396
+msgid "_Contents"
+msgstr "도움말 목차(_C)"
+
+#: ../midori/midori-browser.c:4397
+msgid "Show the documentation"
+msgstr ""
+
+#: ../midori/midori-browser.c:4399
+msgid "_Frequent Questions"
+msgstr ""
+
+#: ../midori/midori-browser.c:4400
+msgid "Show the Frequently Asked Questions"
+msgstr ""
+
+#: ../midori/midori-browser.c:4402
+msgid "_Report a Bug"
+msgstr ""
+
+#: ../midori/midori-browser.c:4403
+msgid "Open Midori's bug tracker"
+msgstr ""
+
+#: ../midori/midori-browser.c:4406
+msgid "Show information about the program"
+msgstr ""
+
+#: ../midori/midori-browser.c:4413
+msgid "P_rivate Browsing"
+msgstr ""
+
+#: ../midori/midori-browser.c:4414
+msgid "Don't save any private data while browsing"
+msgstr ""
+
+#: ../midori/midori-browser.c:4419
+msgid "_Menubar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4420
+msgid "Show menubar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4423
+msgid "_Navigationbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4424
+msgid "Show navigationbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4427
+msgid "Side_panel"
+msgstr ""
+
+#: ../midori/midori-browser.c:4428
+msgid "Show sidepanel"
+msgstr ""
+
+#: ../midori/midori-browser.c:4431
+msgid "_Bookmarkbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4432
+msgid "Show bookmarkbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4435
+msgid "_Transferbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4436
+msgid "Show transferbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4439
+msgid "_Statusbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4440
+msgid "Show statusbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:4447
+msgid "_Automatic"
+msgstr "자동 선택(_A)"
+
+#: ../midori/midori-browser.c:4450 ../midori/midori-websettings.c:214
+msgid "Chinese (BIG5)"
+msgstr ""
+
+#. i18n: A double underscore "__" is used to prevent an unwanted mnemonic
+#: ../midori/midori-browser.c:4454
+msgid "Japanese (SHIFT__JIS)"
+msgstr ""
+
+#: ../midori/midori-browser.c:4457 ../midori/midori-websettings.c:216
+msgid "Russian (KOI8-R)"
+msgstr ""
+
+#: ../midori/midori-browser.c:4460 ../midori/midori-websettings.c:217
+msgid "Unicode (UTF-8)"
+msgstr ""
+
+#: ../midori/midori-browser.c:4463 ../midori/midori-websettings.c:218
+msgid "Western (ISO-8859-1)"
+msgstr ""
+
+#: ../midori/midori-browser.c:4466 ../midori/midori-websettings.c:219
+#: ../midori/midori-websettings.c:291
+msgid "Custom..."
+msgstr ""
+
+#: ../midori/midori-browser.c:4907
+msgid "_Separator"
+msgstr ""
+
+#: ../midori/midori-browser.c:4914
+msgid "_Location..."
+msgstr ""
+
+#: ../midori/midori-browser.c:4916
+msgid "Open a particular location"
+msgstr ""
+
+#: ../midori/midori-browser.c:4940
+msgid "_Web Search..."
+msgstr ""
+
+#: ../midori/midori-browser.c:4942
+msgid "Run a web search"
+msgstr ""
+
+#: ../midori/midori-browser.c:4963
+msgid "Reopen a previously closed tab or window"
+msgstr ""
+
+#: ../midori/midori-browser.c:4978
+msgid "_Recently visited pages"
+msgstr ""
+
+#: ../midori/midori-browser.c:4980
+msgid "Reopen pages that you visited earlier"
+msgstr ""
+
+#: ../midori/midori-browser.c:4995 ../midori/sokoke.c:862
+msgid "_Bookmarks"
+msgstr "북마크(_B)"
+
+#: ../midori/midori-browser.c:4997
+msgid "Show the saved bookmarks"
+msgstr ""
+
+#: ../midori/midori-browser.c:5012
+msgid "_Tools"
+msgstr "도구(_T)"
+
+#: ../midori/midori-browser.c:5024
+msgid "_Window"
+msgstr "창(_W)"
+
+#: ../midori/midori-browser.c:5026
+msgid "Show a list of all open tabs"
+msgstr ""
+
+#: ../midori/midori-browser.c:5040
+msgid "_Menu"
+msgstr ""
+
+#: ../midori/midori-browser.c:5042
+msgid "Menu"
+msgstr ""
+
+#. i18n: A panel at the bottom, to search text in pages
+#: ../midori/midori-browser.c:5228
+msgid "_Inline Find:"
+msgstr ""
+
+#: ../midori/midori-browser.c:5253
+msgid "Previous"
+msgstr ""
+
+#: ../midori/midori-browser.c:5258
+msgid "Next"
+msgstr ""
+
+#: ../midori/midori-browser.c:5263
+msgid "Match Case"
+msgstr ""
+
+#: ../midori/midori-browser.c:5271
+msgid "Highlight Matches"
+msgstr ""
+
+#: ../midori/midori-browser.c:5281
+msgid "Close Findbar"
+msgstr ""
+
+#: ../midori/midori-browser.c:5316 ../panels/midori-transfers.c:143
+msgid "Clear All"
+msgstr ""
+
+#: ../midori/midori-browser.c:5670
+#, c-format
+msgid "Unexpected setting '%s'"
+msgstr ""
+
+#: ../midori/midori-locationaction.c:941
+#, c-format
+msgid "Search with %s"
+msgstr ""
+
+#: ../midori/midori-panel.c:382 ../midori/midori-panel.c:384
+msgid "Detach chosen panel from the window"
+msgstr ""
+
+#: ../midori/midori-panel.c:394 ../midori/midori-panel.c:396
+#: ../midori/midori-panel.c:577 ../midori/midori-panel.c:580
+msgid "Align sidepanel to the right"
+msgstr ""
+
+#: ../midori/midori-panel.c:406 ../midori/midori-panel.c:407
+msgid "Close panel"
+msgstr ""
+
+#: ../midori/midori-panel.c:578 ../midori/midori-panel.c:581
+msgid "Align sidepanel to the left"
+msgstr ""
+
+#: ../midori/midori-panel.c:704
+msgid "Show panel _titles"
+msgstr ""
+
+#: ../midori/midori-panel.c:712
+msgid "Show operating _controls"
+msgstr ""
+
+#: ../midori/midori-panel.c:783
+msgid "Options"
+msgstr ""
+
+#: ../midori/midori-websettings.c:197
+msgid "Show Blank page"
+msgstr ""
+
+#: ../midori/midori-websettings.c:198
+msgid "Show Homepage"
+msgstr ""
+
+#: ../midori/midori-websettings.c:199
+msgid "Show last open tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:215
+msgid "Japanese (SHIFT_JIS)"
+msgstr ""
+
+#: ../midori/midori-websettings.c:234
+msgid "New tab"
+msgstr ""
+
+#: ../midori/midori-websettings.c:235
+msgid "New window"
+msgstr ""
+
+#: ../midori/midori-websettings.c:236
+msgid "Current tab"
+msgstr ""
+
+#: ../midori/midori-websettings.c:251
+msgid "Default"
+msgstr ""
+
+#: ../midori/midori-websettings.c:252
+msgid "Icons"
+msgstr ""
+
+#: ../midori/midori-websettings.c:253
+msgid "Text"
+msgstr ""
+
+#: ../midori/midori-websettings.c:254
+msgid "Icons and text"
+msgstr ""
+
+#: ../midori/midori-websettings.c:255
+msgid "Text beside icons"
+msgstr ""
+
+#: ../midori/midori-websettings.c:270
+msgid "All cookies"
+msgstr ""
+
+#: ../midori/midori-websettings.c:271
+msgid "Session cookies"
+msgstr ""
+
+#: ../midori/midori-websettings.c:272 ../panels/midori-addons.c:94
+#: ../extensions/shortcuts.c:93
+msgid "None"
+msgstr ""
+
+#: ../midori/midori-websettings.c:288
+msgid "Safari"
+msgstr ""
+
+#: ../midori/midori-websettings.c:289
+msgid "Firefox"
+msgstr ""
+
+#: ../midori/midori-websettings.c:290
+msgid "Internet Explorer"
+msgstr ""
+
+#: ../midori/midori-websettings.c:343
+msgid "Remember last window size"
+msgstr ""
+
+#: ../midori/midori-websettings.c:344
+msgid "Whether to save the last window size"
+msgstr ""
+
+#: ../midori/midori-websettings.c:352
+msgid "Last window width"
+msgstr ""
+
+#: ../midori/midori-websettings.c:353
+msgid "The last saved window width"
+msgstr ""
+
+#: ../midori/midori-websettings.c:361
+msgid "Last window height"
+msgstr ""
+
+#: ../midori/midori-websettings.c:362
+msgid "The last saved window height"
+msgstr ""
+
+#: ../midori/midori-websettings.c:387
+msgid "Last panel position"
+msgstr ""
+
+#: ../midori/midori-websettings.c:388
+msgid "The last saved panel position"
+msgstr ""
+
+#. i18n: The internal index of the last opened panel
+#: ../midori/midori-websettings.c:397
+msgid "Last panel page"
+msgstr ""
+
+#: ../midori/midori-websettings.c:398
+msgid "The last saved panel page"
+msgstr ""
+
+#: ../midori/midori-websettings.c:406
+msgid "Last Web search"
+msgstr ""
+
+#: ../midori/midori-websettings.c:407
+msgid "The last saved Web search"
+msgstr ""
+
+#: ../midori/midori-websettings.c:416
+msgid "Show Menubar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:417
+msgid "Whether to show the menubar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:425
+msgid "Show Navigationbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:426
+msgid "Whether to show the navigationbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:434
+msgid "Show Bookmarkbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:435
+msgid "Whether to show the bookmarkbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:443
+msgid "Show Panel"
+msgstr ""
+
+#: ../midori/midori-websettings.c:444
+msgid "Whether to show the panel"
+msgstr ""
+
+#: ../midori/midori-websettings.c:459
+msgid "Show Transferbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:460
+msgid "Whether to show the transferbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:468
+msgid "Show Statusbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:469
+msgid "Whether to show the statusbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:478
+msgid "Toolbar Style:"
+msgstr ""
+
+#: ../midori/midori-websettings.c:479
+msgid "The style of the toolbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:495
+msgid "Show progress in location entry"
+msgstr ""
+
+#: ../midori/midori-websettings.c:496
+msgid "Whether to show loading progress in the location entry"
+msgstr ""
+
+#: ../midori/midori-websettings.c:511
+msgid "Search engines in location completion"
+msgstr ""
+
+#: ../midori/midori-websettings.c:512
+msgid "Whether to show search engines in the location completion"
+msgstr ""
+
+#: ../midori/midori-websettings.c:520
+msgid "Toolbar Items"
+msgstr ""
+
+#: ../midori/midori-websettings.c:521
+msgid "The items to show on the toolbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:529
+msgid "Compact Sidepanel"
+msgstr ""
+
+#: ../midori/midori-websettings.c:530
+msgid "Whether to make the sidepanel compact"
+msgstr ""
+
+#: ../midori/midori-websettings.c:545
+msgid "Show operating controls of the panel"
+msgstr ""
+
+#: ../midori/midori-websettings.c:546
+msgid "Whether to show the operating controls of the panel"
+msgstr ""
+
+#: ../midori/midori-websettings.c:561
+msgid "Align sidepanel on the right"
+msgstr ""
+
+#: ../midori/midori-websettings.c:562
+msgid "Whether to align the sidepanel on the right"
+msgstr ""
+
+#: ../midori/midori-websettings.c:571
+msgid "When Midori starts:"
+msgstr ""
+
+#: ../midori/midori-websettings.c:572
+msgid "What to do when Midori starts"
+msgstr ""
+
+#: ../midori/midori-websettings.c:581
+msgid "Homepage:"
+msgstr ""
+
+#: ../midori/midori-websettings.c:582
+msgid "The homepage"
+msgstr ""
+
+#: ../midori/midori-websettings.c:597
+msgid "Show crash dialog"
+msgstr ""
+
+#: ../midori/midori-websettings.c:598
+msgid "Show a dialog after Midori crashed"
+msgstr ""
+
+#. i18n: Speed dial, webpage shortcuts, named for the phone function
+#: ../midori/midori-websettings.c:614
+msgid "Show speed dial in new tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:615
+msgid "Show speed dial in newly opened tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:623
+msgid "Save downloaded files to:"
+msgstr ""
+
+#: ../midori/midori-websettings.c:624
+msgid "The folder downloaded files are saved to"
+msgstr ""
+
+#: ../midori/midori-websettings.c:643
+msgid "Ask for the destination folder"
+msgstr ""
+
+#: ../midori/midori-websettings.c:644
+msgid "Whether to ask for the destination folder when downloading a file"
+msgstr ""
+
+#: ../midori/midori-websettings.c:663
+msgid "Notify when a transfer has been completed"
+msgstr ""
+
+#: ../midori/midori-websettings.c:664
+msgid "Whether to show a notification when a transfer has been completed"
+msgstr ""
+
+#: ../midori/midori-websettings.c:676
+msgid "Download Manager"
+msgstr ""
+
+#: ../midori/midori-websettings.c:677
+msgid "An external download manager"
+msgstr ""
+
+#: ../midori/midori-websettings.c:685
+msgid "Text Editor"
+msgstr ""
+
+#: ../midori/midori-websettings.c:686
+msgid "An external text editor"
+msgstr ""
+
+#: ../midori/midori-websettings.c:701
+msgid "News Aggregator"
+msgstr ""
+
+#: ../midori/midori-websettings.c:702
+msgid "An external news aggregator"
+msgstr ""
+
+#: ../midori/midori-websettings.c:710
+msgid "Location entry Search"
+msgstr ""
+
+#: ../midori/midori-websettings.c:711
+msgid "The search to perform inside the location entry"
+msgstr ""
+
+#: ../midori/midori-websettings.c:719
+msgid "Preferred Encoding"
+msgstr ""
+
+#: ../midori/midori-websettings.c:720
+msgid "The preferred character encoding"
+msgstr ""
+
+#: ../midori/midori-websettings.c:730
+msgid "Always Show Tabbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:731
+msgid "Always show the tabbar"
+msgstr ""
+
+#: ../midori/midori-websettings.c:739
+msgid "Close Buttons on Tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:740
+msgid "Whether tabs have close buttons"
+msgstr ""
+
+#: ../midori/midori-websettings.c:748
+msgid "Open new pages in:"
+msgstr ""
+
+#: ../midori/midori-websettings.c:749
+msgid "Where to open new pages"
+msgstr ""
+
+#: ../midori/midori-websettings.c:758
+msgid "Open external pages in:"
+msgstr ""
+
+#: ../midori/midori-websettings.c:759
+msgid "Where to open externally opened pages"
+msgstr ""
+
+#: ../midori/midori-websettings.c:768
+msgid "Middle click opens Selection"
+msgstr ""
+
+#: ../midori/midori-websettings.c:769
+msgid "Load an address from the selection via middle click"
+msgstr ""
+
+#: ../midori/midori-websettings.c:777
+msgid "Open tabs in the background"
+msgstr ""
+
+#: ../midori/midori-websettings.c:778
+msgid "Whether to open new tabs in the background"
+msgstr ""
+
+#: ../midori/midori-websettings.c:786
+msgid "Open Tabs next to Current"
+msgstr ""
+
+#: ../midori/midori-websettings.c:787
+msgid "Whether to open new tabs next to the current tab or after the last one"
+msgstr ""
+
+#: ../midori/midori-websettings.c:795
+msgid "Open popups in tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:796
+msgid "Whether to open popup windows in tabs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:812
+msgid "Zoom Text and Images"
+msgstr ""
+
+#: ../midori/midori-websettings.c:813
+msgid "Whether to zoom text and images"
+msgstr ""
+
+#: ../midori/midori-websettings.c:828
+msgid "Find inline while typing"
+msgstr ""
+
+#: ../midori/midori-websettings.c:829
+msgid "Whether to automatically find inline while typing"
+msgstr ""
+
+#: ../midori/midori-websettings.c:837
+msgid "Accept cookies"
+msgstr ""
+
+#: ../midori/midori-websettings.c:838
+msgid "What type of cookies to accept"
+msgstr ""
+
+#: ../midori/midori-websettings.c:847
+msgid "Original cookies only"
+msgstr ""
+
+#: ../midori/midori-websettings.c:848
+msgid "Accept cookies from the original website only"
+msgstr ""
+
+#: ../midori/midori-websettings.c:856
+msgid "Maximum cookie age"
+msgstr ""
+
+#: ../midori/midori-websettings.c:857
+msgid "The maximum number of days to save cookies for"
+msgstr ""
+
+#: ../midori/midori-websettings.c:867
+msgid "Remember last visited pages"
+msgstr ""
+
+#: ../midori/midori-websettings.c:868
+msgid "Whether the last visited pages are saved"
+msgstr ""
+
+#: ../midori/midori-websettings.c:876
+msgid "Maximum history age"
+msgstr ""
+
+#: ../midori/midori-websettings.c:877
+msgid "The maximum number of days to save the history for"
+msgstr ""
+
+#: ../midori/midori-websettings.c:885
+msgid "Remember last form inputs"
+msgstr ""
+
+#: ../midori/midori-websettings.c:886
+msgid "Whether the last form inputs are saved"
+msgstr ""
+
+#: ../midori/midori-websettings.c:894
+msgid "Remember last downloaded files"
+msgstr ""
+
+#: ../midori/midori-websettings.c:895
+msgid "Whether the last downloaded files are saved"
+msgstr ""
+
+#: ../midori/midori-websettings.c:905
+msgid "Proxy Server"
+msgstr ""
+
+#: ../midori/midori-websettings.c:906
+msgid "The proxy server used for HTTP connections"
+msgstr ""
+
+#: ../midori/midori-websettings.c:921
+msgid "Detect proxy server automatically"
+msgstr ""
+
+#: ../midori/midori-websettings.c:922
+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:938
+msgid "Identify as"
+msgstr ""
+
+#: ../midori/midori-websettings.c:939
+msgid "What to identify as to web pages"
+msgstr ""
+
+#: ../midori/midori-websettings.c:955
+msgid "Identification string"
+msgstr ""
+
+#: ../midori/midori-websettings.c:956
+msgid "The application identification string"
+msgstr ""
+
+#: ../midori/midori-websettings.c:964
+msgid "Cache size"
+msgstr ""
+
+#: ../midori/midori-websettings.c:965
+msgid "The allowed size of the cache"
+msgstr ""
+
+#: ../midori/midori-websettings.c:980
+msgid "Clear private data"
+msgstr ""
+
+#: ../midori/midori-websettings.c:981
+msgid "The private data selected for deletion"
+msgstr ""
+
+#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
+#. so reloading via Javascript works but not via API calls.
+#. 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:782 ../midori/midori-view.c:3043
+#: ../midori/midori-view.c:3047
+#, c-format
+msgid "Error - %s"
+msgstr ""
+
+#: ../midori/midori-view.c:783
+#, c-format
+msgid "The page '%s' couldn't be loaded."
+msgstr ""
+
+#: ../midori/midori-view.c:788
+msgid "Try again"
+msgstr ""
+
+#. i18n: The title of the 404 - Not found error page
+#: ../midori/midori-view.c:821
+#, c-format
+msgid "Not found - %s"
+msgstr ""
+
+#: ../midori/midori-view.c:1218
+msgid "Open _Link"
+msgstr ""
+
+#: ../midori/midori-view.c:1220
+msgid "Open Link in New _Tab"
+msgstr ""
+
+#: ../midori/midori-view.c:1237
+msgid "Open Link in New _Window"
+msgstr ""
+
+#: ../midori/midori-view.c:1243
+msgid "_Download Link destination"
+msgstr ""
+
+#: ../midori/midori-view.c:1249
+msgid "_Save Link destination"
+msgstr ""
+
+#: ../midori/midori-view.c:1258
+msgid "Download with Download _Manager"
+msgstr ""
+
+#: ../midori/midori-view.c:1287
+msgid "Search _with"
+msgstr ""
+
+#: ../midori/midori-view.c:1319
+msgid "_Search the Web"
+msgstr ""
+
+#: ../midori/midori-view.c:1329
+msgid "Open Address in New _Tab"
+msgstr ""
+
+#: ../midori/midori-view.c:1507
+msgid "Open or download file"
+msgstr ""
+
+#: ../midori/midori-view.c:1524
+#, c-format
+msgid "File Type: '%s'"
+msgstr ""
+
+#: ../midori/midori-view.c:1527
+#, 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:1531
+#, c-format
+msgid "Open %s"
+msgstr ""
+
+#: ../midori/midori-view.c:1981
+#, c-format
+msgid "Inspect page - %s"
+msgstr ""
+
+#: ../midori/midori-view.c:2176
+msgid "Speed dial"
+msgstr ""
+
+#: ../midori/midori-view.c:2177
+msgid "Click to add a shortcut"
+msgstr ""
+
+#: ../midori/midori-view.c:2178
+msgid "Enter shortcut address"
+msgstr ""
+
+#: ../midori/midori-view.c:2179
+msgid "Enter shortcut title"
+msgstr ""
+
+#: ../midori/midori-view.c:2180
+msgid "Are you sure you want to delete this shortcut?"
+msgstr ""
+
+#: ../midori/midori-view.c:2210
+#, c-format
+msgid "Document cannot be displayed"
+msgstr ""
+
+#: ../midori/midori-view.c:2227
+#, c-format
+msgid "No documentation installed"
+msgstr ""
+
+#: ../midori/midori-view.c:2352
+msgid "Blank page"
+msgstr ""
+
+#: ../midori/midori-view.c:2581 ../midori/sokoke.c:870
+msgid "New _Tab"
+msgstr "새 탭(_T)"
+
+#: ../midori/midori-view.c:2595
+msgid "_Duplicate Tab"
+msgstr ""
+
+#: ../midori/midori-view.c:2600
+msgid "_Restore Tab"
+msgstr ""
+
+#: ../midori/midori-view.c:2600
+msgid "_Minimize Tab"
+msgstr ""
+
+#: ../midori/midori-view.c:3149
+msgid "Print background images"
+msgstr ""
+
+#: ../midori/midori-view.c:3150
+msgid "Whether background images should be printed"
+msgstr ""
+
+#: ../midori/midori-view.c:3194 ../midori/midori-preferences.c:484
+msgid "Features"
+msgstr ""
+
+#: ../midori/midori-preferences.c:91
+#, c-format
+msgid "Preferences for %s"
+msgstr ""
+
+#. Page "General"
+#: ../midori/midori-preferences.c:398
+msgid "General"
+msgstr ""
+
+#: ../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:440
+msgid "Appearance"
+msgstr ""
+
+#: ../midori/midori-preferences.c:441
+msgid "Font settings"
+msgstr ""
+
+#: ../midori/midori-preferences.c:443
+msgid "Default Font Family"
+msgstr ""
+
+#: ../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:457
+msgid "The font family used to display fixed-width text"
+msgstr ""
+
+#: ../midori/midori-preferences.c:460
+msgid "The font size used to display fixed-width text"
+msgstr ""
+
+#: ../midori/midori-preferences.c:463
+msgid "Minimum Font Size"
+msgstr ""
+
+#: ../midori/midori-preferences.c:466
+msgid "The minimum font size used to display text"
+msgstr ""
+
+#: ../midori/midori-preferences.c:473
+msgid "Encoding"
+msgstr ""
+
+#: ../midori/midori-preferences.c:476
+msgid "The character encoding to use by default"
+msgstr ""
+
+#. Page "Behavior"
+#: ../midori/midori-preferences.c:483
+msgid "Behavior"
+msgstr ""
+
+#: ../midori/midori-preferences.c:487 ../extensions/statusbar-features.c:88
+msgid "Load images automatically"
+msgstr ""
+
+#: ../midori/midori-preferences.c:488
+msgid "Load and display images automatically"
+msgstr ""
+
+#: ../midori/midori-preferences.c:492
+msgid "Shrink images automatically"
+msgstr ""
+
+#: ../midori/midori-preferences.c:493
+msgid "Automatically shrink standalone images to fit"
+msgstr ""
+
+#: ../midori/midori-preferences.c:499 ../extensions/statusbar-features.c:100
+msgid "Enable scripts"
+msgstr ""
+
+#: ../midori/midori-preferences.c:500
+msgid "Enable embedded scripting languages"
+msgstr ""
+
+#: ../midori/midori-preferences.c:503 ../extensions/statusbar-features.c:112
+msgid "Enable Netscape plugins"
+msgstr ""
+
+#: ../midori/midori-preferences.c:504
+msgid "Enable embedded Netscape plugin objects"
+msgstr ""
+
+#: ../midori/midori-preferences.c:507
+msgid "Enforce 96 dots per inch"
+msgstr ""
+
+#: ../midori/midori-preferences.c:508
+msgid "Enforce a video dot density of 96 DPI"
+msgstr ""
+
+#: ../midori/midori-preferences.c:511
+msgid "Enable developer tools"
+msgstr ""
+
+#: ../midori/midori-preferences.c:512
+msgid "Enable special extensions for developers"
+msgstr ""
+
+#: ../midori/midori-preferences.c:519
+msgid "Spell Checking"
+msgstr ""
+
+#: ../midori/midori-preferences.c:522
+msgid "Enable Spell Checking"
+msgstr ""
+
+#: ../midori/midori-preferences.c:523
+msgid "Enable spell checking while typing"
+msgstr ""
+
+#. i18n: The example should be adjusted to contain a good local default
+#: ../midori/midori-preferences.c:527
+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:532
+msgid "Interface"
+msgstr ""
+
+#: ../midori/midori-preferences.c:533
+msgid "Navigationbar"
+msgstr ""
+
+#: ../midori/midori-preferences.c:544
+msgid "Browsing"
+msgstr ""
+
+#. Page "Applications"
+#: ../midori/midori-preferences.c:568
+msgid "Applications"
+msgstr "프로그램"
+
+#: ../midori/midori-preferences.c:569
+msgid "External applications"
+msgstr "외부 프로그램"
+
+#. Page "Network"
+#: ../midori/midori-preferences.c:615 ../midori/midori-preferences.c:616
+msgid "Network"
+msgstr "네트워크"
+
+#: ../midori/midori-preferences.c:643
+msgid "MB"
+msgstr ""
+
+#. Page "Privacy"
+#: ../midori/midori-preferences.c:648
+msgid "Privacy"
+msgstr "개인 정보"
+
+#: ../midori/midori-preferences.c:649
+msgid "Web Cookies"
+msgstr ""
+
+#: ../midori/midori-preferences.c:662 ../midori/midori-preferences.c:672
+msgid "days"
+msgstr "일"
+
+#: ../midori/midori-searchaction.c:488 ../katze/katze-arrayaction.c:335
+msgid "Empty"
+msgstr ""
+
+#: ../midori/midori-searchaction.c:908
+msgid "Add search engine"
+msgstr ""
+
+#: ../midori/midori-searchaction.c:908
+msgid "Edit search engine"
+msgstr ""
+
+#: ../midori/midori-searchaction.c:936
+msgid "_Name:"
+msgstr ""
+
+#: ../midori/midori-searchaction.c:980
+msgid "_Icon:"
+msgstr ""
+
+#: ../midori/midori-searchaction.c:994
+msgid "_Token:"
+msgstr ""
+
+#: ../midori/midori-searchaction.c:1213
+msgid "Manage Search Engines"
+msgstr ""
+
+#: ../midori/midori-searchaction.c:1312
+msgid "Use as _default"
+msgstr ""
+
+#: ../midori/sokoke.c:166 ../midori/sokoke.c:178
+msgid "Could not run external program."
+msgstr ""
+
+#: ../midori/sokoke.c:861
+msgid "_Bookmark"
+msgstr ""
+
+#: ../midori/sokoke.c:863
+msgid "Add Boo_kmark"
+msgstr "북마크에 추가(_K)"
+
+#: ../midori/sokoke.c:864
+msgid "_Console"
+msgstr ""
+
+#: ../midori/sokoke.c:865
+msgid "_Extensions"
+msgstr "확장 기능(_E)"
+
+#: ../midori/sokoke.c:866
+msgid "_History"
+msgstr "방문 기록(_H)"
+
+#: ../midori/sokoke.c:867
+msgid "_Homepage"
+msgstr "홈 페이지(_H)"
+
+#: ../midori/sokoke.c:868
+msgid "_Userscripts"
+msgstr "사용자 스크립트(_U)"
+
+#: ../midori/sokoke.c:869
+msgid "User_styles"
+msgstr "사용자 스타일(_S)"
+
+#: ../midori/sokoke.c:871
+msgid "_Transfers"
+msgstr "다운로드(_T)"
+
+#: ../midori/sokoke.c:872
+msgid "Netscape p_lugins"
+msgstr "플러그인(_L)"
+
+#: ../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-bookmarks.c:108
+msgid "Bookmarks"
+msgstr "북마크"
+
+#: ../panels/midori-bookmarks.c:239
+msgid "Edit the selected bookmark"
+msgstr ""
+
+#: ../panels/midori-bookmarks.c:247
+msgid "Delete the selected bookmark"
+msgstr ""
+
+#: ../panels/midori-bookmarks.c:260
+msgid "Add a new folder"
+msgstr ""
+
+#: ../panels/midori-bookmarks.c:592
+msgid "<i>Separator</i>"
+msgstr ""
+
+#: ../panels/midori-console.c:87
+msgid "Console"
+msgstr ""
+
+#: ../panels/midori-extensions.c:91
+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:601
+msgid "A week ago"
+msgstr ""
+
+#: ../panels/midori-history.c:606
+#, c-format
+msgid "%d day ago"
+msgid_plural "%d days ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../panels/midori-history.c:614
+msgid "Today"
+msgstr "오늘"
+
+#: ../panels/midori-history.c:616
+msgid "Yesterday"
+msgstr "어제"
+
+#: ../panels/midori-plugins.c:87 ../extensions/statusbar-features.c:108
+msgid "Netscape plugins"
+msgstr "플러그인"
+
+#: ../panels/midori-transfers.c:480
+msgid "Open Destination _Folder"
+msgstr ""
+
+#: ../panels/midori-transfers.c:483
+msgid "Copy Link Loc_ation"
+msgstr ""
+
+#: ../katze/katze-http-auth.c:124
+msgid "Authentication Required"
+msgstr ""
+
+#: ../katze/katze-http-auth.c:140
+msgid ""
+"A username and a password are required\n"
+"to open this location:"
+msgstr ""
+
+#: ../katze/katze-http-auth.c:154
+msgid "Username"
+msgstr ""
+
+#: ../katze/katze-http-auth.c:170
+msgid "Password"
+msgstr ""
+
+#: ../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:200 ../katze/katze-utils.c:407
+#, c-format
+msgid "Property '%s' is invalid for %s"
+msgstr ""
+
+#: ../katze/katze-utils.c:235 ../katze/katze-utils.c:264
+msgid "Choose file"
+msgstr ""
+
+#: ../katze/katze-utils.c:250
+msgid "Choose folder"
+msgstr ""
+
+#: ../extensions/adblock.c:167
+msgid "Configure Advertisement filters"
+msgstr ""
+
+#: ../extensions/adblock.c:304
+msgid "Configure _Advertisement filters..."
+msgstr ""
+
+#: ../extensions/adblock.c:565
+msgid "Advertisement blocker"
+msgstr ""
+
+#: ../extensions/adblock.c:566
+msgid "Block advertisements according to a filter list"
+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/cookie-manager-page.c:79
+#: ../extensions/cookie-manager/main.c:56
+msgid "Cookie Manager"
+msgstr "쿠키 관리자"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:109
+msgid "Delete All"
+msgstr "모두 삭제"
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:111
+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:126
+msgid "Expand All"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:133
+msgid "Collapse All"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:460
+msgid "Do you really want to delete all cookies?"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:462
+msgid "Question"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:471
+msgid "Only cookies which match the filter will be deleted."
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:539
+msgid "At the end of the session"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:542
+#, 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/cookie-manager-page.c:548
+msgid "Yes"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:548
+msgid "No"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:811
+msgid "Name"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:862
+msgid "_Expand All"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:870
+msgid "_Collapse All"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:923
+msgid "Filter:"
+msgstr ""
+
+#: ../extensions/cookie-manager/cookie-manager-page.c:928
+msgid ""
+"Enter a filter string to show only cookies whose name or domain field match "
+"the entered filter"
+msgstr ""
+
+#: ../extensions/cookie-manager/main.c:40
+msgid "_Cookie Manager"
+msgstr "쿠키 관리자(_C)"
+
+#: ../extensions/cookie-manager/main.c:57
+msgid "List, view and delete cookies"
+msgstr ""
+
+#: ../extensions/feed-panel/feed-atom.c:237
+msgid "Failed to find required Atom \"entry\" elements in XML data."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-atom.c:343
+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:192
+#, c-format
+msgid "Failed to find root element in feed XML data."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-parse.c:232
+#, c-format
+msgid "Unsupported feed format."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-parse.c:262
+#, 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:148
+msgid "Failed to find required RSS \"item\" elements in XML data."
+msgstr ""
+
+#: ../extensions/feed-panel/feed-rss.c:248
+msgid "Failed to find required RSS \"channel\" elements in XML data."
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:124
+msgid "Error"
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:126
+#, c-format
+msgid "Feed '%s' already exists"
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:203
+#, c-format
+msgid "Error loading feed '%s'"
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:514
+msgid "Feed Panel"
+msgstr ""
+
+#: ../extensions/feed-panel/main.c:515
+msgid "Read Atom/ RSS feeds"
+msgstr ""
+
+#: ../extensions/mouse-gestures/main.c:236
+msgid "Mouse Gestures"
+msgstr ""
+
+#: ../extensions/mouse-gestures/main.c:237
+msgid "Control Midori by moving the mouse"
+msgstr ""
+
+#. 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 ""
+
+#: ../extensions/shortcuts.c:172
+msgid "Customize Keyboard shortcuts"
+msgstr ""
+
+#: ../extensions/shortcuts.c:264
+msgid "Customize Sh_ortcuts..."
+msgstr ""
+
+#: ../extensions/shortcuts.c:303
+msgid "Shortcuts"
+msgstr ""
+
+#: ../extensions/shortcuts.c:304
+msgid "View and edit keyboard shortcuts"
+msgstr ""
+
+#: ../extensions/statusbar-features.c:84
+msgid "Images"
+msgstr ""
+
+#: ../extensions/statusbar-features.c:96
+msgid "Scripts"
+msgstr ""
+
+#: ../extensions/statusbar-features.c:149
+msgid "Statusbar Features"
+msgstr ""
+
+#: ../extensions/statusbar-features.c:150
+msgid "Easily toggle features on web pages on and off"
+msgstr ""
+
+#: ../extensions/tab-panel.c:558 ../extensions/tab-panel.c:613
+msgid "Tab Panel"
+msgstr ""
+
+#: ../extensions/tab-panel.c:597
+msgid "T_ab Panel"
+msgstr ""
+
+#: ../extensions/tab-panel.c:614
+msgid "Show tabs in a vertical panel"
+msgstr ""
+
+#: ../extensions/toolbar-editor.c:391
+msgid "Customize Toolbar"
+msgstr ""
+
+#: ../extensions/toolbar-editor.c:407
+msgid ""
+"Select items to be displayed on the toolbar. Items can be reodered by drag "
+"and drop."
+msgstr ""
+
+#: ../extensions/toolbar-editor.c:423
+msgid "Available Items"
+msgstr ""
+
+#: ../extensions/toolbar-editor.c:444
+msgid "Displayed Items"
+msgstr ""
+
+#: ../extensions/toolbar-editor.c:579
+msgid "Customize _Toolbar..."
+msgstr ""
+
+#: ../extensions/toolbar-editor.c:611
+msgid "Toolbar Editor"
+msgstr ""
+
+#: ../extensions/toolbar-editor.c:612
+msgid "Easily edit the toolbar layout"
+msgstr ""
#
msgid ""
msgstr ""
-"Project-Id-Version: Midori 0.1.9\n"
+"Project-Id-Version: Midori 0.1.10\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-08-24 10:45-0300\n"
-"PO-Revision-Date: \n"
+"PO-Revision-Date: 2009-09-16 11:15-0300\n"
"Last-Translator: Rogério Brito <rbrito@ime.usp.br>\n"
"Language-Team: Rogério Brito <rbrito@ime.usp.br>\n"
"MIME-Version: 1.0\n"
msgid "Lightweight web browser"
msgstr "Navegador Leve de Web"
-#: ../data/midori.desktop.in.h:2
-#: ../midori/main.c:1343
-#: ../midori/main.c:1517
-#: ../midori/main.c:1525
-#: ../midori/main.c:1536
+#: ../data/midori.desktop.in.h:2 ../midori/main.c:1343 ../midori/main.c:1517
+#: ../midori/main.c:1525 ../midori/main.c:1536
#: ../midori/midori-websettings.c:287
msgid "Midori"
msgstr "Midori"
msgid "Value '%s' is invalid for %s"
msgstr "O valor '%s' é inválido para %s"
-#: ../midori/main.c:158
-#: ../midori/main.c:238
+#: ../midori/main.c:158 ../midori/main.c:238
#, c-format
msgid "Invalid configuration value '%s'"
msgstr "Valor de configuração '%s' inválido "
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
+#: ../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 item ao histórico: %s\n"
msgid "The search engines couldn't be saved. %s"
msgstr "Os sites de pesquisa não foram guardados. %s"
-#: ../midori/main.c:798
-#: ../midori/main.c:826
-#: ../midori/main.c:855
+#: ../midori/main.c:798 ../midori/main.c:826 ../midori/main.c:855
#, c-format
msgid "The bookmarks couldn't be saved. %s"
-msgstr "Os marcadores não foram guardados. %s"
+msgstr "Os favoritos não foram guardados. %s"
#. i18n: Trash, or wastebin, containing closed tabs
-#: ../midori/main.c:878
-#: ../midori/main.c:901
+#: ../midori/main.c:878 ../midori/main.c:901
#, c-format
msgid "The trash couldn't be saved. %s"
msgstr "O lixo não foi guardado. %s"
msgstr "A sessão não foi guardada. %s"
#: ../midori/main.c:1101
-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 em que foi aberto. Se isso ocorrer repetidamente, tente uma das seguintes opções para resolver o problema."
+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 em que foi aberto. Se isso "
+"ocorrer repetidamente, tente uma das seguintes opções para resolver o "
+"problema."
#: ../midori/main.c:1116
msgid "Modify _preferences"
#: ../midori/main.c:1655
msgid "An instance of Midori is already running but not responding.\n"
-msgstr "Já existe uma instância de Midori em execução que não está respondendo.\n"
+msgstr ""
+"Já existe uma instância do Midori em execução que não está respondendo.\n"
#: ../midori/main.c:1715
#, c-format
#: ../midori/main.c:1727
#, c-format
msgid "The bookmarks couldn't be loaded: %s\n"
-msgstr "Os marcadores não foram carregados: %s\n"
+msgstr "Os favoritos não foram carregados: %s\n"
#: ../midori/main.c:1742
#, c-format
msgid "File not found."
msgstr "Arquivo não encontrado."
-#: ../midori/midori-array.c:258
-#: ../midori/midori-array.c:267
+#: ../midori/midori-array.c:258 ../midori/midori-array.c:267
msgid "Malformed document."
msgstr "Documento mal-formado."
-#: ../midori/midori-array.c:429
-#: ../midori/sokoke.c:694
+#: ../midori/midori-array.c:429 ../midori/sokoke.c:694
#, c-format
msgid "Writing failed."
msgstr "Falha na escrita."
-#: ../midori/midori-browser.c:307
-#: ../midori/midori-browser.c:4229
+#: ../midori/midori-browser.c:307 ../midori/midori-browser.c:4229
#: ../midori/midori-browser.c:4235
msgid "Reload the current page"
msgstr "Recarregar página atual"
-#: ../midori/midori-browser.c:318
-#: ../midori/midori-browser.c:4232
+#: ../midori/midori-browser.c:318 ../midori/midori-browser.c:4232
msgid "Stop loading the current page"
msgstr "Parar o carregamento da página atual"
#: ../midori/midori-browser.c:434
#, c-format
msgid "Unexpected action '%s'."
-msgstr "Ação inesperada '%s'."
+msgstr "Ação '%s' inesperada."
#: ../midori/midori-browser.c:616
msgid "New folder"
#: ../midori/midori-browser.c:618
msgid "New bookmark"
-msgstr "Novo marcador"
+msgstr "Novo favorito"
#: ../midori/midori-browser.c:618
msgid "Edit bookmark"
-msgstr "Editar marcador"
+msgstr "Editar favorito"
#: ../midori/midori-browser.c:648
msgid "_Title:"
msgstr "_Título:"
-#: ../midori/midori-browser.c:661
-#: ../midori/midori-searchaction.c:952
+#: ../midori/midori-browser.c:661 ../midori/midori-searchaction.c:952
msgid "_Description:"
msgstr "_Descrição:"
-#: ../midori/midori-browser.c:680
-#: ../midori/midori-searchaction.c:966
+#: ../midori/midori-browser.c:680 ../midori/midori-searchaction.c:966
#: ../extensions/feed-panel/main.c:343
msgid "_Address:"
msgstr "_Endereço:"
msgid "_Folder:"
msgstr "_Pasta:"
-#: ../midori/midori-browser.c:704
-#: ../midori/midori-browser.c:745
+#: ../midori/midori-browser.c:704 ../midori/midori-browser.c:745
msgid "Toplevel folder"
msgstr "Pasta Acima"
#: ../midori/midori-browser.c:1984
msgid "Open file"
-msgstr "Abrir arquivos"
+msgstr "Abrir arquivo"
-#: ../midori/midori-browser.c:3430
-#: ../panels/midori-bookmarks.c:781
+#: ../midori/midori-browser.c:3430 ../panels/midori-bookmarks.c:781
#: ../panels/midori-history.c:812
msgid "Open all in _Tabs"
msgstr "Abrir tudo em _Abas"
-#: ../midori/midori-browser.c:3437
-#: ../panels/midori-bookmarks.c:787
-#: ../panels/midori-history.c:818
-#: ../extensions/feed-panel/feed-panel.c:542
+#: ../midori/midori-browser.c:3437 ../panels/midori-bookmarks.c:787
+#: ../panels/midori-history.c:818 ../extensions/feed-panel/feed-panel.c:542
msgid "Open in New _Tab"
msgstr "Abrir em Nova _Aba"
-#: ../midori/midori-browser.c:3440
-#: ../panels/midori-bookmarks.c:789
-#: ../panels/midori-history.c:820
-#: ../extensions/feed-panel/feed-panel.c:544
+#: ../midori/midori-browser.c:3440 ../panels/midori-bookmarks.c:789
+#: ../panels/midori-history.c:820 ../extensions/feed-panel/feed-panel.c:544
msgid "Open in New _Window"
msgstr "Abrir em Nova _Janela"
msgid "Clear the following data:"
msgstr "Limpar os seguintes dados:"
-#: ../midori/midori-browser.c:3777
-#: ../midori/midori-preferences.c:671
+#: ../midori/midori-browser.c:3777 ../midori/midori-preferences.c:671
#: ../panels/midori-history.c:108
msgid "History"
msgstr "Histórico"
msgid "Website icons"
msgstr "Ícones de sites"
-#: ../midori/midori-browser.c:3797
-#: ../midori/sokoke.c:868
+#: ../midori/midori-browser.c:3797 ../midori/sokoke.c:868
msgid "_Closed Tabs"
msgstr "Abas _Fechadas"
msgid "_File"
msgstr "_Arquivo"
-#: ../midori/midori-browser.c:4165
-#: ../midori/sokoke.c:869
+#: ../midori/midori-browser.c:4165 ../midori/sokoke.c:869
msgid "New _Window"
msgstr "Nova _Janela"
msgid "Cut the selected text"
msgstr "Cortar o texto selecionado"
-#: ../midori/midori-browser.c:4198
-#: ../midori/midori-browser.c:4201
+#: ../midori/midori-browser.c:4198 ../midori/midori-browser.c:4201
msgid "Copy the selected text"
msgstr "Copiar o texto selecionado"
#: ../midori/midori-browser.c:4244
msgid "Reset the zoom level"
-msgstr "Usar Zoom Inicial"
+msgstr "Usar zoom inicial"
#: ../midori/midori-browser.c:4245
msgid "_Encoding"
msgid "Open the last closed tab"
msgstr "Abrir última aba fechada"
-#: ../midori/midori-browser.c:4276
-#: ../panels/midori-bookmarks.c:231
+#: ../midori/midori-browser.c:4276 ../panels/midori-bookmarks.c:231
msgid "Add a new bookmark"
-msgstr "Adicionar novo marcador"
+msgstr "Adicionar novo favorito"
#: ../midori/midori-browser.c:4278
msgid "Add a new _folder"
#: ../midori/midori-browser.c:4279
msgid "Add a new bookmark folder"
-msgstr "Adicionar nova pasta de marcadores"
+msgstr "Adicionar nova pasta de favoritos"
-#: ../midori/midori-browser.c:4281
-#: ../midori/midori-searchaction.c:497
+#: ../midori/midori-browser.c:4281 ../midori/midori-searchaction.c:497
msgid "_Manage Search Engines"
msgstr "Administrar Sites de _Pesquisa"
#: ../midori/midori-browser.c:4333
msgid "_Bookmarkbar"
-msgstr "_Barra de Marcadores"
+msgstr "_Barra de Favoritos"
#: ../midori/midori-browser.c:4334
msgid "Show bookmarkbar"
-msgstr "Mostrar barra de marcadores"
+msgstr "Mostrar barra de favoritos"
#: ../midori/midori-browser.c:4337
msgid "_Transferbar"
#: ../midori/midori-browser.c:4341
msgid "_Statusbar"
-msgstr "Barra de _Estado"
+msgstr "Barra de _Status"
#: ../midori/midori-browser.c:4342
msgid "Show statusbar"
-msgstr "Mostrar barra de estado"
+msgstr "Mostrar barra de status"
#: ../midori/midori-browser.c:4349
msgid "_Automatic"
msgstr "_Automático"
-#: ../midori/midori-browser.c:4352
-#: ../midori/midori-websettings.c:214
+#: ../midori/midori-browser.c:4352 ../midori/midori-websettings.c:214
msgid "Chinese (BIG5)"
msgstr "Chinês (BIG5)"
msgid "Japanese (SHIFT__JIS)"
msgstr "Japonês (SHIFT__JIS)"
-#: ../midori/midori-browser.c:4359
-#: ../midori/midori-websettings.c:216
+#: ../midori/midori-browser.c:4359 ../midori/midori-websettings.c:216
msgid "Russian (KOI8-R)"
msgstr "Russo (KOI8-R)"
-#: ../midori/midori-browser.c:4362
-#: ../midori/midori-websettings.c:217
+#: ../midori/midori-browser.c:4362 ../midori/midori-websettings.c:217
msgid "Unicode (UTF-8)"
msgstr "Unicode (UTF-8)"
-#: ../midori/midori-browser.c:4365
-#: ../midori/midori-websettings.c:218
+#: ../midori/midori-browser.c:4365 ../midori/midori-websettings.c:218
msgid "Western (ISO-8859-1)"
msgstr "Ocidental (ISO-8859-1)"
-#: ../midori/midori-browser.c:4368
-#: ../midori/midori-websettings.c:219
+#: ../midori/midori-browser.c:4368 ../midori/midori-websettings.c:219
#: ../midori/midori-websettings.c:291
msgid "Custom..."
msgstr "Personalizar..."
#: ../midori/midori-browser.c:4839
msgid "_Web Search..."
-msgstr "Pesquisa _Web..."
+msgstr "Pesquisa na _Web..."
#: ../midori/midori-browser.c:4841
msgid "Run a web search"
-msgstr "Executar uma pesquisa web"
+msgstr "Executar uma pesquisa na web"
#: ../midori/midori-browser.c:4862
msgid "Reopen a previously closed tab or window"
-msgstr "Reabrir janela ou separador anteriormente fechado"
+msgstr "Reabrir janela ou aba anteriormente fechada"
#: ../midori/midori-browser.c:4877
msgid "_Recently visited pages"
msgid "Reopen pages that you visited earlier"
msgstr "Reabrir páginas visitadas anteriormente"
-#: ../midori/midori-browser.c:4894
-#: ../midori/sokoke.c:857
+#: ../midori/midori-browser.c:4894 ../midori/sokoke.c:857
msgid "_Bookmarks"
-msgstr "_Marcadores"
+msgstr "_Favoritos"
#: ../midori/midori-browser.c:4896
msgid "Show the saved bookmarks"
-msgstr "Mostrar marcadores guardados"
+msgstr "Mostrar favoritos guardados"
#: ../midori/midori-browser.c:4911
msgid "_Tools"
#. i18n: A panel at the bottom, to search text in pages
#: ../midori/midori-browser.c:5127
msgid "_Inline Find:"
-msgstr "Localizar:"
+msgstr "Local_izar:"
#: ../midori/midori-browser.c:5152
msgid "Previous"
#: ../midori/midori-browser.c:5552
#, c-format
msgid "Unexpected setting '%s'"
-msgstr "Definição inesperada '%s'"
+msgstr "Definição '%s' inesperada"
#: ../midori/midori-locationaction.c:901
#, c-format
msgid "Search with %s"
msgstr "Pesquisar com %s"
-#: ../midori/midori-panel.c:382
-#: ../midori/midori-panel.c:384
+#: ../midori/midori-panel.c:382 ../midori/midori-panel.c:384
msgid "Detach chosen panel from the window"
msgstr "Separar o painel escolhido da janela"
-#: ../midori/midori-panel.c:394
-#: ../midori/midori-panel.c:396
-#: ../midori/midori-panel.c:577
-#: ../midori/midori-panel.c:580
+#: ../midori/midori-panel.c:394 ../midori/midori-panel.c:396
+#: ../midori/midori-panel.c:577 ../midori/midori-panel.c:580
msgid "Align sidepanel to the right"
msgstr "Alinhar painel à direita"
-#: ../midori/midori-panel.c:406
-#: ../midori/midori-panel.c:407
+#: ../midori/midori-panel.c:406 ../midori/midori-panel.c:407
msgid "Close panel"
msgstr "Fechar painel"
-#: ../midori/midori-panel.c:578
-#: ../midori/midori-panel.c:581
+#: ../midori/midori-panel.c:578 ../midori/midori-panel.c:581
msgid "Align sidepanel to the left"
msgstr "Alinhar painel à esquerda"
#: ../midori/midori-websettings.c:199
msgid "Show last open tabs"
-msgstr "Mostrar últimos separadores abertos"
+msgstr "Mostrar últimas abas abertas"
#: ../midori/midori-websettings.c:215
msgid "Japanese (SHIFT_JIS)"
msgid "Session cookies"
msgstr "Cookies da sessão"
-#: ../midori/midori-websettings.c:272
-#: ../panels/midori-addons.c:94
+#: ../midori/midori-websettings.c:272 ../panels/midori-addons.c:94
#: ../extensions/shortcuts.c:93
msgid "None"
msgstr "Nenhum"
#: ../midori/midori-websettings.c:406
msgid "Last Web search"
-msgstr "Última pesquisa Web"
+msgstr "Última pesquisa da Web"
#: ../midori/midori-websettings.c:407
msgid "The last saved Web search"
-msgstr "Última pesquisa Web guardada"
+msgstr "Última pesquisa da Web guardada"
#: ../midori/midori-websettings.c:416
msgid "Show Menubar"
#: ../midori/midori-websettings.c:434
msgid "Show Bookmarkbar"
-msgstr "Mostrar Barra de Marcadores"
+msgstr "Mostrar Barra de Favoritos"
#: ../midori/midori-websettings.c:435
msgid "Whether to show the bookmarkbar"
-msgstr "Marque se quiser mostrar a barra de marcadores"
+msgstr "Marque se quiser mostrar a barra de favoritos"
#: ../midori/midori-websettings.c:443
msgid "Show Panel"
#: ../midori/midori-websettings.c:468
msgid "Show Statusbar"
-msgstr "Mostrar Barra de Estado"
+msgstr "Mostrar Barra de Status"
#: ../midori/midori-websettings.c:469
msgid "Whether to show the statusbar"
-msgstr "Marque se quiser mostrar a barra de estado"
+msgstr "Marque se quiser mostrar a barra de status"
#: ../midori/midori-websettings.c:478
msgid "Toolbar Style:"
#: ../midori/midori-websettings.c:496
msgid "Whether to show loading progress in the location entry"
-msgstr "Marque para mostrar a evolução do carregamento na entrada de localização"
+msgstr ""
+"Marque para mostrar a evolução do carregamento na entrada de localização"
#: ../midori/midori-websettings.c:511
msgid "Search engines in location completion"
-msgstr "Sites de pesquisa na conclusão da localização"
+msgstr "Sites de pesquisa ao completar localizações"
#: ../midori/midori-websettings.c:512
msgid "Whether to show search engines in the location completion"
#: ../midori/midori-websettings.c:571
msgid "When Midori starts:"
-msgstr "Ao iniciar Midori:"
+msgstr "Ao iniciar o Midori:"
#: ../midori/midori-websettings.c:572
msgid "What to do when Midori starts"
-msgstr "O que fazer ao iniciar Midori"
+msgstr "O que fazer ao iniciar o Midori"
#: ../midori/midori-websettings.c:581
msgid "Homepage:"
#: ../midori/midori-websettings.c:644
msgid "Whether to ask for the destination folder when downloading a file"
-msgstr "Marcar para perguntar por uma pasta de destino ao transferir um arquivo"
+msgstr ""
+"Marcar para perguntar por uma pasta de destino ao transferir um arquivo"
#: ../midori/midori-websettings.c:663
msgid "Notify when a transfer has been completed"
#: ../midori/midori-websettings.c:676
msgid "Download Manager"
-msgstr "Gestor de Transferências"
+msgstr "Gerenciador de Transferências"
#: ../midori/midori-websettings.c:677
msgid "An external download manager"
-msgstr "Um gestor de transferências externo"
+msgstr "Um gerenciador de transferências externo"
#: ../midori/midori-websettings.c:685
msgid "Text Editor"
#: ../midori/midori-websettings.c:769
msgid "Load an address from the selection via middle click"
-msgstr "Carregar endereço slecionado através de clique na roda do mouse"
+msgstr "Carregar endereço selecionado através de clique na roda do mouse"
#: ../midori/midori-websettings.c:777
msgid "Open tabs in the background"
#: ../midori/midori-websettings.c:856
msgid "Maximum cookie age"
-msgstr "Antiguidade máxima de cookies"
+msgstr "Idade máxima dos cookies"
#: ../midori/midori-websettings.c:857
msgid "The maximum number of days to save cookies for"
#: ../midori/midori-websettings.c:876
msgid "Maximum history age"
-msgstr "Antiguidade máxima do histórico"
+msgstr "Idade máxima do histórico"
#: ../midori/midori-websettings.c:877
msgid "The maximum number of days to save the history for"
#: ../midori/midori-websettings.c:886
msgid "Whether the last form inputs are saved"
-msgstr "Marque psts guardar os dados de formulário"
+msgstr "Marque para guardar os dados de formulário"
#: ../midori/midori-websettings.c:894
msgid "Remember last downloaded files"
#: ../midori/midori-websettings.c:895
msgid "Whether the last downloaded files are saved"
-msgstr "Marque psts guardar as últimas transferências"
+msgstr "Marque para guardar as últimas transferências"
#: ../midori/midori-websettings.c:905
msgid "Proxy Server"
#. WebKit 1.1.6 doesn't handle "alternate content" flawlessly,
#. so reloading via Javascript works but not via API calls.
-#: ../midori/midori-view.c:783
-#: ../midori/midori-view.c:3013
+#: ../midori/midori-view.c:783 ../midori/midori-view.c:3013
#: ../extensions/feed-panel/main.c:112
msgid "Error"
msgstr "Erro"
#. 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:818
-#: ../midori/midori-view.c:3017
+#: ../midori/midori-view.c:818 ../midori/midori-view.c:3017
#, c-format
msgid "Not found - %s"
msgstr "Não encontrado(a) - %s"
#: ../midori/midori-view.c:1236
msgid "_Save Link destination"
-msgstr "De_stino para Guardar Ligação"
+msgstr "De_stino para Guardar Link"
#: ../midori/midori-view.c:1245
msgid "Download with Download _Manager"
-msgstr "Transferir com _Gestor de Transferências"
+msgstr "Transferir com _Gerenciador de Transferências"
#: ../midori/midori-view.c:1274
msgid "Search _with"
msgid "Blank page"
msgstr "Página em branco"
-#: ../midori/midori-view.c:2551
-#: ../midori/sokoke.c:865
+#: ../midori/midori-view.c:2551 ../midori/sokoke.c:865
msgid "New _Tab"
msgstr "_Nova Aba"
msgid "Use current page as homepage"
msgstr "Usar página atual como página inicial"
-#: ../midori/midori-preferences.c:425
-#: ../panels/midori-transfers.c:88
+#: ../midori/midori-preferences.c:425 ../panels/midori-transfers.c:88
msgid "Transfers"
msgstr "Transferências"
#: ../midori/midori-preferences.c:453
msgid "Fixed-width Font Family"
-msgstr "Familia de Fontes de Largura Fixa"
+msgstr "Família de Fontes de Largura Fixa"
#: ../midori/midori-preferences.c:457
msgid "The font family used to display fixed-width text"
msgid "Features"
msgstr "Funções"
-#: ../midori/midori-preferences.c:487
-#: ../extensions/statusbar-features.c:88
+#: ../midori/midori-preferences.c:487 ../extensions/statusbar-features.c:88
msgid "Load images automatically"
msgstr "Carregar imagens automaticamente"
#: ../midori/midori-preferences.c:488
msgid "Load and display images automatically"
-msgstr "Carregar e apresentar automaticamente imagens"
+msgstr "Carregar e apresentar imagens automaticamente"
#: ../midori/midori-preferences.c:491
msgid "Shrink images automatically"
msgid "Whether text areas are resizable"
msgstr "Marque para redimensionar as áreas de texto"
-#: ../midori/midori-preferences.c:503
-#: ../extensions/statusbar-features.c:100
+#: ../midori/midori-preferences.c:503 ../extensions/statusbar-features.c:100
msgid "Enable scripts"
msgstr "Ativar scripts"
#: ../midori/midori-preferences.c:504
msgid "Enable embedded scripting languages"
-msgstr "Ativar linguagens já incorporadas de scripts"
+msgstr "Ativar linguagens de scripts já incorporadas"
-#: ../midori/midori-preferences.c:507
-#: ../extensions/statusbar-features.c:112
+#: ../midori/midori-preferences.c:507 ../extensions/statusbar-features.c:112
msgid "Enable Netscape plugins"
-msgstr "Ativar plugins para o Netscape"
+msgstr "Ativar plugins do Netscape"
#: ../midori/midori-preferences.c:508
msgid "Enable embedded Netscape plugin objects"
-msgstr "Activar plugins nativos do Netscape"
+msgstr "Ativar plugins nativos do Netscape"
#: ../midori/midori-preferences.c:511
msgid "Enforce 96 dots per inch"
#. i18n: The example should be adjusted to contain a good local default
#: ../midori/midori-preferences.c:531
-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\""
+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áfica. Por exemplo \"pt,pt__BR\""
#. Page "Interface"
#: ../midori/midori-preferences.c:536
msgstr "Aplicações externas"
#. Page "Network"
-#: ../midori/midori-preferences.c:621
-#: ../midori/midori-preferences.c:622
+#: ../midori/midori-preferences.c:621 ../midori/midori-preferences.c:622
msgid "Network"
msgstr "Rede"
msgid "Web Cookies"
msgstr "Cookies"
-#: ../midori/midori-preferences.c:668
-#: ../midori/midori-preferences.c:678
+#: ../midori/midori-preferences.c:668 ../midori/midori-preferences.c:678
msgid "days"
msgstr "dias"
-#: ../midori/midori-searchaction.c:488
-#: ../katze/katze-arrayaction.c:335
+#: ../midori/midori-searchaction.c:488 ../katze/katze-arrayaction.c:335
msgid "Empty"
msgstr "Vazio"
#: ../midori/midori-searchaction.c:1213
msgid "Manage Search Engines"
-msgstr "Gerir Sites de Pesquisa"
+msgstr "Gerenciar Sites de Pesquisa"
#: ../midori/midori-searchaction.c:1312
msgid "Use as _default"
-msgstr "Usar por _omissão"
+msgstr "Usar por _default"
-#: ../midori/sokoke.c:162
-#: ../midori/sokoke.c:174
+#: ../midori/sokoke.c:162 ../midori/sokoke.c:174
msgid "Could not run external program."
msgstr "Não foi possível executar o programa externo."
#: ../midori/sokoke.c:856
msgid "_Bookmark"
-msgstr "_Marcador"
+msgstr "_Favorito"
#: ../midori/sokoke.c:858
msgid "Add Boo_kmark"
-msgstr "Adicionar _Marcador"
+msgstr "Adicionar _Favorito"
#: ../midori/sokoke.c:859
msgid "_Console"
#: ../midori/sokoke.c:863
msgid "_Userscripts"
-msgstr "Scripts _Usuário"
+msgstr "Scripts do _Usuário"
#: ../midori/sokoke.c:864
msgid "User_styles"
msgid "Netscape p_lugins"
msgstr "P_lugins do Netscape"
-#: ../panels/midori-addons.c:95
-#: ../panels/midori-addons.c:141
+#: ../panels/midori-addons.c:95 ../panels/midori-addons.c:141
msgid "Userscripts"
-msgstr "Scripts de Usuário"
+msgstr "Scripts do Usuário"
-#: ../panels/midori-addons.c:96
-#: ../panels/midori-addons.c:143
+#: ../panels/midori-addons.c:96 ../panels/midori-addons.c:143
msgid "Userstyles"
msgstr "Estilos de usuário"
#: ../panels/midori-bookmarks.c:108
msgid "Bookmarks"
-msgstr "Marcadores"
+msgstr "Favoritos"
#: ../panels/midori-bookmarks.c:239
msgid "Edit the selected bookmark"
-msgstr "Editar marcador selecionado"
+msgstr "Editar favorito selecionado"
#: ../panels/midori-bookmarks.c:247
msgid "Delete the selected bookmark"
-msgstr "Apagar marcador selecionado"
+msgstr "Apagar favorito selecionado"
#: ../panels/midori-bookmarks.c:260
msgid "Add a new folder"
#: ../panels/midori-history.c:217
msgid "Bookmark the selected history item"
-msgstr "Marcar o item de histórico selecionado"
+msgstr "Marcar o item de histórico selecionado como favorito"
#: ../panels/midori-history.c:226
msgid "Delete the selected history item"
msgid "Yesterday"
msgstr "Ontem"
-#: ../panels/midori-plugins.c:87
-#: ../extensions/statusbar-features.c:108
+#: ../panels/midori-plugins.c:87 ../extensions/statusbar-features.c:108
msgid "Netscape plugins"
msgstr "Plugins do Netscape"
msgid "Animation frames are broken"
msgstr "Frames de animação corrompidos"
-#: ../katze/katze-utils.c:200
-#: ../katze/katze-utils.c:407
+#: ../katze/katze-utils.c:200 ../katze/katze-utils.c:407
#, c-format
msgid "Property '%s' is invalid for %s"
-msgstr "Propriedade %s' é inválida para %s"
+msgstr "Propriedade '%s' é inválida para %s"
-#: ../katze/katze-utils.c:235
-#: ../katze/katze-utils.c:264
+#: ../katze/katze-utils.c:235 ../katze/katze-utils.c:264
msgid "Choose file"
-msgstr "Escolha arquivo"
+msgstr "Escolha o arquivo"
#: ../katze/katze-utils.c:250
msgid "Choose folder"
-msgstr "Escolha pasta"
+msgstr "Escolha a pasta"
#: ../extensions/adblock.c:167
msgid "Configure Advertisement filters"
#: ../extensions/adblock.c:563
msgid "Block advertisements according to a filter list"
-msgstr "Bloquear propagandas de acordo com a lista"
+msgstr "Bloquear propagandas de acordo com uma lista de sites banidos"
#: ../extensions/colorful-tabs.c:115
msgid "Tint tabs distinctly"
-msgstr "Cor distinta para abas"
+msgstr "Cores distintas para abas"
#: ../extensions/colorful-tabs.c:151
msgid "Colorful Tabs"
#: ../extensions/cookie-manager/cookie-manager-page.c:79
#: ../extensions/cookie-manager/main.c:56
msgid "Cookie Manager"
-msgstr "Gestor de Cookies"
+msgstr "Gerenciador de Cookies"
#: ../extensions/cookie-manager/cookie-manager-page.c:111
-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."
+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/cookie-manager-page.c:126
msgid "Expand All"
"<b>Secure</b>: %s\n"
"<b>Expires</b>: %s"
msgstr ""
-"<b>Hospedeiro</b>: %s\n"
+"<b>Site</b>: %s\n"
"<b>Nome</b>: %s\n"
"<b>Valor</b>: %s\n"
"<b>Caminho</b>: %s\n"
msgstr "Filtro:"
#: ../extensions/cookie-manager/cookie-manager-page.c:928
-msgid "Enter a filter string to show only cookies whose name or domain field match the entered filter"
-msgstr "Introduza um filtro para mostrar apenas os cookies cujo nome ou domínio coincidam com o filtro"
+msgid ""
+"Enter a filter string to show only cookies whose name or domain field match "
+"the entered filter"
+msgstr ""
+"Introduza um filtro para mostrar apenas os cookies cujo nome ou domínio "
+"coincidam com o filtro"
#: ../extensions/cookie-manager/main.c:40
msgid "_Cookie Manager"
-msgstr "Gestor de _Cookies"
+msgstr "Gerenciador de _Cookies"
#: ../extensions/cookie-manager/main.c:57
msgid "List, view and delete 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."
+msgstr "Falha ao encontrar elementos \"entry\" do 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."
+msgstr "Falha ao encontrar elementos \"feed\" do 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 atualização : %s."
+msgstr "Última atualização: %s."
#: ../extensions/feed-panel/feed-panel.c:664
msgid "Feeds"
#: ../extensions/feed-panel/feed-parse.c:185
#, c-format
msgid "Failed to find root element in feed XML data."
-msgstr "Falha ao encontrar o elemento raiz nos dados do XML do feed."
+msgstr "Falha ao encontrar o elemento raiz nos dados XML do feed."
#: ../extensions/feed-panel/feed-parse.c:225
#, c-format
#: ../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."
+msgstr "Falha ao encontrar elemento \"channel\" nos dados RSS XML."
#: ../extensions/feed-panel/feed-rss.c:51
msgid "Unsupported RSS version found."
#: ../extensions/feed-panel/feed-rss.c:148
msgid "Failed to find required RSS \"item\" elements in XML data."
-msgstr "Falha ao encontrar os elementos de \"item\" de RSS nos dados XML."
+msgstr "Falha ao encontrar elementos \"item\" de RSS nos dados XML."
#: ../extensions/feed-panel/feed-rss.c:248
msgid "Failed to find required RSS \"channel\" elements in XML data."
-msgstr "Falha ao encontrar os elementos de \"canal\" de RSS nos dados XML."
+msgstr "Falha ao encontrar elementos \"channel\" de RSS nos dados XML."
#: ../extensions/feed-panel/main.c:114
#, c-format
msgstr "Controlar o Midori movendo o mouse"
#. i18n: A panel showing a user specified web page
-#: ../extensions/page-holder.c:129
-#: ../extensions/page-holder.c:177
+#: ../extensions/page-holder.c:129 ../extensions/page-holder.c:177
msgid "Pageholder"
-msgstr "Titular de Página"
+msgstr "Página padrão"
#: ../extensions/page-holder.c:161
msgid "_Pageholder"
-msgstr "Titular de _Página"
+msgstr "_Página padrão"
#: ../extensions/shortcuts.c:172
msgid "Customize Keyboard shortcuts"
#: ../extensions/statusbar-features.c:149
msgid "Statusbar Features"
-msgstr "Funções da barra de estado"
+msgstr "Funções da barra de status"
#: ../extensions/statusbar-features.c:150
msgid "Easily toggle features on web pages on and off"
msgstr "Alternar facilmente as funções ligado/desligado nas páginas web"
-#: ../extensions/tab-panel.c:383
-#: ../extensions/tab-panel.c:443
+#: ../extensions/tab-panel.c:383 ../extensions/tab-panel.c:443
msgid "Tab Panel"
msgstr "Painel de Abas"
msgstr "Personalizar Barra de Ferramentas"
#: ../extensions/toolbar-editor.c:407
-msgid "Select items to be displayed on the toolbar. Items can be reodered by drag and drop."
-msgstr "Selecione os itens a mostar na barra de ferramentas. Os itens podem ser ordenados por arrastamento."
+msgid ""
+"Select items to be displayed on the toolbar. Items can be reodered by drag "
+"and drop."
+msgstr ""
+"Selecione os itens a mostar na barra de ferramentas. Os itens podem ser "
+"ordenados por arrastamento."
#: ../extensions/toolbar-editor.c:423
msgid "Available Items"
#~ msgid "_Closed Tabs and Windows"
#~ msgstr "Abas e Janelas Fe_chadas"
+
#~ msgid "Last open pages"
#~ msgstr "Últimas páginas abertas"
+
#~ msgid "Both"
#~ msgstr "Texto e Ícones"
+
#~ msgid "Both horizontal"
#~ msgstr "Ambos na horizontal"
+
#~ msgid "Load on Startup"
#~ msgstr "Carregar ao Iniciar"
+
#~ msgid "Download Folder"
#~ msgstr "Pasta de Transferências"
+
#~ msgid "Configure _Toolbar..."
#~ msgstr "Configurar Barra de Ferramentas"
+
#~ msgid "_Quick Find"
#~ msgstr "Localização _Rápida"
+
#~ msgid "Quickly jump to a word or phrase"
#~ msgstr "Avanço rápido para palavra ou frase"
+
#~ msgid "Whether to detach the chosen panel from the window"
#~ msgstr "Marque se quiser separar da janela o painel escolhido"
+
#~ msgid "Search"
#~ msgstr "Procurar"
+
#~ msgid "Warning: You are using a superuser account!"
#~ msgstr "Aviso: Você está usando uma conta de super-usuário!"
+
#~ msgid "_Enable"
#~ msgstr "_Activar"
+
#~ msgid "Enable"
#~ msgstr "Ativar"
+
#~ msgid "_Disable"
#~ msgstr "_Desativar"
+
#~ msgid "Disable"
#~ msgstr "Desativar"
+
#~ msgid "%d days ago"
#~ msgstr "%d dias atrás"
+
#~ 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 "%s não pode ser atribuído a %s.%s"
+
#~ msgid "%s.%s cannot be accessed"
#~ msgstr "%s. Não pode acessar %s"
+
#~ 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 Nova _Aba"
+
#~ msgid "_Icon (name or file):"
#~ msgstr "_Ícone (nome ou arquivo):"
+
#~ msgid "Manage search engines"
#~ msgstr "Gerir sites de procura"
-
"Project-Id-Version: Midori 0.1.9-3345559\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-29 23:58+0200\n"
-"PO-Revision-Date: 2009-09-07 22:06+0200\n"
+"PO-Revision-Date: 2009-10-12 16:32+0200\n"
"Last-Translator: Robert Hartl <hartl.robert@gmail.com>\n"
-"Language-Team: slovak <sk-i18n@lists.linux.sk>\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: 8-bit\n"
-"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n>=2 && n<=4 ? 1 : 2;;\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
#: ../data/midori.desktop.in.h:1
msgid "Lightweight web browser"
#: ../midori/main.c:1116
msgid "Modify _preferences"
-msgstr "Zmeniť _nastavenia"
+msgstr "Zmeniť _predvoľby"
#: ../midori/main.c:1120
msgid "Reset the last _session"
#: ../midori/midori-browser.c:4257
msgid "_Go"
-msgstr "_Ísť"
+msgstr "P_rejsť"
#: ../midori/midori-browser.c:4260
msgid "Go back to the previous page"
#: ../midori/midori-websettings.c:398
msgid "The last saved panel page"
-msgstr ""
+msgstr "Posledná uložená stránka panala"
#: ../midori/midori-websettings.c:406
msgid "Last Web search"
#: ../midori/midori-websettings.c:615
msgid "Show speed dial in newly opened tabs"
-msgstr ""
+msgstr "Zobrazí rýchly prístup v novo otvorených kartách"
#: ../midori/midori-websettings.c:623
msgid "Save downloaded files to:"
#: ../midori/midori-preferences.c:91
#, c-format
msgid "Preferences for %s"
-msgstr "Nastavenia pre %s"
+msgstr "Predvoľby pre %s"
#. Page "General"
#: ../midori/midori-preferences.c:398
#: ../extensions/adblock.c:563
msgid "Block advertisements according to a filter list"
-msgstr ""
+msgstr "Blokovať reklamy podľa zoznamu filtorv"
#: ../extensions/colorful-tabs.c:115
msgid "Tint tabs distinctly"
-msgstr "Ofarbiť kartdy"
+msgstr "Ofarbiť karty"
#: ../extensions/colorful-tabs.c:151
msgid "Colorful Tabs"
#: ../extensions/cookie-manager/cookie-manager-page.c:471
msgid "Only cookies which match the filter will be deleted."
-msgstr ""
+msgstr "Iba cookies, ktoré zodpovedajú filtru budú zmazané"
#: ../extensions/cookie-manager/cookie-manager-page.c:539
msgid "At the end of the session"
-msgstr ""
+msgstr "Na konci sedenia"
#: ../extensions/cookie-manager/cookie-manager-page.c:542
#, c-format
#define SM "http://www.searchmash.com/search/"
+static void
+sokoke_assert_str_equal (const gchar* input,
+ const gchar* result,
+ const gchar* expected)
+{
+ if (g_strcmp0 (result, expected))
+ {
+ g_error ("Input: %s\nExpected: %s\nResult: %s",
+ input ? input : "NULL",
+ expected ? expected : "NULL",
+ result ? result : "NULL");
+ }
+}
+
static void
test_input (const gchar* input,
const gchar* expected)
}
gchar* uri = sokoke_magic_uri (input, search_engines);
- if (g_strcmp0 (uri, expected))
- {
- g_error ("Input: %s\nExpected: %s\nResult: %s",
- input ? input : "NULL",
- expected ? expected : "NULL",
- uri ? uri : "NULL");
- }
+ sokoke_assert_str_equal (input, uri, expected);
g_free (uri);
}
static void
magic_uri_idn (void)
{
+ typedef struct
+ {
+ const gchar* before;
+ const gchar* after;
+ } URIItem;
+
+ static const URIItem items[] = {
+ #if HAVE_LIBIDN || defined (HAVE_LIBSOUP_2_27_90)
+ { "http://www.münchhausen.at", "http://www.xn--mnchhausen-9db.at" },
+ { "http://www.خداوند.com/", "http://www.xn--mgbndb8il.com/" },
+ { "айкидо.com", "xn--80aildf0a.com" },
+ { "http://東京理科大学.jp", "http://xn--1lq68wkwbj6ugkpigi.jp" },
+ { "https://青のネコ", "https://xn--u9jthzcs263c" },
+ #else
+ { "http://www.münchhausen.at", NULL },
+ { "http://www.خداوند.com/", NULL },
+ { "айкидо.com", NULL },
+ { "http://東京理科大学.jp", NULL },
+ { "https://青のネコ.co.jp", NULL },
+ #endif
+ { "http://en.wikipedia.org/wiki/Kölsch_language", NULL },
+ { "file:///home/mark/frühstück", NULL },
+ };
+ guint i;
+
+ for (i = 0; i < G_N_ELEMENTS (items); i++)
+ {
+ gchar* result = sokoke_uri_to_ascii (items[i].before);
+ const gchar* after = items[i].after ? items[i].after : items[i].before;
+ sokoke_assert_str_equal (items[i].before, result, after);
+ g_free (result);
+ }
+
#if HAVE_LIBIDN
- test_input ("http://www.münchhausen.at", "http://www.xn--mnchhausen-9db.at");
- test_input ("http://www.خداوند.com/", "http://www.xn--mgbndb8il.com/");
test_input ("айкидо.com", "http://xn--80aildf0a.com");
- test_input ("http://東京理科大学.jp", "http://xn--1lq68wkwbj6ugkpigi.jp");
- test_input ("https://青のネコ", "https://xn--u9jthzcs263c");
#else
- test_input ("http://www.münchhausen.at", "http://www.münchhausen.at");
- test_input ("http://www.خداوند.com/", "http://www.خداوند.com/");
test_input ("айкидо.com", "http://айкидо.com");
- test_input ("http://東京理科大学.jp", "http://東京理科大学.jp");
- test_input ("https://青のネコ.co.jp", "https://青のネコ.co.jp");
#endif
- test_input ("http://en.wikipedia.org/wiki/Kölsch_language",
- "http://en.wikipedia.org/wiki/Kölsch_language");
- test_input ("en.wikipedia.org/wiki/Kölsch_language",
- "http://en.wikipedia.org/wiki/Kölsch_language");
test_input ("sm Küchenzubehör", SM "Küchenzubehör");
test_input ("sm 東京理科大学", SM "東京理科大学");
- test_input ("file:///home/mark/frühstück",
- "file:///home/mark/frühstück");
}
static void
test_input ("gtk2.0", NULL);
test_input ("pcre++", NULL);
test_input ("sm pcre++", SM "pcre%2B%2B");
+ test_input ("5580", NULL);
+ test_input ("sm 5580", SM "5580");
test_input ("midori0.1.0", NULL);
test_input ("midori 0.1.0", NULL);
test_input ("search:cats", NULL);
g_print ("\nTime needed for URI tests: %f ", g_test_timer_elapsed ());
}
+static void
+magic_uri_format (void)
+{
+ typedef struct
+ {
+ const gchar* before;
+ const gchar* after;
+ } URIItem;
+
+ static const URIItem items[] = {
+ { "http://www.csszengarden.com", NULL },
+ { "http://live.gnome.org/GTK+/3.0/Tasks", NULL },
+ { "http://www.johannkönig.com/index.php?ausw=home", NULL },
+ { "http://digilife.bz/wiki/index.php?Python%E3%81%AE%E9%96%8B%E7%99%BA%E6%89%8B%E9%A0%86",
+ "http://digilife.bz/wiki/index.php?Pythonの開発手順" },
+ { "http://die-welt.net/~evgeni/LenovoBatteryLinux/", NULL },
+ { "http://wiki.c3sl.ufpr.br/multiseat/index.php/Xephyr_Solution", NULL },
+ };
+ guint i;
+
+ for (i = 0; i < G_N_ELEMENTS (items); i++)
+ {
+ gchar* result = sokoke_format_uri_for_display (items[i].before);
+ const gchar* after = items[i].after ? items[i].after : items[i].before;
+ sokoke_assert_str_equal (items[i].before, result, after);
+ g_free (result);
+ }
+}
+
int
main (int argc,
char** argv)
g_test_add_func ("/magic-uri/search", magic_uri_search);
g_test_add_func ("/magic-uri/pseudo", magic_uri_pseudo);
g_test_add_func ("/magic-uri/performance", magic_uri_performance);
+ g_test_add_func ("/magic-uri/format", magic_uri_format);
return g_test_run ();
}
import misc
major = 0
-minor = 1
-micro = 10
+minor = 2
+micro = 0
APPNAME = 'midori'
VERSION = str (major) + '.' + str (minor) + '.' + str (micro)
unique = 'no '
conf.define ('HAVE_UNIQUE', [0,1][unique == 'yes'])
- if option_enabled ('libidn'):
- check_pkg ('libidn', '1.0', False)
- libidn = ['N/A','yes'][conf.env['HAVE_LIBIDN'] == 1]
- if libidn != 'yes':
- option_checkfatal ('libidn', 'international domain names')
- else:
- libidn = 'no '
- conf.define ('HAVE_LIBIDN', [0,1][libidn == 'yes'])
-
if option_enabled ('sqlite'):
check_pkg ('sqlite3', '3.0', False, var='SQLITE')
sqlite = ['N/A','yes'][conf.env['HAVE_SQLITE'] == 1]
check_pkg ('webkit-1.0', '1.1.1', args=args)
check_pkg ('libsoup-2.4', '2.25.2')
conf.define ('HAVE_LIBSOUP_2_25_2', 1)
- check_pkg ('libsoup-2.4', '2.27.91', False, var='LIBSOUP_2_27_91')
+ check_pkg ('libsoup-2.4', '2.27.90', False, var='LIBSOUP_2_27_90')
check_pkg ('libxml-2.0', '2.6')
+ if conf.env['HAVE_LIBSOUP_2_27_90']:
+ idn = 'yes'
+ conf.define ('HAVE_LIBIDN', 0)
+ else:
+ if option_enabled ('libidn'):
+ check_pkg ('libidn', '1.0', False)
+ idn = ['N/A','yes'][conf.env['HAVE_LIBIDN'] == 1]
+ if idn != 'yes':
+ option_checkfatal ('libidn', 'international domain names')
+ else:
+ idn = 'no '
+ conf.define ('HAVE_LIBIDN', [0,1][idn == 'yes'])
+
if option_enabled ('hildon'):
if check_pkg ('hildon-1', mandatory=False, var='HILDON'):
check_pkg ('libosso', var='HILDON')
elif debug_level == 'full':
# -Wdeclaration-after-statement
# -Wmissing-declarations -Wmissing-prototypes
- # -Wwrite-strings
+ # -Wwrite-strings -Wunsafe-loop-optimizations -Wmissing-include-dirs
conf.env.append_value ('CCFLAGS',
'-Wall -Wextra -O1 -g '
'-Waggregate-return -Wno-unused-parameter '
'-Wno-missing-field-initializers '
- '-Wunsafe-loop-optimizations '
'-Wredundant-decls -Wmissing-noreturn '
'-Wshadow -Wpointer-arith -Wcast-align '
'-Winline -Wformat-security '
- '-Winit-self -Wmissing-include-dirs -Wundef '
+ '-Winit-self -Wundef '
'-Wmissing-format-attribute -Wnested-externs '
'-DG_ENABLE_DEBUG'.split ())
elif debug_level != 'none':
Icon optimizations: %(icons)s (rsvg-convert)
Persistent history: %(sqlite)s (sqlite3)
- IDN support: %(libidn)s (libidn)
+ IDN support: %(idn)s (libidn or libsoup 2.27.90)
User documentation: %(user_docs)s (docutils)
API documentation: %(api_docs)s (gtk-doc)
''' % locals ()
bld.install_files ('${MDATADIR}/' + APPNAME + '/res', 'data/speeddial-head.html')
bld.install_files ('${MDATADIR}/' + APPNAME + '/res', 'data/speeddial.json')
bld.install_files ('${MDATADIR}/' + APPNAME + '/res', 'data/mootools.js')
+ bld.install_files ('${MDATADIR}/' + APPNAME, 'data/autosuggestcontrol.js')
+ bld.install_files ('${MDATADIR}/' + APPNAME, 'data/autosuggestcontrol.css')
+
+ # FIXME: Determine the library naming for other platforms
+ if Options.platform == 'linux':
+ extensions = os.listdir ('data/extensions')
+ for extension in extensions:
+ folder = 'lib' + extension + '.so'
+ source = 'data/extensions/' + extension + '/config'
+ if os.path.exists (source):
+ bld.install_files ('${SYSCONFDIR}/' + APPNAME + \
+ '/extensions/' + folder, source)
if Options.commands['check']:
bld.add_subdirs ('tests')
pass
try:
ext = 'MIDORI_EXTENSION_PATH=' + relfolder + os.sep + 'extensions'
- nls = 'NLSPATH=' + relfolder + os.sep + 'po'
+ nls = 'MIDORI_NLSPATH=' + relfolder + os.sep + 'po'
lang = os.environ['LANG']
try:
for lang in os.listdir (folder + os.sep + 'po'):