From db115bfece264d66e0f61e4b3fb492a0dc188d58 Mon Sep 17 00:00:00 2001 From: Kalle Olavi Niemitalo Date: Sun, 9 Sep 2007 19:15:57 +0300 Subject: [PATCH 01/46] Add tests for cwd-relative file URIs. Test 6 currently fails. --- src/protocol/test/test-get-translated-uri | 55 +++++++++++++++++++++++ src/protocol/test/uri-test.c | 5 +++ 2 files changed, 60 insertions(+) create mode 100755 src/protocol/test/test-get-translated-uri diff --git a/src/protocol/test/test-get-translated-uri b/src/protocol/test/test-get-translated-uri new file mode 100755 index 000000000..77d897710 --- /dev/null +++ b/src/protocol/test/test-get-translated-uri @@ -0,0 +1,55 @@ +#! /bin/sh + +test_description='Test URI translation' + +. "$TEST_LIB" + +test_uri_translation () { + before="$1"; shift + cwd="$1"; shift + translated="$(uri-test "$before" "$cwd")" + cond="" + for expected; do + cond="${cond:+$cond || +}test \"$translated\" = \"$expected\"" + done + + test_expect_success "Translate $before in $cwd" "$cond" +} + +################################################################ + +# RFC 1738 section 3.10 says "localhost" and "" as mean +# the same thing. So we disregard the spelling in these tests. + +test_uri_translation "/usr/bin/elinks" "/srv/git" \ + "file://localhost/usr/bin/elinks" \ + "file:///usr/bin/elinks" + +test_uri_translation "index.html" "/var/www" \ + "file://localhost/var/www/index.html" \ + "file:///var/www/index.html" + +test_uri_translation "../" "/usr/share/doc" \ + "file://localhost/usr/share/" \ + "file:///usr/share/" + +test_uri_translation "../../lib/libc.so" "/usr/include/rpc" \ + "file://localhost/usr/lib/libc.so" \ + "file:///usr/lib/libc.so" + +test_uri_translation "etc/issue" "/" \ + "file://localhost/etc/issue" \ + "file:///etc/issue" + +# SUSv2: "A pathname that begins with two successive slashes may be +# interpreted in an implementation-defined manner." Domain/OS and +# Cygwin are said to do so. +test_uri_translation "apollo_logo" "//melchior/sys" \ + "file://melchior/sys/apollo_logo" \ + "file://localhost//melchior/sys/apollo_logo" \ + "file://localhost/%2Fmelchior/sys/apollo_logo" \ + "file:////melchior/sys/apollo_logo" \ + "file:///%2Fmelchior/sys/apollo_logo" + +test_done diff --git a/src/protocol/test/uri-test.c b/src/protocol/test/uri-test.c index c1bb40e73..8681bfd2e 100644 --- a/src/protocol/test/uri-test.c +++ b/src/protocol/test/uri-test.c @@ -16,6 +16,11 @@ main(int argc, char **argv) * taking arguments like --normalize-uri= etc. */ if (argc == 2) { fprintf(stdout, "%s\n", normalize_uri(NULL, argv[1])); + } else if (argc == 3) { + struct uri *translated = get_translated_uri(argv[1], argv[2]); + if (translated == NULL) + return EXIT_FAILURE; + fprintf(stdout, "%s\n", struri(translated)); } return 0; } From 1961a0ca5067aa5e23d66ee20fd50854fb3cb0bc Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Tue, 11 Sep 2007 13:21:00 +0200 Subject: [PATCH 02/46] NNTP: HTML escape header field values --- src/protocol/nntp/response.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/protocol/nntp/response.c b/src/protocol/nntp/response.c index 77a0ecbd8..da3a462fb 100644 --- a/src/protocol/nntp/response.c +++ b/src/protocol/nntp/response.c @@ -235,7 +235,9 @@ add_nntp_html_start(struct string *html, struct connection *conn) continue; } - add_format_to_string(html, "%s: %s\n", entry, value); + add_format_to_string(html, "%s: ", entry); + add_html_to_string(html, value, strlen(value)); + add_char_to_string(html, '\n'); mem_free(value); mem_free(entry); } From 5d5f7fc078fbe2aefbd8af68a9439ca5c0ee61be Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Tue, 11 Sep 2007 13:50:17 +0200 Subject: [PATCH 03/46] NNTP: Fix group listing links having bad URL syntax due to double slashes --- src/protocol/nntp/response.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocol/nntp/response.c b/src/protocol/nntp/response.c index da3a462fb..2e4dd19a5 100644 --- a/src/protocol/nntp/response.c +++ b/src/protocol/nntp/response.c @@ -312,7 +312,7 @@ add_nntp_html_line(struct string *html, struct connection *conn, desc = ""; } - add_format_to_string(html, "
%s
%s
\n", + add_format_to_string(html, "
%s
%s
\n", struri(conn->uri), line, line, desc); break; } From 8393dc901e2e1df6abbffcc14484740d39bb6d2d Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Tue, 11 Sep 2007 14:14:17 +0200 Subject: [PATCH 04/46] Bug 744: Make removal of double slashes more protocol specific Add a boolean protocol flag which says whether "//" in the path part of an URI can be safely substituted with "/". Be conservative and enable it only for file://, ftp:// and nntp[s]://. Other can be turned on later, if needed. Generalizes the fix from 58b3b1e75239fac7f48d54609b4033c228d6a5da. --- src/protocol/protocol.c | 49 ++++++++++++++++++++++++----------------- src/protocol/protocol.h | 1 + src/protocol/uri.c | 9 ++++---- 3 files changed, 35 insertions(+), 24 deletions(-) diff --git a/src/protocol/protocol.c b/src/protocol/protocol.c index d7d2e71af..78921f572 100644 --- a/src/protocol/protocol.c +++ b/src/protocol/protocol.c @@ -52,34 +52,35 @@ struct protocol_backend { unsigned int need_slash_after_host:1; unsigned int free_syntax:1; unsigned int need_ssl:1; + unsigned int keep_double_slashes:1; }; static const struct protocol_backend protocol_backends[] = { - { "about", 0, about_protocol_handler, 0, 0, 1, 0 }, - { "bittorrent", 0, bittorrent_protocol_handler, 0, 0, 1, 0 }, - { "data", 0, data_protocol_handler, 0, 0, 1, 0 }, - { "file", 0, file_protocol_handler, 1, 0, 0, 0 }, - { "finger", 79, finger_protocol_handler, 1, 1, 0, 0 }, - { "fsp", 21, fsp_protocol_handler, 1, 1, 0, 0 }, - { "ftp", 21, ftp_protocol_handler, 1, 1, 0, 0 }, - { "gopher", 70, gopher_protocol_handler, 1, 1, 0, 0 }, - { "http", 80, http_protocol_handler, 1, 1, 0, 0 }, - { "https", 443, https_protocol_handler, 1, 1, 0, 1 }, - { "javascript", 0, NULL, 0, 0, 1, 0 }, - { "news", 0, news_protocol_handler, 0, 0, 1, 0 }, - { "nntp", 119, nntp_protocol_handler, 1, 1, 0, 0 }, - { "nntps", 563, nntp_protocol_handler, 1, 1, 0, 1 }, - { "proxy", 3128, proxy_protocol_handler, 1, 1, 0, 0 }, - { "smb", 139, smb_protocol_handler, 1, 1, 0, 0 }, - { "snews", 0, news_protocol_handler, 0, 0, 1, 0 }, + { "about", 0, about_protocol_handler, 0, 0, 1, 0, 1 }, + { "bittorrent", 0, bittorrent_protocol_handler, 0, 0, 1, 0, 1 }, + { "data", 0, data_protocol_handler, 0, 0, 1, 0, 1 }, + { "file", 0, file_protocol_handler, 1, 0, 0, 0, 0 }, + { "finger", 79, finger_protocol_handler, 1, 1, 0, 0, 1 }, + { "fsp", 21, fsp_protocol_handler, 1, 1, 0, 0, 1 }, + { "ftp", 21, ftp_protocol_handler, 1, 1, 0, 0, 0 }, + { "gopher", 70, gopher_protocol_handler, 1, 1, 0, 0, 1 }, + { "http", 80, http_protocol_handler, 1, 1, 0, 0, 1 }, + { "https", 443, https_protocol_handler, 1, 1, 0, 1, 1 }, + { "javascript", 0, NULL, 0, 0, 1, 0, 1 }, + { "news", 0, news_protocol_handler, 0, 0, 1, 0, 1 }, + { "nntp", 119, nntp_protocol_handler, 1, 1, 0, 0, 0 }, + { "nntps", 563, nntp_protocol_handler, 1, 1, 0, 1, 0 }, + { "proxy", 3128, proxy_protocol_handler, 1, 1, 0, 0, 1 }, + { "smb", 139, smb_protocol_handler, 1, 1, 0, 0, 1 }, + { "snews", 0, news_protocol_handler, 0, 0, 1, 0, 1 }, /* Keep these last! */ - { NULL, 0, NULL, 0, 0, 1, 0 }, + { NULL, 0, NULL, 0, 0, 1, 0, 1 }, - { "user", 0, NULL, 0, 0, 0, 0 }, + { "user", 0, NULL, 0, 0, 0, 0, 1 }, /* Internal protocol for mapping to protocol.user.* handlers. Placed * last because it's checked first and else should be ignored. */ - { "custom", 0, NULL, 0, 0, 1, 0 }, + { "custom", 0, NULL, 0, 0, 1, 0, 1 }, }; @@ -174,6 +175,14 @@ get_protocol_need_slash_after_host(enum protocol protocol) return protocol_backends[protocol].need_slash_after_host; } +int +get_protocol_keep_double_slashes(enum protocol protocol) +{ + assert(VALID_PROTOCOL(protocol)); + if_assert_failed return 0; + return protocol_backends[protocol].keep_double_slashes; +} + int get_protocol_free_syntax(enum protocol protocol) { diff --git a/src/protocol/protocol.h b/src/protocol/protocol.h index c39e794c8..c02e67166 100644 --- a/src/protocol/protocol.h +++ b/src/protocol/protocol.h @@ -44,6 +44,7 @@ typedef void (protocol_external_handler_T)(struct session *, struct uri *); int get_protocol_port(enum protocol protocol); int get_protocol_need_slashes(enum protocol protocol); +int get_protocol_keep_double_slashes(enum protocol protocol); int get_protocol_need_slash_after_host(enum protocol protocol); int get_protocol_free_syntax(enum protocol protocol); int get_protocol_need_ssl(enum protocol protocol); diff --git a/src/protocol/uri.c b/src/protocol/uri.c index 33316ebfc..9da2e9ee9 100644 --- a/src/protocol/uri.c +++ b/src/protocol/uri.c @@ -673,7 +673,7 @@ normalize_uri(struct uri *uri, unsigned char *uristring) { unsigned char *parse_string = uristring; unsigned char *src, *dest, *path; - int need_slash = 0; + int need_slash = 0, keep_dslash = 1; int parse = (uri == NULL); struct uri uri_struct; @@ -701,8 +701,10 @@ normalize_uri(struct uri *uri, unsigned char *uristring) if (get_protocol_free_syntax(uri->protocol)) return uristring; - if (uri->protocol != PROTOCOL_UNKNOWN) + if (uri->protocol != PROTOCOL_UNKNOWN) { need_slash = get_protocol_need_slash_after_host(uri->protocol); + keep_dslash = get_protocol_keep_double_slashes(uri->protocol); + } path = uri->data - need_slash; dest = src = path; @@ -766,8 +768,7 @@ normalize_uri(struct uri *uri, unsigned char *uristring) continue; } - } else if (is_uri_dir_sep(uri, src[1]) && - uri->protocol == PROTOCOL_FILE) { + } else if (is_uri_dir_sep(uri, src[1]) && !keep_dslash) { /* // - ignore first '/'. */ src += 1; continue; From 78eae9cbf35c723fd721a96ea261fb3f3340df33 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Tue, 11 Sep 2007 15:01:13 +0200 Subject: [PATCH 05/46] French translation was updated. --- po/fr.po | 536 +++++++++++++++++++++++++++---------------------------- 1 file changed, 268 insertions(+), 268 deletions(-) diff --git a/po/fr.po b/po/fr.po index 90d84424f..e14dbc9be 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: ELinks 0.12.GIT\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-05-28 14:23+0200\n" -"PO-Revision-Date: 2007-05-28 14:25+0200\n" +"POT-Creation-Date: 2007-09-11 14:58+0200\n" +"PO-Revision-Date: 2007-09-11 15:00+0200\n" "Last-Translator: Laurent Monin \n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -36,9 +36,9 @@ msgstr "Pressez espace pour d #: src/cookies/dialogs.c:372 src/cookies/dialogs.c:470 src/dialogs/edit.c:98 #: src/dialogs/info.c:134 src/dialogs/options.c:234 src/dialogs/options.c:315 #: src/mime/dialogs.c:131 src/protocol/auth/dialogs.c:115 -#: src/protocol/protocol.c:236 src/scripting/lua/core.c:398 -#: src/scripting/lua/core.c:479 src/scripting/python/dialogs.c:86 -#: src/session/session.c:807 src/viewer/text/search.c:1669 +#: src/protocol/protocol.c:245 src/scripting/lua/core.c:399 +#: src/scripting/lua/core.c:480 src/scripting/python/dialogs.c:86 +#: src/session/session.c:806 src/viewer/text/search.c:1677 msgid "~OK" msgstr "~OK" @@ -121,34 +121,34 @@ msgstr "Erreur de suppression" #. accelerator_context(close_all_tabs_but_current, close_tab, memorize_form, menu_del_ext, push_hierbox_clear_button, push_hierbox_delete_button, query_delete_selected_item, query_exit, ses_goto, src/config/dialogs.c:really_add_keybinding.yn) #: src/bfu/hierbox.c:754 src/bfu/hierbox.c:766 src/bfu/hierbox.c:814 #: src/bfu/hierbox.c:876 src/config/dialogs.c:823 src/dialogs/menu.c:131 -#: src/formhist/formhist.c:432 src/mime/dialogs.c:70 src/session/task.c:277 -#: src/terminal/tab.c:207 src/terminal/tab.c:251 +#: src/formhist/formhist.c:432 src/mime/dialogs.c:70 src/session/task.c:278 +#: src/terminal/tab.c:208 src/terminal/tab.c:252 msgid "~Yes" msgstr "~Oui" #. accelerator_context(close_all_tabs_but_current, close_tab, memorize_form, menu_del_ext, push_hierbox_clear_button, push_hierbox_delete_button, query_delete_selected_item, query_exit, ses_goto, src/config/dialogs.c:really_add_keybinding.yn) #: src/bfu/hierbox.c:755 src/bfu/hierbox.c:767 src/bfu/hierbox.c:815 #: src/bfu/hierbox.c:877 src/config/dialogs.c:824 src/dialogs/menu.c:132 -#: src/formhist/formhist.c:433 src/mime/dialogs.c:71 src/session/task.c:278 -#: src/terminal/tab.c:208 src/terminal/tab.c:252 +#: src/formhist/formhist.c:433 src/mime/dialogs.c:71 src/session/task.c:279 +#: src/terminal/tab.c:209 src/terminal/tab.c:253 msgid "~No" msgstr "~Non" -#: src/bfu/hierbox.c:945 src/bfu/hierbox.c:976 src/viewer/text/search.c:1088 -#: src/viewer/text/search.c:1096 src/viewer/text/search.c:1112 -#: src/viewer/text/search.c:1688 +#: src/bfu/hierbox.c:945 src/bfu/hierbox.c:976 src/viewer/text/search.c:1090 +#: src/viewer/text/search.c:1098 src/viewer/text/search.c:1114 +#: src/viewer/text/search.c:1696 msgid "Search" msgstr "Chercher" -#: src/bfu/hierbox.c:947 src/viewer/text/search.c:1089 +#: src/bfu/hierbox.c:947 src/viewer/text/search.c:1091 #, c-format msgid "Search string '%s' not found" msgstr "Chane recherche '%s' introuvable" #: src/bfu/hierbox.c:976 src/config/dialogs.c:140 src/config/dialogs.c:329 #: src/config/dialogs.c:479 src/cookies/dialogs.c:34 src/cookies/dialogs.c:366 -#: src/dialogs/edit.c:92 src/dialogs/edit.c:94 src/scripting/lua/core.c:394 -#: src/scripting/lua/core.c:395 src/scripting/lua/core.c:476 +#: src/dialogs/edit.c:92 src/dialogs/edit.c:94 src/scripting/lua/core.c:395 +#: src/scripting/lua/core.c:396 src/scripting/lua/core.c:477 msgid "Name" msgstr "Nom" @@ -178,9 +178,9 @@ msgstr "Cha #: src/cookies/dialogs.c:471 src/dialogs/edit.c:102 src/dialogs/edit.c:105 #: src/dialogs/options.c:237 src/dialogs/options.c:316 src/mime/dialogs.c:132 #: src/protocol/auth/dialogs.c:116 src/protocol/bittorrent/dialogs.c:812 -#: src/scripting/lua/core.c:399 src/scripting/lua/core.c:480 -#: src/session/download.c:644 src/session/download.c:1266 -#: src/viewer/text/search.c:1670 +#: src/scripting/lua/core.c:400 src/scripting/lua/core.c:481 +#: src/session/download.c:645 src/session/download.c:1266 +#: src/viewer/text/search.c:1678 msgid "~Cancel" msgstr "~Annuler" @@ -377,7 +377,7 @@ msgstr "Titre" #: src/bookmarks/dialogs.c:73 src/cache/dialogs.c:65 #: src/dialogs/document.c:136 src/dialogs/edit.c:96 src/formhist/dialogs.c:63 #: src/globhist/dialogs.c:66 src/protocol/auth/dialogs.c:163 -#: src/scripting/lua/core.c:396 +#: src/scripting/lua/core.c:397 msgid "URL" msgstr "URL" @@ -437,7 +437,7 @@ msgstr "Cr msgid "Folder name" msgstr "Nom du dossier" -#: src/bookmarks/dialogs.c:310 src/scripting/lua/core.c:390 +#: src/bookmarks/dialogs.c:310 src/scripting/lua/core.c:391 msgid "Edit bookmark" msgstr "Modifier un signet" @@ -486,7 +486,7 @@ msgstr "~Modifier" #. accelerator_context(src/bookmarks/dialogs.c:bookmark_buttons, src/cache/dialogs.c:cache_buttons, src/config/dialogs.c:keybinding_buttons, src/config/dialogs.c:option_buttons, src/cookies/dialogs.c:cookie_buttons, src/dialogs/menu.c:ext_menu, src/formhist/dialogs.c:formhist_buttons, src/globhist/dialogs.c:globhist_buttons, src/protocol/auth/dialogs.c:auth_buttons) #: src/bookmarks/dialogs.c:489 src/cache/dialogs.c:231 -#: src/config/dialogs.c:505 src/config/dialogs.c:932 src/cookies/dialogs.c:493 +#: src/config/dialogs.c:505 src/config/dialogs.c:930 src/cookies/dialogs.c:493 #: src/dialogs/menu.c:461 src/formhist/dialogs.c:211 #: src/globhist/dialogs.c:229 src/protocol/auth/dialogs.c:263 msgid "~Delete" @@ -494,7 +494,7 @@ msgstr "~Supprimer" #. accelerator_context(src/bookmarks/dialogs.c:bookmark_buttons, src/config/dialogs.c:keybinding_buttons, src/config/dialogs.c:option_buttons, src/cookies/dialogs.c:cookie_buttons, src/dialogs/menu.c:ext_menu) #: src/bookmarks/dialogs.c:490 src/config/dialogs.c:504 -#: src/config/dialogs.c:931 src/cookies/dialogs.c:490 src/dialogs/menu.c:459 +#: src/config/dialogs.c:929 src/cookies/dialogs.c:490 src/dialogs/menu.c:459 msgid "~Add" msgstr "~Ajouter" @@ -515,7 +515,7 @@ msgstr "~D #. accelerator_context(src/bookmarks/dialogs.c:bookmark_buttons, src/cache/dialogs.c:cache_buttons, src/config/dialogs.c:keybinding_buttons, src/config/dialogs.c:option_buttons, src/dialogs/menu.c:view_menu, src/globhist/dialogs.c:globhist_buttons) #: src/bookmarks/dialogs.c:494 src/cache/dialogs.c:232 -#: src/config/dialogs.c:506 src/config/dialogs.c:934 src/dialogs/menu.c:412 +#: src/config/dialogs.c:506 src/config/dialogs.c:932 src/dialogs/menu.c:412 #: src/globhist/dialogs.c:230 msgid "~Search" msgstr "~Chercher" @@ -1136,8 +1136,8 @@ msgstr "Envoyer le formulaire" msgid "Submit form and reload" msgstr "Envoyer le formulaire et recharger" -#: src/config/actions-main.inc:101 src/terminal/tab.c:204 -#: src/terminal/tab.c:248 +#: src/config/actions-main.inc:101 src/terminal/tab.c:205 +#: src/terminal/tab.c:249 msgid "Close tab" msgstr "Fermer l'onglet" @@ -1239,96 +1239,96 @@ msgstr "Ne peut interpr msgid "Unknown option %s" msgstr "Option %s inconnue" -#: src/config/cmdline.c:132 src/config/cmdline.c:156 src/config/cmdline.c:226 +#: src/config/cmdline.c:133 src/config/cmdline.c:157 src/config/cmdline.c:227 #: src/config/opttypes.c:38 msgid "Parameter expected" msgstr "Paramtre attendu" -#: src/config/cmdline.c:157 +#: src/config/cmdline.c:158 msgid "Too many parameters" msgstr "Trop de paramtres" -#: src/config/cmdline.c:162 +#: src/config/cmdline.c:163 msgid "error" msgstr "erreur" -#: src/config/cmdline.c:164 src/network/state.c:48 +#: src/config/cmdline.c:165 src/network/state.c:48 #, c-format msgid "Host not found" msgstr "Hte introuvable" -#: src/config/cmdline.c:178 +#: src/config/cmdline.c:179 #, c-format msgid "Resolver error" msgstr "Erreur du rsolveur" -#: src/config/cmdline.c:255 src/cookies/cookies.c:868 src/network/state.c:47 -#: src/util/secsave.c:373 +#: src/config/cmdline.c:256 src/cookies/cookies.c:867 src/network/state.c:47 +#: src/util/secsave.c:379 msgid "Out of memory" msgstr "Mmoire sature" -#: src/config/cmdline.c:263 +#: src/config/cmdline.c:264 msgid "Too many arguments" msgstr "Trop d'arguments" -#: src/config/cmdline.c:281 +#: src/config/cmdline.c:282 msgid "Mismatched ending argument quoting" msgstr "Guillemets manquant en fin d'argument" -#: src/config/cmdline.c:286 +#: src/config/cmdline.c:287 msgid "Garbage after quoted argument" msgstr "Contenu inattendu aprs l'argument" -#: src/config/cmdline.c:390 +#: src/config/cmdline.c:391 msgid "Remote method not supported" msgstr "Mthode remote non supporte" -#: src/config/cmdline.c:442 +#: src/config/cmdline.c:443 msgid "Template option folder" msgstr "Dossier des modles d'option" -#: src/config/cmdline.c:465 +#: src/config/cmdline.c:466 #, c-format msgid "(default: %ld)" msgstr "(dfaut: %ld)" -#: src/config/cmdline.c:472 src/config/cmdline.c:501 +#: src/config/cmdline.c:473 src/config/cmdline.c:502 #, c-format msgid "(default: \"%s\")" msgstr "(dfaut: \"%s\")" -#: src/config/cmdline.c:477 +#: src/config/cmdline.c:478 #, c-format msgid "(alias for %s)" msgstr "(alias for %s)" -#: src/config/cmdline.c:482 src/config/cmdline.c:491 +#: src/config/cmdline.c:483 src/config/cmdline.c:492 #, c-format msgid "(default: %s)" msgstr "(dfaut: %s)" -#: src/config/cmdline.c:625 +#: src/config/cmdline.c:626 msgid "Configuration options" msgstr "Options de configuration" -#: src/config/cmdline.c:629 +#: src/config/cmdline.c:630 msgid "Usage: elinks [OPTION]... [URL]..." msgstr "Usage: elinks [OPTION]... [URL]..." -#: src/config/cmdline.c:630 +#: src/config/cmdline.c:631 msgid "Options" msgstr "Options" -#: src/config/cmdline.c:672 +#: src/config/cmdline.c:673 msgid "Internal consistency error" msgstr "Erreur interne" #. -#: src/config/cmdline.c:708 +#: src/config/cmdline.c:709 msgid "Restrict to anonymous mode" msgstr "Restriction au mode anonyme" -#: src/config/cmdline.c:710 +#: src/config/cmdline.c:711 msgid "" "Restricts ELinks so it can run on an anonymous account.\n" "Local file browsing, downloads, and modification of options\n" @@ -1341,19 +1341,19 @@ msgstr "" "dsactivs. L'utilisation de visualisateurs externes reste \n" "possible, mais les associations ne peuvent tre modifies." -#: src/config/cmdline.c:715 +#: src/config/cmdline.c:716 msgid "Autosubmit first form" msgstr "Envoyer automatiquement le premier formulaire" -#: src/config/cmdline.c:717 +#: src/config/cmdline.c:718 msgid "Automatically submit the first form in the given URLs." msgstr "Envoyer automatiquement le premier formulaire de l'URL donne." -#: src/config/cmdline.c:719 +#: src/config/cmdline.c:720 msgid "Clone internal session with given ID" msgstr "Cloner la session interne ayant l'ID donn" -#: src/config/cmdline.c:721 +#: src/config/cmdline.c:722 msgid "" "Used internally when opening ELinks instances in new windows.\n" "The ID maps to information that will be used when creating the\n" @@ -1365,11 +1365,11 @@ msgstr "" "nouvelle instance.\n" "N'utilisez pas cette option." -#: src/config/cmdline.c:727 +#: src/config/cmdline.c:728 msgid "Name of directory with configuration file" msgstr "Nom du rpertoire contenant les fichiers de configuration" -#: src/config/cmdline.c:729 +#: src/config/cmdline.c:730 msgid "" "Path of the directory ELinks will read and write its\n" "config and runtime state files to instead of ~/.elinks.\n" @@ -1381,11 +1381,11 @@ msgstr "" "Si le chemin ne commence pas par un '/', il sera considr\n" "relatif votre rpertoire HOME." -#: src/config/cmdline.c:734 +#: src/config/cmdline.c:735 msgid "Print default configuration file to stdout" msgstr "Imprimer le fichier de configuration par dfaut sur la sortie standart" -#: src/config/cmdline.c:736 +#: src/config/cmdline.c:737 msgid "" "Print a configuration file with options set to the built-in\n" "defaults to stdout." @@ -1393,11 +1393,11 @@ msgstr "" "Imprimer un fichier de configuration contenant les options par dfaut\n" "sur la sortie standart." -#: src/config/cmdline.c:741 +#: src/config/cmdline.c:742 msgid "Name of configuration file" msgstr "Nom du fichier de configuration" -#: src/config/cmdline.c:743 +#: src/config/cmdline.c:744 msgid "" "Name of the configuration file that all configuration\n" "options will be read from and written to. It should be\n" @@ -1407,29 +1407,29 @@ msgstr "" "et lues les options de configuration. Il doit tre relatif\n" " config-dir." -#: src/config/cmdline.c:747 +#: src/config/cmdline.c:748 msgid "Print help for configuration options" msgstr "Afficher l'aide pour les options de configuration" -#: src/config/cmdline.c:749 +#: src/config/cmdline.c:750 msgid "Print help for configuration options and exit." msgstr "Afficher l'aide pour les options de configuration et quitter." -#: src/config/cmdline.c:751 +#: src/config/cmdline.c:752 msgid "MIME type assumed for unknown document types" msgstr "Type MIME supposer pour les documents de type inconnu" -#: src/config/cmdline.c:753 +#: src/config/cmdline.c:754 msgid "The default MIME type used for documents of unknown type." msgstr "" "Le type MIME par dfaut utiliser pour les documents dont\n" "le type est inconnu." -#: src/config/cmdline.c:755 +#: src/config/cmdline.c:756 msgid "Ignore user-defined keybindings" msgstr "Ignorer les associations de touches utilisateur" -#: src/config/cmdline.c:757 +#: src/config/cmdline.c:758 msgid "" "When set, all keybindings from configuration files will be\n" "ignored. It forces use of default keybindings and will reset\n" @@ -1441,46 +1441,46 @@ msgstr "" "rinitialisera les associations de touches dfinies par\n" "l'utilisateur lors d'une nouvelle sauvegarde." -#: src/config/cmdline.c:761 +#: src/config/cmdline.c:762 msgid "Print formatted versions of given URLs to stdout" msgstr "" "Imprimer les versions formates des URLs donnes sur la sortie standard" -#: src/config/cmdline.c:763 +#: src/config/cmdline.c:764 msgid "Print formatted plain-text versions of given URLs to stdout." msgstr "" "Imprimer les versions plein texte formates des URLs donnes sur la \n" "sortie standard." -#: src/config/cmdline.c:765 +#: src/config/cmdline.c:766 msgid "Codepage to use with -dump" msgstr "Jeu de caractres utiliser avec -dump" -#: src/config/cmdline.c:767 +#: src/config/cmdline.c:768 msgid "Codepage used when formatting dump output." msgstr "Jeu de caractres utilis lors du formatage de la sortie (dump)." -#: src/config/cmdline.c:769 +#: src/config/cmdline.c:770 msgid "Color mode used with -dump" msgstr "Mode couleurs utiliser avec -dump" -#: src/config/cmdline.c:771 +#: src/config/cmdline.c:772 msgid "Color mode used with -dump." msgstr "Mode couleurs utiliser avec -dump." -#: src/config/cmdline.c:773 +#: src/config/cmdline.c:774 msgid "Width of document formatted with -dump" msgstr "Largeur de document format utiliser avec -dump" -#: src/config/cmdline.c:775 +#: src/config/cmdline.c:776 msgid "Width of the dump output." msgstr "Largeur de sortie (dump)." -#: src/config/cmdline.c:777 +#: src/config/cmdline.c:778 msgid "Evaluate configuration file directive" msgstr "Evalue une directive de fichier de configuration" -#: src/config/cmdline.c:779 +#: src/config/cmdline.c:780 msgid "" "Specify configuration file directives on the command-line\n" "which will be evaluated after all configuration files has been\n" @@ -1493,11 +1493,11 @@ msgstr "" " -eval 'set protocol.file.allow_special_files = 1'" #. lynx compatibility -#: src/config/cmdline.c:785 +#: src/config/cmdline.c:786 msgid "Interpret documents of unknown types as HTML" msgstr "Interprte les documents de type inconnu comme de l'HTML" -#: src/config/cmdline.c:787 +#: src/config/cmdline.c:788 msgid "" "Makes ELinks assume documents of unknown types are HTML.\n" "Useful when using ELinks as an external viewer from MUAs.\n" @@ -1508,19 +1508,19 @@ msgstr "" "d'ELinks comme visualisateur pour les clients mail.\n" "C'est quivalent -default-mime-type text/html." -#: src/config/cmdline.c:797 +#: src/config/cmdline.c:798 msgid "Print usage help and exit" msgstr "Afficher l'aide et quitter" -#: src/config/cmdline.c:799 +#: src/config/cmdline.c:800 msgid "Print usage help and exit." msgstr "Afficher l'aide et quitter." -#: src/config/cmdline.c:801 +#: src/config/cmdline.c:802 msgid "Only permit local connections" msgstr "Permettre seulement les connexions locales" -#: src/config/cmdline.c:803 +#: src/config/cmdline.c:804 msgid "" "Restricts ELinks to work offline and only connect to servers\n" "with local addresses (ie. 127.0.0.1). No connections to remote\n" @@ -1530,29 +1530,29 @@ msgstr "" "connexions vers des adresses locales (par exemple, 127.0.0.1),\n" "cela rend impossible toute connexion vers des sites distants." -#: src/config/cmdline.c:807 +#: src/config/cmdline.c:808 msgid "Print detailed usage help and exit" msgstr "Afficher l'aide dtaille et quitter" -#: src/config/cmdline.c:809 +#: src/config/cmdline.c:810 msgid "Print detailed usage help and exit." msgstr "Afficher l'aide dtaille et quitter." -#: src/config/cmdline.c:811 +#: src/config/cmdline.c:812 msgid "Look up specified host" msgstr "Rsolution du nom de l'hte spcifi" -#: src/config/cmdline.c:813 +#: src/config/cmdline.c:814 msgid "Look up specified host and print all DNS resolved IP addresses." msgstr "" "Rsoudre le nom d'hte spcifi et imprimer toutes les adresses IP\n" "correspondantes." -#: src/config/cmdline.c:815 +#: src/config/cmdline.c:816 msgid "Run as separate instance" msgstr "Excuter en tant qu'instance spare" -#: src/config/cmdline.c:817 +#: src/config/cmdline.c:818 msgid "" "Run ELinks as a separate instance instead of connecting to an\n" "existing instance. Note that normally no runtime state files\n" @@ -1564,11 +1564,11 @@ msgstr "" "(signets, historique, etc.) n'est modifi quand cette option est\n" "utilise. Voir aussi -touch-files." -#: src/config/cmdline.c:822 +#: src/config/cmdline.c:823 msgid "Disable use of files in ~/.elinks" msgstr "Ne pas utiliser les fichiers dans ~/.elinks" -#: src/config/cmdline.c:824 +#: src/config/cmdline.c:825 msgid "" "Disables creation and use of files in the user specific home\n" "configuration directory (~/.elinks). It forces default configuration\n" @@ -1579,11 +1579,11 @@ msgstr "" "Cela force l'utilisation des valeurs de configuration par dfaut et\n" "dsactive la sauvegarde des fichiers d'tat lors de l'excution." -#: src/config/cmdline.c:828 +#: src/config/cmdline.c:829 msgid "Disable link numbering in dump output" msgstr "Ne pas numroter les liens en sortie (dump)" -#: src/config/cmdline.c:830 +#: src/config/cmdline.c:831 msgid "" "Prevents printing of link number in dump output.\n" "Note that this really affects only -dump, nothing else." @@ -1591,11 +1591,11 @@ msgstr "" "Supprime l'affichage des numros de liens dans la sortie de -dump.\n" "Notez que cette option ne concerne que -dump et rien d'autre." -#: src/config/cmdline.c:833 +#: src/config/cmdline.c:834 msgid "Disable printing of link references in dump output" msgstr "Ne pas afficher les rfrences des liens dans la sortie (dump)" -#: src/config/cmdline.c:835 +#: src/config/cmdline.c:836 msgid "" "Prevents printing of references (URIs) of document links\n" "in dump output.\n" @@ -1604,11 +1604,11 @@ msgstr "" "Supprime l'affichage des rfrences des liens dans la sortie de -dump.\n" "Notez que cette option ne concerne que -dump et rien d'autre." -#: src/config/cmdline.c:839 +#: src/config/cmdline.c:840 msgid "Control an already running ELinks" msgstr "Contrler une instance prexistante d'ELinks" -#: src/config/cmdline.c:841 +#: src/config/cmdline.c:842 msgid "" "Control a remote ELinks instance by passing commands to it.\n" "The option takes an additional argument containing the method\n" @@ -1642,11 +1642,11 @@ msgstr "" "\tinfoBox(text) : montre un texte dans un bote de dialogue\n" "\txfeDoCommand(openBrowser) : ouvre une nouvelle fentre" -#: src/config/cmdline.c:857 +#: src/config/cmdline.c:858 msgid "Connect to session ring with given ID" msgstr "Se connecter au groupe de sessions correspondant cet ID" -#: src/config/cmdline.c:859 +#: src/config/cmdline.c:860 msgid "" "ID of session ring this ELinks session should connect to. ELinks\n" "works in so-called session rings, whereby all instances of ELinks\n" @@ -1677,22 +1677,22 @@ msgstr "" "-no-connect. Dans tous les cas, les fichiers d'tat ne sont pas modifis\n" "sur le disque, sauf si vous utilisez conjointement l'option -touch-files." -#: src/config/cmdline.c:874 +#: src/config/cmdline.c:875 msgid "Print the source of given URLs to stdout" msgstr "Imprimer la source des URLs donnes sur la sortie standard" -#: src/config/cmdline.c:876 +#: src/config/cmdline.c:877 msgid "Print given URLs in source form to stdout." msgstr "" "Imprimer les URLs donnes dans leur forme source sur la sortie standard." -#: src/config/cmdline.c:880 +#: src/config/cmdline.c:881 msgid "Touch files in ~/.elinks when running with -no-connect/-session-ring" msgstr "" "Modifier les fichiers dans ~/.elinks avec les options -no-connect/-session-" "ring" -#: src/config/cmdline.c:882 +#: src/config/cmdline.c:883 msgid "" "When enabled, runtime state files (bookmarks, history, etc.) are\n" "written to disk, even when -no-connect or -session-ring is used.\n" @@ -1704,11 +1704,11 @@ msgstr "" "sont utilises. Cette option n'a aucun effet si elle n'est pas\n" "utilise en conjonction avec ces options." -#: src/config/cmdline.c:887 +#: src/config/cmdline.c:888 msgid "Verbose level" msgstr "Niveau de verbosit" -#: src/config/cmdline.c:889 +#: src/config/cmdline.c:890 msgid "" "The verbose level controls what messages are shown at\n" "start up and while running:\n" @@ -1722,11 +1722,11 @@ msgstr "" "\t1 pour ne montrer que les erreurs srieuses et les alertes\n" "\t2 pour montrer tous les messages" -#: src/config/cmdline.c:895 +#: src/config/cmdline.c:896 msgid "Print version information and exit" msgstr "Afficher la version et quitter" -#: src/config/cmdline.c:897 +#: src/config/cmdline.c:898 msgid "Print ELinks version information and exit." msgstr "Afficher la version d'ELinks et quitter." @@ -1875,9 +1875,9 @@ msgid "Description" msgstr "Description" #: src/config/dialogs.c:291 src/protocol/bittorrent/dialogs.c:599 -#: src/protocol/protocol.c:230 src/session/session.c:285 -#: src/session/session.c:970 src/viewer/text/textarea.c:590 -#: src/viewer/text/textarea.c:597 +#: src/protocol/protocol.c:239 src/session/session.c:287 +#: src/session/session.c:970 src/viewer/text/textarea.c:594 +#: src/viewer/text/textarea.c:601 msgid "Error" msgstr "Erreur" @@ -1915,7 +1915,7 @@ msgid "Cannot add an option here." msgstr "Impossible d'ajouter une option ici." #. accelerator_context(src/config/dialogs.c:keybinding_buttons, src/config/dialogs.c:option_buttons, src/cookies/dialogs.c:cookie_buttons, src/formhist/dialogs.c:formhist_buttons, src/protocol/bittorrent/dialogs.c:bittorrent_query_callback, src/session/download.c:do_type_query, terminal_options) -#: src/config/dialogs.c:507 src/config/dialogs.c:935 src/cookies/dialogs.c:495 +#: src/config/dialogs.c:507 src/config/dialogs.c:933 src/cookies/dialogs.c:495 #: src/dialogs/options.c:236 src/formhist/dialogs.c:214 #: src/protocol/bittorrent/dialogs.c:799 src/session/download.c:1250 msgid "Sa~ve" @@ -1983,15 +1983,15 @@ msgstr "" "Combinaison de touches" #. accelerator_context(menu_keys, src/config/dialogs.c:keybinding_buttons, src/globhist/dialogs.c:globhist_buttons) -#: src/config/dialogs.c:933 src/dialogs/info.c:135 src/globhist/dialogs.c:231 +#: src/config/dialogs.c:931 src/dialogs/info.c:135 src/globhist/dialogs.c:231 msgid "~Toggle display" msgstr "Co~mmuter affich." -#: src/config/dialogs.c:940 +#: src/config/dialogs.c:938 msgid "Keybinding manager" msgstr "Gestionnaire d'assoc. de touches" -#: src/config/home.c:122 +#: src/config/home.c:128 #, c-format msgid "" "Commandline options -config-dir set to %s, but could not create directory %s." @@ -1999,12 +1999,12 @@ msgstr "" "L'option de ligne de commande -config-dir vaut %s, mais le rpertoire %s ne " "peut tre cr." -#: src/config/home.c:127 +#: src/config/home.c:133 #, c-format msgid "ELINKS_CONFDIR set to %s, but could not create directory %s." msgstr "ELINKS_CONFDIR vaut %s, mais le rpertoire %s ne peut tre cr." -#: src/config/home.c:150 +#: src/config/home.c:156 #, c-format msgid "" "Unable to find or create ELinks config directory. Please check if you have " @@ -3960,7 +3960,7 @@ msgstr "Texte" msgid "Dialog text colors." msgstr "Couleurs du texte des dialogues." -#: src/config/options.inc:1059 src/viewer/text/form.c:1809 +#: src/config/options.inc:1059 src/viewer/text/form.c:1819 msgid "Checkbox" msgstr "Case cocher" @@ -4008,7 +4008,7 @@ msgstr "Raccourci du bouton" msgid "Selected button shortcut" msgstr "Raccourci du bouton slectionn" -#: src/config/options.inc:1087 src/viewer/text/form.c:1813 +#: src/config/options.inc:1087 src/viewer/text/form.c:1823 msgid "Text field" msgstr "Champ texte" @@ -4541,19 +4541,19 @@ msgid "Goto URL History" msgstr "Historique Aller " #. name: -#: src/cookies/cookies.c:89 src/cookies/cookies.c:938 +#: src/cookies/cookies.c:88 src/cookies/cookies.c:937 msgid "Cookies" msgstr "Cookies" -#: src/cookies/cookies.c:91 +#: src/cookies/cookies.c:90 msgid "Cookies options." msgstr "Options des cookies." -#: src/cookies/cookies.c:93 +#: src/cookies/cookies.c:92 msgid "Accept policy" msgstr "Politique d'acceptation" -#: src/cookies/cookies.c:96 +#: src/cookies/cookies.c:95 msgid "" "Cookies accepting policy:\n" "0 is accept no cookies\n" @@ -4565,11 +4565,11 @@ msgstr "" "1 demander confirmation avant d'accepter un cookie\n" "2 accepter tous les cookies" -#: src/cookies/cookies.c:101 +#: src/cookies/cookies.c:100 msgid "Maximum age" msgstr "Age maximal" -#: src/cookies/cookies.c:103 +#: src/cookies/cookies.c:102 msgid "" "Cookie maximum age (in days):\n" "-1 is use cookie's expiration date if any\n" @@ -4585,11 +4585,11 @@ msgstr "" " 1+ utiliser si possible la date d'expiration du cookie,\n" " mais limiter l'age ce nombre de jours" -#: src/cookies/cookies.c:110 +#: src/cookies/cookies.c:109 msgid "Paranoid security" msgstr "Scurit maximale (parano.)" -#: src/cookies/cookies.c:112 +#: src/cookies/cookies.c:111 msgid "" "When enabled, we'll require three dots in cookies domain for all\n" "non-international domains (instead of just two dots). Some countries\n" @@ -4605,19 +4605,19 @@ msgstr "" "potentiellement tre trs mauvais. Notez, cette option est dsactive\n" "par dfaut car elle empche le bon fonctionnement de nombreux sites." -#: src/cookies/cookies.c:118 +#: src/cookies/cookies.c:117 msgid "Saving" msgstr "Sauvegarde" -#: src/cookies/cookies.c:120 +#: src/cookies/cookies.c:119 msgid "Whether cookies should be loaded from and save to disk." msgstr "Charger/sauvegarder ou non les cookies sur disque." -#: src/cookies/cookies.c:122 +#: src/cookies/cookies.c:121 msgid "Resaving" msgstr "Sauvegarde rpte" -#: src/cookies/cookies.c:124 +#: src/cookies/cookies.c:123 msgid "" "Save cookies after each change in cookies list? No effect when\n" "cookie saving (cookies.save) is off." @@ -4625,15 +4625,15 @@ msgstr "" "Sauvegarde des cookies aprs chaque modification ?\n" "Aucun effet si la sauvegarde (cookies.save) est dsactive." -#: src/cookies/cookies.c:844 +#: src/cookies/cookies.c:843 msgid "Cannot save cookies" msgstr "Ne peut sauvegarder les cookies" -#: src/cookies/cookies.c:855 +#: src/cookies/cookies.c:854 msgid "ELinks was started without a home directory." msgstr "ELinks a t dmarr sans rpertoire personnel." -#: src/cookies/cookies.c:861 +#: src/cookies/cookies.c:860 msgid "ELinks was started with the -anonymous option." msgstr "ELinks a t dmarr avec l'option -anonymous." @@ -4832,7 +4832,7 @@ msgid "No header info." msgstr "Aucune information d'en-tte." #: src/dialogs/download.c:243 src/dialogs/menu.c:597 -#: src/protocol/bittorrent/dialogs.c:228 src/session/download.c:398 +#: src/protocol/bittorrent/dialogs.c:228 src/session/download.c:399 msgid "Download" msgstr "Tlchargement" @@ -5643,27 +5643,27 @@ msgid "No document" msgstr "Aucun document" #. name: -#: src/document/css/css.c:29 src/document/css/css.c:159 +#: src/document/css/css.c:30 src/document/css/css.c:161 msgid "Cascading Style Sheets" msgstr "Feuilles de style (CSS)" -#: src/document/css/css.c:31 +#: src/document/css/css.c:32 msgid "Options concerning how to use CSS for styling documents." msgstr "Options concernant l'utilisation des CSS." -#: src/document/css/css.c:33 +#: src/document/css/css.c:34 msgid "Enable CSS" msgstr "Activer les CSS" -#: src/document/css/css.c:35 +#: src/document/css/css.c:36 msgid "Enable adding of CSS style info to documents." msgstr "Permettre l'ajout d'info de style CSS aux documents." -#: src/document/css/css.c:37 +#: src/document/css/css.c:38 msgid "Import external style sheets" msgstr "Importer les feuilles de style externes" -#: src/document/css/css.c:39 +#: src/document/css/css.c:40 msgid "" "When enabled any external style sheets that are imported from\n" "either CSS itself using the @import keyword or from the HTML using\n" @@ -5673,11 +5673,11 @@ msgstr "" "soit par le mot cl @import soit par une balise dans l'en-tte du\n" "document sera effectivement tlcharge." -#: src/document/css/css.c:43 +#: src/document/css/css.c:44 msgid "Default style sheet" msgstr "Feuille de style par dfaut" -#: src/document/css/css.c:45 +#: src/document/css/css.c:46 msgid "" "The path to the file containing the default user defined\n" "Cascading Style Sheet. It can be used to control the basic\n" @@ -5692,7 +5692,7 @@ msgstr "" "Laisser \"\" pour utiliser le style initial du document." #. name: -#: src/ecmascript/ecmascript.c:41 src/ecmascript/ecmascript.c:349 +#: src/ecmascript/ecmascript.c:41 src/ecmascript/ecmascript.c:367 msgid "ECMAScript" msgstr "ECMAScript" @@ -5742,11 +5742,11 @@ msgstr "" "Interdire ou non l'ouverture de fentres ou d'onglets\n" "par les scripts." -#: src/ecmascript/ecmascript.c:263 +#: src/ecmascript/ecmascript.c:281 msgid "JavaScript Emergency" msgstr "Alerte JavaScript" -#: src/ecmascript/ecmascript.c:265 +#: src/ecmascript/ecmascript.c:283 #, c-format msgid "" "A script embedded in the current document was running\n" @@ -5760,7 +5760,7 @@ msgstr "" "bloquer ELinks, l'excution du script a donc t interrompue." #. name: -#: src/ecmascript/see.c:184 +#: src/ecmascript/see.c:186 msgid "SEE" msgstr "SEE" @@ -5778,7 +5778,7 @@ msgid "JavaScript Error" msgstr "Erreur Javascript" #. name: -#: src/ecmascript/spidermonkey.c:315 +#: src/ecmascript/spidermonkey.c:320 msgid "SpiderMonkey" msgstr "SpiderMonkey" @@ -7331,7 +7331,7 @@ msgstr "Fichiers" msgid "Comment" msgstr "Commentaire" -#: src/protocol/bittorrent/dialogs.c:229 src/session/download.c:399 +#: src/protocol/bittorrent/dialogs.c:229 src/session/download.c:400 #, c-format msgid "" "Download complete:\n" @@ -7490,7 +7490,7 @@ msgid_plural "%u unavailable" msgstr[0] "%u indisponible" msgstr[1] "%u indisponibles" -#: src/protocol/bittorrent/dialogs.c:584 src/session/session.c:276 +#: src/protocol/bittorrent/dialogs.c:584 src/session/session.c:278 #, c-format msgid "Unable to retrieve %s" msgstr "Incapable de rcuprer %s" @@ -7504,7 +7504,7 @@ msgstr "Que voulez-vous faire avec le fichier '%s' ?" msgid "Information about the torrent" msgstr "Informations sur le torrent" -#: src/protocol/bittorrent/dialogs.c:774 src/session/download.c:1144 +#: src/protocol/bittorrent/dialogs.c:774 src/session/download.c:1147 msgid "What to do?" msgstr "Que faire ?" @@ -7901,7 +7901,7 @@ msgid "" "is sent to HTTP server when a document is requested. The 'textmode'\n" "token in the first field is our silent attempt to establish this as\n" "a standard for new textmode user agents, so that the webmasters can\n" -"have just a single uniform test for these if they are ie. pushing\n" +"have just a single uniform test for these if they are e.g. pushing\n" "some lite version to them automagically.\n" "%v in the string means ELinks version\n" "%s in the string means system identification\n" @@ -7920,7 +7920,7 @@ msgstr "" "%s dans la chane insre l'identifiant du systme\n" "%t dans la chane insre les dimensions du terminal\n" "%b dans la chane insre le nombre de barres affiches par ELinks\n" -"Utilisez \" \" si vous ne voulez aucun en-tte User-Agent." +"Utilisez \" \" si vous ne voulez envoyer aucun en-tte User-Agent." #: src/protocol/http/http.c:205 msgid "HTTPS" @@ -7979,24 +7979,24 @@ msgstr "" "Toutes les entres possibles peuvent tre lues dans le dialogue\n" "Info. En-ttes." -#: src/protocol/protocol.c:232 +#: src/protocol/protocol.c:241 #, c-format msgid "This version of ELinks does not contain %s protocol support" msgstr "Cette version d'ELinks ne supporte pas le protocole %s" -#: src/protocol/protocol.c:263 +#: src/protocol/protocol.c:272 msgid "Protocols" msgstr "Protocoles" -#: src/protocol/protocol.c:265 +#: src/protocol/protocol.c:274 msgid "Protocol specific options." msgstr "Options des protocoles." -#: src/protocol/protocol.c:267 +#: src/protocol/protocol.c:276 msgid "No-proxy domains" msgstr "Domaines ignors en ce qui concerne les proxys" -#: src/protocol/protocol.c:269 +#: src/protocol/protocol.c:278 msgid "" "Comma separated list of domains for which the proxy (HTTP/FTP)\n" "should be disabled. Optionally, a port can be specified for some\n" @@ -8009,7 +8009,7 @@ msgstr "" "NO_PROXY sera utilis." #. name: -#: src/protocol/protocol.c:312 +#: src/protocol/protocol.c:321 msgid "Protocol" msgstr "Protocole" @@ -8217,23 +8217,23 @@ msgstr "Aucun programme sp msgid "Guile" msgstr "Guile" -#: src/scripting/lua/core.c:320 src/scripting/python/keybinding.c:151 +#: src/scripting/lua/core.c:321 src/scripting/python/keybinding.c:151 msgid "Error registering event hook" msgstr "Erreur d'enregistrement d'une fonction de rappel d'vnement" -#: src/scripting/lua/core.c:471 src/scripting/python/dialogs.c:171 +#: src/scripting/lua/core.c:472 src/scripting/python/dialogs.c:171 msgid "User dialog" msgstr "Dialogue utilisateur" -#: src/scripting/lua/core.c:748 +#: src/scripting/lua/core.c:749 msgid "Lua Error" msgstr "Erreur Lua" -#: src/scripting/lua/core.c:898 +#: src/scripting/lua/core.c:899 msgid "Lua Console" msgstr "Console Lua" -#: src/scripting/lua/core.c:898 +#: src/scripting/lua/core.c:899 msgid "Enter expression" msgstr "Entrez une expression" @@ -8289,12 +8289,12 @@ msgstr "Alerte script utilisateur" msgid "Spidermonkey ECMAScript" msgstr "Spidermonkey ECMAScript" -#: src/session/download.c:235 src/session/download.c:359 -#: src/session/download.c:598 src/session/download.c:686 +#: src/session/download.c:236 src/session/download.c:360 +#: src/session/download.c:599 src/session/download.c:687 msgid "Download error" msgstr "Erreur de tlchargement" -#: src/session/download.c:236 src/session/download.c:687 +#: src/session/download.c:237 src/session/download.c:688 #, c-format msgid "" "Could not create file '%s':\n" @@ -8303,7 +8303,7 @@ msgstr "" "Impossible de crer le fichier '%s':\n" "%s" -#: src/session/download.c:360 +#: src/session/download.c:361 #, c-format msgid "" "Error downloading %s:\n" @@ -8314,16 +8314,16 @@ msgstr "" "\n" "%s" -#: src/session/download.c:599 +#: src/session/download.c:600 #, c-format msgid "'%s' is a directory." msgstr "'%s' est un rpertoire." -#: src/session/download.c:633 +#: src/session/download.c:634 msgid "File exists" msgstr "Fichier existant" -#: src/session/download.c:634 +#: src/session/download.c:635 #, c-format msgid "" "This file already exists:\n" @@ -8339,30 +8339,30 @@ msgstr "" "%s" #. accelerator_context(src/session/download.c:lookup_unique_name) -#: src/session/download.c:641 +#: src/session/download.c:642 msgid "Sa~ve under the alternative name" msgstr "Sau~ver sous un nom alternatif" #. accelerator_context(src/session/download.c:lookup_unique_name) -#: src/session/download.c:642 +#: src/session/download.c:643 msgid "~Overwrite the original file" msgstr "Ecraser le fichier ~original" #. accelerator_context(src/session/download.c:lookup_unique_name) -#: src/session/download.c:643 +#: src/session/download.c:644 msgid "~Resume download of the original file" msgstr "~Reprendre le tlchargement du fichier original" -#: src/session/download.c:1147 +#: src/session/download.c:1150 msgid "Unknown type" msgstr "Type inconnu" -#: src/session/download.c:1172 +#: src/session/download.c:1175 #, c-format msgid "What would you like to do with the file '%s' (type: %s%s%s)?" msgstr "Que voulez-vous faire avec le fichier '%s' (type: %s%s%s) ?" -#: src/session/download.c:1175 +#: src/session/download.c:1178 #, c-format msgid "What would you like to do with the file (type: %s%s%s)?" msgstr "Que voulez-vous faire avec le fichier (type: %s%s%s) ?" @@ -8394,12 +8394,12 @@ msgstr "~Ouvrir" #. * and formatting it with "%u" is safe, #. * because fc_maxlength is smaller than #. * file.length, which is an int. -#: src/session/session.c:757 src/session/session.c:776 src/session/task.c:274 -#: src/viewer/text/textarea.c:648 +#: src/session/session.c:756 src/session/session.c:775 src/session/task.c:275 +#: src/viewer/text/textarea.c:652 msgid "Warning" msgstr "Avertissement" -#: src/session/session.c:758 +#: src/session/session.c:757 msgid "" "You have empty string in protocol.http.user_agent - this was a default value " "in the past, substituted by default ELinks User-Agent string. However, " @@ -8418,7 +8418,7 @@ msgstr "" "dfaut sera utilise. Si vous n'avez aucune ide de quoi nous parlons alors " "faites juste a. Toutes nos excuses pour ce dsagrment." -#: src/session/session.c:777 +#: src/session/session.c:776 msgid "" "You have option config.saving_style set to a de facto obsolete value. The " "configuration saving algorithms of ELinks were changed from the last time " @@ -8439,11 +8439,11 @@ msgstr "" "l'option config.saving_style dans le but d'obtenir un fonctionnement " "correct. Toutes nos excuses pour l'ventuel dsagrment caus." -#: src/session/session.c:802 +#: src/session/session.c:801 msgid "Welcome" msgstr "Bienvenue" -#: src/session/session.c:803 +#: src/session/session.c:802 msgid "" "Welcome to ELinks!\n" "\n" @@ -8454,7 +8454,7 @@ msgstr "" "Pressez ESC pour accder au menu.\n" "La documentation est disponible dans le menu Aide." -#: src/session/task.c:242 +#: src/session/task.c:243 #, c-format msgid "" "The URL you are about to follow might be maliciously crafted in order to " @@ -8470,14 +8470,14 @@ msgstr "" "\n" "Voulez-vous aller l'URL %s ?" -#: src/session/task.c:252 +#: src/session/task.c:253 #, c-format msgid "Do you want to follow the redirect and post form data to URL %s?" msgstr "" "Voulez-vous suivre la redirection et poster les donnes de formulaire " "l'URL %s ?" -#: src/session/task.c:256 +#: src/session/task.c:257 #, c-format msgid "" "The form data you are about to post might be incomplete.\n" @@ -8486,83 +8486,83 @@ msgstr "" "Le formulaire que vous tentez de soumettre est peut-tre incomplet.\n" "Voulez-vous tout de mme le soumettre l'URL %s ?" -#: src/session/task.c:260 +#: src/session/task.c:261 #, c-format msgid "Do you want to post form data to URL %s?" msgstr "Voulez-vous poster les donnes de formulaire l'URL %s ?" -#: src/session/task.c:263 +#: src/session/task.c:264 #, c-format msgid "Do you want to repost form data to URL %s?" msgstr "Voulez-vous re-poster les donnes de formulaire l'URL %s ?" -#: src/terminal/event.c:77 +#: src/terminal/event.c:79 #, c-format msgid "Bad terminal size: %d, %d" msgstr "Mauvaise taille de terminal: %d, %d" -#: src/terminal/event.c:170 +#: src/terminal/event.c:172 #, c-format msgid "Warning: terminal name contains illicit chars." msgstr "Attention: le nom du terminal contient des caractres illicites." -#: src/terminal/event.c:257 +#: src/terminal/event.c:259 #, c-format msgid "Failed to create session." msgstr "Echec de cration de session." -#: src/terminal/event.c:444 +#: src/terminal/event.c:446 #, c-format msgid "Bad event %d" msgstr "Mauvais vnement %d" -#: src/terminal/event.c:484 +#: src/terminal/event.c:486 #, c-format msgid "Could not read event: %d (%s)" msgstr "Impossible de lire l'vnement: %d (%s)" -#: src/terminal/kbd.c:1172 +#: src/terminal/kbd.c:1177 #, c-format msgid "Too many bytes read from the itrm!" msgstr "Trop d'octets lus en provenance de itrm!" -#: src/terminal/tab.c:205 +#: src/terminal/tab.c:206 msgid "Do you really want to close the current tab?" msgstr "tes-vous sr de vouloir fermer l'onglet courant ?" -#: src/terminal/tab.c:249 +#: src/terminal/tab.c:250 msgid "Do you really want to close all except the current tab?" msgstr "tes-vous sr de vouloir fermer tout sauf l'onglet courant ?" -#: src/util/secsave.c:361 +#: src/util/secsave.c:367 msgid "Cannot read the file" msgstr "chec de lecture du fichier" -#: src/util/secsave.c:363 +#: src/util/secsave.c:369 msgid "Cannot get file status" msgstr "Impossible d'obtenir l'tat du fichier" -#: src/util/secsave.c:365 +#: src/util/secsave.c:371 msgid "Cannot access the file" msgstr "chec d'accs au fichier" -#: src/util/secsave.c:367 +#: src/util/secsave.c:373 msgid "Cannot create temp file" msgstr "chec de cration de fichier temporaire" -#: src/util/secsave.c:369 +#: src/util/secsave.c:375 msgid "Cannot rename the file" msgstr "chec du renommage du fichier" -#: src/util/secsave.c:371 +#: src/util/secsave.c:377 msgid "File saving disabled by option" msgstr "Sauvegarde de fichier dsactive par option" -#: src/util/secsave.c:375 +#: src/util/secsave.c:381 msgid "Cannot write the file" msgstr "Ecriture du fichier impossible" -#: src/util/secsave.c:379 +#: src/util/secsave.c:385 msgid "Secure file saving error" msgstr "Erreur de sauvegarde fiable du fichier" @@ -8581,295 +8581,295 @@ msgstr "Ne peut msgid "URL protocol not supported (%s)." msgstr "Protocole de l'URL non support (%s)." -#: src/viewer/text/draw.c:77 +#: src/viewer/text/draw.c:78 msgid "Missing fragment" msgstr "Ancre manquante" -#: src/viewer/text/draw.c:78 +#: src/viewer/text/draw.c:79 #, c-format msgid "The requested fragment \"%s\" doesn't exist." msgstr "L'ancre demande \"%s\" n'existe pas." -#: src/viewer/text/form.c:1039 +#: src/viewer/text/form.c:1049 msgid "Error while posting form" msgstr "Erreur lors de l'envoi du formulaire" -#: src/viewer/text/form.c:1040 +#: src/viewer/text/form.c:1050 #, c-format msgid "Could not load file %s: %s" msgstr "Impossible de charger le fichier %s: %s" -#: src/viewer/text/form.c:1794 +#: src/viewer/text/form.c:1804 msgid "Reset form" msgstr "Rinitialiser le formulaire" -#: src/viewer/text/form.c:1796 +#: src/viewer/text/form.c:1806 msgid "Harmless button" msgstr "Bouton sans impact" -#: src/viewer/text/form.c:1804 +#: src/viewer/text/form.c:1814 msgid "Submit form to" msgstr "Envoi du formulaire " -#: src/viewer/text/form.c:1805 +#: src/viewer/text/form.c:1815 msgid "Post form to" msgstr "Transfert du formulaire " -#: src/viewer/text/form.c:1807 +#: src/viewer/text/form.c:1817 msgid "Radio button" msgstr "Bouton radio" -#: src/viewer/text/form.c:1811 +#: src/viewer/text/form.c:1821 msgid "Select field" msgstr "Liste" -#: src/viewer/text/form.c:1815 +#: src/viewer/text/form.c:1825 msgid "Text area" msgstr "Champ texte multiligne" -#: src/viewer/text/form.c:1817 +#: src/viewer/text/form.c:1827 msgid "File upload" msgstr "Envoi de fichier" -#: src/viewer/text/form.c:1819 +#: src/viewer/text/form.c:1829 msgid "Password field" msgstr "Champ mot de passe" -#: src/viewer/text/form.c:1857 +#: src/viewer/text/form.c:1867 msgid "name" msgstr "Nom" -#: src/viewer/text/form.c:1869 +#: src/viewer/text/form.c:1879 msgid "value" msgstr "Valeur" -#: src/viewer/text/form.c:1882 +#: src/viewer/text/form.c:1892 msgid "read only" msgstr "lecture seule" -#: src/viewer/text/form.c:1893 +#: src/viewer/text/form.c:1903 #, c-format msgid "press %s to navigate" msgstr "pressez %s pour naviguer" -#: src/viewer/text/form.c:1895 +#: src/viewer/text/form.c:1905 #, c-format msgid "press %s to edit" msgstr "pressez %s pour diter" -#: src/viewer/text/form.c:1931 +#: src/viewer/text/form.c:1941 #, c-format msgid "press %s to submit to %s" msgstr "pressez %s pour soumettre %s" -#: src/viewer/text/form.c:1933 +#: src/viewer/text/form.c:1943 #, c-format msgid "press %s to post to %s" msgstr "pressez %s pour poster %s" -#: src/viewer/text/form.c:2035 +#: src/viewer/text/form.c:2045 msgid "Useless button" msgstr "Bouton inutile" -#: src/viewer/text/form.c:2037 +#: src/viewer/text/form.c:2047 msgid "Submit button" msgstr "Bouton Soumettre" #. accelerator_context(link_menu.map) -#: src/viewer/text/link.c:1278 +#: src/viewer/text/link.c:1280 msgid "Display ~usemap" msgstr "Afficher ~usemap" #. accelerator_context(link_menu.std) -#: src/viewer/text/link.c:1283 +#: src/viewer/text/link.c:1285 msgid "~Follow link" msgstr "~Suivre le lien" #. accelerator_context(link_menu.std) -#: src/viewer/text/link.c:1285 +#: src/viewer/text/link.c:1287 msgid "Follow link and r~eload" msgstr "Suivre le lien et ~recharger" #. accelerator_context(link_menu.std) -#: src/viewer/text/link.c:1289 +#: src/viewer/text/link.c:1291 msgid "Open in new ~window" msgstr "Ouvrir dans une nouvelle ~fentre" #. accelerator_context(link_menu.std) -#: src/viewer/text/link.c:1291 +#: src/viewer/text/link.c:1293 msgid "Open in new ~tab" msgstr "Ouvrir dans un nouvel ongle~t" #. accelerator_context(link_menu.std) -#: src/viewer/text/link.c:1293 +#: src/viewer/text/link.c:1295 msgid "Open in new tab in ~background" msgstr "Ouvrir dans un nouvel onglet en arrire-~plan" #. accelerator_context(link_menu.std) -#: src/viewer/text/link.c:1298 +#: src/viewer/text/link.c:1300 msgid "~Download link" msgstr "~Enregistrer le lien" #. accelerator_context(link_menu.std) -#: src/viewer/text/link.c:1301 +#: src/viewer/text/link.c:1303 msgid "~Add link to bookmarks" msgstr "~Ajouter ce lien aux signets" #. accelerator_context(link_menu.std) -#: src/viewer/text/link.c:1305 +#: src/viewer/text/link.c:1307 msgid "Pass link URI to e~xternal command" msgstr "Passer l'URI du lien une commande e~xterne" #. accelerator_context(link_menu.form, link_menu.reset, link_menu.textarea) -#: src/viewer/text/link.c:1316 src/viewer/text/link.c:1356 +#: src/viewer/text/link.c:1318 src/viewer/text/link.c:1358 msgid "~Reset form" msgstr "Remettre ~zro le formulaire" #. accelerator_context(link_menu.textarea) -#: src/viewer/text/link.c:1331 +#: src/viewer/text/link.c:1333 msgid "Open in ~external editor" msgstr "Ouvrir dans un ~diteur externe" #. accelerator_context(link_menu.form, link_menu.textarea) -#: src/viewer/text/link.c:1339 +#: src/viewer/text/link.c:1341 msgid "~Submit form" msgstr "~Envoyer le formulaire" #. accelerator_context(link_menu.form, link_menu.textarea) -#: src/viewer/text/link.c:1340 +#: src/viewer/text/link.c:1342 msgid "Submit form and rel~oad" msgstr "Envoyer le formulaire et ~recharger" #. accelerator_context(link_menu.form, link_menu.textarea) -#: src/viewer/text/link.c:1344 +#: src/viewer/text/link.c:1346 msgid "Submit form and open in new ~window" msgstr "Envoyer le formulaire et ouvrir dans une nouvelle ~fentre" #. accelerator_context(link_menu.form, link_menu.textarea) -#: src/viewer/text/link.c:1346 +#: src/viewer/text/link.c:1348 msgid "Submit form and open in new ~tab" msgstr "Envoyer le formulaire et ouvrir un ~onglet" #. accelerator_context(link_menu.form, link_menu.textarea) -#: src/viewer/text/link.c:1349 +#: src/viewer/text/link.c:1351 msgid "Submit form and open in new tab in ~background" msgstr "Envoyer le formulaire et ouvrir un onglet en ~arrire-plan" #. accelerator_context(link_menu.form, link_menu.textarea) -#: src/viewer/text/link.c:1354 +#: src/viewer/text/link.c:1356 msgid "Submit form and ~download" msgstr "Envoyer le formulaire et ~tlcharger" #. accelerator_context(link_menu.form, link_menu.reset, link_menu.textarea) -#: src/viewer/text/link.c:1361 +#: src/viewer/text/link.c:1363 msgid "Form f~ields" msgstr "C~hamps de formulaire" #. accelerator_context(link_menu.form, link_menu.map, link_menu.std) -#: src/viewer/text/link.c:1368 +#: src/viewer/text/link.c:1370 msgid "V~iew image" msgstr "~Voir l'image" #. accelerator_context(link_menu.form, link_menu.map, link_menu.std) -#: src/viewer/text/link.c:1370 +#: src/viewer/text/link.c:1372 msgid "Download ima~ge" msgstr "Enregistrer l'~image" -#: src/viewer/text/link.c:1379 +#: src/viewer/text/link.c:1381 msgid "No link selected" msgstr "Aucun lien slectionn" -#: src/viewer/text/link.c:1449 +#: src/viewer/text/link.c:1451 msgid "Image" msgstr "Image" -#: src/viewer/text/link.c:1454 +#: src/viewer/text/link.c:1456 msgid "Usemap" msgstr "Usemap" #. name: -#: src/viewer/text/marks.c:155 +#: src/viewer/text/marks.c:158 msgid "Marks" msgstr "Marques" -#: src/viewer/text/search.c:1081 +#: src/viewer/text/search.c:1083 msgid "Search hit top, continuing at bottom." msgstr "La recherche a atteint le haut du document, poursuite partir du bas." -#: src/viewer/text/search.c:1082 +#: src/viewer/text/search.c:1084 msgid "Search hit bottom, continuing at top." msgstr "La recherche a atteint le bas du document, poursuite partir du haut." -#: src/viewer/text/search.c:1085 +#: src/viewer/text/search.c:1087 msgid "No previous search" msgstr "Aucune clef de recherche" -#: src/viewer/text/search.c:1097 +#: src/viewer/text/search.c:1099 #, c-format msgid "Could not compile regular expression '%s'" msgstr "Ne peut compiler l'expression rgulire '%s'" -#: src/viewer/text/search.c:1140 +#: src/viewer/text/search.c:1143 #, c-format msgid "No further matches for '%s'." msgstr "Aucune autre correspondance pour '%s'." -#: src/viewer/text/search.c:1142 +#: src/viewer/text/search.c:1145 #, c-format msgid "Could not find a link with the text '%s'." msgstr "Ne peut trouver un lien avec le texte '%s'." -#: src/viewer/text/search.c:1144 src/viewer/text/search.c:1552 +#: src/viewer/text/search.c:1147 src/viewer/text/search.c:1558 msgid "Typeahead" msgstr "Prfrappe" -#: src/viewer/text/search.c:1554 +#: src/viewer/text/search.c:1560 #, c-format msgid "No links in current document" msgstr "Aucun lien dans le document courant" -#: src/viewer/text/search.c:1632 +#: src/viewer/text/search.c:1640 msgid "Search for text" msgstr "Recherche du texte" -#: src/viewer/text/search.c:1663 +#: src/viewer/text/search.c:1671 msgid "Normal search" msgstr "Plein texte" -#: src/viewer/text/search.c:1664 +#: src/viewer/text/search.c:1672 msgid "Regexp search" msgstr "Expression rgulire" -#: src/viewer/text/search.c:1665 +#: src/viewer/text/search.c:1673 msgid "Extended regexp search" msgstr "Expression rgulire tendue" -#: src/viewer/text/search.c:1666 +#: src/viewer/text/search.c:1674 msgid "Case sensitive" msgstr "Respecter la casse" -#: src/viewer/text/search.c:1667 +#: src/viewer/text/search.c:1675 msgid "Case insensitive" msgstr "Ignorer la casse" -#: src/viewer/text/search.c:1691 +#: src/viewer/text/search.c:1699 msgid "Search backward" msgstr "Chercher en arrire" #. name: -#: src/viewer/text/search.c:1730 +#: src/viewer/text/search.c:1738 msgid "Search History" msgstr "Historique des recherches" -#: src/viewer/text/textarea.c:591 +#: src/viewer/text/textarea.c:595 msgid "You cannot launch an external editor in the anonymous mode." msgstr "Vous ne pouvez utiliser un diteur externe en mode anonyme." -#: src/viewer/text/textarea.c:598 +#: src/viewer/text/textarea.c:602 msgid "You can do this only on the master terminal" msgstr "Vous ne pouvez faire a que dans le terminal matre" -#: src/viewer/text/textarea.c:651 +#: src/viewer/text/textarea.c:655 #, c-format msgid "" "You have exceeded the textarea's size limit: your input is %d bytes, but the " @@ -8884,19 +8884,19 @@ msgstr "" "Votre entre a t tronque, mais vous pouvez toujours rcuprer le texte " "que vous avez entr dans le fichier suivant: %s" -#: src/viewer/text/view.c:733 +#: src/viewer/text/view.c:735 msgid "Go to link" msgstr "Aller au lien" -#: src/viewer/text/view.c:733 +#: src/viewer/text/view.c:735 msgid "Enter link number" msgstr "Entrez un numro de lien" -#: src/viewer/text/view.c:1318 +#: src/viewer/text/view.c:1320 msgid "Save error" msgstr "Erreur lors de la sauvegarde" -#: src/viewer/text/view.c:1319 +#: src/viewer/text/view.c:1321 msgid "Error writing to file" msgstr "Erreur lors de l'criture du fichier" From 0b0222d64fda7e8339b69808a0d184d60deabc62 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Tue, 11 Sep 2007 16:59:56 +0200 Subject: [PATCH 06/46] NNTP: Add support for handling RFC2047 encoded words Code adapted from git's builtin-mailinfo.c file. --- src/protocol/nntp/response.c | 124 ++++++++++++++++++++++++++++++++++- 1 file changed, 123 insertions(+), 1 deletion(-) diff --git a/src/protocol/nntp/response.c b/src/protocol/nntp/response.c index 2e4dd19a5..46d61163a 100644 --- a/src/protocol/nntp/response.c +++ b/src/protocol/nntp/response.c @@ -199,6 +199,128 @@ get_nntp_title(struct connection *conn) return title.source; } + +static void +decode_q_segment(struct string *str, unsigned char *in, unsigned char *end) +{ + int c; + + while ((c = *in++) != 0 && (in <= end)) { + if (c == '=') { + int d = *in++; + + if (d == '\n' || !d) + break; /* drop trailing newline */ + d = (unhx(d) << 4) | unhx(*in++); + add_format_to_string(str, "&#%d;", d); + continue; + } + + if (c == '_') /* rfc2047 4.2 (2) */ + c = 0x20; + add_char_to_string(str, c); + } +} + +static void +decode_b_segment(struct string *str, unsigned char *in, unsigned char *end) +{ + /* Decode in..ep, possibly in-place to ot */ + int c, pos = 0, acc = 0; + + while ((c = *in++) != 0 && (in <= end)) { + if (c == '+') + c = 62; + else if (c == '/') + c = 63; + else if ('A' <= c && c <= 'Z') + c -= 'A'; + else if ('a' <= c && c <= 'z') + c -= 'a' - 26; + else if ('0' <= c && c <= '9') + c -= '0' - 52; + else if (c == '=') { + /* padding is almost like (c == 0), except we do + * not output NUL resulting only from it; + * for now we just trust the data. + */ + c = 0; + } + else + continue; /* garbage */ + + switch (pos++) { + case 0: + acc = (c << 2); + break; + case 1: + add_format_to_string(str, "&#%d;", (acc | (c >> 4))); + acc = (c & 15) << 4; + break; + case 2: + add_format_to_string(str, "&#%d;", (acc | (c >> 2))); + acc = (c & 3) << 6; + break; + case 3: + add_format_to_string(str, "&#%d;", (acc | c)); + acc = pos = 0; + break; + } + } +} + +static void +add_header_to_string(struct string *str, unsigned char *header) +{ + unsigned char *end; + int rfc2047 = 0; + + while ((end = strstr(header, "=?")) != NULL) { + int encoding; + unsigned char charset_q[256]; + unsigned char *cp, *sp; + + rfc2047 = 1; + + if (header != end) { + add_html_to_string(str, header, end - header); + header = end; + } + + /* E.g. + * ep : "=?iso-2022-jp?B?GyR...?= foo" + * ep : "=?ISO-8859-1?Q?Foo=FCbar?= baz" + */ + end += 2; + cp = strchr(end, '?'); + if (!cp) + break; + + for (sp = end; sp < cp; sp++) + charset_q[sp - end] = tolower(*sp); + charset_q[cp - end] = 0; + encoding = tolower(cp[1]); + + if (!encoding || cp[2] != '?') + break; + cp += 3; + end = strstr(cp + 3, "?="); + if (!end) + break; + if (encoding == 'b') + decode_b_segment(str, cp, end); + else if (encoding == 'q') + decode_q_segment(str, cp, end); + else + break; + + header = end + 2; + } + + add_html_to_string(str, header, strlen(header)); +} + + static void add_nntp_html_start(struct string *html, struct connection *conn) { @@ -236,7 +358,7 @@ add_nntp_html_start(struct string *html, struct connection *conn) } add_format_to_string(html, "%s: ", entry); - add_html_to_string(html, value, strlen(value)); + add_header_to_string(html, value); add_char_to_string(html, '\n'); mem_free(value); mem_free(entry); From 8dbd38eded021865aa82a7a611e351a91b80dd1e Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Tue, 11 Sep 2007 17:01:06 +0200 Subject: [PATCH 07/46] NNTP: Improve listing of articles for groups It now uses ordered list with the message number as the list item number. Only the message subject and from field are shown. --- src/protocol/nntp/response.c | 37 ++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/src/protocol/nntp/response.c b/src/protocol/nntp/response.c index 46d61163a..d2f011967 100644 --- a/src/protocol/nntp/response.c +++ b/src/protocol/nntp/response.c @@ -373,7 +373,7 @@ add_nntp_html_start(struct string *html, struct connection *conn) add_format_to_string(html, "

%s

\n" "
\n" - "
", + "
    ", empty_string_or_(title)); break; @@ -399,7 +399,7 @@ add_nntp_html_end(struct string *html, struct connection *conn) case NNTP_TARGET_ARTICLE_RANGE: case NNTP_TARGET_GROUP: case NNTP_TARGET_GROUPS: - add_to_string(html, "
"); + add_to_string(html, ""); break; case NNTP_TARGET_QUIT: @@ -426,16 +426,33 @@ add_nntp_html_line(struct string *html, struct connection *conn, case NNTP_TARGET_GROUP: case NNTP_TARGET_GROUPS: { - unsigned char *desc = strchr(line, '\t'); + unsigned char *field = line; - if (desc) { - *desc++ = 0; - } else { - desc = ""; + line = strchr(line, '\t'); + if (!line) + field = ""; + else + *line++ = 0; + add_format_to_string(html, "
  • ", + field, struri(conn->uri), field); + + field = line; + line = strchr(line, '\t'); + if (line) + *line++ = 0; + + add_header_to_string(html, field); + add_to_string(html, " "); + + if (line) { + field = line; + line = strchr(line, '\t'); + if (line) + *line++ = 0; + + add_header_to_string(html, field); } - - add_format_to_string(html, "
    %s
    %s
    \n", - struri(conn->uri), line, line, desc); + add_to_string(html, "
  • "); break; } case NNTP_TARGET_QUIT: From 41ece7a758aa338072dae8bfdb6bbd7f049dd8f7 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Sat, 8 Sep 2007 21:03:22 +0200 Subject: [PATCH 08/46] Make meta refresh content attribute parsing more tolerant. Simply search for 'url' marker ignoring anything before it. ELinks is now able to follow incorrectly written meta refresh content attribute with missing ; before url= parameter. As an example, try http://akkada.tivi.net.pl/ --- src/document/html/parser.c | 81 +++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git a/src/document/html/parser.c b/src/document/html/parser.c index 8732de7ec..2f836980e 100644 --- a/src/document/html/parser.c +++ b/src/document/html/parser.c @@ -1,5 +1,9 @@ /* HTML parser */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE /* XXX: we _WANT_ strcasestr() ! */ +#endif + #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -296,6 +300,81 @@ parse_old_meta_refresh(unsigned char *str, unsigned char **ret) if (len) *ret = memacpy(p, len); } +/* Search for the url part in the content attribute and returns + * it if found. + * It searches the first occurence of 'url' marker somewhere ignoring + * anything before it. + * It should cope with most situations including: + * content="0; URL='http://www.site.com/path/xxx.htm'" + * content="0 url=http://www.site.com/path/xxx.htm" + * content="anything ; some url === ''''http://www.site.com/path/xxx.htm'''' + * + * The return value is one of: + * + * - HEADER_PARAM_FOUND: the parameter was found, copied, and stored in *@ret. + * - HEADER_PARAM_NOT_FOUND: the parameter is not there. *@ret is now NULL. + * - HEADER_PARAM_OUT_OF_MEMORY: error. *@ret is now NULL. + * + * If @ret is NULL, then this function doesn't actually access *@ret, + * and cannot fail with HEADER_PARAM_OUT_OF_MEMORY. Some callers may + * rely on this. */ +static enum parse_header_param +search_for_url_param(unsigned char *str, unsigned char **ret) +{ +#define LWS(c) ((c) == ' ' || (c) == ASCII_TAB) + unsigned char *p; + int plen = 0; + + if (ret) *ret = NULL; /* default in case of early return */ + + assert(str); + if_assert_failed return HEADER_PARAM_NOT_FOUND; + + /* Returns now if string @str is empty. */ + if (!*str) return HEADER_PARAM_NOT_FOUND; + + p = strcasestr(str, "url"); + if (!p) return HEADER_PARAM_NOT_FOUND; + p += 3; + + while (*p && (*p <= ' ' || *p == '=')) p++; + if (!*p) { + if (ret) { + *ret = stracpy(""); + if (!*ret) + return HEADER_PARAM_OUT_OF_MEMORY; + } + return HEADER_PARAM_FOUND; + } + + while ((p[plen] > ' ' || LWS(p[plen])) && p[plen] != ';') plen++; + + /* Trim ending spaces */ + while (plen > 0 && LWS(p[plen - 1])) plen--; + + /* XXX: Drop enclosing single quotes if there's some. + * + * Some websites like newsnow.co.uk are using single quotes around url + * in URL field in meta tag content attribute like this: + * + * + * This is an attempt to handle that, but it may break something else. + * We drop all pair of enclosing quotes found (eg. '''url''' => url). + * Please report any issue related to this. --Zas */ + while (plen > 1 && *p == '\'' && p[plen - 1] == '\'') { + p++; + plen -= 2; + } + + if (ret) { + *ret = memacpy(p, plen); + if (!*ret) + return HEADER_PARAM_OUT_OF_MEMORY; + } + return HEADER_PARAM_FOUND; +#undef LWS +} + void process_head(struct html_context *html_context, unsigned char *head) { @@ -304,7 +383,7 @@ process_head(struct html_context *html_context, unsigned char *head) refresh = parse_header(head, "Refresh", NULL); if (!refresh) return; - parse_header_param(refresh, "URL", &url); + search_for_url_param(refresh, &url); if (!url) { /* Let's try a more tolerant parsing. */ parse_old_meta_refresh(refresh, &url); From 5b28e890264455f743ab4a77aa9f8d66a57bba29 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Tue, 11 Sep 2007 09:30:26 +0200 Subject: [PATCH 09/46] Extend Use of LWS() macro to parse_old_meta_refresh(). --- src/document/html/parser.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/document/html/parser.c b/src/document/html/parser.c index 2f836980e..eda990830 100644 --- a/src/document/html/parser.c +++ b/src/document/html/parser.c @@ -270,6 +270,8 @@ html_skip(struct html_context *html_context, unsigned char *a) html_top->type = ELEMENT_DONT_KILL; } +#define LWS(c) ((c) == ' ' || (c) == ASCII_TAB) + /* Parse meta refresh without URL= in it: * * @@ -285,18 +287,18 @@ parse_old_meta_refresh(unsigned char *str, unsigned char **ret) if_assert_failed return; *ret = NULL; - while (*p && (*p == ' ' || *p == ASCII_TAB)) p++; + while (*p && LWS(*p)) p++; if (!*p) return; while (*p && *p >= '0' && *p <= '9') p++; if (!*p) return; - while (*p && (*p == ' ' || *p == ASCII_TAB)) p++; + while (*p && LWS(*p)) p++; if (!*p) return; if (*p == ';' || *p == ',') p++; else return; - while (*p && (*p == ' ' || *p == ASCII_TAB)) p++; + while (*p && LWS(*p)) p++; if (!*p) return; len = strlen(p); - while (len && (p[len] == ' ' || p[len] == ASCII_TAB)) len--; + while (len && LWS(p[len])) len--; if (len) *ret = memacpy(p, len); } @@ -321,7 +323,6 @@ parse_old_meta_refresh(unsigned char *str, unsigned char **ret) static enum parse_header_param search_for_url_param(unsigned char *str, unsigned char **ret) { -#define LWS(c) ((c) == ' ' || (c) == ASCII_TAB) unsigned char *p; int plen = 0; @@ -372,9 +373,10 @@ search_for_url_param(unsigned char *str, unsigned char **ret) return HEADER_PARAM_OUT_OF_MEMORY; } return HEADER_PARAM_FOUND; -#undef LWS } +#undef LWS + void process_head(struct html_context *html_context, unsigned char *head) { From 23262b3145b647971f27558ea623672d40cf0b99 Mon Sep 17 00:00:00 2001 From: Miciah Dashiel Butler Masters Date: Tue, 4 Sep 2007 12:05:55 +0000 Subject: [PATCH 10/46] Fix process_head to check for cache-control information even if no refresh Previously, process_head immediately returned if there was no refresh, never giving the cache-control check further down a chance to run. Also add new tests: nocache.html refresh+nocache.html --- src/document/html/parser.c | 3 ++- test/nocache.html | 6 ++++++ test/refresh+nocache.html | 10 ++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 test/nocache.html create mode 100644 test/refresh+nocache.html diff --git a/src/document/html/parser.c b/src/document/html/parser.c index eda990830..22103eb25 100644 --- a/src/document/html/parser.c +++ b/src/document/html/parser.c @@ -383,7 +383,7 @@ process_head(struct html_context *html_context, unsigned char *head) unsigned char *refresh, *url; refresh = parse_header(head, "Refresh", NULL); - if (!refresh) return; + if (refresh) { search_for_url_param(refresh, &url); if (!url) { @@ -440,6 +440,7 @@ process_head(struct html_context *html_context, unsigned char *head) } mem_free(refresh); + } if (!get_opt_bool("document.cache.ignore_cache_control")) { unsigned char *d; diff --git a/test/nocache.html b/test/nocache.html new file mode 100644 index 000000000..cfaea961d --- /dev/null +++ b/test/nocache.html @@ -0,0 +1,6 @@ + + + +

    This document should not be cached.

    + + diff --git a/test/refresh+nocache.html b/test/refresh+nocache.html new file mode 100644 index 000000000..13b8c6ee0 --- /dev/null +++ b/test/refresh+nocache.html @@ -0,0 +1,10 @@ + + + + + + +

    Reload after 3 seconds.

    +

    This document should not be cached.

    + + From 4b297a5b03fb42e5f2c2777b00d553c008d3bc10 Mon Sep 17 00:00:00 2001 From: Miciah Dashiel Butler Masters Date: Tue, 4 Sep 2007 12:09:19 +0000 Subject: [PATCH 11/46] Factor check_head_for_refresh out of process_head --- src/document/html/parser.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/document/html/parser.c b/src/document/html/parser.c index 22103eb25..7c4b203a2 100644 --- a/src/document/html/parser.c +++ b/src/document/html/parser.c @@ -377,13 +377,13 @@ search_for_url_param(unsigned char *str, unsigned char **ret) #undef LWS -void -process_head(struct html_context *html_context, unsigned char *head) +static void +check_head_for_refresh(struct html_context *html_context, unsigned char *head) { unsigned char *refresh, *url; refresh = parse_header(head, "Refresh", NULL); - if (refresh) { + if (!refresh) return; search_for_url_param(refresh, &url); if (!url) { @@ -440,7 +440,12 @@ process_head(struct html_context *html_context, unsigned char *head) } mem_free(refresh); - } +} + +void +process_head(struct html_context *html_context, unsigned char *head) +{ + check_head_for_refresh(html_context, head); if (!get_opt_bool("document.cache.ignore_cache_control")) { unsigned char *d; From deb74bd1bdf1cdbbb22ad2df02299e4e7bc51668 Mon Sep 17 00:00:00 2001 From: Miciah Dashiel Butler Masters Date: Tue, 4 Sep 2007 12:11:37 +0000 Subject: [PATCH 12/46] Factor check_head_for_cache_control out of process_head --- src/document/html/parser.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/document/html/parser.c b/src/document/html/parser.c index 7c4b203a2..1bf2611ce 100644 --- a/src/document/html/parser.c +++ b/src/document/html/parser.c @@ -442,12 +442,11 @@ check_head_for_refresh(struct html_context *html_context, unsigned char *head) mem_free(refresh); } -void -process_head(struct html_context *html_context, unsigned char *head) +static void +check_head_for_cache_control(struct html_context *html_context, + unsigned char *head) { - check_head_for_refresh(html_context, head); - - if (!get_opt_bool("document.cache.ignore_cache_control")) { + if (!get_opt_bool("document.cache.ignore_cache_control", NULL)) { unsigned char *d; int no_cache = 0; time_t expires = 0; @@ -510,6 +509,14 @@ process_head(struct html_context *html_context, unsigned char *head) } } +void +process_head(struct html_context *html_context, unsigned char *head) +{ + check_head_for_refresh(html_context, head); + + check_head_for_cache_control(html_context, head); +} + From bd0a6f6f7df945bf10443d7b5a1cd0f5082a05a0 Mon Sep 17 00:00:00 2001 From: Miciah Dashiel Butler Masters Date: Tue, 4 Sep 2007 12:13:20 +0000 Subject: [PATCH 13/46] Reflow check_head_for_cache_control --- src/document/html/parser.c | 117 +++++++++++++++++++------------------ 1 file changed, 59 insertions(+), 58 deletions(-) diff --git a/src/document/html/parser.c b/src/document/html/parser.c index 1bf2611ce..71cc033a2 100644 --- a/src/document/html/parser.c +++ b/src/document/html/parser.c @@ -446,67 +446,68 @@ static void check_head_for_cache_control(struct html_context *html_context, unsigned char *head) { - if (!get_opt_bool("document.cache.ignore_cache_control", NULL)) { - unsigned char *d; - int no_cache = 0; - time_t expires = 0; + unsigned char *d; + int no_cache = 0; + time_t expires = 0; - /* XXX: Code duplication with HTTP protocol backend. */ - /* I am not entirely sure in what order we should process these - * headers and if we should still process Cache-Control max-age - * if we already set max age to date mentioned in Expires. - * --jonas */ - if ((d = parse_header(head, "Pragma", NULL))) { - if (strstr(d, "no-cache")) { - no_cache = 1; - } - mem_free(d); + if (get_opt_bool("document.cache.ignore_cache_control", NULL)) + return; + + /* XXX: Code duplication with HTTP protocol backend. */ + /* I am not entirely sure in what order we should process these + * headers and if we should still process Cache-Control max-age + * if we already set max age to date mentioned in Expires. + * --jonas */ + if ((d = parse_header(head, "Pragma", NULL))) { + if (strstr(d, "no-cache")) { + no_cache = 1; } - - if (!no_cache && (d = parse_header(head, "Cache-Control", NULL))) { - if (strstr(d, "no-cache") || strstr(d, "must-revalidate")) { - no_cache = 1; - - } else { - unsigned char *pos = strstr(d, "max-age="); - - assert(!no_cache); - - if (pos) { - /* Grab the number of seconds. */ - timeval_T max_age, seconds; - - timeval_from_seconds(&seconds, atol(pos + 8)); - timeval_now(&max_age); - timeval_add_interval(&max_age, &seconds); - - expires = timeval_to_seconds(&max_age); - } - } - - mem_free(d); - } - - if (!no_cache && (d = parse_header(head, "Expires", NULL))) { - /* Convert date to seconds. */ - if (strstr(d, "now")) { - timeval_T now; - - timeval_now(&now); - expires = timeval_to_seconds(&now); - } else { - expires = parse_date(&d, NULL, 0, 1); - } - - mem_free(d); - } - - if (no_cache) - html_context->special_f(html_context, SP_CACHE_CONTROL); - else if (expires) - html_context->special_f(html_context, - SP_CACHE_EXPIRES, expires); + mem_free(d); } + + if (!no_cache && (d = parse_header(head, "Cache-Control", NULL))) { + if (strstr(d, "no-cache") || strstr(d, "must-revalidate")) { + no_cache = 1; + + } else { + unsigned char *pos = strstr(d, "max-age="); + + assert(!no_cache); + + if (pos) { + /* Grab the number of seconds. */ + timeval_T max_age, seconds; + + timeval_from_seconds(&seconds, atol(pos + 8)); + timeval_now(&max_age); + timeval_add_interval(&max_age, &seconds); + + expires = timeval_to_seconds(&max_age); + } + } + + mem_free(d); + } + + if (!no_cache && (d = parse_header(head, "Expires", NULL))) { + /* Convert date to seconds. */ + if (strstr(d, "now")) { + timeval_T now; + + timeval_now(&now); + expires = timeval_to_seconds(&now); + } else { + expires = parse_date(&d, NULL, 0, 1); + } + + mem_free(d); + } + + if (no_cache) + html_context->special_f(html_context, SP_CACHE_CONTROL); + else if (expires) + html_context->special_f(html_context, + SP_CACHE_EXPIRES, expires); } void From 6e89b39ed0cfae69b001aec98f5ba675b0903ae9 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Wed, 12 Sep 2007 23:51:43 +0200 Subject: [PATCH 14/46] Fix get_opt_bool() call and finish backport of process_head() split. --- src/document/html/parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/document/html/parser.c b/src/document/html/parser.c index 71cc033a2..220cec0c1 100644 --- a/src/document/html/parser.c +++ b/src/document/html/parser.c @@ -450,7 +450,7 @@ check_head_for_cache_control(struct html_context *html_context, int no_cache = 0; time_t expires = 0; - if (get_opt_bool("document.cache.ignore_cache_control", NULL)) + if (get_opt_bool("document.cache.ignore_cache_control")) return; /* XXX: Code duplication with HTTP protocol backend. */ From 73b1f43468931288c87145fbaf50e30532caf7bb Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 14 Sep 2007 09:26:39 +0200 Subject: [PATCH 15/46] Drop useless goto/label. --- src/document/html/renderer.c | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index 574cae88f..568bdd7ff 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -2207,30 +2207,27 @@ ret: /* Clear memory to prevent bad key comparaison due to alignment * of key fields. */ struct table_cache_entry *tce = mem_calloc(1, sizeof(*tce)); - /* A goto is used here to prevent a test or code - * redundancy. */ - if (!tce) goto end; - tce->key.start = start; - tce->key.end = end; - tce->key.align = align; - tce->key.margin = margin; - tce->key.width = width; - tce->key.x = x; - tce->key.link_num = link_num; - copy_struct(&tce->part, part); + if (tce) { + tce->key.start = start; + tce->key.end = end; + tce->key.align = align; + tce->key.margin = margin; + tce->key.width = width; + tce->key.x = x; + tce->key.link_num = link_num; + copy_struct(&tce->part, part); - if (!add_hash_item(table_cache, - (unsigned char *) &tce->key, - sizeof(tce->key), tce)) { - mem_free(tce); - } else { - table_cache_entries++; + if (!add_hash_item(table_cache, + (unsigned char *) &tce->key, + sizeof(tce->key), tce)) { + mem_free(tce); + } else { + table_cache_entries++; + } } } -end: - return part; } From a6f3323a4b1fa72e7191f583bedac0e7ec473dfe Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 14 Sep 2007 09:55:43 +0200 Subject: [PATCH 16/46] Use explicit names for variables in format_html_part(). llm -> saved_last_link_to_move ltm -> saved_last_tag_to_move ef -> saved_empty_format lm -> saved_margin --- src/document/html/renderer.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index 568bdd7ff..df98e76ad 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -2095,10 +2095,10 @@ format_html_part(struct html_context *html_context, { struct part *part; struct html_element *html_state; - int llm = renderer_context.last_link_to_move; - struct tag *ltm = renderer_context.last_tag_to_move; - int ef = renderer_context.empty_format; - int lm = html_context->margin; + int saved_last_link_to_move = renderer_context.last_link_to_move; + struct tag *saved_last_tag_to_move = renderer_context.last_tag_to_move; + int saved_empty_format = renderer_context.empty_format; + int saved_margin = html_context->margin; /* Hash creation if needed. */ if (!table_cache) { @@ -2194,11 +2194,11 @@ format_html_part(struct html_context *html_context, } ret: - renderer_context.last_link_to_move = llm; - renderer_context.last_tag_to_move = ltm; - renderer_context.empty_format = ef; + renderer_context.last_link_to_move = saved_last_link_to_move; + renderer_context.last_tag_to_move = saved_last_tag_to_move; + renderer_context.empty_format = saved_empty_format; - html_context->margin = lm; + html_context->margin = saved_margin; if (html_context->table_level > 1 && !document && table_cache From 4abce8e363a6005c148212685b83ef896c0866b0 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 14 Sep 2007 09:59:34 +0200 Subject: [PATCH 17/46] format_html_part(): save and restore renderer_context.last_tag_for_newline too. --- src/document/html/renderer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index df98e76ad..3ca218738 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -2097,6 +2097,7 @@ format_html_part(struct html_context *html_context, struct html_element *html_state; int saved_last_link_to_move = renderer_context.last_link_to_move; struct tag *saved_last_tag_to_move = renderer_context.last_tag_to_move; + struct tag *saved_last_tag_for_newline = renderer_context.last_tag_for_newline; int saved_empty_format = renderer_context.empty_format; int saved_margin = html_context->margin; @@ -2197,6 +2198,7 @@ ret: renderer_context.last_link_to_move = saved_last_link_to_move; renderer_context.last_tag_to_move = saved_last_tag_to_move; renderer_context.empty_format = saved_empty_format; + renderer_context.last_tag_for_newline = saved_last_tag_for_newline; html_context->margin = saved_margin; From 419cd4775e8a94aa20e392f09871a478240b8905 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 14 Sep 2007 10:07:32 +0200 Subject: [PATCH 18/46] format_html_part(): group int variables declarations --- src/document/html/renderer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index 3ca218738..2e4f801de 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -2095,11 +2095,11 @@ format_html_part(struct html_context *html_context, { struct part *part; struct html_element *html_state; - int saved_last_link_to_move = renderer_context.last_link_to_move; struct tag *saved_last_tag_to_move = renderer_context.last_tag_to_move; struct tag *saved_last_tag_for_newline = renderer_context.last_tag_for_newline; int saved_empty_format = renderer_context.empty_format; int saved_margin = html_context->margin; + int saved_last_link_to_move = renderer_context.last_link_to_move; /* Hash creation if needed. */ if (!table_cache) { From e9e8639c8d60ec077b2d381c075de267dc9686cd Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 14 Sep 2007 10:34:42 +0200 Subject: [PATCH 19/46] Improve display of version and features. Wrap on spaces when features are sent to console using -version, and let Info dialog do the job in interactive mode. Insert newlines and remove parenthesis in -version and Info box display. Backported from master branch. --- src/main/version.c | 66 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 17 deletions(-) diff --git a/src/main/version.c b/src/main/version.c index c4b33ebf2..dd8be1929 100644 --- a/src/main/version.c +++ b/src/main/version.c @@ -48,22 +48,42 @@ static void add_modules_to_string(struct string *string, struct terminal *term) { struct module *module; - int i, last_split = 0; - unsigned char *last_newline = strrchr(string->source, '\n'); - - if (last_newline) - last_split = last_newline - string->source; + int i; foreach_module (module, builtin_modules, i) { if (i > 0) add_to_string(string, ", "); - if (string->length - last_split > 70) { - add_char_to_string(string, '\n'); - last_split = string->length; - } add_module_to_string(string, module, term); } } +/* Wrap string on spaces starting at position @start_at, trying + * to keep lines undex @maxlen length */ +static void +wrap_string(struct string *string, int start_at, int maxlen) +{ + unsigned char *pos, *start_pos; + unsigned char *last_pos = NULL; + + assert(string && string->source && start_at < string->length); + if_assert_failed return; + + if (maxlen <= 0) return; + + pos = start_pos = &string->source[start_at]; + while ((pos = strchr(pos, ' '))) { + int len = pos - start_pos; + + if (len < maxlen) { + last_pos = pos; + pos++; + } else { + if (last_pos) *last_pos = '\n'; + pos = start_pos = last_pos + 1; + } + if (!*pos) break; + } +} + /* @more will add more information especially for info box. */ unsigned char * get_dyn_full_version(struct terminal *term, int more) @@ -74,17 +94,18 @@ get_dyn_full_version(struct terminal *term, int more) if (!init_string(&string)) return NULL; add_format_to_string(&string, "ELinks %s", VERSION_STRING); - if (*build_id) - add_format_to_string(&string, " (%s)", build_id); + if (*build_id) { + add_char_to_string(&string, more ? '\n' : ' '); + add_format_to_string(&string, "%s", build_id); + } + + add_char_to_string(&string, '\n'); + add_format_to_string(&string, _("Built on %s %s", term), + build_date, build_time); + if (more) { - add_to_string(&string, "\n"); - add_format_to_string(&string, _("Built on %s %s", term), - build_date, build_time); add_to_string(&string, "\n\n"); add_to_string(&string, _("Text WWW browser", term)); - } else { - add_format_to_string(&string, _(" (built on %s %s)", term), - build_date, build_time); } string_concat(&string, @@ -128,6 +149,17 @@ get_dyn_full_version(struct terminal *term, int more) add_modules_to_string(&string, term); + if (!more) { + int start_at = 0; + unsigned char *last_newline = strrchr(string.source, '\n'); + + if (last_newline) { + start_at = last_newline - string.source + 1; + } + + wrap_string(&string, start_at, 72); + } + return string.source; } From aefe2c0b680fa1c5da3db6428568ad7ab740722b Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 14 Sep 2007 10:39:07 +0200 Subject: [PATCH 20/46] Update french translation. --- po/fr.po | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/po/fr.po b/po/fr.po index e14dbc9be..0dd5cddd4 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: ELinks 0.12.GIT\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-09-11 14:58+0200\n" -"PO-Revision-Date: 2007-09-11 15:00+0200\n" +"POT-Creation-Date: 2007-09-14 10:35+0200\n" +"PO-Revision-Date: 2007-09-14 10:37+0200\n" "Last-Translator: Laurent Monin \n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -6179,45 +6179,40 @@ msgstr "Echec de attach_terminal()." msgid "%d select() failures." msgstr "%d checs de select()." -#: src/main/version.c:81 +#: src/main/version.c:103 #, c-format msgid "Built on %s %s" msgstr "Compil le %s %s" -#: src/main/version.c:84 +#: src/main/version.c:108 msgid "Text WWW browser" msgstr "Navigateur web en mode texte" -#: src/main/version.c:86 -#, c-format -msgid " (built on %s %s)" -msgstr "(compil le %s %s)" - -#: src/main/version.c:92 +#: src/main/version.c:113 msgid "Features:" msgstr "Fonctionnalits:" -#: src/main/version.c:94 +#: src/main/version.c:115 msgid "Standard" msgstr "Standart" -#: src/main/version.c:96 +#: src/main/version.c:117 msgid "Debug" msgstr "Debug" -#: src/main/version.c:99 +#: src/main/version.c:120 msgid "Fastmem" msgstr "Fastmem" -#: src/main/version.c:102 +#: src/main/version.c:123 msgid "Own Libc Routines" msgstr "Routines Libc Internes" -#: src/main/version.c:105 +#: src/main/version.c:126 msgid "No Backtrace" msgstr "Pas de Backtrace" -#: src/main/version.c:120 +#: src/main/version.c:141 msgid "No mouse" msgstr "Sans souris" From ee503f6c00fe826dd7e64564c819a7f3dd646cbd Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 27 Apr 2007 17:55:12 +0200 Subject: [PATCH 21/46] Prevent internal errors when terminal width or height are very small (1x1 was fatal). --- src/terminal/draw.c | 2 ++ src/util/box.h | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/terminal/draw.c b/src/terminal/draw.c index 93382b4de..6deb72a0a 100644 --- a/src/terminal/draw.c +++ b/src/terminal/draw.c @@ -503,6 +503,8 @@ draw_text(struct terminal *term, int x, int y, assert(text && length >= 0); if_assert_failed return; + if (x >= term->width || y >= term->height) return; + #ifdef CONFIG_UTF8 if (term->utf8_cp) { draw_text_utf8(term, x, y, text, length, attr, color); diff --git a/src/util/box.h b/src/util/box.h index 4e3a36b98..b155dd2bd 100644 --- a/src/util/box.h +++ b/src/util/box.h @@ -46,10 +46,10 @@ colspan_is_in_box(struct box *box, int x, int span) static inline void set_box(struct box *box, int x, int y, int width, int height) { - box->x = x; - box->y = y; - box->width = width; - box->height = height; + box->x = int_max(0, x); + box->y = int_max(0, y); + box->width = int_max(0, width); + box->height = int_max(0, height); } /** @relates box */ From 286a6a09d8e10568c8933efa84a129c754b34834 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Sat, 8 Sep 2007 21:06:28 +0200 Subject: [PATCH 22/46] Add a simple testcase for missing ; in meta refresh content attribute. --- test/refresh2.html | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 test/refresh2.html diff --git a/test/refresh2.html b/test/refresh2.html new file mode 100644 index 000000000..bae21659d --- /dev/null +++ b/test/refresh2.html @@ -0,0 +1,6 @@ + + + + Redirect to /somewhere after 3 seconds. + + From 09cf904814f47cf178e4539acf9d422c9b33cf0f Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 14 Sep 2007 14:59:37 +0200 Subject: [PATCH 23/46] Backport Pasky's changes concerning text_style-related stuff. It partially includes changes made in following commits: document/html: struct text_attrib_style -> struct text_style commit e1339412068f97be1aa5f91871ba7ebeedbdb5f document: struct format_attr -> struct text_style_format commit 070d335796c3e71c5feff8813e681ef4534ee016 document: Unify text style -> screen attribute handling commit b66d2bec674f59016ca0708c20249421914b1d2b document: Move text_style-related stuff to dedicated format.* commit db9431465fd77658cfe804947ab336158c1974bd --- src/document/Makefile | 2 +- src/document/css/apply.c | 1 + src/document/css/property.h | 5 ++-- src/document/css/stylesheet.h | 1 + src/document/dom/renderer.c | 2 +- src/document/format.c | 46 ++++++++++++++++++++++++++++++ src/document/format.h | 28 ++++++++++++++++++ src/document/html/parser.c | 5 ++-- src/document/html/parser.h | 18 ++---------- src/document/html/parser/general.c | 2 +- src/document/html/renderer.c | 28 +++--------------- src/document/options.c | 4 +-- src/document/options.h | 4 +-- src/document/plain/renderer.c | 16 ++++------- src/document/renderer.h | 1 + 15 files changed, 100 insertions(+), 63 deletions(-) create mode 100644 src/document/format.c create mode 100644 src/document/format.h diff --git a/src/document/Makefile b/src/document/Makefile index 8014c2519..8ea77ed28 100644 --- a/src/document/Makefile +++ b/src/document/Makefile @@ -6,6 +6,6 @@ SUBDIRS-$(CONFIG_DOM) += dom SUBDIRS = html plain -OBJS = docdata.o document.o forms.o options.o refresh.o renderer.o +OBJS = docdata.o document.o format.o forms.o options.o refresh.o renderer.o include $(top_srcdir)/Makefile.lib diff --git a/src/document/css/apply.c b/src/document/css/apply.c index 1e198ae86..7755046c7 100644 --- a/src/document/css/apply.c +++ b/src/document/css/apply.c @@ -21,6 +21,7 @@ #include "document/css/property.h" #include "document/css/scanner.h" #include "document/css/stylesheet.h" +#include "document/format.h" #include "document/html/parser/parse.h" #include "document/options.h" #include "util/align.h" diff --git a/src/document/css/property.h b/src/document/css/property.h index c362801b3..1d69cdbd3 100644 --- a/src/document/css/property.h +++ b/src/document/css/property.h @@ -2,7 +2,8 @@ #ifndef EL__DOCUMENT_CSS_PROPERTY_H #define EL__DOCUMENT_CSS_PROPERTY_H -#include "document/html/parser.h" +#include "document/format.h" +#include "util/align.h" #include "util/color.h" #include "util/lists.h" @@ -48,7 +49,7 @@ struct css_property { CSS_DISP_BLOCK, } display; struct { - enum format_attr add, rem; + enum text_style_format add, rem; } font_attribute; enum format_align text_align; /* TODO: diff --git a/src/document/css/stylesheet.h b/src/document/css/stylesheet.h index 7928a921e..670af934b 100644 --- a/src/document/css/stylesheet.h +++ b/src/document/css/stylesheet.h @@ -2,6 +2,7 @@ #ifndef EL__DOCUMENT_CSS_STYLESHEET_H #define EL__DOCUMENT_CSS_STYLESHEET_H +#include "protocol/uri.h" #include "util/lists.h" /* #define DEBUG_CSS */ diff --git a/src/document/dom/renderer.c b/src/document/dom/renderer.c index 6391ff82b..f13927021 100644 --- a/src/document/dom/renderer.c +++ b/src/document/dom/renderer.c @@ -1038,7 +1038,7 @@ render_dom_document(struct cache_entry *cached, struct document *document, init_dom_renderer(&renderer, document, buffer, convert_table); - document->bgcolor = document->options.default_bg; + document->bgcolor = document->options.default_style.bg; #ifdef CONFIG_UTF8 document->options.utf8 = is_cp_utf8(document->options.cp); #endif /* CONFIG_UTF8 */ diff --git a/src/document/format.c b/src/document/format.c new file mode 100644 index 000000000..bcae2ac0c --- /dev/null +++ b/src/document/format.c @@ -0,0 +1,46 @@ +/** Format attributes utilities + * @file */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "elinks.h" + +#include "document/format.h" +#include "document/options.h" +#include "terminal/draw.h" +#include "util/color.h" + + +void +get_screen_char_template(struct screen_char *template, + struct document_options *options, + struct text_style style) +{ + template->attr = 0; + template->data = ' '; + + if (style.attr) { + if (style.attr & AT_UNDERLINE) { + template->attr |= SCREEN_ATTR_UNDERLINE; + } + + if (style.attr & AT_BOLD) { + template->attr |= SCREEN_ATTR_BOLD; + } + + if (style.attr & AT_ITALIC) { + template->attr |= SCREEN_ATTR_ITALIC; + } + + if (style.attr & AT_GRAPHICS) { + template->attr |= SCREEN_ATTR_FRAME; + } + } + + { + struct color_pair colors = INIT_COLOR_PAIR(style.bg, style.fg); + set_term_color(template, &colors, options->color_flags, options->color_mode); + } +} diff --git a/src/document/format.h b/src/document/format.h new file mode 100644 index 000000000..c38d96d81 --- /dev/null +++ b/src/document/format.h @@ -0,0 +1,28 @@ +#ifndef EL__DOCUMENT_FORMAT_H +#define EL__DOCUMENT_FORMAT_H + +#include "util/color.h" + +struct document_options; +struct screen_char; + + +enum text_style_format { + AT_BOLD = 1, + AT_ITALIC = 2, + AT_UNDERLINE = 4, + AT_FIXED = 8, + AT_GRAPHICS = 16, + AT_PREFORMATTED = 32, +}; + +struct text_style { + enum text_style_format attr; + color_T fg; + color_T bg; +}; + +void get_screen_char_template(struct screen_char *template, struct document_options *options, struct text_style style); + +#endif + diff --git a/src/document/html/parser.c b/src/document/html/parser.c index 220cec0c1..31387676c 100644 --- a/src/document/html/parser.c +++ b/src/document/html/parser.c @@ -896,8 +896,7 @@ init_html_parser(struct uri *uri, struct document_options *options, format.form = NULL; format.title = NULL; - format.style.fg = options->default_fg; - format.style.bg = options->default_bg; + format.style = options->default_style; format.clink = options->default_link; format.vlink = options->default_vlink; #ifdef CONFIG_BOOKMARKS @@ -914,7 +913,7 @@ init_html_parser(struct uri *uri, struct document_options *options, par_format.dd_margin = options->margin; par_format.flags = P_NONE; - par_format.bgcolor = options->default_bg; + par_format.bgcolor = options->default_style.bg; html_top->invisible = 0; html_top->name = NULL; diff --git a/src/document/html/parser.h b/src/document/html/parser.h index c10cb8a82..816ca0aa0 100644 --- a/src/document/html/parser.h +++ b/src/document/html/parser.h @@ -2,6 +2,7 @@ #ifndef EL__DOCUMENT_HTML_PARSER_H #define EL__DOCUMENT_HTML_PARSER_H +#include "document/format.h" #include "intl/charsets.h" /* unicode_val_T */ #include "util/align.h" #include "util/color.h" @@ -21,23 +22,8 @@ struct uri; * files - there's lack of any well defined interface and it's all randomly * mixed up :/. */ -enum format_attr { - AT_BOLD = 1, - AT_ITALIC = 2, - AT_UNDERLINE = 4, - AT_FIXED = 8, - AT_GRAPHICS = 16, - AT_PREFORMATTED = 32, -}; - -struct text_attrib_style { - enum format_attr attr; - color_T fg; - color_T bg; -}; - struct text_attrib { - struct text_attrib_style style; + struct text_style style; int fontsize; unsigned char *link; diff --git a/src/document/html/parser/general.c b/src/document/html/parser/general.c index 0dbff5e9a..bd653a5c6 100644 --- a/src/document/html/parser/general.c +++ b/src/document/html/parser/general.c @@ -197,7 +197,7 @@ html_apply_canvas_bgcolor(struct html_context *html_context) } if (html_context->has_link_lines - && par_format.bgcolor != html_context->options->default_bg + && par_format.bgcolor != html_context->options->default_style.bg && !search_html_stack(html_context, "BODY")) { html_context->special_f(html_context, SP_COLOR_LINK_LINES); } diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index 2e4f801de..c62586f63 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -340,39 +340,19 @@ static inline struct screen_char * get_format_screen_char(struct html_context *html_context, enum link_state link_state) { - static struct text_attrib_style ta_cache = { -1, 0x0, 0x0 }; + static struct text_style ta_cache = { -1, 0x0, 0x0 }; static struct screen_char schar_cache; if (memcmp(&ta_cache, &format.style, sizeof(ta_cache))) { copy_struct(&ta_cache, &format.style); - - schar_cache.attr = 0; - if (format.style.attr) { - if (format.style.attr & AT_UNDERLINE) { - schar_cache.attr |= SCREEN_ATTR_UNDERLINE; - } - - if (format.style.attr & AT_BOLD) { - schar_cache.attr |= SCREEN_ATTR_BOLD; - } - - if (format.style.attr & AT_ITALIC) { - schar_cache.attr |= SCREEN_ATTR_ITALIC; - } - - if (format.style.attr & AT_GRAPHICS) { - schar_cache.attr |= SCREEN_ATTR_FRAME; - } - } + struct text_style final_style = format.style; if (link_state != LINK_STATE_NONE && html_context->options->underline_links) { - schar_cache.attr |= SCREEN_ATTR_UNDERLINE; + final_style.attr |= AT_UNDERLINE; } - set_screen_char_color(&schar_cache, format.style.bg, format.style.fg, - html_context->options->color_flags, - html_context->options->color_mode); + get_screen_char_template(&schar_cache, html_context->options, final_style); } if (!!(schar_cache.attr & SCREEN_ATTR_UNSEARCHABLE) diff --git a/src/document/options.c b/src/document/options.c index 8d77ce898..b8a697b5a 100644 --- a/src/document/options.c +++ b/src/document/options.c @@ -37,8 +37,8 @@ init_document_options(struct document_options *doo) doo->default_form_input_size = get_opt_int("document.browse.forms.input_size"); /* Color options. */ - doo->default_fg = get_opt_color("document.colors.text"); - doo->default_bg = get_opt_color("document.colors.background"); + doo->default_style.fg = get_opt_color("document.colors.text"); + doo->default_style.bg = get_opt_color("document.colors.background"); doo->default_link = get_opt_color("document.colors.link"); doo->default_vlink = get_opt_color("document.colors.vlink"); #ifdef CONFIG_BOOKMARKS diff --git a/src/document/options.h b/src/document/options.h index dd5f6bb72..19ad801e8 100644 --- a/src/document/options.h +++ b/src/document/options.h @@ -1,6 +1,7 @@ #ifndef EL__DOCUMENT_OPTIONS_H #define EL__DOCUMENT_OPTIONS_H +#include "document/format.h" #include "terminal/color.h" #include "util/color.h" #include "util/box.h" @@ -34,8 +35,7 @@ struct document_options { /** @name The default (fallback) colors. * @{ */ - color_T default_fg; - color_T default_bg; + struct text_style default_style; color_T default_link; color_T default_vlink; #ifdef CONFIG_BOOKMARKS diff --git a/src/document/plain/renderer.c b/src/document/plain/renderer.c index 3d4cde914..99cfbf05b 100644 --- a/src/document/plain/renderer.c +++ b/src/document/plain/renderer.c @@ -14,6 +14,7 @@ #include "config/options.h" #include "document/docdata.h" #include "document/document.h" +#include "document/format.h" #include "document/options.h" #include "document/plain/renderer.h" #include "document/renderer.h" @@ -92,7 +93,7 @@ add_document_link(struct document *document, unsigned char *uri, int length, link->npoints = length; link->type = LINK_HYPERTEXT; link->where = uri; - link->color.background = document->options.default_bg; + link->color.background = document->options.default_style.bg; link->color.foreground = document->options.default_link; link->number = document->nlinks; @@ -213,7 +214,7 @@ print_document_link(struct plain_renderer *renderer, int lineno, line[link_end] = saved_char; - new_link->color.background = doc_opts->default_bg; + new_link->color.background = doc_opts->default_style.bg; set_term_color(&template, &new_link->color, doc_opts->color_flags, doc_opts->color_mode); @@ -478,14 +479,7 @@ next: static void init_template(struct screen_char *template, struct document_options *options) { - color_T background = options->default_bg; - color_T foreground = options->default_fg; - struct color_pair colors = INIT_COLOR_PAIR(background, foreground); - - template->attr = 0; - template->data = ' '; - set_term_color(template, &colors, - options->color_flags, options->color_mode); + get_screen_char_template(template, options, options->default_style); } static struct node * @@ -643,7 +637,7 @@ render_plain_document(struct cache_entry *cached, struct document *document, renderer.max_width = document->options.wrap ? document->options.box.width : INT_MAX; - document->bgcolor = document->options.default_bg; + document->bgcolor = document->options.default_style.bg; document->width = 0; #ifdef CONFIG_UTF8 document->options.utf8 = is_cp_utf8(document->options.cp); diff --git a/src/document/renderer.h b/src/document/renderer.h index 8cc828d73..350d7964b 100644 --- a/src/document/renderer.h +++ b/src/document/renderer.h @@ -8,6 +8,7 @@ struct document_options; struct document_view; struct session; struct view_state; +struct screen_char; void render_document(struct view_state *, struct document_view *, struct document_options *); void render_document_frames(struct session *ses, int no_cache); From 37b20d998cec6a7a466a5efcf265a6f019582dc7 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Tue, 28 Aug 2007 22:19:33 +0200 Subject: [PATCH 24/46] document/html: Move enum html_special_type from parser.h to renderer.h ...since it is renderer interface. --- src/document/html/parser.h | 18 +----------------- src/document/html/parser/parse.c | 1 + src/document/html/renderer.h | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/document/html/parser.h b/src/document/html/parser.h index 816ca0aa0..5a13a318b 100644 --- a/src/document/html/parser.h +++ b/src/document/html/parser.h @@ -17,6 +17,7 @@ struct menu_item; struct part; struct string; struct uri; +enum html_special_type; /* XXX: This is just terible - this interface is from 75% only for other HTML * files - there's lack of any well defined interface and it's all randomly @@ -136,23 +137,6 @@ struct html_element { #define is_inline_element(e) (e->linebreak == 0) #define is_block_element(e) (e->linebreak > 0) -enum html_special_type { - SP_TAG, - SP_FORM, - SP_CONTROL, - SP_TABLE, - SP_USED, - SP_FRAMESET, - SP_FRAME, - SP_NOWRAP, - SP_CACHE_CONTROL, - SP_CACHE_EXPIRES, - SP_REFRESH, - SP_STYLESHEET, - SP_COLOR_LINK_LINES, - SP_SCRIPT, -}; - /* Interface for the renderer */ struct html_context * diff --git a/src/document/html/parser/parse.c b/src/document/html/parser/parse.c index a7c4d6d94..2169035c8 100644 --- a/src/document/html/parser/parse.c +++ b/src/document/html/parser/parse.c @@ -20,6 +20,7 @@ #include "document/html/parser/parse.h" #include "document/html/parser/stack.h" #include "document/html/parser.h" +#include "document/html/renderer.h" #include "document/options.h" #include "intl/charsets.h" #include "util/conv.h" diff --git a/src/document/html/renderer.h b/src/document/html/renderer.h index 6fc4eacd3..316b28ede 100644 --- a/src/document/html/renderer.h +++ b/src/document/html/renderer.h @@ -12,6 +12,27 @@ struct string; void render_html_document(struct cache_entry *cached, struct document *document, struct string *buffer); + +/* Interface with parser.c */ + +enum html_special_type { + SP_TAG, + SP_FORM, + SP_CONTROL, + SP_TABLE, + SP_USED, + SP_FRAMESET, + SP_FRAME, + SP_NOWRAP, + SP_CACHE_CONTROL, + SP_CACHE_EXPIRES, + SP_REFRESH, + SP_STYLESHEET, + SP_COLOR_LINK_LINES, + SP_SCRIPT, +}; + + /* Interface with tables.c */ /* This holds some context about what we're currently rendering. We only need From c1b91c7bf368d7ba7a51816d4a3ee9d018d9fa55 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Tue, 28 Aug 2007 23:04:43 +0200 Subject: [PATCH 25/46] document/html: Make HTML parser state transparent Before, *_html_parser_state() operated with struct html_element *. Now, it is transparent for the renderer (just void *), so that DOM won't have to provide this struct but will be able to use something internal. Backported from master. --- src/document/html/parser.h | 7 +++---- src/document/html/renderer.c | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/document/html/parser.h b/src/document/html/parser.h index 5a13a318b..44d255f92 100644 --- a/src/document/html/parser.h +++ b/src/document/html/parser.h @@ -147,11 +147,10 @@ init_html_parser(struct uri *uri, struct document_options *options, void (*line_break)(struct html_context *), void *(*special)(struct html_context *, enum html_special_type, ...)); - void done_html_parser(struct html_context *html_context); -struct html_element *init_html_parser_state(struct html_context *html_context, enum html_element_mortality_type type, int align, int margin, int width); -void done_html_parser_state(struct html_context *html_context, - struct html_element *element); + +void *init_html_parser_state(struct html_context *html_context, enum html_element_mortality_type type, int align, int margin, int width); +void done_html_parser_state(struct html_context *html_context, void *state); /* Interface for the table handling */ diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index c62586f63..836b45a09 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -2074,7 +2074,7 @@ format_html_part(struct html_context *html_context, int link_num) { struct part *part; - struct html_element *html_state; + void *html_state; struct tag *saved_last_tag_to_move = renderer_context.last_tag_to_move; struct tag *saved_last_tag_for_newline = renderer_context.last_tag_for_newline; int saved_empty_format = renderer_context.empty_format; From 890903a65d31cf9890e30bde2a1534e58dd21f90 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Wed, 29 Aug 2007 20:51:43 +0200 Subject: [PATCH 26/46] Compile fix for commit e876df70d849b2ea22f3ed5f14933dc5e13d5102 --- src/document/html/parser.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/document/html/parser.c b/src/document/html/parser.c index 31387676c..35b9b5d5d 100644 --- a/src/document/html/parser.c +++ b/src/document/html/parser.c @@ -797,7 +797,7 @@ get_image_map(unsigned char *head, unsigned char *pos, unsigned char *eof, -struct html_element * +void * init_html_parser_state(struct html_context *html_context, enum html_element_mortality_type type, int align, int margin, int width) @@ -823,8 +823,10 @@ init_html_parser_state(struct html_context *html_context, void done_html_parser_state(struct html_context *html_context, - struct html_element *element) + void *state) { + struct html_element *element = state; + html_context->line_breax = 1; while (html_top != element) { From f0e66866f585c185319a287df3dec5dc482e2463 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 14 Sep 2007 15:12:32 +0200 Subject: [PATCH 27/46] Trim trailing whitespaces. --- contrib/proxy/gen.c | 2 +- src/cookies/cookies.c | 4 ++-- src/document/html/parser/general.c | 2 +- src/document/html/parser/parse.c | 2 +- src/document/html/renderer.c | 2 +- src/ecmascript/ecmascript.h | 2 +- src/ecmascript/see/window.h | 2 +- src/encoding/bzip2.c | 12 ++++++------ src/protocol/fsp/fsp.c | 2 +- src/protocol/ftp/ftp.c | 2 +- src/protocol/http/http.c | 6 +++--- src/protocol/user.c | 2 +- src/scripting/smjs/cache_object.c | 2 +- src/terminal/draw.h | 2 +- src/util/memlist.c | 2 +- src/util/profile.h | 2 +- src/util/secsave.c | 2 +- 17 files changed, 25 insertions(+), 25 deletions(-) diff --git a/contrib/proxy/gen.c b/contrib/proxy/gen.c index 59d1b2b1f..6e7807aba 100644 --- a/contrib/proxy/gen.c +++ b/contrib/proxy/gen.c @@ -95,7 +95,7 @@ parse(void) space = strchr(current, ' '); if (!space) return; - + host = find(space + 1, "Host: "); if (!host) return; diff --git a/src/cookies/cookies.c b/src/cookies/cookies.c index de9f4d429..639e8a605 100644 --- a/src/cookies/cookies.c +++ b/src/cookies/cookies.c @@ -835,7 +835,7 @@ save_cookies(struct terminal *term) { time_t now; #ifdef CONFIG_SMALL -# define CANNOT_SAVE_COOKIES(flags, message) +# define CANNOT_SAVE_COOKIES(flags, message) #else # define CANNOT_SAVE_COOKIES(flags, message) \ do { \ @@ -894,7 +894,7 @@ save_cookies(struct terminal *term) { CANNOT_SAVE_COOKIES(MSGBOX_NO_TEXT_INTL, secsave_strerror(secsave_errno, term)); } -#undef CANNOT_SAVE_COOKIES +#undef CANNOT_SAVE_COOKIES } static void diff --git a/src/document/html/parser/general.c b/src/document/html/parser/general.c index bd653a5c6..3b38a7ff7 100644 --- a/src/document/html/parser/general.c +++ b/src/document/html/parser/general.c @@ -123,7 +123,7 @@ html_quote_close(struct html_context *html_context, unsigned char *a, unsigned char **xxx5) { unsigned char *q; - + if (html_context->quote_level > 0) html_context->quote_level--; diff --git a/src/document/html/parser/parse.c b/src/document/html/parser/parse.c index 2169035c8..fcf343213 100644 --- a/src/document/html/parser/parse.c +++ b/src/document/html/parser/parse.c @@ -616,7 +616,7 @@ count_newline_entities(const unsigned char *html, const unsigned char *eof, if (peek == eof || *peek != ';') break; ++peek; - + if (this_is_cr || !prev_was_cr) ++newlines; prev_was_cr = this_is_cr; diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index 836b45a09..9eb5282a9 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -161,7 +161,7 @@ realloc_line(struct html_context *html_context, struct document *document, line = &document->data[y]; orig_length = line->length; - + if (length < orig_length) return orig_length; diff --git a/src/ecmascript/ecmascript.h b/src/ecmascript/ecmascript.h index ceac6eab3..e39bf4e16 100644 --- a/src/ecmascript/ecmascript.h +++ b/src/ecmascript/ecmascript.h @@ -29,7 +29,7 @@ struct ecmascript_interpreter { /* The code evaluated by setTimeout() */ struct string code; - + time_t exec_start; /* This is a cross-rerenderings accumulator of diff --git a/src/ecmascript/see/window.h b/src/ecmascript/see/window.h index 76bd1adc3..0511c53b2 100644 --- a/src/ecmascript/see/window.h +++ b/src/ecmascript/see/window.h @@ -19,7 +19,7 @@ struct js_window_object { struct global_object { struct SEE_interpreter interp; /* used by setTimeout */ - struct ecmascript_interpreter *interpreter; + struct ecmascript_interpreter *interpreter; struct js_window_object *win; struct string *ret; int exec_start; diff --git a/src/encoding/bzip2.c b/src/encoding/bzip2.c index 9df4c658c..87434b15e 100644 --- a/src/encoding/bzip2.c +++ b/src/encoding/bzip2.c @@ -66,7 +66,7 @@ bzip2_open(struct stream_encoded *stream, int fd) copy_struct(&data->fbz_stream, &null_bz_stream); data->fdread = fd; data->last_read = 0; - + err = BZ2_bzDecompressInit(&data->fbz_stream, 0, 0); if (err != BZ_OK) { mem_free(data); @@ -86,14 +86,14 @@ bzip2_read(struct stream_encoded *stream, unsigned char *buf, int len) if (!data) return -1; - assert(len > 0); + assert(len > 0); if (data->last_read) return 0; data->fbz_stream.avail_out = len; data->fbz_stream.next_out = buf; - do { + do { if (data->fbz_stream.avail_in == 0) { int l = safe_read(data->fdread, data->buf, ELINKS_BZ_BUFFER_LENGTH); @@ -111,12 +111,12 @@ bzip2_read(struct stream_encoded *stream, unsigned char *buf, int len) data->fbz_stream.next_in = data->buf; data->fbz_stream.avail_in = l; } - + err = BZ2_bzDecompress(&data->fbz_stream); - if (err == BZ_STREAM_END) { + if (err == BZ_STREAM_END) { data->last_read = 1; break; - } else if (err != BZ_OK) { + } else if (err != BZ_OK) { return -1; } } while (data->fbz_stream.avail_out > 0); diff --git a/src/protocol/fsp/fsp.c b/src/protocol/fsp/fsp.c index 04bd3df14..06b24efc0 100644 --- a/src/protocol/fsp/fsp.c +++ b/src/protocol/fsp/fsp.c @@ -147,7 +147,7 @@ display_entry(const FSP_RDENTRY *fentry, const unsigned char dircolor[]) add_to_string(&string, "\tname, namelen, 0); + encode_uri_string(&string, fentry->name, namelen, 0); if (fentry->type == FSP_RDTYPE_DIR) { add_to_string(&string, "/\">"); if (*dircolor) { diff --git a/src/protocol/ftp/ftp.c b/src/protocol/ftp/ftp.c index 11587ee32..13201275d 100644 --- a/src/protocol/ftp/ftp.c +++ b/src/protocol/ftp/ftp.c @@ -725,7 +725,7 @@ add_file_cmd_to_str(struct connection *conn) || !add_crlf_to_string(&command) || !add_string_to_string(&command, &ftp_data_command) - + || !add_to_string(&command, "CWD ") || !add_string_to_string(&command, &pathname) || !add_crlf_to_string(&command) diff --git a/src/protocol/http/http.c b/src/protocol/http/http.c index e3c262aaa..bf675121c 100644 --- a/src/protocol/http/http.c +++ b/src/protocol/http/http.c @@ -702,7 +702,7 @@ http_send_header(struct socket *socket) } /* CONNECT: Referer probably is a secret page in the HTTPS - * server, so don't reveal it to the proxy. */ + * server, so don't reveal it to the proxy. */ if (!use_connect) { switch (get_opt_int("protocol.http.referer.policy")) { case REFERER_NONE: @@ -1042,7 +1042,7 @@ decompress_data(struct connection *conn, unsigned char *data, int len, if (state == NORMAL) { /* ... we aren't finishing yet. */ int written; - + written = safe_write(conn->stream_pipes[1], data, len > to_read ? to_read : len); @@ -1071,7 +1071,7 @@ decompress_data(struct connection *conn, unsigned char *data, int len, } } } - + if (!conn->stream) { conn->stream = open_encoded(conn->stream_pipes[0], conn->content_encoding); diff --git a/src/protocol/user.c b/src/protocol/user.c index e0b3f6288..f0bcc5dbf 100644 --- a/src/protocol/user.c +++ b/src/protocol/user.c @@ -253,7 +253,7 @@ error: fclose(fp); goto error; } - + if (fclose(fp) != 0) goto error; diff --git a/src/scripting/smjs/cache_object.c b/src/scripting/smjs/cache_object.c index 393f664a9..8d2a44d90 100644 --- a/src/scripting/smjs/cache_object.c +++ b/src/scripting/smjs/cache_object.c @@ -49,7 +49,7 @@ cache_entry_get_property(JSContext *ctx, JSObject *obj, jsval id, jsval *vp) if (!JS_InstanceOf(ctx, obj, (JSClass *) &cache_entry_class, NULL)) return JS_FALSE; - cached = JS_GetInstancePrivate(ctx, obj, + cached = JS_GetInstancePrivate(ctx, obj, (JSClass *) &cache_entry_class, NULL); if (!cache_entry_is_valid(cached)) return JS_FALSE; diff --git a/src/terminal/draw.h b/src/terminal/draw.h index 91e4a03a3..6dcd31afa 100644 --- a/src/terminal/draw.h +++ b/src/terminal/draw.h @@ -54,7 +54,7 @@ struct screen_char { unsigned char color[SCREEN_COLOR_SIZE]; }; -/** @relates screen_char */ +/** @relates screen_char */ #define copy_screen_chars(to, from, amount) \ do { memcpy(to, from, (amount) * sizeof(struct screen_char)); } while (0) diff --git a/src/util/memlist.c b/src/util/memlist.c index a50e96ad1..8a7c10b9c 100644 --- a/src/util/memlist.c +++ b/src/util/memlist.c @@ -97,7 +97,7 @@ add_to_ml(struct memory_list **ml, ...) errline = line, errfile = file; #else errline = 0, errfile = "?"; -#endif +#endif elinks_error("add_to_ml(%p, NULL, ...)", ml); #endif return; diff --git a/src/util/profile.h b/src/util/profile.h index 6568c6e2b..4570e9b04 100644 --- a/src/util/profile.h +++ b/src/util/profile.h @@ -1,4 +1,4 @@ -/** Process' CPU time utilities +/** Process' CPU time utilities * @file*/ #ifndef EL__UTIL_PROFILE_H diff --git a/src/util/secsave.c b/src/util/secsave.c index e02f71b18..7c8451436 100644 --- a/src/util/secsave.c +++ b/src/util/secsave.c @@ -213,7 +213,7 @@ secure_open(unsigned char *file_name) #else const mode_t mask = S_IXUSR | S_IRWXG | S_IRWXO; #endif - + saved_mask = umask(mask); ssi = secure_open_umask(file_name); umask(saved_mask); From 8e3c2d6042b0a26f842d88ec37deb19005e66042 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Fri, 31 Aug 2007 02:09:40 +0200 Subject: [PATCH 28/46] Move find_tag to document/document --- src/document/document.c | 12 ++++++++++++ src/document/document.h | 12 ++++++++++++ src/document/html/renderer.c | 23 ----------------------- src/document/html/renderer.h | 2 -- src/viewer/text/draw.c | 1 - 5 files changed, 24 insertions(+), 26 deletions(-) diff --git a/src/document/document.c b/src/document/document.c index 7288c8a12..a6d55e194 100644 --- a/src/document/document.c +++ b/src/document/document.c @@ -182,6 +182,18 @@ release_document(struct document *document) move_to_top_of_list(format_cache, document); } +int +find_tag(struct document *document, unsigned char *name, int namelen) +{ + struct tag *tag; + + foreach (tag, document->tags) + if (!strlcasecmp(tag->name, -1, name, namelen)) + return tag->y; + + return -1; +} + /* Formatted document cache management */ /* ECMAScript doesn't like anything like CSS since it doesn't modify the diff --git a/src/document/document.h b/src/document/document.h index 3097a69b3..6b762257d 100644 --- a/src/document/document.h +++ b/src/document/document.h @@ -48,6 +48,16 @@ struct point { }; +/* Tags are used for ``id''s or anchors in the document referenced by the + * fragment part of the URI. */ +struct tag { + LIST_HEAD(struct tag); + + int x, y; + unsigned char name[1]; /* must be last of struct. --Zas */ +}; + + enum link_type { LINK_HYPERTEXT, LINK_MAP, @@ -245,4 +255,6 @@ extern struct module document_module; * For now, we only support simple printable character. */ #define accesskey_string_to_unicode(s) (((s)[0] && !(s)[1] && isprint((s)[0])) ? (s)[0] : 0) +int find_tag(struct document *document, unsigned char *name, int namelen); + #endif diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index 9eb5282a9..39b00ae4f 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -45,17 +45,6 @@ /* Types and structs */ -/* Tags are used for ``id''s or anchors in the document referenced by the - * fragment part of the URI. */ -/* FIXME: This and find_tag() should be part of the general infrastructure - * in document/document.*. --pasky */ -struct tag { - LIST_HEAD(struct tag); - - int x, y; - unsigned char name[1]; /* must be last of struct. --Zas */ -}; - enum link_state { LINK_STATE_NONE, LINK_STATE_NEW, @@ -2333,15 +2322,3 @@ render_html_document(struct cache_entry *cached, struct document *document, } #endif } - -int -find_tag(struct document *document, unsigned char *name, int namelen) -{ - struct tag *tag; - - foreach (tag, document->tags) - if (!strlcasecmp(tag->name, -1, name, namelen)) - return tag->y; - - return -1; -} diff --git a/src/document/html/renderer.h b/src/document/html/renderer.h index 316b28ede..82e206071 100644 --- a/src/document/html/renderer.h +++ b/src/document/html/renderer.h @@ -68,6 +68,4 @@ void free_table_cache(void); struct part *format_html_part(struct html_context *html_context, unsigned char *, unsigned char *, int, int, int, struct document *, int, int, unsigned char *, int); -int find_tag(struct document *document, unsigned char *name, int namelen); - #endif diff --git a/src/viewer/text/draw.c b/src/viewer/text/draw.c index 609331533..65af2d9c9 100644 --- a/src/viewer/text/draw.c +++ b/src/viewer/text/draw.c @@ -17,7 +17,6 @@ #include "cache/cache.h" #include "document/document.h" #include "document/html/frames.h" -#include "document/html/renderer.h" #include "document/options.h" #include "document/refresh.h" #include "document/renderer.h" From 7033247905cb5566fefebe420d3f4a6889a52bd7 Mon Sep 17 00:00:00 2001 From: Miciah Dashiel Butler Masters Date: Thu, 6 Sep 2007 18:37:17 +0000 Subject: [PATCH 29/46] Introduce start_document_refreshes() start_document_refreshes() performs the NULL-pointer checks that previously all callers to start_document_refresh() must perform and then calls start_document_refresh(). --- src/document/refresh.c | 16 +++++++++++++++- src/document/refresh.h | 2 +- src/session/session.c | 8 +------- src/viewer/text/draw.c | 8 +------- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/document/refresh.c b/src/document/refresh.c index eae40cab4..2df897cee 100644 --- a/src/document/refresh.c +++ b/src/document/refresh.c @@ -94,7 +94,7 @@ do_document_refresh(void *data) } } -void +static void start_document_refresh(struct document_refresh *refresh, struct session *ses) { milliseconds_T minimum = (milliseconds_T) get_opt_int("document.browse.minimum_refresh_time"); @@ -120,3 +120,17 @@ start_document_refresh(struct document_refresh *refresh, struct session *ses) install_timer(&refresh->timer, time, do_document_refresh, ses); } + +void +start_document_refreshes(struct session *ses) +{ + assert(ses); + + if (!ses->doc_view + || !ses->doc_view->document + || !ses->doc_view->document->refresh + || !get_opt_bool("document.browse.refresh")) + return; + + start_document_refresh(ses->doc_view->document->refresh, ses); +} diff --git a/src/document/refresh.h b/src/document/refresh.h index f9b4c9c5b..2d8732cd8 100644 --- a/src/document/refresh.h +++ b/src/document/refresh.h @@ -16,6 +16,6 @@ struct document_refresh { struct document_refresh *init_document_refresh(unsigned char *url, unsigned long seconds); void done_document_refresh(struct document_refresh *refresh); void kill_document_refresh(struct document_refresh *refresh); -void start_document_refresh(struct document_refresh *refresh, struct session *ses); +void start_document_refreshes(struct session *ses); #endif diff --git a/src/session/session.c b/src/session/session.c index d4713f25f..6064b0e8a 100644 --- a/src/session/session.c +++ b/src/session/session.c @@ -589,13 +589,7 @@ doc_loading_callback(struct download *download, struct session *ses) load_ecmascript_imports(ses, ses->doc_view); process_file_requests(ses); - if (ses->doc_view - && ses->doc_view->document - && ses->doc_view->document->refresh - && get_opt_bool("document.browse.refresh")) { - start_document_refresh(ses->doc_view->document->refresh, - ses); - } + start_document_refreshes(ses); if (download->state != S_OK) { print_error_dialog(ses, download->state, diff --git a/src/viewer/text/draw.c b/src/viewer/text/draw.c index 65af2d9c9..8aa385b05 100644 --- a/src/viewer/text/draw.c +++ b/src/viewer/text/draw.c @@ -350,13 +350,7 @@ draw_formatted(struct session *ses, int rerender) render_document_frames(ses, rerender); /* Rerendering kills the document refreshing so restart it. */ - if (ses->doc_view - && ses->doc_view->document - && ses->doc_view->document->refresh - && get_opt_bool("document.browse.refresh")) { - start_document_refresh(ses->doc_view->document->refresh, - ses); - } + start_document_refreshes(ses); } if (ses->tab != get_current_tab(ses->tab->term)) From e07354f5d5771e1e1dc9087a04685c8484ea8c98 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Wed, 29 Aug 2007 01:57:01 +0200 Subject: [PATCH 30/46] Use the new OBJS-unless$(CONFIG_FOO) instead of $(call not,...) --- Makefile.config.in | 4 ---- Makefile.lib | 3 +-- src/util/Makefile | 6 +++--- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/Makefile.config.in b/Makefile.config.in index 8d88367ed..7cd24d3ec 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -184,10 +184,6 @@ MAKE_COLOR = @MAKE_COLOR@ LIB_O_NAME = lib.o -# Reverse a CONFIG_* string -# Usage $(call not,$(CONFIG_FOO)) -not = $(if $(findstring yes,$(1)),no,yes) - ### This is here because Makefile.config is usually the first thing ### we get and sometimes the all rule can be implicit, yet we want ### it always as the default one. So this should make sure it always diff --git a/Makefile.lib b/Makefile.lib index 96c851858..37ca62cb6 100644 --- a/Makefile.lib +++ b/Makefile.lib @@ -191,8 +191,7 @@ test-default: ifdef TEST_PROGS TESTDEPS-$(CONFIG_DEBUG) += $(top_builddir)/src/util/memdebug.o -TESTDEPS-$(call not,$(CONFIG_SMALL)) += \ - $(top_builddir)/src/util/fastfind.o \ +TESTDEPS-unless$(CONFIG_SMALL) += $(top_builddir)/src/util/fastfind.o # Add most of the basic utility library to the test dependencies. TESTDEPS += \ diff --git a/src/util/Makefile b/src/util/Makefile index 17b032276..1a453c4d4 100644 --- a/src/util/Makefile +++ b/src/util/Makefile @@ -3,7 +3,7 @@ include $(top_builddir)/Makefile.config INCLUDES += $(GNUTLS_CFLAGS) $(OPENSSL_CFLAGS) -OBJS-$(call not,$(CONFIG_SMALL)) += fastfind.o +OBJS-unless$(CONFIG_SMALL) += fastfind.o OBJS-$(CONFIG_CSS) += scanner.o OBJS-$(CONFIG_DEBUG) += memdebug.o OBJS-$(CONFIG_DOM) += scanner.o @@ -12,14 +12,14 @@ OBJS-$(CONFIG_DOM) += scanner.o # (either the real thing or GNUTLS compat wrappers). OBJS-$(CONFIG_OWN_LIBC) += md5.o ifeq ($(CONFIG_GNUTLS_OPENSSL_COMPAT),no) -OBJS-$(call not,$(CONFIG_OPENSSL)) += md5.o +OBJS-unless$(CONFIG_OPENSSL) += md5.o endif ifeq ($(CONFIG_BITTORRENT),yes) # BitTorrent is the only user. Compile in SHA1 if testing libc or # there is no OpenSSL. The GNUTLS OpenSSL wrappers doesn't have it. OBJS-$(CONFIG_OWN_LIBC) += sha1.o -OBJS-$(call not,$(CONFIG_OPENSSL)) += sha1.o +OBJS-unless$(CONFIG_OPENSSL) += sha1.o endif OBJS = \ From a46379a931c25a5de25ab5eb7e4b701993c3743d Mon Sep 17 00:00:00 2001 From: Miciah Dashiel Butler Masters Date: Wed, 29 Aug 2007 13:33:19 +0000 Subject: [PATCH 31/46] Move is_in_domain from cookies/cookies.c to protocol/uri.c and export --- src/cookies/cookies.c | 26 -------------------------- src/protocol/uri.c | 19 +++++++++++++++++++ src/protocol/uri.h | 9 +++++++++ 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/src/cookies/cookies.c b/src/cookies/cookies.c index 639e8a605..f36166642 100644 --- a/src/cookies/cookies.c +++ b/src/cookies/cookies.c @@ -601,32 +601,6 @@ accept_cookie_never(void *idp) } #endif -/* Check whether domain is matching server - * Ie. - * example.com matches www.example.com/ - * example.com doesn't match www.example.com.org/ - * example.com doesn't match www.example.comm/ - * example.com doesn't match example.co - */ -static int -is_in_domain(unsigned char *domain, unsigned char *server, int server_len) -{ - int domain_len = strlen(domain); - int len; - - if (domain_len > server_len) - return 0; - - if (domain_len == server_len) - return !strncasecmp(domain, server, server_len); - - len = server_len - domain_len; - if (server[len - 1] != '.') - return 0; - - return !strncasecmp(domain, server + len, domain_len); -} - static inline int is_path_prefix(unsigned char *d, unsigned char *s) diff --git a/src/protocol/uri.c b/src/protocol/uri.c index 9da2e9ee9..5130ec2ae 100644 --- a/src/protocol/uri.c +++ b/src/protocol/uri.c @@ -57,6 +57,25 @@ is_uri_dir_sep(const struct uri *uri, unsigned char pos) } +int +is_in_domain(unsigned char *domain, unsigned char *server, int server_len) +{ + int domain_len = strlen(domain); + int len; + + if (domain_len > server_len) + return 0; + + if (domain_len == server_len) + return !strncasecmp(domain, server, server_len); + + len = server_len - domain_len; + if (server[len - 1] != '.') + return 0; + + return !strncasecmp(domain, server + len, domain_len); +} + int is_ip_address(const unsigned char *address, int addresslen) { diff --git a/src/protocol/uri.h b/src/protocol/uri.h index 426bd11c8..93c5cdc4c 100644 --- a/src/protocol/uri.h +++ b/src/protocol/uri.h @@ -319,4 +319,13 @@ get_real_uri_length(struct uri *uri) /* Checks if @address contains a valid IP address. */ int is_ip_address(const unsigned char *address, int addresslen); +/* Check whether domain is matching server + * Ie. + * example.com matches www.example.com/ + * example.com doesn't match www.example.com.org/ + * example.com doesn't match www.example.comm/ + * example.com doesn't match example.co + */ +int is_in_domain(unsigned char *domain, unsigned char *server, int server_len); + #endif From 07535cf88617b2d2d212145eaef4adcee98ba909 Mon Sep 17 00:00:00 2001 From: Kalle Olavi Niemitalo Date: Mon, 9 Jul 2007 13:44:57 +0300 Subject: [PATCH 32/46] Define BITTORRENT_NULL_ID in common.c; declare extern in common.h. This change avoids linker warnings when building with Debian tcc 0.9.23-4 + patch from Debian bug 418360: [LD] src/protocol/bittorrent/lib.o bittorrent.o: 'BITTORRENT_NULL_ID' defined twice common.o: 'BITTORRENT_NULL_ID' defined twice connection.o: 'BITTORRENT_NULL_ID' defined twice dialogs.o: 'BITTORRENT_NULL_ID' defined twice peerconnect.o: 'BITTORRENT_NULL_ID' defined twice peerwire.o: 'BITTORRENT_NULL_ID' defined twice piececache.o: 'BITTORRENT_NULL_ID' defined twice tracker.o: 'BITTORRENT_NULL_ID' defined twice --- src/protocol/bittorrent/common.c | 2 ++ src/protocol/bittorrent/common.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/protocol/bittorrent/common.c b/src/protocol/bittorrent/common.c index 51213c3da..d9fe3ecb1 100644 --- a/src/protocol/bittorrent/common.c +++ b/src/protocol/bittorrent/common.c @@ -21,6 +21,8 @@ #include "util/string.h" #include "util/snprintf.h" +const bittorrent_id_T BITTORRENT_NULL_ID; + /* Debug function which returns printable peer ID. */ unsigned char * get_peer_id(bittorrent_id_T peer_id) diff --git a/src/protocol/bittorrent/common.h b/src/protocol/bittorrent/common.h index 5206bebf7..5ea507e1e 100644 --- a/src/protocol/bittorrent/common.h +++ b/src/protocol/bittorrent/common.h @@ -45,7 +45,7 @@ struct terminal; typedef sha1_digest_bin_T bittorrent_id_T; /** Special peer ID used for determining whether an ID has been set. */ -const bittorrent_id_T BITTORRENT_NULL_ID; +extern const bittorrent_id_T BITTORRENT_NULL_ID; /** Check if the ID has been set. */ #define bittorrent_id_is_empty(id) \ From b389d1b20ea123bb5866d95776a4a1c73df4b071 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 14 Sep 2007 17:43:36 +0200 Subject: [PATCH 33/46] Revert "Use the new OBJS-unless$(CONFIG_FOO) instead of $(call not,...)" This reverts commit e07354f5d5771e1e1dc9087a04685c8484ea8c98. --- Makefile.config.in | 4 ++++ Makefile.lib | 3 ++- src/util/Makefile | 6 +++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Makefile.config.in b/Makefile.config.in index 7cd24d3ec..8d88367ed 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -184,6 +184,10 @@ MAKE_COLOR = @MAKE_COLOR@ LIB_O_NAME = lib.o +# Reverse a CONFIG_* string +# Usage $(call not,$(CONFIG_FOO)) +not = $(if $(findstring yes,$(1)),no,yes) + ### This is here because Makefile.config is usually the first thing ### we get and sometimes the all rule can be implicit, yet we want ### it always as the default one. So this should make sure it always diff --git a/Makefile.lib b/Makefile.lib index 37ca62cb6..96c851858 100644 --- a/Makefile.lib +++ b/Makefile.lib @@ -191,7 +191,8 @@ test-default: ifdef TEST_PROGS TESTDEPS-$(CONFIG_DEBUG) += $(top_builddir)/src/util/memdebug.o -TESTDEPS-unless$(CONFIG_SMALL) += $(top_builddir)/src/util/fastfind.o +TESTDEPS-$(call not,$(CONFIG_SMALL)) += \ + $(top_builddir)/src/util/fastfind.o \ # Add most of the basic utility library to the test dependencies. TESTDEPS += \ diff --git a/src/util/Makefile b/src/util/Makefile index 1a453c4d4..17b032276 100644 --- a/src/util/Makefile +++ b/src/util/Makefile @@ -3,7 +3,7 @@ include $(top_builddir)/Makefile.config INCLUDES += $(GNUTLS_CFLAGS) $(OPENSSL_CFLAGS) -OBJS-unless$(CONFIG_SMALL) += fastfind.o +OBJS-$(call not,$(CONFIG_SMALL)) += fastfind.o OBJS-$(CONFIG_CSS) += scanner.o OBJS-$(CONFIG_DEBUG) += memdebug.o OBJS-$(CONFIG_DOM) += scanner.o @@ -12,14 +12,14 @@ OBJS-$(CONFIG_DOM) += scanner.o # (either the real thing or GNUTLS compat wrappers). OBJS-$(CONFIG_OWN_LIBC) += md5.o ifeq ($(CONFIG_GNUTLS_OPENSSL_COMPAT),no) -OBJS-unless$(CONFIG_OPENSSL) += md5.o +OBJS-$(call not,$(CONFIG_OPENSSL)) += md5.o endif ifeq ($(CONFIG_BITTORRENT),yes) # BitTorrent is the only user. Compile in SHA1 if testing libc or # there is no OpenSSL. The GNUTLS OpenSSL wrappers doesn't have it. OBJS-$(CONFIG_OWN_LIBC) += sha1.o -OBJS-unless$(CONFIG_OPENSSL) += sha1.o +OBJS-$(call not,$(CONFIG_OPENSSL)) += sha1.o endif OBJS = \ From 7b6cb249ed964d7800cda526fa240676ddd80230 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Mon, 17 Sep 2007 10:54:52 +0200 Subject: [PATCH 34/46] Fix compilation using --enable-html-highlight. It was broken by commit 09cf904814f47cf178e4539acf9d422c9b33cf0f. Reported by witekfl. --- src/document/dom/renderer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/document/dom/renderer.c b/src/document/dom/renderer.c index f13927021..30171b4f6 100644 --- a/src/document/dom/renderer.c +++ b/src/document/dom/renderer.c @@ -115,8 +115,8 @@ init_dom_renderer(struct dom_renderer *renderer, struct document *document, for (type = 0; type < DOM_NODES; type++) { struct screen_char *template = &renderer->styles[type]; - color_T background = document->options.default_bg; - color_T foreground = document->options.default_fg; + color_T background = document->options.default_style.bg; + color_T foreground = document->options.default_style.fg; enum screen_char_attr attr = 0; static int i_want_struct_module_for_dom; @@ -418,7 +418,7 @@ add_dom_link(struct dom_renderer *renderer, unsigned char *string, int length, link->npoints = length; link->type = LINK_HYPERTEXT; link->where = where; - link->color.background = document->options.default_bg; + link->color.background = document->options.default_style.bg; link->color.foreground = fgcolor; link->number = document->nlinks; From 39d9f669c909ba84494503b8fa6ce5e9da462f58 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Wed, 19 Sep 2007 09:14:53 +0200 Subject: [PATCH 35/46] Revert "format_html_part(): save and restore renderer_context.last_tag_for_newline too." This reverts commit 4abce8e363a6005c148212685b83ef896c0866b0. This was a bad move, anchors ceased to function correctly. Reported by Witekfl. --- src/document/html/renderer.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c index 39b00ae4f..486607c6b 100644 --- a/src/document/html/renderer.c +++ b/src/document/html/renderer.c @@ -2065,7 +2065,6 @@ format_html_part(struct html_context *html_context, struct part *part; void *html_state; struct tag *saved_last_tag_to_move = renderer_context.last_tag_to_move; - struct tag *saved_last_tag_for_newline = renderer_context.last_tag_for_newline; int saved_empty_format = renderer_context.empty_format; int saved_margin = html_context->margin; int saved_last_link_to_move = renderer_context.last_link_to_move; @@ -2167,7 +2166,6 @@ ret: renderer_context.last_link_to_move = saved_last_link_to_move; renderer_context.last_tag_to_move = saved_last_tag_to_move; renderer_context.empty_format = saved_empty_format; - renderer_context.last_tag_for_newline = saved_last_tag_for_newline; html_context->margin = saved_margin; From 27057926b9bbf6debf9dfbcc2239d31c2c876b83 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Fri, 21 Sep 2007 11:05:40 +0200 Subject: [PATCH 36/46] Fix compilation with --disable-css. Compilation failed due to missing DEBUG_CSS test. This was introduced in commit 98260f7970bcd940f2d2146ac7b5a980a7586082 --- src/document/html/parser/stack.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/document/html/parser/stack.c b/src/document/html/parser/stack.c index 914388054..d5c43b78c 100644 --- a/src/document/html/parser/stack.c +++ b/src/document/html/parser/stack.c @@ -151,8 +151,9 @@ html_stack_dup(struct html_context *html_context, enum html_element_mortality_ty if (ep->attr.title) e->attr.title = stracpy(ep->attr.title); if (ep->attr.select) e->attr.select = stracpy(ep->attr.select); +#ifdef CONFIG_CSS e->attr.id = e->attr.class = NULL; - +#endif /* We don't want to propagate these. */ /* XXX: For sure? --pasky */ e->attr.onclick = e->attr.ondblclick = e->attr.onmouseover = e->attr.onhover From 5d7e26fc908e78cb65f8068c1a241e0c6bb39ee3 Mon Sep 17 00:00:00 2001 From: Kalle Olavi Niemitalo Date: Mon, 24 Sep 2007 10:17:19 +0300 Subject: [PATCH 37/46] GCC 4.2.1 needs -Wno-address, not -Wno-always-true. --- configure.in | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/configure.in b/configure.in index af4e42d4f..4520b3bf7 100644 --- a/configure.in +++ b/configure.in @@ -1423,18 +1423,24 @@ if test "x$ac_cv_c_compiler_gnu" = "xyes"; then ;; esac - # GCC 4.2 snapshots warn that comparisons like &object != NULL - # always return true. Some macros in ELinks check whether pointer - # arguments are NULL, and giving them addresses of named objects - # triggers the warning. These warnings have not revealed any real - # bugs, so shut them up instead of complicating the code. GCC 4.1 - # does not recognize -Wno-always-true and exits with code 1 if it is - # given. - AC_MSG_CHECKING([whether $CC accepts -Wno-always-true]) - EL_SAVE_FLAGS - CFLAGS="$CFLAGS -Wno-always-true" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[AC_MSG_RESULT([yes])],[EL_RESTORE_FLAGS - AC_MSG_RESULT([no])]) + # GCC 4.2.1 warns if we use the address of an object in Boolean context: + # warning: the address of `builtin_modules' will always evaluate as `true' + # This hits the object_lock and foreach_module macros in particular. + # It would be okay to put something in the macros to avoid the warning, + # but currently this seems to require defining parallel macros that skip + # the NULL check, and that's too ugly. So we instead disable the warning. + # GCC 4.2.1 needs -Wno-address, but GCC 4.2 snapshots need -Wno-always-true. + # GCC 4.1.3 recognizes neither and exits with code 1 if they are given. + for warning_flag in -Wno-address -Wno-always-true; do + AC_MSG_CHECKING([whether $CC accepts $warning_flag]) + EL_SAVE_FLAGS + CFLAGS="$CFLAGS $warning_flag" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], + [AC_MSG_RESULT([yes]) + break], + [AC_MSG_RESULT([no])]) + EL_RESTORE_FLAGS + done fi EL_LOG_CONFIG(CFLAGS, [Compiler flags (CFLAGS)], []) From 916ba6783a1328b22aa05d49f183b12d2f41d9a3 Mon Sep 17 00:00:00 2001 From: Kalle Olavi Niemitalo Date: Wed, 26 Sep 2007 08:26:18 +0300 Subject: [PATCH 38/46] NEWS: mention bug 972 Bug 972 was fixed in this commit, and reported afterwards: commit b1cc71778933502945d3b18482edc0a012fa4365 Author: Kalle Olavi Niemitalo Date: Fri Jul 20 17:57:01 2007 +0300 Preserve underlines in links when justifying. I'm not fully updating NEWS yet. Just this one bug. --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 15eccf27d..702ba1c25 100644 --- a/NEWS +++ b/NEWS @@ -79,6 +79,8 @@ Miscellaneous: reloaded. See elinks-users mail from 28 Oct 2005. * several accesskey fixes * in Lua: don't write to the string returned by lua_tostring +* minor bug 972: preserve the background color and underlining in + spaces when justifying * minor bug 284: render closing bracket for HTML element SUB in the same line; don't let it fall to the next * minor: show quote characters for HTML element Q, rather than italics From a197bde2f63da3eab86004cfae16df8abc8e614f Mon Sep 17 00:00:00 2001 From: Miciah Dashiel Butler Masters Date: Wed, 26 Sep 2007 16:18:24 +0000 Subject: [PATCH 39/46] Really retry forever when connection.retries = 0 This feature has been broken since zas backported it from Links 0.99pre3 2003-04-20. --- src/network/connection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/connection.c b/src/network/connection.c index ece33adca..6eeb89392 100644 --- a/src/network/connection.c +++ b/src/network/connection.c @@ -767,7 +767,7 @@ retry_connection(struct connection *conn, enum connection_state state) set_connection_state(conn, state); interrupt_connection(conn); - if (conn->uri->post || !max_tries || ++conn->tries >= max_tries) { + if (conn->uri->post || (max_tries && ++conn->tries >= max_tries)) { done_connection(conn); register_check_queue(); } else { From 3f48ae491f1533b1cf2983767b652e904cfee771 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Wed, 3 Oct 2007 11:16:37 +0200 Subject: [PATCH 40/46] Add an "Authors" entry to the Help menu. It displays the ELinks website's authors page. --- src/dialogs/menu.c | 1 + src/setup.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/dialogs/menu.c b/src/dialogs/menu.c index 744a4b788..181c36167 100644 --- a/src/dialogs/menu.c +++ b/src/dialogs/menu.c @@ -449,6 +449,7 @@ static struct menu_item help_menu[] = { #endif BAR_MENU_ITEM, INIT_MENU_ITEM(N_("~Copying"), NULL, ACT_MAIN_NONE, menu_copying, NULL, 0), + INIT_MENU_ITEM(N_("Autho~rs"), NULL, ACT_MAIN_NONE, menu_url_shortcut, ELINKS_AUTHORS_URL, 0), INIT_MENU_ITEM(N_("~About"), NULL, ACT_MAIN_NONE, menu_about, NULL, 0), NULL_MENU_ITEM }; diff --git a/src/setup.h b/src/setup.h index 7ac026b01..f0a786c33 100644 --- a/src/setup.h +++ b/src/setup.h @@ -11,6 +11,7 @@ #define WWW_HOME_URL "" #define ELINKS_HOMEPAGE "http://elinks.cz/" +#define ELINKS_AUTHORS_URL "http://elinks.cz/authors.html" #define ELINKS_DOC_URL "http://elinks.cz/documentation/" #define ELINKS_BUGS_URL "http://bugzilla.elinks.cz/" #define ELINKS_GITWEB_URL "http://repo.or.cz/w/elinks.git" From 11e477a63efb3b8de50fe465d37e5811685d71c8 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Wed, 3 Oct 2007 11:23:29 +0200 Subject: [PATCH 41/46] ELINKS_HOMEPAGE -> ELINKS_WEBSITE_URL --- src/dialogs/menu.c | 2 +- src/protocol/rewrite/rewrite.c | 2 +- src/setup.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dialogs/menu.c b/src/dialogs/menu.c index 181c36167..37aaec71d 100644 --- a/src/dialogs/menu.c +++ b/src/dialogs/menu.c @@ -436,7 +436,7 @@ static struct menu_item view_menu[] = { static struct menu_item help_menu[] = { /* [gettext_accelerator_context(.help_menu)] */ - INIT_MENU_ITEM(N_("~ELinks homepage"), NULL, ACT_MAIN_NONE, menu_url_shortcut, ELINKS_HOMEPAGE, 0), + INIT_MENU_ITEM(N_("~ELinks homepage"), NULL, ACT_MAIN_NONE, menu_url_shortcut, ELINKS_WEBSITE_URL, 0), INIT_MENU_ITEM(N_("~Documentation"), NULL, ACT_MAIN_NONE, menu_url_shortcut, ELINKS_DOC_URL, 0), INIT_MENU_ITEM(N_("~Keys"), NULL, ACT_MAIN_NONE, menu_keys, NULL, 0), #ifdef CONFIG_LEDS diff --git a/src/protocol/rewrite/rewrite.c b/src/protocol/rewrite/rewrite.c index 068e05bc6..15f74a638 100644 --- a/src/protocol/rewrite/rewrite.c +++ b/src/protocol/rewrite/rewrite.c @@ -106,7 +106,7 @@ static struct option_info uri_rewrite_options[] = { #define INIT_OPT_DUMB_PREFIX(prefix, uri) \ INIT_OPT_STRING("protocol.rewrite.dumb", NULL, prefix, 0, uri, NULL) - INIT_OPT_DUMB_PREFIX("elinks", ELINKS_HOMEPAGE), + INIT_OPT_DUMB_PREFIX("elinks", ELINKS_WEBSITE_URL), INIT_OPT_DUMB_PREFIX("documentation", ELINKS_DOC_URL), INIT_OPT_DUMB_PREFIX("bz", ELINKS_BUGS_URL), INIT_OPT_DUMB_PREFIX("bug", ELINKS_BUGS_URL), diff --git a/src/setup.h b/src/setup.h index f0a786c33..e9cfebc59 100644 --- a/src/setup.h +++ b/src/setup.h @@ -10,7 +10,7 @@ * startup_goto_dialog. */ #define WWW_HOME_URL "" -#define ELINKS_HOMEPAGE "http://elinks.cz/" +#define ELINKS_WEBSITE_URL "http://elinks.cz/" #define ELINKS_AUTHORS_URL "http://elinks.cz/authors.html" #define ELINKS_DOC_URL "http://elinks.cz/documentation/" #define ELINKS_BUGS_URL "http://bugzilla.elinks.cz/" From baf2d47a8c94217576b67aa0ba420da11eea8b86 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Wed, 3 Oct 2007 11:53:09 +0200 Subject: [PATCH 42/46] Make copyright info independent from translations. This is an attempt to make it easier to update without requiring to update all translations. Copyright info is now set in setup.h using COPYRIGHT_STRING --- src/dialogs/info.c | 8 +++----- src/setup.h | 4 ++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/dialogs/info.c b/src/dialogs/info.c index f987aee07..9d19d3f5d 100644 --- a/src/dialogs/info.c +++ b/src/dialogs/info.c @@ -142,16 +142,14 @@ menu_copying(struct terminal *term, void *xxx, void *xxxx) N_("Copying"), ALIGN_CENTER, msg_text(term, N_("ELinks %s\n" "\n" - "(C) 1999 - 2002 Mikulas Patocka\n" - "(C) 2001 - 2004 Petr Baudis\n" - "(C) 2002 - 2006 Jonas Fonseca\n" - "and others\n" + "%s" + "et al.\n" "\n" "This program is free software; you can redistribute it " "and/or modify it under the terms of the GNU General Public " "License as published by the Free Software Foundation, " "specifically version 2 of the License."), - VERSION_STRING)); + VERSION_STRING, COPYRIGHT_STRING)); } diff --git a/src/setup.h b/src/setup.h index e9cfebc59..572610f5f 100644 --- a/src/setup.h +++ b/src/setup.h @@ -4,6 +4,10 @@ #define VERSION_STRING VERSION +#define COPYRIGHT_STRING "(C) 1999 - 2002 Mikulas Patocka\n" \ + "(C) 2001 - 2004 Petr Baudis\n" \ + "(C) 2002 - 2007 Jonas Fonseca\n" + /* This option will take effect when WWW_HOME environment variable is NOT * set - you'll go automatically to this URL. If the value is just "", * you'll get either goto dialog or empty page, depending on the value of From fbff2d96638c88b356e3ec97fb82d52f025fdaf2 Mon Sep 17 00:00:00 2001 From: Laurent MONIN Date: Wed, 3 Oct 2007 14:16:53 +0200 Subject: [PATCH 43/46] Resync .po files --- po/af.po | 2084 +++++++++++++++++++----------------- po/be.po | 2901 +++++++++++++++++++++++++++----------------------- po/bg.po | 2908 +++++++++++++++++++++++++++----------------------- po/ca.po | 2881 ++++++++++++++++++++++++++++---------------------- po/cs.po | 2910 ++++++++++++++++++++++++++++---------------------- po/da.po | 2892 ++++++++++++++++++++++++++++---------------------- po/de.po | 2906 ++++++++++++++++++++++++++++---------------------- po/el.po | 2881 ++++++++++++++++++++++++++++---------------------- po/es.po | 2888 ++++++++++++++++++++++++++++---------------------- po/et.po | 2881 ++++++++++++++++++++++++++++---------------------- po/fi.po | 2164 +++++++++++++++++++------------------ po/fr.po | 148 +-- po/gl.po | 2881 ++++++++++++++++++++++++++++---------------------- po/hr.po | 2881 ++++++++++++++++++++++++++++---------------------- po/hu.po | 2892 ++++++++++++++++++++++++++++---------------------- po/id.po | 2881 ++++++++++++++++++++++++++++---------------------- po/is.po | 2931 ++++++++++++++++++++++++++++----------------------- po/it.po | 2906 ++++++++++++++++++++++++++++---------------------- po/lt.po | 2931 ++++++++++++++++++++++++++++----------------------- po/nb.po | 2881 ++++++++++++++++++++++++++++---------------------- po/nl.po | 2881 ++++++++++++++++++++++++++++---------------------- po/pl.po | 667 ++++++------ po/pt.po | 2902 +++++++++++++++++++++++++++----------------------- po/pt_BR.po | 2886 ++++++++++++++++++++++++++++---------------------- po/ro.po | 2881 ++++++++++++++++++++++++++++---------------------- po/ru.po | 2886 ++++++++++++++++++++++++++++---------------------- po/sk.po | 2908 ++++++++++++++++++++++++++++---------------------- po/sr.po | 2891 ++++++++++++++++++++++++++++---------------------- po/sv.po | 2881 ++++++++++++++++++++++++++++---------------------- po/tr.po | 2931 ++++++++++++++++++++++++++++----------------------- po/uk.po | 2905 +++++++++++++++++++++++++++----------------------- 31 files changed, 46122 insertions(+), 37125 deletions(-) diff --git a/po/af.po b/po/af.po index bbc69e68d..aa91d4d02 100644 --- a/po/af.po +++ b/po/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-10-11 14:23+0200\n" +"POT-Creation-Date: 2007-10-03 11:53+0200\n" "PO-Revision-Date: 2006-09-25 17:13+0200\n" "Last-Translator: Friedel Wolff \n" "Language-Team: \n" @@ -22,8 +22,9 @@ msgid "Close" msgstr "Sluit" #. | MSGBOX_SCROLLABLE +#. #: src/bfu/hierbox.c:429 src/bfu/hierbox.c:438 src/dialogs/document.c:43 -#: src/dialogs/document.c:240 +#: src/dialogs/document.c:240 src/scripting/python/dialogs.c:43 msgid "Info" msgstr "Info" @@ -31,15 +32,15 @@ msgstr "Info" msgid "Press space to expand this folder." msgstr "Druk spasie om hierdie gids te laat oopvou." -#. accelerator_context(do_auth_dialog, do_edit_dialog, generic_external_protocol_handler, info_box, input_dialog, menu_add_ext, menu_keys, push_hierbox_info_button, refreshed_msg_box, resize_terminal_dialog, setup_first_session, src/config/dialogs.c:build_edit_dialog, src/cookies/dialogs.c:build_edit_dialog, src/cookies/dialogs.c:push_add_server_button, src/scripting/lua/core.c:l_edit_bookmark_dialog, src/scripting/lua/core.c:l_xdialog, src/viewer/text/search.c:search_dlg_do, terminal_options, write_config_dialog) +#. accelerator_context(do_auth_dialog, do_edit_dialog, generic_external_protocol_handler, info_box, input_dialog, menu_add_ext, menu_keys, push_hierbox_info_button, python_info_box, refreshed_msg_box, resize_terminal_dialog, setup_first_session, src/config/dialogs.c:build_edit_dialog, src/cookies/dialogs.c:build_edit_dialog, src/cookies/dialogs.c:push_add_server_button, src/scripting/lua/core.c:l_edit_bookmark_dialog, src/scripting/lua/core.c:l_xdialog, src/viewer/text/search.c:search_dlg_do, terminal_options, write_config_dialog) #: src/bfu/hierbox.c:441 src/bfu/inpfield.c:256 src/bfu/msgbox.c:173 -#: src/bfu/msgbox.c:191 src/config/dialogs.c:58 src/config/dialogs.c:393 -#: src/cookies/dialogs.c:356 src/cookies/dialogs.c:454 src/dialogs/edit.c:98 +#: src/bfu/msgbox.c:194 src/config/dialogs.c:57 src/config/dialogs.c:365 +#: src/cookies/dialogs.c:372 src/cookies/dialogs.c:470 src/dialogs/edit.c:98 #: src/dialogs/info.c:134 src/dialogs/options.c:234 src/dialogs/options.c:315 #: src/mime/dialogs.c:131 src/protocol/auth/dialogs.c:115 -#: src/protocol/protocol.c:236 src/scripting/lua/core.c:390 -#: src/scripting/lua/core.c:471 src/session/session.c:806 -#: src/viewer/text/search.c:1666 +#: src/protocol/protocol.c:245 src/scripting/lua/core.c:399 +#: src/scripting/lua/core.c:480 src/scripting/python/dialogs.c:86 +#: src/session/session.c:800 src/viewer/text/search.c:1677 msgid "~OK" msgstr "Regs~o" @@ -120,40 +121,40 @@ msgid "Delete error" msgstr "Fout tydens skrap" #. accelerator_context(close_all_tabs_but_current, close_tab, memorize_form, menu_del_ext, push_hierbox_clear_button, push_hierbox_delete_button, query_delete_selected_item, query_exit, ses_goto, src/config/dialogs.c:really_add_keybinding.yn) -#: src/bfu/hierbox.c:754 src/bfu/hierbox.c:766 src/bfu/hierbox.c:808 -#: src/bfu/hierbox.c:870 src/config/dialogs.c:851 src/dialogs/menu.c:127 -#: src/formhist/formhist.c:419 src/mime/dialogs.c:70 src/session/task.c:273 -#: src/terminal/tab.c:206 src/terminal/tab.c:249 +#: src/bfu/hierbox.c:754 src/bfu/hierbox.c:766 src/bfu/hierbox.c:814 +#: src/bfu/hierbox.c:876 src/config/dialogs.c:823 src/dialogs/menu.c:131 +#: src/formhist/formhist.c:432 src/mime/dialogs.c:70 src/session/task.c:278 +#: src/terminal/tab.c:208 src/terminal/tab.c:252 msgid "~Yes" msgstr "~Ja" #. accelerator_context(close_all_tabs_but_current, close_tab, memorize_form, menu_del_ext, push_hierbox_clear_button, push_hierbox_delete_button, query_delete_selected_item, query_exit, ses_goto, src/config/dialogs.c:really_add_keybinding.yn) -#: src/bfu/hierbox.c:755 src/bfu/hierbox.c:767 src/bfu/hierbox.c:809 -#: src/bfu/hierbox.c:871 src/config/dialogs.c:852 src/dialogs/menu.c:128 -#: src/formhist/formhist.c:420 src/mime/dialogs.c:71 src/session/task.c:274 -#: src/terminal/tab.c:207 src/terminal/tab.c:250 +#: src/bfu/hierbox.c:755 src/bfu/hierbox.c:767 src/bfu/hierbox.c:815 +#: src/bfu/hierbox.c:877 src/config/dialogs.c:824 src/dialogs/menu.c:132 +#: src/formhist/formhist.c:433 src/mime/dialogs.c:71 src/session/task.c:279 +#: src/terminal/tab.c:209 src/terminal/tab.c:253 msgid "~No" msgstr "~Nee" -#: src/bfu/hierbox.c:939 src/bfu/hierbox.c:970 src/viewer/text/search.c:1085 -#: src/viewer/text/search.c:1093 src/viewer/text/search.c:1109 -#: src/viewer/text/search.c:1685 +#: src/bfu/hierbox.c:945 src/bfu/hierbox.c:976 src/viewer/text/search.c:1090 +#: src/viewer/text/search.c:1098 src/viewer/text/search.c:1114 +#: src/viewer/text/search.c:1696 msgid "Search" msgstr "Soek" -#: src/bfu/hierbox.c:941 src/viewer/text/search.c:1086 +#: src/bfu/hierbox.c:947 src/viewer/text/search.c:1091 #, c-format msgid "Search string '%s' not found" msgstr "Soekstring '%s' nie gevind nie" -#: src/bfu/hierbox.c:970 src/config/dialogs.c:169 src/config/dialogs.c:359 -#: src/config/dialogs.c:507 src/cookies/dialogs.c:34 src/cookies/dialogs.c:350 -#: src/dialogs/edit.c:92 src/dialogs/edit.c:94 src/scripting/lua/core.c:386 -#: src/scripting/lua/core.c:387 src/scripting/lua/core.c:468 +#: src/bfu/hierbox.c:976 src/config/dialogs.c:140 src/config/dialogs.c:329 +#: src/config/dialogs.c:479 src/cookies/dialogs.c:34 src/cookies/dialogs.c:366 +#: src/dialogs/edit.c:92 src/dialogs/edit.c:94 src/scripting/lua/core.c:395 +#: src/scripting/lua/core.c:396 src/scripting/lua/core.c:477 msgid "Name" msgstr "Naam" -#: src/bfu/inpfield.c:72 src/bfu/inpfield.c:79 +#: src/bfu/inpfield.c:72 src/bfu/inpfield.c:79 src/scripting/python/menu.c:112 msgid "Bad number" msgstr "Slegte getal" @@ -166,7 +167,7 @@ msgstr "Getal is verwag in die veld" msgid "Number should be in the range from %d to %d." msgstr "Getal moet in die omvang van %d tot %d wees." -#: src/bfu/inpfield.c:99 src/config/dialogs.c:460 +#: src/bfu/inpfield.c:99 src/config/dialogs.c:432 msgid "Bad string" msgstr "Slegte string" @@ -175,13 +176,13 @@ msgid "Empty string not allowed" msgstr "Leë string word nie toegelaat nie" #. accelerator_context(do_auth_dialog, do_edit_dialog, input_dialog, menu_add_ext, resize_terminal_dialog, src/config/dialogs.c:build_edit_dialog, src/cookies/dialogs.c:build_edit_dialog, src/cookies/dialogs.c:push_add_server_button, src/protocol/bittorrent/dialogs.c:bittorrent_query_callback, src/scripting/lua/core.c:l_edit_bookmark_dialog, src/scripting/lua/core.c:l_xdialog, src/session/download.c:do_type_query, src/session/download.c:lookup_unique_name, src/viewer/text/search.c:search_dlg_do, terminal_options) -#: src/bfu/inpfield.c:256 src/config/dialogs.c:394 src/cookies/dialogs.c:357 -#: src/cookies/dialogs.c:455 src/dialogs/edit.c:102 src/dialogs/edit.c:105 +#: src/bfu/inpfield.c:256 src/config/dialogs.c:366 src/cookies/dialogs.c:373 +#: src/cookies/dialogs.c:471 src/dialogs/edit.c:102 src/dialogs/edit.c:105 #: src/dialogs/options.c:237 src/dialogs/options.c:316 src/mime/dialogs.c:132 #: src/protocol/auth/dialogs.c:116 src/protocol/bittorrent/dialogs.c:812 -#: src/scripting/lua/core.c:391 src/scripting/lua/core.c:472 -#: src/session/download.c:637 src/session/download.c:1236 -#: src/viewer/text/search.c:1667 +#: src/scripting/lua/core.c:400 src/scripting/lua/core.c:481 +#: src/session/download.c:645 src/session/download.c:1266 +#: src/viewer/text/search.c:1678 msgid "~Cancel" msgstr "~Kanseleer" @@ -193,8 +194,8 @@ msgstr "Horlosie" msgid "Digital clock in the status bar." msgstr "Digitale horlose in die statusbalk." -#: src/bfu/leds.c:77 src/bfu/leds.c:94 src/config/options.inc:1203 -#: src/config/options.inc:1210 src/ecmascript/ecmascript.c:44 +#: src/bfu/leds.c:77 src/bfu/leds.c:94 src/config/options.inc:1199 +#: src/config/options.inc:1206 src/ecmascript/ecmascript.c:45 #: src/globhist/globhist.c:64 src/mime/backend/mailcap.c:93 #: src/mime/backend/mimetypes.c:52 src/network/ssl/ssl.c:80 msgid "Enable" @@ -233,11 +234,12 @@ msgstr "" "Hierdie visuele aanwysers sal u inlig oor verskeie toestande." #. name: -#: src/bfu/leds.c:302 src/bfu/leds.c:344 +#: src/bfu/leds.c:305 src/bfu/leds.c:347 msgid "LED indicators" msgstr "LED-aanwysers" -#: src/bfu/leds.c:303 +#: src/bfu/leds.c:306 +#, c-format msgid "" "What the different LEDs indicate:\n" "\n" @@ -270,6 +272,7 @@ msgid "Search menu/" msgstr "" #: src/bookmarks/backend/xbel.c:97 +#, c-format msgid "read_bookmarks_xbel(): Error in XML_ParserCreate()" msgstr "" @@ -310,15 +313,16 @@ msgstr "Lêerformaat" msgid "" "File format for bookmarks (affects both reading and saving):\n" "0 is the default native ELinks format\n" -"1 is XBEL universal XML bookmarks format (NO NATIONAL CHARS SUPPORT!)" +"1 is XBEL universal XML bookmarks format (ELinks bug 153: NO NATIONAL CHARS " +"SUPPORT!)" msgstr "" #: src/bookmarks/bookmarks.c:61 msgid "" "File format for bookmarks (affects both reading and saving):\n" "0 is the default native ELinks format\n" -"1 is XBEL universal XML bookmarks format (NO NATIONAL CHARS SUPPORT!) " -"(DISABLED)" +"1 is XBEL universal XML bookmarks format (ELinks bug 153: NO NATIONAL CHARS " +"SUPPORT!) (DISABLED)" msgstr "" #: src/bookmarks/bookmarks.c:67 @@ -347,7 +351,7 @@ msgid "" "This feature requires bookmark support." msgstr "" -#: src/bookmarks/dialogs.c:72 src/config/options.inc:1055 +#: src/bookmarks/dialogs.c:72 src/config/options.inc:1051 #: src/dialogs/document.c:145 src/globhist/dialogs.c:65 msgid "Title" msgstr "Titel" @@ -355,7 +359,7 @@ msgstr "Titel" #: src/bookmarks/dialogs.c:73 src/cache/dialogs.c:65 #: src/dialogs/document.c:136 src/dialogs/edit.c:96 src/formhist/dialogs.c:63 #: src/globhist/dialogs.c:66 src/protocol/auth/dialogs.c:163 -#: src/scripting/lua/core.c:388 +#: src/scripting/lua/core.c:397 msgid "URL" msgstr "URL" @@ -415,7 +419,7 @@ msgstr "Voeg gids by" msgid "Folder name" msgstr "Gidsnaam" -#: src/bookmarks/dialogs.c:310 src/scripting/lua/core.c:382 +#: src/bookmarks/dialogs.c:310 src/scripting/lua/core.c:391 msgid "Edit bookmark" msgstr "Wysig boekmerk" @@ -449,22 +453,22 @@ msgid "~Goto" msgstr "~Gaan na" #. accelerator_context(src/bookmarks/dialogs.c:bookmark_buttons, src/config/dialogs.c:option_buttons, src/cookies/dialogs.c:cookie_buttons) -#: src/bookmarks/dialogs.c:488 src/config/dialogs.c:531 -#: src/cookies/dialogs.c:476 +#: src/bookmarks/dialogs.c:488 src/config/dialogs.c:503 +#: src/cookies/dialogs.c:492 msgid "~Edit" msgstr "~Redigeer" #. accelerator_context(src/bookmarks/dialogs.c:bookmark_buttons, src/cache/dialogs.c:cache_buttons, src/config/dialogs.c:keybinding_buttons, src/config/dialogs.c:option_buttons, src/cookies/dialogs.c:cookie_buttons, src/dialogs/menu.c:ext_menu, src/formhist/dialogs.c:formhist_buttons, src/globhist/dialogs.c:globhist_buttons, src/protocol/auth/dialogs.c:auth_buttons) #: src/bookmarks/dialogs.c:489 src/cache/dialogs.c:231 -#: src/config/dialogs.c:533 src/config/dialogs.c:960 src/cookies/dialogs.c:477 -#: src/dialogs/menu.c:457 src/formhist/dialogs.c:211 +#: src/config/dialogs.c:505 src/config/dialogs.c:930 src/cookies/dialogs.c:493 +#: src/dialogs/menu.c:462 src/formhist/dialogs.c:211 #: src/globhist/dialogs.c:229 src/protocol/auth/dialogs.c:263 msgid "~Delete" msgstr "~Skrap" #. accelerator_context(src/bookmarks/dialogs.c:bookmark_buttons, src/config/dialogs.c:keybinding_buttons, src/config/dialogs.c:option_buttons, src/cookies/dialogs.c:cookie_buttons, src/dialogs/menu.c:ext_menu) -#: src/bookmarks/dialogs.c:490 src/config/dialogs.c:532 -#: src/config/dialogs.c:959 src/cookies/dialogs.c:474 src/dialogs/menu.c:455 +#: src/bookmarks/dialogs.c:490 src/config/dialogs.c:504 +#: src/config/dialogs.c:929 src/cookies/dialogs.c:490 src/dialogs/menu.c:460 msgid "~Add" msgstr "~Voeg by" @@ -485,7 +489,7 @@ msgstr "~Skuif" #. accelerator_context(src/bookmarks/dialogs.c:bookmark_buttons, src/cache/dialogs.c:cache_buttons, src/config/dialogs.c:keybinding_buttons, src/config/dialogs.c:option_buttons, src/dialogs/menu.c:view_menu, src/globhist/dialogs.c:globhist_buttons) #: src/bookmarks/dialogs.c:494 src/cache/dialogs.c:232 -#: src/config/dialogs.c:534 src/config/dialogs.c:962 src/dialogs/menu.c:408 +#: src/config/dialogs.c:506 src/config/dialogs.c:932 src/dialogs/menu.c:412 #: src/globhist/dialogs.c:230 msgid "~Search" msgstr "Soe~k" @@ -533,7 +537,7 @@ msgstr "Instaan-URL" msgid "Redirect" msgstr "Aanstuur" -#: src/cache/dialogs.c:85 src/config/options.inc:509 +#: src/cache/dialogs.c:85 src/config/options.inc:519 #: src/dialogs/document.c:156 src/protocol/bittorrent/dialogs.c:126 msgid "Size" msgstr "Grootte" @@ -571,7 +575,7 @@ msgid "invalid" msgstr "ongeldig" #: src/cache/dialogs.c:125 src/cookies/dialogs.c:40 src/cookies/dialogs.c:44 -#: src/cookies/dialogs.c:353 +#: src/cookies/dialogs.c:369 msgid "Expires" msgstr "Verval" @@ -579,7 +583,7 @@ msgstr "Verval" msgid "ID" msgstr "ID" -#: src/cache/dialogs.c:134 src/config/options.inc:713 +#: src/cache/dialogs.c:134 src/config/options.inc:669 msgid "Header" msgstr "Kop" @@ -616,7 +620,7 @@ msgid "Delete this cache entry?" msgstr "Skrap hierdie kasitem?" #. accelerator_context(display_download, src/cache/dialogs.c:cache_buttons, src/config/dialogs.c:option_buttons, src/cookies/dialogs.c:cookie_buttons, src/dialogs/download.c:download_buttons, src/formhist/dialogs.c:formhist_buttons, src/globhist/dialogs.c:globhist_buttons, src/protocol/auth/dialogs.c:auth_buttons) -#: src/cache/dialogs.c:229 src/config/dialogs.c:530 src/cookies/dialogs.c:473 +#: src/cache/dialogs.c:229 src/config/dialogs.c:502 src/cookies/dialogs.c:489 #: src/dialogs/download.c:255 src/dialogs/download.c:492 #: src/formhist/dialogs.c:210 src/globhist/dialogs.c:225 #: src/protocol/auth/dialogs.c:262 @@ -664,8 +668,9 @@ msgid "Copy text to clipboard" msgstr "" #: src/config/actions-edit.inc:14 -msgid "Delete text from clipboard" -msgstr "" +#, fuzzy +msgid "Cut text to clipboard" +msgstr "Verstektekskleur." #: src/config/actions-edit.inc:15 src/config/actions-menu.inc:9 msgid "Delete character under cursor" @@ -1105,8 +1110,8 @@ msgstr "" msgid "Submit form and reload" msgstr "" -#: src/config/actions-main.inc:101 src/terminal/tab.c:203 -#: src/terminal/tab.c:246 +#: src/config/actions-main.inc:101 src/terminal/tab.c:205 +#: src/terminal/tab.c:249 msgid "Close tab" msgstr "Sluit oortjie" @@ -1208,77 +1213,96 @@ msgstr "" msgid "Unknown option %s" msgstr "" -#: src/config/cmdline.c:132 src/config/cmdline.c:156 src/config/cmdline.c:224 +#: src/config/cmdline.c:133 src/config/cmdline.c:157 src/config/cmdline.c:227 #: src/config/opttypes.c:38 msgid "Parameter expected" msgstr "" -#: src/config/cmdline.c:157 +#: src/config/cmdline.c:158 msgid "Too many parameters" msgstr "" -#: src/config/cmdline.c:162 +#: src/config/cmdline.c:163 msgid "error" msgstr "" -#: src/config/cmdline.c:164 src/network/state.c:47 +#: src/config/cmdline.c:165 src/network/state.c:48 +#, c-format msgid "Host not found" msgstr "" -#: src/config/cmdline.c:178 +#: src/config/cmdline.c:179 +#, c-format msgid "Resolver error" msgstr "" -#: src/config/cmdline.c:329 +#: src/config/cmdline.c:256 src/cookies/cookies.c:841 src/network/state.c:47 +#: src/util/secsave.c:379 +msgid "Out of memory" +msgstr "Onvoldoende geheue" + +#: src/config/cmdline.c:264 +msgid "Too many arguments" +msgstr "" + +#: src/config/cmdline.c:282 +msgid "Mismatched ending argument quoting" +msgstr "" + +#: src/config/cmdline.c:287 +msgid "Garbage after quoted argument" +msgstr "" + +#: src/config/cmdline.c:391 msgid "Remote method not supported" msgstr "" -#: src/config/cmdline.c:381 +#: src/config/cmdline.c:443 msgid "Template option folder" msgstr "" -#: src/config/cmdline.c:404 +#: src/config/cmdline.c:466 #, c-format msgid "(default: %ld)" msgstr "(verstek: %ld)" -#: src/config/cmdline.c:411 src/config/cmdline.c:440 +#: src/config/cmdline.c:473 src/config/cmdline.c:502 #, c-format msgid "(default: \"%s\")" msgstr "(verstek: \"%s\")" -#: src/config/cmdline.c:416 +#: src/config/cmdline.c:478 #, c-format msgid "(alias for %s)" msgstr "" -#: src/config/cmdline.c:421 src/config/cmdline.c:430 +#: src/config/cmdline.c:483 src/config/cmdline.c:492 #, c-format msgid "(default: %s)" msgstr "(verstek: %s)" -#: src/config/cmdline.c:564 +#: src/config/cmdline.c:626 msgid "Configuration options" msgstr "Opstellingkeuses" -#: src/config/cmdline.c:568 +#: src/config/cmdline.c:630 msgid "Usage: elinks [OPTION]... [URL]..." msgstr "Gebruik: elinks [KEUSE]... [URL]..." -#: src/config/cmdline.c:569 +#: src/config/cmdline.c:631 msgid "Options" msgstr "Keuses" -#: src/config/cmdline.c:611 +#: src/config/cmdline.c:673 msgid "Internal consistency error" msgstr "" #. -#: src/config/cmdline.c:647 +#: src/config/cmdline.c:709 msgid "Restrict to anonymous mode" msgstr "" -#: src/config/cmdline.c:649 +#: src/config/cmdline.c:711 msgid "" "Restricts ELinks so it can run on an anonymous account.\n" "Local file browsing, downloads, and modification of options\n" @@ -1286,30 +1310,30 @@ msgid "" "in the association table can't be added or modified." msgstr "" -#: src/config/cmdline.c:654 +#: src/config/cmdline.c:716 msgid "Autosubmit first form" msgstr "" -#: src/config/cmdline.c:656 +#: src/config/cmdline.c:718 msgid "Automatically submit the first form in the given URLs." msgstr "" -#: src/config/cmdline.c:658 +#: src/config/cmdline.c:720 msgid "Clone internal session with given ID" msgstr "" -#: src/config/cmdline.c:660 +#: src/config/cmdline.c:722 msgid "" "Used internally when opening ELinks instances in new windows.\n" "The ID maps to information that will be used when creating the\n" "new instance. You don't want to use it." msgstr "" -#: src/config/cmdline.c:666 +#: src/config/cmdline.c:728 msgid "Name of directory with configuration file" msgstr "" -#: src/config/cmdline.c:668 +#: src/config/cmdline.c:730 msgid "" "Path of the directory ELinks will read and write its\n" "config and runtime state files to instead of ~/.elinks.\n" @@ -1317,91 +1341,91 @@ msgid "" "relative to your HOME directory." msgstr "" -#: src/config/cmdline.c:673 +#: src/config/cmdline.c:735 msgid "Print default configuration file to stdout" msgstr "" -#: src/config/cmdline.c:675 +#: src/config/cmdline.c:737 msgid "" "Print a configuration file with options set to the built-in\n" "defaults to stdout." msgstr "" -#: src/config/cmdline.c:680 +#: src/config/cmdline.c:742 msgid "Name of configuration file" msgstr "" -#: src/config/cmdline.c:682 +#: src/config/cmdline.c:744 msgid "" "Name of the configuration file that all configuration\n" "options will be read from and written to. It should be\n" "relative to config-dir." msgstr "" -#: src/config/cmdline.c:686 +#: src/config/cmdline.c:748 msgid "Print help for configuration options" msgstr "" -#: src/config/cmdline.c:688 +#: src/config/cmdline.c:750 msgid "Print help for configuration options and exit." msgstr "" -#: src/config/cmdline.c:690 +#: src/config/cmdline.c:752 msgid "MIME type assumed for unknown document types" msgstr "" -#: src/config/cmdline.c:692 +#: src/config/cmdline.c:754 msgid "The default MIME type used for documents of unknown type." msgstr "" -#: src/config/cmdline.c:694 +#: src/config/cmdline.c:756 msgid "Ignore user-defined keybindings" msgstr "" -#: src/config/cmdline.c:696 +#: src/config/cmdline.c:758 msgid "" "When set, all keybindings from configuration files will be\n" "ignored. It forces use of default keybindings and will reset\n" "user-defined ones on save." msgstr "" -#: src/config/cmdline.c:700 +#: src/config/cmdline.c:762 msgid "Print formatted versions of given URLs to stdout" msgstr "" -#: src/config/cmdline.c:702 +#: src/config/cmdline.c:764 msgid "Print formatted plain-text versions of given URLs to stdout." msgstr "" -#: src/config/cmdline.c:704 +#: src/config/cmdline.c:766 msgid "Codepage to use with -dump" msgstr "" -#: src/config/cmdline.c:706 +#: src/config/cmdline.c:768 msgid "Codepage used when formatting dump output." msgstr "" -#: src/config/cmdline.c:708 +#: src/config/cmdline.c:770 msgid "Color mode used with -dump" msgstr "" -#: src/config/cmdline.c:710 +#: src/config/cmdline.c:772 msgid "Color mode used with -dump." msgstr "" -#: src/config/cmdline.c:712 +#: src/config/cmdline.c:774 msgid "Width of document formatted with -dump" msgstr "" -#: src/config/cmdline.c:714 +#: src/config/cmdline.c:776 msgid "Width of the dump output." msgstr "" -#: src/config/cmdline.c:716 +#: src/config/cmdline.c:778 msgid "Evaluate configuration file directive" msgstr "" -#: src/config/cmdline.c:718 +#: src/config/cmdline.c:780 msgid "" "Specify configuration file directives on the command-line\n" "which will be evaluated after all configuration files has been\n" @@ -1410,57 +1434,57 @@ msgid "" msgstr "" #. lynx compatibility -#: src/config/cmdline.c:724 +#: src/config/cmdline.c:786 msgid "Interpret documents of unknown types as HTML" msgstr "" -#: src/config/cmdline.c:726 +#: src/config/cmdline.c:788 msgid "" "Makes ELinks assume documents of unknown types are HTML.\n" "Useful when using ELinks as an external viewer from MUAs.\n" "This is equivalent to -default-mime-type text/html." msgstr "" -#: src/config/cmdline.c:736 +#: src/config/cmdline.c:798 msgid "Print usage help and exit" msgstr "" -#: src/config/cmdline.c:738 +#: src/config/cmdline.c:800 msgid "Print usage help and exit." msgstr "" -#: src/config/cmdline.c:740 +#: src/config/cmdline.c:802 msgid "Only permit local connections" msgstr "" -#: src/config/cmdline.c:742 +#: src/config/cmdline.c:804 msgid "" "Restricts ELinks to work offline and only connect to servers\n" "with local addresses (ie. 127.0.0.1). No connections to remote\n" "servers will be permitted." msgstr "" -#: src/config/cmdline.c:746 +#: src/config/cmdline.c:808 msgid "Print detailed usage help and exit" msgstr "" -#: src/config/cmdline.c:748 +#: src/config/cmdline.c:810 msgid "Print detailed usage help and exit." msgstr "" -#: src/config/cmdline.c:750 +#: src/config/cmdline.c:812 msgid "Look up specified host" msgstr "" -#: src/config/cmdline.c:752 +#: src/config/cmdline.c:814 msgid "Look up specified host and print all DNS resolved IP addresses." msgstr "" -#: src/config/cmdline.c:754 +#: src/config/cmdline.c:816 msgid "Run as separate instance" msgstr "" -#: src/config/cmdline.c:756 +#: src/config/cmdline.c:818 msgid "" "Run ELinks as a separate instance instead of connecting to an\n" "existing instance. Note that normally no runtime state files\n" @@ -1468,43 +1492,43 @@ msgid "" "option is used. See also -touch-files." msgstr "" -#: src/config/cmdline.c:761 +#: src/config/cmdline.c:823 msgid "Disable use of files in ~/.elinks" msgstr "" -#: src/config/cmdline.c:763 +#: src/config/cmdline.c:825 msgid "" "Disables creation and use of files in the user specific home\n" "configuration directory (~/.elinks). It forces default configuration\n" "values to be used and disables saving of runtime state files." msgstr "" -#: src/config/cmdline.c:767 +#: src/config/cmdline.c:829 msgid "Disable link numbering in dump output" msgstr "" -#: src/config/cmdline.c:769 +#: src/config/cmdline.c:831 msgid "" "Prevents printing of link number in dump output.\n" "Note that this really affects only -dump, nothing else." msgstr "" -#: src/config/cmdline.c:772 +#: src/config/cmdline.c:834 msgid "Disable printing of link references in dump output" msgstr "" -#: src/config/cmdline.c:774 +#: src/config/cmdline.c:836 msgid "" "Prevents printing of references (URIs) of document links\n" "in dump output.\n" "Note that this really affects only -dump, nothing else." msgstr "" -#: src/config/cmdline.c:778 +#: src/config/cmdline.c:840 msgid "Control an already running ELinks" msgstr "" -#: src/config/cmdline.c:780 +#: src/config/cmdline.c:842 msgid "" "Control a remote ELinks instance by passing commands to it.\n" "The option takes an additional argument containing the method\n" @@ -1523,11 +1547,11 @@ msgid "" "\txfeDoCommand(openBrowser) : open new window" msgstr "" -#: src/config/cmdline.c:796 +#: src/config/cmdline.c:858 msgid "Connect to session ring with given ID" msgstr "" -#: src/config/cmdline.c:798 +#: src/config/cmdline.c:860 msgid "" "ID of session ring this ELinks session should connect to. ELinks\n" "works in so-called session rings, whereby all instances of ELinks\n" @@ -1545,19 +1569,19 @@ msgid "" "-touch-files." msgstr "" -#: src/config/cmdline.c:813 +#: src/config/cmdline.c:875 msgid "Print the source of given URLs to stdout" msgstr "" -#: src/config/cmdline.c:815 +#: src/config/cmdline.c:877 msgid "Print given URLs in source form to stdout." msgstr "" -#: src/config/cmdline.c:819 +#: src/config/cmdline.c:881 msgid "Touch files in ~/.elinks when running with -no-connect/-session-ring" msgstr "" -#: src/config/cmdline.c:821 +#: src/config/cmdline.c:883 msgid "" "When enabled, runtime state files (bookmarks, history, etc.) are\n" "written to disk, even when -no-connect or -session-ring is used.\n" @@ -1565,11 +1589,11 @@ msgid "" "these options." msgstr "" -#: src/config/cmdline.c:826 +#: src/config/cmdline.c:888 msgid "Verbose level" msgstr "" -#: src/config/cmdline.c:828 +#: src/config/cmdline.c:890 msgid "" "The verbose level controls what messages are shown at\n" "start up and while running:\n" @@ -1578,15 +1602,15 @@ msgid "" "\t2 means show all messages" msgstr "" -#: src/config/cmdline.c:834 +#: src/config/cmdline.c:896 msgid "Print version information and exit" msgstr "" -#: src/config/cmdline.c:836 +#: src/config/cmdline.c:898 msgid "Print ELinks version information and exit." msgstr "" -#: src/config/conf.c:720 +#: src/config/conf.c:722 msgid "" "## This is ELinks configuration file. You can edit it manually,\n" "## if you wish so; this file is edited by ELinks when you save\n" @@ -1594,7 +1618,7 @@ msgid "" "## and all your formatting, own comments etc will be kept as-is.\n" msgstr "" -#: src/config/conf.c:728 +#: src/config/conf.c:730 msgid "" "## This is ELinks configuration file. You can edit it manually,\n" "## if you wish so; this file is edited by ELinks when you save\n" @@ -1605,7 +1629,7 @@ msgid "" "## own comments and so on will be kept as-is.\n" msgstr "" -#: src/config/conf.c:738 +#: src/config/conf.c:740 msgid "" "## This is ELinks configuration file. You can edit it manually,\n" "## if you wish so, but keep in mind that this file is overwritten\n" @@ -1613,101 +1637,86 @@ msgid "" "## luck with your formatting and own comments then, so beware.\n" msgstr "" -#: src/config/conf.c:749 +#: src/config/conf.c:751 msgid "" "## Obviously, if you don't like what ELinks is going to do with\n" "## this file, you can change it by altering the config.saving_style\n" "## option. Come on, aren't we friendly guys after all?\n" msgstr "" -#: src/config/conf.c:762 +#: src/config/conf.c:764 msgid "Automatically saved options\n" msgstr "" -#: src/config/conf.c:774 +#: src/config/conf.c:776 msgid "Automatically saved keybindings\n" msgstr "" -#: src/config/dialogs.c:54 +#: src/config/dialogs.c:53 msgid "Write config success" msgstr "Keuseskryfsukses" -#: src/config/dialogs.c:55 +#: src/config/dialogs.c:54 #, c-format msgid "Options were saved successfully to config file %s." msgstr "Keuses is suksesvol gestuur na keuselêer %s." #. accelerator_context(write_config_dialog) -#: src/config/dialogs.c:59 +#: src/config/dialogs.c:58 msgid "~Do not show anymore" msgstr "~Moet nie meer wys nie" -#: src/config/dialogs.c:65 -msgid "Cannot read the file" -msgstr "Kan nie die lêer lees nie" - -#: src/config/dialogs.c:68 -msgid "Cannot get file status" -msgstr "Kan nie lêerstatus bepaal nie" - -#: src/config/dialogs.c:71 -msgid "Cannot access the file" -msgstr "Kan nie toegang kry tot lêer nie" - -#: src/config/dialogs.c:74 -msgid "Cannot create temp file" -msgstr "Kan nie tydelike lêer skep nie" - -#: src/config/dialogs.c:77 -msgid "Cannot rename the file" -msgstr "Kan nie lêer hernoem nie" - -#: src/config/dialogs.c:80 -msgid "File saving disabled by option" -msgstr "" - -#: src/config/dialogs.c:83 src/network/state.c:46 -msgid "Out of memory" -msgstr "Onvoldoende geheue" - -#: src/config/dialogs.c:86 -msgid "Cannot write the file" -msgstr "Kan nie die lêer skryf nie" - -#: src/config/dialogs.c:91 -msgid "Secure file saving error" -msgstr "" - -#: src/config/dialogs.c:99 +#: src/config/dialogs.c:69 msgid "Write config error" msgstr "" -#: src/config/dialogs.c:100 +#: src/config/dialogs.c:70 #, c-format msgid "" "Unable to write to config file %s.\n" "%s" msgstr "" -#: src/config/dialogs.c:155 +#: src/config/dialogs.c:125 msgid "modified" msgstr "gewysig" -#: src/config/dialogs.c:174 +#: src/config/dialogs.c:145 msgid "(expand by pressing space)" msgstr "(druk spasie om oop te vou)" -#: src/config/dialogs.c:177 src/config/dialogs.c:360 -#: src/config/options.inc:863 +#. TODO: Incorporate some of the following to the option text. +#. * +#. * When UTF-8 I/O is disabled: +#. * 0 (TERM_DUMB) outputs ASCII -+| characters. +#. * 1 (TERM_VT100) switches charsets with ^N and ^O. +#. * 2 (TERM_LINUX) outputs CP437 characters without switching +#. * charsets, so it works correctly only if the terminal uses +#. * CP437. Can also be made CP850 and CP852 compatible with +#. * the restrict_852 option. +#. * 3 (TERM_KOI8) outputs KOI8-R characters without switching +#. * charsets, so it works correctly only if the terminal uses +#. * KOI8-R and the user has selected either KOI8-R or ASCII +#. * in ELinks. It is also mostly compatible with KOI8-U. +#. * 4 (TERM_FREEBSD) outputs characters in the 0x80...0x9F +#. * range, which FreeBSD 4.0 (but not 5.0) treated as +#. * graphical. +#. * +#. * When UTF-8 I/O is enabled, ELinks outputs (almost) the same +#. * characters as above but encodes them in UTF-8 and does not +#. * switch charsets. So, it will work in any terminal that +#. * understands UTF-8 and has the characters in its font. +#: src/config/dialogs.c:149 src/config/dialogs.c:330 +#: src/config/options.inc:840 msgid "Type" msgstr "Soort" -#: src/config/dialogs.c:202 src/config/dialogs.c:389 src/cookies/dialogs.c:35 -#: src/cookies/dialogs.c:351 +#: src/config/dialogs.c:174 src/config/dialogs.c:361 src/cookies/dialogs.c:35 +#: src/cookies/dialogs.c:367 msgid "Value" msgstr "Waarde" -#: src/config/dialogs.c:206 +#: src/config/dialogs.c:178 msgid "" "\n" "\n" @@ -1717,30 +1726,30 @@ msgstr "" "\n" "Hierdie waarde is verander sedert u opstelling laas gestoor is." -#: src/config/dialogs.c:212 src/config/dialogs.c:364 +#: src/config/dialogs.c:184 src/config/dialogs.c:335 msgid "N/A" msgstr "" -#: src/config/dialogs.c:214 src/config/dialogs.c:362 +#: src/config/dialogs.c:186 src/config/dialogs.c:333 msgid "Description" msgstr "Beskrywing" -#: src/config/dialogs.c:321 src/protocol/bittorrent/dialogs.c:599 -#: src/protocol/protocol.c:230 src/session/session.c:287 -#: src/session/session.c:969 src/viewer/text/textarea.c:570 -#: src/viewer/text/textarea.c:577 +#: src/config/dialogs.c:291 src/protocol/bittorrent/dialogs.c:599 +#: src/protocol/protocol.c:239 src/session/session.c:287 +#: src/session/session.c:964 src/viewer/text/textarea.c:594 +#: src/viewer/text/textarea.c:601 msgid "Error" msgstr "Fout" -#: src/config/dialogs.c:322 +#: src/config/dialogs.c:292 msgid "Bad option value." msgstr "" -#: src/config/dialogs.c:350 src/config/dialogs.c:418 src/cookies/dialogs.c:323 +#: src/config/dialogs.c:320 src/config/dialogs.c:390 src/cookies/dialogs.c:337 msgid "Edit" msgstr "Redigeer" -#: src/config/dialogs.c:419 +#: src/config/dialogs.c:391 msgid "" "This option cannot be edited. This means that this is some special option " "like a folder - try to press a space in order to see its contents." @@ -1748,48 +1757,48 @@ msgstr "" "Hierdie keuse kan nie gewysig word nie. Dit beteken dat hierdie 'n spesiale " "keuse is, soos 'n gids - probeer spasie om die inhoud te sien." -#: src/config/dialogs.c:461 +#: src/config/dialogs.c:433 msgid "" "Option names may only contain alpha-numeric characters\n" "in addition to '_' and '-'." msgstr "" -#: src/config/dialogs.c:482 src/config/dialogs.c:507 +#: src/config/dialogs.c:454 src/config/dialogs.c:479 msgid "Add option" msgstr "Voeg keuse by" -#: src/config/dialogs.c:483 +#: src/config/dialogs.c:455 msgid "Cannot add an option here." msgstr "Kan nie 'n keuse hier byvoeg nie." #. accelerator_context(src/config/dialogs.c:keybinding_buttons, src/config/dialogs.c:option_buttons, src/cookies/dialogs.c:cookie_buttons, src/formhist/dialogs.c:formhist_buttons, src/protocol/bittorrent/dialogs.c:bittorrent_query_callback, src/session/download.c:do_type_query, terminal_options) -#: src/config/dialogs.c:535 src/config/dialogs.c:963 src/cookies/dialogs.c:479 +#: src/config/dialogs.c:507 src/config/dialogs.c:933 src/cookies/dialogs.c:495 #: src/dialogs/options.c:236 src/formhist/dialogs.c:214 -#: src/protocol/bittorrent/dialogs.c:799 src/session/download.c:1220 +#: src/protocol/bittorrent/dialogs.c:799 src/session/download.c:1250 msgid "Sa~ve" msgstr "Stoo~r" -#: src/config/dialogs.c:540 +#: src/config/dialogs.c:512 msgid "Option manager" msgstr "Keusebestuurder" -#: src/config/dialogs.c:702 +#: src/config/dialogs.c:674 msgid "Keystroke" msgstr "Sleutel" -#: src/config/dialogs.c:704 src/config/options.inc:1223 +#: src/config/dialogs.c:676 src/config/options.inc:1219 msgid "Action" msgstr "Aksie" -#: src/config/dialogs.c:705 +#: src/config/dialogs.c:677 msgid "Keymap" msgstr "" -#: src/config/dialogs.c:844 +#: src/config/dialogs.c:816 msgid "Keystroke already used" msgstr "Sleutel reeds in gebruik" -#: src/config/dialogs.c:845 +#: src/config/dialogs.c:817 #, c-format msgid "" "The keystroke \"%s\" is currently used for \"%s\".\n" @@ -1798,19 +1807,19 @@ msgstr "" "Die sleutel \"%s\" word tans gebruik vir \"%s\".\n" "Is u seker u wil dit vervang?" -#: src/config/dialogs.c:870 src/config/dialogs.c:887 src/config/dialogs.c:923 +#: src/config/dialogs.c:842 src/config/dialogs.c:859 src/config/dialogs.c:895 msgid "Add keybinding" msgstr "Heg kortpadsleutel" -#: src/config/dialogs.c:871 +#: src/config/dialogs.c:843 msgid "Invalid keystroke." msgstr "Ongeldige sleutel." -#: src/config/dialogs.c:888 +#: src/config/dialogs.c:860 msgid "Need to select an action." msgstr "Moet 'n aksie kies." -#: src/config/dialogs.c:910 +#: src/config/dialogs.c:882 #, c-format msgid "" "Action: %s\n" @@ -1823,26 +1832,27 @@ msgid "" msgstr "" #. accelerator_context(menu_keys, src/config/dialogs.c:keybinding_buttons, src/globhist/dialogs.c:globhist_buttons) -#: src/config/dialogs.c:961 src/dialogs/info.c:135 src/globhist/dialogs.c:231 +#: src/config/dialogs.c:931 src/dialogs/info.c:135 src/globhist/dialogs.c:231 msgid "~Toggle display" msgstr "~Wissel vertoonstyl" -#: src/config/dialogs.c:968 +#: src/config/dialogs.c:938 msgid "Keybinding manager" msgstr "" -#: src/config/home.c:121 +#: src/config/home.c:128 #, c-format msgid "" "Commandline options -config-dir set to %s, but could not create directory %s." msgstr "" -#: src/config/home.c:126 +#: src/config/home.c:133 #, c-format msgid "ELINKS_CONFDIR set to %s, but could not create directory %s." msgstr "" -#: src/config/home.c:149 +#: src/config/home.c:156 +#, c-format msgid "" "Unable to find or create ELinks config directory. Please check if you have " "$HOME variable set correctly and if you have write permission to your home " @@ -1861,7 +1871,7 @@ msgstr "" msgid "Menu mapping" msgstr "" -#: src/config/kbdbind.c:588 +#: src/config/kbdbind.c:588 src/scripting/python/keybinding.c:104 msgid "Unrecognised keymap" msgstr "" @@ -1961,7 +1971,7 @@ msgid "" msgstr "" #. Keep options in alphabetical order. -#: src/config/options.inc:71 src/dialogs/info.c:182 +#: src/config/options.inc:71 src/dialogs/info.c:180 msgid "Connections" msgstr "Verbindings" @@ -2003,7 +2013,7 @@ msgid "" "Zero means try forever." msgstr "" -#: src/config/options.inc:93 src/network/state.c:52 +#: src/config/options.inc:93 src/network/state.c:53 msgid "Receive timeout" msgstr "" @@ -2303,13 +2313,13 @@ msgstr "Kleure" msgid "Active link colors." msgstr "Kleure vir aktiewe skakels." -#: src/config/options.inc:274 src/config/options.inc:539 -#: src/config/options.inc:949 +#: src/config/options.inc:274 src/config/options.inc:549 +#: src/config/options.inc:945 msgid "Background color" msgstr "Agtergronkleur" -#: src/config/options.inc:276 src/config/options.inc:541 -#: src/config/options.inc:950 +#: src/config/options.inc:276 src/config/options.inc:551 +#: src/config/options.inc:946 msgid "Default background color." msgstr "Verstekagtergrondkleur." @@ -2321,13 +2331,13 @@ msgstr "Verstekagtergrondkleur." #. * on it. #. The colors and mono tree should be similar but with different default #. * values of course so always use the macros below. -#: src/config/options.inc:278 src/config/options.inc:535 -#: src/config/options.inc:947 +#: src/config/options.inc:278 src/config/options.inc:545 +#: src/config/options.inc:943 msgid "Text color" msgstr "Tekskleur" -#: src/config/options.inc:280 src/config/options.inc:537 -#: src/config/options.inc:948 +#: src/config/options.inc:280 src/config/options.inc:547 +#: src/config/options.inc:944 msgid "Default text color." msgstr "Verstektekskleur." @@ -2360,7 +2370,7 @@ msgstr "" msgid "Invert the fore- and background color so the link stands out." msgstr "" -#: src/config/options.inc:296 src/config/options.inc:912 +#: src/config/options.inc:296 src/config/options.inc:908 #: src/dialogs/options.c:231 msgid "Underline" msgstr "Onderstreep" @@ -2705,89 +2715,105 @@ msgid "" "threshold. (Then of course no other documents can be cached.)" msgstr "" -#: src/config/options.inc:505 src/dialogs/info.c:201 +#. FIXME: Write more. +#: src/config/options.inc:506 +msgid "Revalidation interval" +msgstr "" + +#: src/config/options.inc:508 +msgid "" +"Period in seconds that a cache entry is considered to be\n" +"up-to-date. When a document is loaded and this interval has elapsed\n" +"since the document was initially loaded or most recently\n" +"revalidated with the server, the server will be checked in case\n" +"there is a more up-to-date version of the document.\n" +"\n" +"A value of -1 disables automatic revalidation." +msgstr "" + +#: src/config/options.inc:515 src/dialogs/info.c:199 msgid "Memory cache" msgstr "Geheuekas" -#: src/config/options.inc:507 +#: src/config/options.inc:517 msgid "Memory cache options." msgstr "Keuses vir geheuekas." -#: src/config/options.inc:511 +#: src/config/options.inc:521 msgid "Memory cache size (in bytes)." msgstr "Kasgrootte (in grepe)." -#: src/config/options.inc:515 +#: src/config/options.inc:525 msgid "Charset" msgstr "Karakterstel" -#: src/config/options.inc:517 +#: src/config/options.inc:527 msgid "Charset options." msgstr "Karakterstelkeuses." -#: src/config/options.inc:519 +#: src/config/options.inc:529 msgid "Default codepage" msgstr "Verstekkarakterstel" -#: src/config/options.inc:521 +#: src/config/options.inc:531 msgid "" "Default document codepage. 'System' stands for\n" "a codepage determined by a selected locale." msgstr "" -#: src/config/options.inc:524 +#: src/config/options.inc:534 msgid "Ignore charset info from server" msgstr "Ignoreer die karakterstel van die bediener" -#: src/config/options.inc:526 +#: src/config/options.inc:536 msgid "Ignore charset info sent by server." msgstr "Ignoreer die karakterstel wat deur die bediener gestuur word." -#: src/config/options.inc:530 +#: src/config/options.inc:540 msgid "Default color settings" msgstr "Verstekkleurinstellings" -#: src/config/options.inc:532 +#: src/config/options.inc:542 msgid "Default document color settings." msgstr "Verstelinstellings vir dokumentkleure." -#: src/config/options.inc:543 +#: src/config/options.inc:553 msgid "Link color" msgstr "Skakelkleur" -#: src/config/options.inc:545 +#: src/config/options.inc:555 msgid "Default link color." msgstr "Verstekskakelkleur." -#: src/config/options.inc:547 +#: src/config/options.inc:557 msgid "Visited-link color" msgstr "Kleur van besoekte skakels" -#: src/config/options.inc:549 +#: src/config/options.inc:559 msgid "Default visited link color." msgstr "Verstekkleur van besoekte skakels." -#: src/config/options.inc:551 +#: src/config/options.inc:561 msgid "Image-link color" msgstr "Prentskakel-kleur" -#: src/config/options.inc:553 +#: src/config/options.inc:563 msgid "Default image link color." msgstr "Verstekkleur van prentskakels." -#: src/config/options.inc:555 +#: src/config/options.inc:565 msgid "Bookmarked-link color" msgstr "Kleur van geboekmerkte skakels" -#: src/config/options.inc:557 +#: src/config/options.inc:567 msgid "Default bookmarked link color." msgstr "Verstek kleur van geboekmerkte skakels." -#: src/config/options.inc:559 +#: src/config/options.inc:569 msgid "Directory color" msgstr "Gidskleur" -#: src/config/options.inc:561 +#: src/config/options.inc:571 msgid "" "Default directory color.\n" "See document.browse.links.color_dirs option." @@ -2795,11 +2821,11 @@ msgstr "" "Verstek-gidskleur.\n" "Sien die 'document.browse.links.color_dirs'-keuse." -#: src/config/options.inc:568 +#: src/config/options.inc:578 msgid "Increase contrast" msgstr "Verhoog kontras" -#: src/config/options.inc:570 +#: src/config/options.inc:580 msgid "" "Increase the contrast between the foreground and background colors\n" "to ensure readability. For example it disallows dark colors on a\n" @@ -2812,21 +2838,21 @@ msgstr "" "hierdie is anders as om die kontras te verseker met die\n" "'ensure_contrast'-keuse." -#: src/config/options.inc:575 +#: src/config/options.inc:585 msgid "Ensure contrast" msgstr "Verseker kontras" -#: src/config/options.inc:577 +#: src/config/options.inc:587 msgid "Makes sure that the back- and foreground color are never equal." msgstr "Maak seker dat die voor- en agtergrondkleure nooit die selfde is nie." #. If you change this please also change ACT_MAIN_DOCUMENT_COLORS action #. * handling. -#: src/config/options.inc:582 +#: src/config/options.inc:592 msgid "Use document-specified colors" msgstr "Gebruik kleure gespesifiseer in die dokument" -#: src/config/options.inc:584 +#: src/config/options.inc:594 msgid "" "Use colors specified in document:\n" "0 is use always the default settings\n" @@ -2838,38 +2864,38 @@ msgid "" msgstr "" #. Keep options in alphabetical order. -#: src/config/options.inc:597 +#: src/config/options.inc:607 msgid "Downloading" msgstr "Aflaai" -#: src/config/options.inc:599 +#: src/config/options.inc:609 msgid "Options regarding files downloading and handling." msgstr "Keuses aangaande die aflaai en hantering van lêers." -#: src/config/options.inc:601 +#: src/config/options.inc:611 msgid "Default download directory" msgstr "" -#: src/config/options.inc:603 +#: src/config/options.inc:613 msgid "Default download directory." msgstr "" -#: src/config/options.inc:605 +#: src/config/options.inc:615 msgid "Set original time" msgstr "" -#: src/config/options.inc:607 +#: src/config/options.inc:617 msgid "" "Set the timestamp of each downloaded file to the timestamp\n" "stored on the server." msgstr "" #. Does automatic resuming make sense as an option? -#: src/config/options.inc:611 +#: src/config/options.inc:621 msgid "Prevent overwriting" msgstr "" -#: src/config/options.inc:613 +#: src/config/options.inc:623 msgid "" "Prevent overwriting the local files:\n" "0 is files will silently be overwritten\n" @@ -2877,11 +2903,11 @@ msgid "" "2 is ask the user" msgstr "" -#: src/config/options.inc:618 +#: src/config/options.inc:628 msgid "Notify download completion by bell" msgstr "" -#: src/config/options.inc:620 +#: src/config/options.inc:630 msgid "" "Audio notification when download is completed:\n" "0 is never\n" @@ -2889,72 +2915,41 @@ msgid "" "2 is always" msgstr "" -#: src/config/options.inc:626 +#: src/config/options.inc:636 msgid "Dump output" msgstr "" -#: src/config/options.inc:628 +#: src/config/options.inc:638 msgid "Dump output options." msgstr "" -#: src/config/options.inc:630 src/config/options.inc:916 -#: src/config/opttypes.c:407 src/dialogs/document.c:163 +#: src/config/options.inc:640 src/config/options.inc:912 +#: src/config/opttypes.c:404 src/dialogs/document.c:163 msgid "Codepage" msgstr "" -#: src/config/options.inc:632 +#: src/config/options.inc:642 msgid "" "Codepage used in dump output. 'System' stands for\n" "a codepage determined by a selected locale." msgstr "" -#: src/config/options.inc:641 src/config/options.inc:650 -#: src/config/options.inc:658 src/config/options.inc:666 -#: src/config/options.inc:673 src/config/options.inc:683 -#: src/config/options.inc:692 src/config/options.inc:701 -#: src/config/options.inc:895 +#: src/config/options.inc:645 src/config/options.inc:878 msgid "Color mode" msgstr "" -#: src/config/options.inc:643 -msgid "" -"Color mode for dumps:\n" -"-1 is standard dump mode\n" -"0 is mono mode\n" -"1 is 16 color mode\n" -"2 is 88 color mode\n" -"3 is 256 color mode" -msgstr "" - +#. The list of modes must be at the end of this string +#. * because AsciiDoc 7.1.2 does not support continuing +#. * an outer list entry after an inner list. +#. * TRANSLATORS: This restriction applies only to the +#. * "en" (English) translation. (See doc/Makefile.) #: src/config/options.inc:652 msgid "" -"Color mode for dumps:\n" -"-1 is standard dump mode\n" -"0 is mono mode\n" -"1 is 16 color mode\n" -"2 is 88 color mode" -msgstr "" - -#: src/config/options.inc:660 -msgid "" -"Color mode for dumps:\n" -"-1 is standard dump mode\n" -"0 is mono mode\n" -"1 is 16 color mode\n" -"2 is 256 color mode" -msgstr "" - -#: src/config/options.inc:668 -msgid "" -"Color mode for dumps:\n" -"-1 is standard dump mode\n" -"0 is mono mode\n" -"1 is 16 color mode" -msgstr "" - -#: src/config/options.inc:675 -msgid "" -"Color mode for dumps:\n" +"Color mode for dumps.\n" +"Some modes may have been disabled at compile time. The Setup -> Terminal " +"options dialog lists the modes supported by this executable. If you select " +"an unsupported mode, ELinks uses 16 colors.\n" +"The color modes are:\n" "-1 is standard dump mode\n" "0 is mono mode\n" "1 is 16 color mode\n" @@ -2963,144 +2958,115 @@ msgid "" "4 is true color mode" msgstr "" -#: src/config/options.inc:685 -msgid "" -"Color mode for dumps:\n" -"-1 is standard dump mode\n" -"0 is mono mode\n" -"1 is 16 color mode\n" -"2 is 88 color mode\n" -"3 is true color mode" -msgstr "" - -#: src/config/options.inc:694 -msgid "" -"Color mode for dumps:\n" -"-1 is standard dump mode\n" -"0 is mono mode\n" -"1 is 16 color mode\n" -"2 is 256 color mode\n" -"3 is true color mode" -msgstr "" - -#: src/config/options.inc:703 -msgid "" -"Color mode for dumps:\n" -"-1 is standard dump mode\n" -"0 is mono mode\n" -"1 is 16 color mode\n" -"2 is true color mode" -msgstr "" - -#: src/config/options.inc:709 +#: src/config/options.inc:665 msgid "Footer" msgstr "" -#: src/config/options.inc:711 +#: src/config/options.inc:667 #, c-format msgid "Footer string used in dumps. %u is substituted by URL." msgstr "" -#: src/config/options.inc:715 +#: src/config/options.inc:671 #, c-format msgid "Header string used in dumps. %u is substituted by URL." msgstr "" -#: src/config/options.inc:717 +#: src/config/options.inc:673 msgid "Numbering" msgstr "" -#: src/config/options.inc:719 +#: src/config/options.inc:675 msgid "Whether to print link numbers in dump output." msgstr "" -#: src/config/options.inc:721 +#: src/config/options.inc:677 msgid "References" msgstr "Verwysings" -#: src/config/options.inc:723 +#: src/config/options.inc:679 msgid "" "Whether to print references (URIs) of document links\n" "in dump output." msgstr "" -#: src/config/options.inc:726 +#: src/config/options.inc:682 msgid "Separator" msgstr "Skeier" -#: src/config/options.inc:728 +#: src/config/options.inc:684 msgid "String which separates two dumps." msgstr "" -#: src/config/options.inc:730 +#: src/config/options.inc:686 msgid "Width" msgstr "Wydte" -#: src/config/options.inc:732 +#: src/config/options.inc:688 msgid "Width of screen in characters when dumping documents." msgstr "" -#: src/config/options.inc:736 +#: src/config/options.inc:692 msgid "History" msgstr "Geskiedenis" -#: src/config/options.inc:738 +#: src/config/options.inc:694 msgid "History options." msgstr "Geskiedeniskeuses." -#: src/config/options.inc:740 +#: src/config/options.inc:696 msgid "Keep unhistory" msgstr "Hou toekoms" -#: src/config/options.inc:742 +#: src/config/options.inc:698 msgid "Keep unhistory (\"forward history\")." msgstr "Hou toekoms (\"vorentoe geskiedenis\")." -#: src/config/options.inc:745 +#: src/config/options.inc:701 msgid "HTML rendering" msgstr "" -#: src/config/options.inc:747 +#: src/config/options.inc:703 msgid "Options concerning the display of HTML pages." msgstr "" -#: src/config/options.inc:749 +#: src/config/options.inc:705 msgid "Display frames" msgstr "Wys rame" -#: src/config/options.inc:751 +#: src/config/options.inc:707 msgid "Display frames." msgstr "Wys rame." -#: src/config/options.inc:753 +#: src/config/options.inc:709 msgid "Display tables" msgstr "Wys tabelle" -#: src/config/options.inc:755 +#: src/config/options.inc:711 msgid "Display tables." msgstr "Wys tabelle." -#: src/config/options.inc:757 +#: src/config/options.inc:713 msgid "Display subscripts" msgstr "Wys onderskrif" -#: src/config/options.inc:759 +#: src/config/options.inc:715 msgid "Display subscripts (as [thing])." msgstr "Wys onderskrif (as [iets])." -#: src/config/options.inc:761 +#: src/config/options.inc:717 msgid "Display superscripts" msgstr "Wys superskrif" -#: src/config/options.inc:763 +#: src/config/options.inc:719 msgid "Display superscripts (as ^thing)." msgstr "Wys superskrif (as ^iets)." -#: src/config/options.inc:765 +#: src/config/options.inc:721 msgid "Rendering of html link element" msgstr "" -#: src/config/options.inc:767 +#: src/config/options.inc:723 msgid "" "How to render tags from the HTML header:\n" "0 is nothing\n" @@ -3111,54 +3077,54 @@ msgid "" "5 is everything" msgstr "" -#: src/config/options.inc:775 +#: src/config/options.inc:731 msgid "Underline links" msgstr "Onderstreep skakels" -#: src/config/options.inc:777 +#: src/config/options.inc:733 msgid "Underline links." msgstr "Onderstreep skakels." -#: src/config/options.inc:779 +#: src/config/options.inc:735 msgid "Wrap non breaking space" msgstr "" -#: src/config/options.inc:781 +#: src/config/options.inc:737 msgid "" "If set do not honour non breaking space (the nbsp entity)\n" "but allow to wrap the text. This can help keeping the width\n" "of documents down so no horizontal scrolling is needed." msgstr "" -#: src/config/options.inc:786 +#: src/config/options.inc:742 msgid "Plain rendering" msgstr "" -#: src/config/options.inc:788 +#: src/config/options.inc:744 msgid "Options concerning the display of plain text pages." msgstr "Keuses aangaandie die vertoon van gewone teksblaaie." -#: src/config/options.inc:790 +#: src/config/options.inc:746 msgid "Display URIs" msgstr "Wys URI's" -#: src/config/options.inc:792 +#: src/config/options.inc:748 msgid "Display URIs in the document as links." msgstr "Wys URI's in die dokument as skakels." -#: src/config/options.inc:794 +#: src/config/options.inc:750 msgid "Compress empty lines" msgstr "Pers leë lyne saam" -#: src/config/options.inc:796 +#: src/config/options.inc:752 msgid "Compress successive empty lines to only one in displayed text." msgstr "Pers opeenvolgende leë lyne saam tot een in die vertoonde teks." -#: src/config/options.inc:799 +#: src/config/options.inc:755 msgid "URI passing" msgstr "URI-oordrag" -#: src/config/options.inc:801 +#: src/config/options.inc:757 msgid "" "Rules for passing URIs to external commands. When one rule\n" "is defined the link and tab menu will have a menu item that\n" @@ -3166,13 +3132,13 @@ msgid "" "an external command. If several rules are defined the link and\n" "tab menu will have a submenu of items for each rule. Note, this\n" "is mostly useful for launching graphical viewers, since there\n" -"is not support for releasing the terminal while the command runs.\n" +"is no support for releasing the terminal while the command runs.\n" "The action and submenus are also available by binding keys to\n" "the frame-external-command, the link-external-command, and\n" "the tab-external-command actions." msgstr "" -#: src/config/options.inc:814 +#: src/config/options.inc:770 msgid "" "A rule for passing URI to an external command.\n" "The format is:\n" @@ -3182,19 +3148,19 @@ msgid "" msgstr "" #. Keep options in alphabetical order. -#: src/config/options.inc:824 +#: src/config/options.inc:780 msgid "Information files" msgstr "Inligtinglêers" -#: src/config/options.inc:826 +#: src/config/options.inc:782 msgid "Options for information files in ~/.elinks." msgstr "Keuses vir inligtinglêers in ~/.elinks." -#: src/config/options.inc:828 +#: src/config/options.inc:784 msgid "Save interval" msgstr "Stoorinterval" -#: src/config/options.inc:830 +#: src/config/options.inc:786 msgid "" "Interval at which to trigger information files in ~/.elinks\n" "to be saved to disk if they has changed (seconds; 0 to disable)" @@ -3202,11 +3168,11 @@ msgstr "" "Interval waarna die stoor van veranderde inligtinglêers\n" "in ~/.elinks geaktiveer moet word (sekondes; 0 deaktiveer)" -#: src/config/options.inc:833 +#: src/config/options.inc:789 msgid "Use secure file saving" msgstr "" -#: src/config/options.inc:835 +#: src/config/options.inc:791 msgid "" "First write data to unique temporary file, then rename this file\n" "upon successfully finishing this. Note that this relates only to\n" @@ -3218,11 +3184,11 @@ msgid "" "and reducing reliability of this feature." msgstr "" -#: src/config/options.inc:844 +#: src/config/options.inc:800 msgid "Use fsync(3) with secure file saving" msgstr "" -#: src/config/options.inc:846 +#: src/config/options.inc:802 msgid "" "When using secure file saving, call fsync(3), if the OS\n" "supports it, to force the OS immediately to write the data\n" @@ -3231,19 +3197,19 @@ msgid "" msgstr "" #. Keep options in alphabetical order. -#: src/config/options.inc:855 +#: src/config/options.inc:811 msgid "Terminals" msgstr "Terminale" -#: src/config/options.inc:857 +#: src/config/options.inc:813 msgid "Terminal options." msgstr "Terminaalkeuses." -#: src/config/options.inc:861 +#: src/config/options.inc:817 msgid "Options specific to this terminal type (according to $TERM value)." msgstr "" -#: src/config/options.inc:865 +#: src/config/options.inc:842 msgid "" "Terminal type; matters mostly only when drawing frames and\n" "dialog box borders:\n" @@ -3254,450 +3220,469 @@ msgid "" "4 is FreeBSD" msgstr "" -#: src/config/options.inc:873 src/dialogs/options.c:227 +#: src/config/options.inc:850 src/dialogs/options.c:227 msgid "Switch fonts for line drawing" msgstr "" -#: src/config/options.inc:875 +#: src/config/options.inc:852 msgid "" "Switch fonts when drawing lines, enabling both local characters\n" -"and lines working at the same time. Makes sense only with linux\n" -"terminal." +"and lines working at the same time. ELinks uses this option only if\n" +"UTF-8 I/O is disabled and the terminal type is Linux or FreeBSD." msgstr "" -#: src/config/options.inc:879 src/dialogs/options.c:232 +#. When CONFIG_UTF8 is defined, any code that reads the "utf_8_io" +#. * option should also check whether the "codepage" option is UTF-8, +#. * and if so, behave as if "utf_8_io" were 1. (When CONFIG_UTF8 is +#. * not defined, it should not be possible to set UTF-8 as "codepage"; +#. * please report any such possibilities as bugs.) +#: src/config/options.inc:861 src/dialogs/options.c:232 msgid "UTF-8 I/O" msgstr "" -#: src/config/options.inc:881 +#: src/config/options.inc:863 msgid "" -"Enable I/O in UTF8 for Unicode terminals. Note that currently,\n" -"only the subset of UTF8 according to terminal codepage is used." +"Enable I/O in UTF-8 for Unicode terminals. Note that currently,\n" +"only the subset of UTF-8 according to terminal codepage is used.\n" +"ELinks ignores this option if the terminal codepage is UTF-8." msgstr "" -#: src/config/options.inc:884 src/dialogs/options.c:228 +#: src/config/options.inc:867 src/dialogs/options.c:228 msgid "Restrict frames in cp850/852" msgstr "" -#: src/config/options.inc:886 +#: src/config/options.inc:869 msgid "" "Restrict the characters used when drawing lines. Makes sense\n" "only with linux terminals using the cp850/852 character sets." msgstr "" -#: src/config/options.inc:889 src/dialogs/options.c:229 +#: src/config/options.inc:872 src/dialogs/options.c:229 msgid "Block cursor" msgstr "" -#: src/config/options.inc:891 +#: src/config/options.inc:874 msgid "" "Move cursor to bottom right corner when done drawing.\n" "This is particularly useful when we have a block cursor,\n" "so that inversed text is displayed correctly." msgstr "" -#: src/config/options.inc:897 +#. The list of modes must be at the end of this string +#. * because AsciiDoc 7.1.2 does not support continuing +#. * an outer list entry after an inner list. +#. * TRANSLATORS: This restriction applies only to the +#. * "en" (English) translation. (See doc/Makefile.) +#: src/config/options.inc:885 msgid "" -"The color mode controls what colors are used and how they are\n" -"output to the terminal. The color modes are:\n" +"The color mode controls what colors are used and how they are output to the " +"terminal.\n" +"Some modes may have been disabled at compile time. The Setup -> Terminal " +"options dialog lists the modes supported by this executable. If you select " +"an unsupported mode, ELinks uses 16 colors.\n" +"The color modes are:\n" "0 is mono mode, only 2 colors are used\n" "1 is 16 color mode, uses the common ANSI colors\n" -"2 is 256 color mode, uses XTerm RGB codes\n" -"3 is true color mode, uses konsole RGB codes." +"2 is 88 color mode, uses XTerm RGB codes\n" +"3 is 256 color mode, uses XTerm RGB codes\n" +"4 is true color mode, uses konsole RGB codes" msgstr "" -#: src/config/options.inc:904 src/dialogs/options.c:230 +#: src/config/options.inc:898 src/dialogs/options.c:230 msgid "Transparency" msgstr "Deursigtigheid" -#: src/config/options.inc:906 +#: src/config/options.inc:900 msgid "" "If we should not set the background to black. This is particularly\n" "useful when we have a terminal (typically in some windowing\n" "environment) with a background image or a transparent background -\n" -"it will be visible in ELinks as well. Note that this option makes\n" +"it will be visible in ELinks as well (but ELinks document color handling\n" +"will still assume the background is black so if you have a bright " +"background\n" +"you might experience contrast problems). Note that this option makes\n" "sense only when colors are enabled." msgstr "" -#: src/config/options.inc:914 +#: src/config/options.inc:910 msgid "If we should use underline or enhance the color instead." msgstr "" -#: src/config/options.inc:918 +#: src/config/options.inc:914 msgid "" "Codepage of charset used for displaying content on terminal.\n" "'System' stands for a codepage determined by a selected locale." msgstr "" #. Keep options in alphabetical order. -#: src/config/options.inc:925 +#: src/config/options.inc:921 msgid "User interface" msgstr "Gebruikerkoppelvlak" -#: src/config/options.inc:927 +#: src/config/options.inc:923 msgid "User interface options." msgstr "Keuses oor die gebruikerkoppevlak." -#: src/config/options.inc:931 +#: src/config/options.inc:927 msgid "Color settings" msgstr "Kleurinstellings" -#: src/config/options.inc:933 +#: src/config/options.inc:929 msgid "Default user interface color settings." msgstr "Verstek-kleurinstellings van die gebruikerkoppelvlak." -#: src/config/options.inc:960 +#: src/config/options.inc:956 msgid "Color terminals" msgstr "Kleurterminale" -#: src/config/options.inc:962 +#: src/config/options.inc:958 msgid "Color settings for color terminal." msgstr "Kleurinstellings vir kleur terminale." -#: src/config/options.inc:964 +#: src/config/options.inc:960 msgid "Non-color terminals" msgstr "" -#: src/config/options.inc:966 +#: src/config/options.inc:962 msgid "Color settings for non-color terminal." msgstr "" #. FIXME: obsolete, how to alias them correctly ? --Zas -#: src/config/options.inc:969 +#: src/config/options.inc:965 msgid "Main menu bar" msgstr "" -#: src/config/options.inc:971 +#: src/config/options.inc:967 msgid "Main menu bar colors." msgstr "" -#: src/config/options.inc:973 +#: src/config/options.inc:969 msgid "Unselected main menu bar item" msgstr "" -#: src/config/options.inc:975 +#: src/config/options.inc:971 msgid "Unselected main menu bar item colors." msgstr "" -#: src/config/options.inc:977 +#: src/config/options.inc:973 msgid "Selected main menu bar item" msgstr "" -#: src/config/options.inc:979 +#: src/config/options.inc:975 msgid "Selected main menu bar item colors." msgstr "" -#: src/config/options.inc:981 src/config/options.inc:1010 +#: src/config/options.inc:977 src/config/options.inc:1006 msgid "Hotkey" msgstr "" -#: src/config/options.inc:983 +#: src/config/options.inc:979 msgid "Main menu hotkey colors." msgstr "" -#: src/config/options.inc:985 src/config/options.inc:1014 +#: src/config/options.inc:981 src/config/options.inc:1010 msgid "Unselected hotkey" msgstr "" -#: src/config/options.inc:987 +#: src/config/options.inc:983 msgid "Main menu unselected hotkey colors." msgstr "" -#: src/config/options.inc:989 src/config/options.inc:1018 +#: src/config/options.inc:985 src/config/options.inc:1014 msgid "Selected hotkey" msgstr "" -#: src/config/options.inc:991 +#: src/config/options.inc:987 msgid "Main menu selected hotkey colors." msgstr "" -#: src/config/options.inc:994 +#: src/config/options.inc:990 msgid "Menu bar" msgstr "" -#: src/config/options.inc:996 +#: src/config/options.inc:992 msgid "Menu bar colors." msgstr "" -#: src/config/options.inc:998 +#: src/config/options.inc:994 msgid "Unselected menu item" msgstr "" -#: src/config/options.inc:1000 +#: src/config/options.inc:996 msgid "Unselected menu item colors." msgstr "" -#: src/config/options.inc:1002 +#: src/config/options.inc:998 msgid "Selected menu item" msgstr "" -#: src/config/options.inc:1004 +#: src/config/options.inc:1000 msgid "Selected menu item colors." msgstr "" -#: src/config/options.inc:1006 +#: src/config/options.inc:1002 msgid "Marked menu item" msgstr "" -#: src/config/options.inc:1008 +#: src/config/options.inc:1004 msgid "Marked menu item colors." msgstr "" -#: src/config/options.inc:1012 +#: src/config/options.inc:1008 msgid "Menu item hotkey colors." msgstr "" -#: src/config/options.inc:1016 +#: src/config/options.inc:1012 msgid "Menu item unselected hotkey colors." msgstr "" -#: src/config/options.inc:1020 +#: src/config/options.inc:1016 msgid "Menu item selected hotkey colors." msgstr "" -#: src/config/options.inc:1022 +#: src/config/options.inc:1018 msgid "Menu frame" msgstr "" -#: src/config/options.inc:1024 +#: src/config/options.inc:1020 msgid "Menu frame colors." msgstr "" -#: src/config/options.inc:1027 +#: src/config/options.inc:1023 msgid "Dialog" msgstr "" -#: src/config/options.inc:1029 +#: src/config/options.inc:1025 msgid "Dialog colors." msgstr "" -#: src/config/options.inc:1039 +#: src/config/options.inc:1035 msgid "Generic" msgstr "" -#: src/config/options.inc:1041 +#: src/config/options.inc:1037 msgid "Generic dialog colors." msgstr "" -#: src/config/options.inc:1043 +#: src/config/options.inc:1039 msgid "Frame" msgstr "" -#: src/config/options.inc:1045 +#: src/config/options.inc:1041 msgid "Dialog frame colors." msgstr "" -#: src/config/options.inc:1047 +#: src/config/options.inc:1043 msgid "Scrollbar" msgstr "" -#: src/config/options.inc:1049 +#: src/config/options.inc:1045 msgid "Scrollbar colors." msgstr "" -#: src/config/options.inc:1051 +#: src/config/options.inc:1047 msgid "Selected scrollbar" msgstr "" -#: src/config/options.inc:1053 +#: src/config/options.inc:1049 msgid "Scrollbar selected colors." msgstr "" -#: src/config/options.inc:1057 +#: src/config/options.inc:1053 msgid "Dialog title colors." msgstr "" -#: src/config/options.inc:1059 +#: src/config/options.inc:1055 msgid "Text" msgstr "Teks" -#: src/config/options.inc:1061 +#: src/config/options.inc:1057 msgid "Dialog text colors." msgstr "" -#: src/config/options.inc:1063 src/viewer/text/form.c:1797 +#: src/config/options.inc:1059 src/viewer/text/form.c:1819 msgid "Checkbox" msgstr "" -#: src/config/options.inc:1065 +#: src/config/options.inc:1061 msgid "Dialog checkbox colors." msgstr "" -#: src/config/options.inc:1067 +#: src/config/options.inc:1063 msgid "Selected checkbox" msgstr "" -#: src/config/options.inc:1069 +#: src/config/options.inc:1065 msgid "Dialog selected checkbox colors." msgstr "" -#: src/config/options.inc:1071 +#: src/config/options.inc:1067 msgid "Checkbox label" msgstr "" -#: src/config/options.inc:1073 +#: src/config/options.inc:1069 msgid "Dialog checkbox label colors." msgstr "" -#: src/config/options.inc:1075 +#: src/config/options.inc:1071 msgid "Button" msgstr "Knoppie" -#: src/config/options.inc:1077 src/config/options.inc:1085 +#: src/config/options.inc:1073 src/config/options.inc:1081 msgid "Dialog button colors." msgstr "" -#: src/config/options.inc:1079 +#: src/config/options.inc:1075 msgid "Selected button" msgstr "" -#: src/config/options.inc:1081 src/config/options.inc:1089 +#: src/config/options.inc:1077 src/config/options.inc:1085 msgid "Dialog selected button colors." msgstr "" -#: src/config/options.inc:1083 +#: src/config/options.inc:1079 msgid "Button shortcut" msgstr "" -#: src/config/options.inc:1087 +#: src/config/options.inc:1083 msgid "Selected button shortcut" msgstr "" -#: src/config/options.inc:1091 src/viewer/text/form.c:1801 +#: src/config/options.inc:1087 src/viewer/text/form.c:1823 msgid "Text field" msgstr "Teksveld" -#: src/config/options.inc:1093 +#: src/config/options.inc:1089 msgid "Dialog text field colors." msgstr "Teksveldkleur in dialoë." -#: src/config/options.inc:1095 +#: src/config/options.inc:1091 msgid "Text field text" msgstr "Teksveldteks" -#: src/config/options.inc:1097 +#: src/config/options.inc:1093 msgid "Dialog field text colors." msgstr "" -#: src/config/options.inc:1099 +#: src/config/options.inc:1095 msgid "Meter" msgstr "" -#: src/config/options.inc:1101 +#: src/config/options.inc:1097 msgid "Dialog meter colors." msgstr "" -#: src/config/options.inc:1103 +#: src/config/options.inc:1099 msgid "Shadow" msgstr "Skadu" -#: src/config/options.inc:1105 +#: src/config/options.inc:1101 msgid "Dialog shadow colors (see ui.shadows option)." msgstr "Skadukleure vir dialoog (sien die ui.shadows-keuse)" -#: src/config/options.inc:1107 +#: src/config/options.inc:1103 msgid "Title bar" msgstr "" -#: src/config/options.inc:1109 +#: src/config/options.inc:1105 msgid "Title bar colors." msgstr "" -#: src/config/options.inc:1111 +#: src/config/options.inc:1107 msgid "Generic title bar" msgstr "" -#: src/config/options.inc:1113 +#: src/config/options.inc:1109 msgid "Generic title bar colors." msgstr "" -#: src/config/options.inc:1115 +#: src/config/options.inc:1111 msgid "Title bar text" msgstr "" -#: src/config/options.inc:1117 +#: src/config/options.inc:1113 msgid "Title bar text colors." msgstr "" -#: src/config/options.inc:1120 +#: src/config/options.inc:1116 msgid "Status bar" msgstr "" -#: src/config/options.inc:1122 +#: src/config/options.inc:1118 msgid "Status bar colors." msgstr "" -#: src/config/options.inc:1124 +#: src/config/options.inc:1120 msgid "Generic status bar" msgstr "" -#: src/config/options.inc:1126 +#: src/config/options.inc:1122 msgid "Generic status bar colors." msgstr "" -#: src/config/options.inc:1128 +#: src/config/options.inc:1124 msgid "Status bar text" msgstr "" -#: src/config/options.inc:1130 +#: src/config/options.inc:1126 msgid "Status bar text colors." msgstr "" -#: src/config/options.inc:1133 +#: src/config/options.inc:1129 msgid "Tabs bar" msgstr "" -#: src/config/options.inc:1135 +#: src/config/options.inc:1131 msgid "Tabs bar colors." msgstr "" -#: src/config/options.inc:1137 +#: src/config/options.inc:1133 msgid "Unvisited tab" msgstr "" -#: src/config/options.inc:1139 +#: src/config/options.inc:1135 msgid "" "Tab colors for tabs that have not been\n" "selected since they completed loading." msgstr "" -#: src/config/options.inc:1142 +#: src/config/options.inc:1138 msgid "Unselected tab" msgstr "" -#: src/config/options.inc:1144 +#: src/config/options.inc:1140 msgid "Unselected tab colors." msgstr "" -#: src/config/options.inc:1146 +#: src/config/options.inc:1142 msgid "Loading tab" msgstr "" -#: src/config/options.inc:1148 +#: src/config/options.inc:1144 msgid "Tab colors for tabs that are loading in the background." msgstr "" -#: src/config/options.inc:1150 +#: src/config/options.inc:1146 msgid "Selected tab" msgstr "" -#: src/config/options.inc:1152 +#: src/config/options.inc:1148 msgid "Selected tab colors." msgstr "" -#: src/config/options.inc:1154 +#: src/config/options.inc:1150 msgid "Tab separator" msgstr "" -#: src/config/options.inc:1156 +#: src/config/options.inc:1152 msgid "Tab separator colors." msgstr "" -#: src/config/options.inc:1159 +#: src/config/options.inc:1155 msgid "Searched strings" msgstr "" -#: src/config/options.inc:1161 +#: src/config/options.inc:1157 msgid "Searched string highlight colors." msgstr "" @@ -3705,66 +3690,66 @@ msgstr "" #. ============= BORING PART (colors) END =================== #. ========================================================== #. Keep options in alphabetical order. -#: src/config/options.inc:1170 +#: src/config/options.inc:1166 msgid "Dialog settings" msgstr "" -#: src/config/options.inc:1172 +#: src/config/options.inc:1168 msgid "Dialogs-specific appearance and behaviour settings." msgstr "" -#: src/config/options.inc:1175 +#: src/config/options.inc:1171 msgid "Minimal height of listbox widget" msgstr "" -#: src/config/options.inc:1177 +#: src/config/options.inc:1173 msgid "" "Minimal height of the listbox widget (used e.g. for bookmarks\n" "or global history)." msgstr "" -#: src/config/options.inc:1180 +#: src/config/options.inc:1176 msgid "Drop shadows" msgstr "" -#: src/config/options.inc:1182 +#: src/config/options.inc:1178 msgid "" "Make dialogs drop shadows (the shadows are solid, you can\n" "adjust their color by ui.colors.*.dialog.shadow). You may\n" "also want to eliminate the wide borders by adjusting setup.h." msgstr "" -#: src/config/options.inc:1186 +#: src/config/options.inc:1182 msgid "Underline menu hotkeys" msgstr "" -#: src/config/options.inc:1188 +#: src/config/options.inc:1184 msgid "" "Whether to underline hotkeys in menus to make them more\n" "visible. Requires the underlining is enabled for the terminal." msgstr "" -#: src/config/options.inc:1191 +#: src/config/options.inc:1187 msgid "Underline button shortcuts" msgstr "" -#: src/config/options.inc:1193 +#: src/config/options.inc:1189 msgid "" "Whether to underline button shortcuts to make them more\n" "visible. Requires the underlining is enabled for the terminal." msgstr "" -#: src/config/options.inc:1197 +#: src/config/options.inc:1193 msgid "Timer options" msgstr "" -#: src/config/options.inc:1199 +#: src/config/options.inc:1195 msgid "" "Timed action after certain interval of user inactivity. Someone can\n" "even find this useful, although you may not believe that." msgstr "" -#: src/config/options.inc:1205 +#: src/config/options.inc:1201 msgid "" "Whether to enable the timer or not:\n" "0 is don't count down anything\n" @@ -3772,7 +3757,7 @@ msgid "" "2 is count down and show the timer near LEDs" msgstr "" -#: src/config/options.inc:1212 +#: src/config/options.inc:1208 msgid "" "Whether to enable the timer or not:\n" "0 is don't count down anything\n" @@ -3780,33 +3765,33 @@ msgid "" "2 is count down and show the timer near LEDs (DISABLED)" msgstr "" -#: src/config/options.inc:1218 +#: src/config/options.inc:1214 msgid "Duration" msgstr "" -#: src/config/options.inc:1220 +#: src/config/options.inc:1216 msgid "" "Inactivity timeout in seconds. The maximum of one day\n" "should be enough for just everyone (TM)." msgstr "" -#: src/config/options.inc:1225 +#: src/config/options.inc:1221 msgid "Keybinding action to be triggered when timer reaches zero." msgstr "" -#: src/config/options.inc:1228 +#: src/config/options.inc:1224 msgid "Window tabs" msgstr "" -#: src/config/options.inc:1230 +#: src/config/options.inc:1226 msgid "Window tabs settings." msgstr "" -#: src/config/options.inc:1232 +#: src/config/options.inc:1228 msgid "Display tabs bar" msgstr "" -#: src/config/options.inc:1234 +#: src/config/options.inc:1230 msgid "" "Show tabs bar on the screen:\n" "0 means never\n" @@ -3814,139 +3799,139 @@ msgid "" "2 means always" msgstr "" -#: src/config/options.inc:1239 +#: src/config/options.inc:1235 msgid "Tab bar at top" msgstr "" -#: src/config/options.inc:1241 +#: src/config/options.inc:1237 msgid "Whether display tab bar at top like other browsers do." msgstr "" -#: src/config/options.inc:1243 +#: src/config/options.inc:1239 msgid "Wrap-around tabs cycling" msgstr "" -#: src/config/options.inc:1245 +#: src/config/options.inc:1241 msgid "" "When moving right from the last tab, jump at the first one, and\n" "vice versa." msgstr "" -#: src/config/options.inc:1248 +#: src/config/options.inc:1244 msgid "Confirm tab closing" msgstr "" -#: src/config/options.inc:1250 +#: src/config/options.inc:1246 msgid "When closing a tab show confirmation dialog." msgstr "" -#: src/config/options.inc:1254 src/config/opttypes.c:408 +#: src/config/options.inc:1250 src/config/opttypes.c:405 msgid "Language" msgstr "Taal" -#: src/config/options.inc:1256 +#: src/config/options.inc:1252 msgid "" "Language of user interface. 'System' means that the language will\n" "be extracted from the environment dynamically." msgstr "" -#: src/config/options.inc:1259 +#: src/config/options.inc:1255 msgid "Display menu bar always" msgstr "" -#: src/config/options.inc:1261 +#: src/config/options.inc:1257 msgid "Always show menu bar on the screen." msgstr "" -#: src/config/options.inc:1263 +#: src/config/options.inc:1259 msgid "Display status bar" msgstr "" -#: src/config/options.inc:1265 +#: src/config/options.inc:1261 msgid "Show status bar on the screen." msgstr "" -#: src/config/options.inc:1267 +#: src/config/options.inc:1263 msgid "Display title bar" msgstr "" -#: src/config/options.inc:1269 +#: src/config/options.inc:1265 msgid "Show title bar on the screen." msgstr "" -#: src/config/options.inc:1271 +#: src/config/options.inc:1267 msgid "Display goto dialog in new tabs" msgstr "" -#: src/config/options.inc:1273 +#: src/config/options.inc:1269 msgid "" "Pop up goto dialog in newly created tabs when there's no homepage\n" "set. This means also showing goto dialog on startup." msgstr "" -#: src/config/options.inc:1276 +#: src/config/options.inc:1272 msgid "Show a message box when file is saved successfully" msgstr "" -#: src/config/options.inc:1278 +#: src/config/options.inc:1274 msgid "" "When you pressed a [ Save ] button in some manager, this option\n" "will make sure that a box confirming success of the operation will\n" "pop up." msgstr "" -#: src/config/options.inc:1283 +#: src/config/options.inc:1279 msgid "Sessions" msgstr "" -#: src/config/options.inc:1285 +#: src/config/options.inc:1281 msgid "Sessions settings." msgstr "" -#: src/config/options.inc:1287 +#: src/config/options.inc:1283 msgid "Keep session active" msgstr "" -#: src/config/options.inc:1289 +#: src/config/options.inc:1285 msgid "Keep the session active even if the last terminal exits." msgstr "" -#: src/config/options.inc:1291 +#: src/config/options.inc:1287 msgid "Auto save session" msgstr "" -#: src/config/options.inc:1293 +#: src/config/options.inc:1289 msgid "" "Automatically save the session when quitting.\n" "This feature requires bookmark support." msgstr "" -#: src/config/options.inc:1296 +#: src/config/options.inc:1292 msgid "Auto restore session" msgstr "" -#: src/config/options.inc:1298 +#: src/config/options.inc:1294 msgid "" "Automatically restore the session at start.\n" "This feature requires bookmark support." msgstr "" -#: src/config/options.inc:1301 +#: src/config/options.inc:1297 msgid "Auto save and restore session folder name" msgstr "" -#: src/config/options.inc:1303 +#: src/config/options.inc:1299 msgid "" "Name of the bookmarks folder used for auto saving and restoring session.\n" "The name has to be unique. Any folders with the same name will be deleted.\n" "This only makes sense with bookmark support." msgstr "" -#: src/config/options.inc:1307 +#: src/config/options.inc:1303 msgid "Homepage URI" msgstr "" -#: src/config/options.inc:1309 +#: src/config/options.inc:1305 msgid "" "The URI to load either at startup time when no URI was given\n" "on the command line or when requested by the goto-url-home action.\n" @@ -3954,19 +3939,19 @@ msgid "" "as homepage URI instead." msgstr "" -#: src/config/options.inc:1315 +#: src/config/options.inc:1311 msgid "Date format" msgstr "Datumformaat" -#: src/config/options.inc:1317 +#: src/config/options.inc:1313 msgid "Date format to use in dialogs. See strftime(3)." msgstr "Datumformaat om in dialoë te gebruik. Sien strftime(3)." -#: src/config/options.inc:1320 +#: src/config/options.inc:1316 msgid "Set window title" msgstr "Stel venstertitel" -#: src/config/options.inc:1322 +#: src/config/options.inc:1318 msgid "" "Set the window title when running in a windowing environment\n" "in an xterm-like terminal. This way the document's title is\n" @@ -3977,65 +3962,65 @@ msgstr "" msgid "Read error" msgstr "Leesfout" -#: src/config/opttypes.c:402 +#: src/config/opttypes.c:399 msgid "Boolean" msgstr "Bools" -#: src/config/opttypes.c:402 +#: src/config/opttypes.c:399 msgid "[0|1]" msgstr "[0|1]" -#: src/config/opttypes.c:403 +#: src/config/opttypes.c:400 msgid "Integer" msgstr "Heelgetal" -#: src/config/opttypes.c:403 src/config/opttypes.c:404 +#: src/config/opttypes.c:400 src/config/opttypes.c:401 msgid "" msgstr "" -#: src/config/opttypes.c:404 +#: src/config/opttypes.c:401 msgid "Longint" msgstr "Lang heelgegetal" -#: src/config/opttypes.c:405 +#: src/config/opttypes.c:402 msgid "String" msgstr "String" -#: src/config/opttypes.c:405 +#: src/config/opttypes.c:402 msgid "" msgstr "" -#: src/config/opttypes.c:407 +#: src/config/opttypes.c:404 msgid "" msgstr "" -#: src/config/opttypes.c:408 +#: src/config/opttypes.c:405 msgid "" msgstr "" -#: src/config/opttypes.c:409 +#: src/config/opttypes.c:406 msgid "Color" msgstr "Kleur" -#: src/config/opttypes.c:409 +#: src/config/opttypes.c:406 msgid "" msgstr "" -#: src/config/opttypes.c:411 +#: src/config/opttypes.c:408 msgid "Special" msgstr "Spesiaal" -#: src/config/opttypes.c:413 +#: src/config/opttypes.c:410 msgid "Alias" msgstr "" #. tree -#: src/config/opttypes.c:416 +#: src/config/opttypes.c:413 msgid "Folder" msgstr "Gids" #. name: -#: src/config/timer.c:73 +#: src/config/timer.c:82 msgid "Periodic Saving" msgstr "" @@ -4045,19 +4030,19 @@ msgid "Goto URL History" msgstr "" #. name: -#: src/cookies/cookies.c:80 src/cookies/cookies.c:858 +#: src/cookies/cookies.c:88 src/cookies/cookies.c:911 msgid "Cookies" msgstr "Koekies" -#: src/cookies/cookies.c:82 +#: src/cookies/cookies.c:90 msgid "Cookies options." msgstr "Koekiekeuses" -#: src/cookies/cookies.c:84 +#: src/cookies/cookies.c:92 msgid "Accept policy" msgstr "Aanvaardingsbeleid" -#: src/cookies/cookies.c:87 +#: src/cookies/cookies.c:95 msgid "" "Cookies accepting policy:\n" "0 is accept no cookies\n" @@ -4069,11 +4054,11 @@ msgstr "" "1 is vra eers vir bevestiging voor een aanvaar word\n" "2 is aanvaar alle koekies" -#: src/cookies/cookies.c:92 +#: src/cookies/cookies.c:100 msgid "Maximum age" msgstr "Maksimum ouderdom" -#: src/cookies/cookies.c:94 +#: src/cookies/cookies.c:102 msgid "" "Cookie maximum age (in days):\n" "-1 is use cookie's expiration date if any\n" @@ -4089,11 +4074,11 @@ msgstr "" "1+ is gebruik die koekie se vervaldatum, maar beperk\n" " die ouderdom tot die gegewe aantal dae" -#: src/cookies/cookies.c:101 +#: src/cookies/cookies.c:109 msgid "Paranoid security" msgstr "Paranoïese sekuriteit" -#: src/cookies/cookies.c:103 +#: src/cookies/cookies.c:111 msgid "" "When enabled, we'll require three dots in cookies domain for all\n" "non-international domains (instead of just two dots). Some countries\n" @@ -4109,19 +4094,19 @@ msgstr "" "aangesien\n" "dit baie werwe breek." -#: src/cookies/cookies.c:109 +#: src/cookies/cookies.c:117 msgid "Saving" msgstr "Stoor" -#: src/cookies/cookies.c:111 +#: src/cookies/cookies.c:119 msgid "Whether cookies should be loaded from and save to disk." msgstr "Of koekies van/na die skyf gelaai/gestoor moet word." -#: src/cookies/cookies.c:113 +#: src/cookies/cookies.c:121 msgid "Resaving" msgstr "Herstoor" -#: src/cookies/cookies.c:115 +#: src/cookies/cookies.c:123 msgid "" "Save cookies after each change in cookies list? No effect when\n" "cookie saving (cookies.save) is off." @@ -4129,7 +4114,20 @@ msgstr "" "Stoor koekies na elke verandering in die koekielys? Geen effek\n" "as koekies nooit gestoor word nie (koekies.stoor)." -#: src/cookies/dialogs.c:36 src/cookies/dialogs.c:352 +#: src/cookies/cookies.c:817 +#, fuzzy +msgid "Cannot save cookies" +msgstr "Skrap alle koekies" + +#: src/cookies/cookies.c:828 +msgid "ELinks was started without a home directory." +msgstr "" + +#: src/cookies/cookies.c:834 +msgid "ELinks was started with the -anonymous option." +msgstr "" + +#: src/cookies/dialogs.c:36 src/cookies/dialogs.c:368 msgid "Domain" msgstr "Domein" @@ -4142,7 +4140,7 @@ msgstr "Pad" msgid "at quit time" msgstr "met afsluiting" -#: src/cookies/dialogs.c:49 src/cookies/dialogs.c:354 +#: src/cookies/dialogs.c:49 src/cookies/dialogs.c:370 msgid "Secure" msgstr "" @@ -4154,115 +4152,115 @@ msgstr "ja" msgid "no" msgstr "nee" -#: src/cookies/dialogs.c:70 +#: src/cookies/dialogs.c:82 #, c-format msgid "Do you want to accept a cookie from %s?" msgstr "Wil u 'n koekie van %s aanvaar?" -#: src/cookies/dialogs.c:78 +#: src/cookies/dialogs.c:90 msgid "Accept cookie?" msgstr "Aanvaar koekie?" #. accelerator_context(accept_cookie_dialog) -#: src/cookies/dialogs.c:81 +#: src/cookies/dialogs.c:93 msgid "~Accept" msgstr "~Aanvaar" #. accelerator_context(accept_cookie_dialog) -#: src/cookies/dialogs.c:82 +#: src/cookies/dialogs.c:94 msgid "~Reject" msgstr "~Keur af" -#: src/cookies/dialogs.c:149 src/cookies/dialogs.c:342 +#: src/cookies/dialogs.c:161 src/cookies/dialogs.c:357 #: src/dialogs/document.c:177 msgid "Server" msgstr "Bediener" #. cant_delete_item -#: src/cookies/dialogs.c:201 +#: src/cookies/dialogs.c:209 #, c-format msgid "Sorry, but cookie \"%s\" cannot be deleted." msgstr "Jammer, maar koekie \"%s\" kan nie geskrap word nie." #. cant_delete_used_item -#: src/cookies/dialogs.c:203 +#: src/cookies/dialogs.c:211 #, c-format msgid "Sorry, but cookie \"%s\" is being used by something else." msgstr "Jammer, maar koekie \"%s\" word deur iets anders gebruik." #. cant_delete_folder -#: src/cookies/dialogs.c:205 +#: src/cookies/dialogs.c:213 #, c-format msgid "Sorry, but cookie domain \"%s\" cannot be deleted." msgstr "Jammer, maar koekiedomein \"%s\" kan nie geskrap word nie." #. cant_delete_used_folder -#: src/cookies/dialogs.c:207 +#: src/cookies/dialogs.c:215 #, c-format msgid "Sorry, but cookie domain \"%s\" is being used by something else." msgstr "Jammer, maar koekiedomein \"%s\" word deur iets anders gebruik." #. delete_marked_items_title -#: src/cookies/dialogs.c:209 +#: src/cookies/dialogs.c:217 msgid "Delete marked cookies" msgstr "Skrap gemerkte koekies" #. delete_marked_items -#: src/cookies/dialogs.c:211 +#: src/cookies/dialogs.c:219 msgid "Delete marked cookies?" msgstr "Skrap gemerkte koekies?" #. delete_folder_title -#: src/cookies/dialogs.c:213 +#: src/cookies/dialogs.c:221 msgid "Delete domain's cookies" msgstr "Skrap domein se koekies" #. delete_folder -#: src/cookies/dialogs.c:215 +#: src/cookies/dialogs.c:223 #, c-format msgid "Delete all cookies from domain \"%s\"?" msgstr "Skrap alle koekies van domein \"%s\"?" #. delete_item_title -#: src/cookies/dialogs.c:217 +#: src/cookies/dialogs.c:225 msgid "Delete cookie" msgstr "Skrap koekie" -#: src/cookies/dialogs.c:219 +#: src/cookies/dialogs.c:227 #, c-format msgid "Delete this cookie?" msgstr "Skrap hierdie koekie?" #. clear_all_items_title -#: src/cookies/dialogs.c:221 +#: src/cookies/dialogs.c:229 msgid "Clear all cookies" msgstr "Skrap alle koekies" #. clear_all_items_title -#: src/cookies/dialogs.c:223 +#: src/cookies/dialogs.c:231 msgid "Do you really want to remove all cookies?" msgstr "Wil u regtig alle koekies skrap?" -#: src/cookies/dialogs.c:448 +#: src/cookies/dialogs.c:464 msgid "Add server" msgstr "Voeg bediener by" -#: src/cookies/dialogs.c:452 +#: src/cookies/dialogs.c:468 msgid "Server name" msgstr "Bedienernaam" #. accelerator_context(src/cookies/dialogs.c:cookie_buttons) -#: src/cookies/dialogs.c:475 +#: src/cookies/dialogs.c:491 msgid "Add ~server" msgstr "Voeg ~bediener by" #. accelerator_context(do_edit_dialog, src/cookies/dialogs.c:cookie_buttons, src/dialogs/download.c:download_buttons, src/globhist/dialogs.c:globhist_buttons, src/protocol/auth/dialogs.c:auth_buttons) -#: src/cookies/dialogs.c:478 src/dialogs/download.c:498 src/dialogs/edit.c:99 +#: src/cookies/dialogs.c:494 src/dialogs/download.c:498 src/dialogs/edit.c:99 #: src/globhist/dialogs.c:232 src/protocol/auth/dialogs.c:264 msgid "C~lear" msgstr "Maak skoon" -#: src/cookies/dialogs.c:484 +#: src/cookies/dialogs.c:500 msgid "Cookie manager" msgstr "Koekiebestuurder" @@ -4322,8 +4320,8 @@ msgstr "Interne kopinligting" msgid "No header info." msgstr "Geen kopinligting." -#: src/dialogs/download.c:243 src/dialogs/menu.c:593 -#: src/protocol/bittorrent/dialogs.c:228 src/session/download.c:398 +#: src/dialogs/download.c:243 src/dialogs/menu.c:598 +#: src/protocol/bittorrent/dialogs.c:228 src/session/download.c:399 msgid "Download" msgstr "Aflaai" @@ -4416,14 +4414,11 @@ msgid "Copying" msgstr "" #: src/dialogs/info.c:143 -#, c-format +#, fuzzy, c-format msgid "" "ELinks %s\n" "\n" -"(C) 1999 - 2002 Mikulas Patocka\n" -"(C) 2001 - 2004 Petr Baudis\n" -"(C) 2002 - 2006 Jonas Fonseca\n" -"and others\n" +"%set al.\n" "\n" "This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " @@ -4441,129 +4436,129 @@ msgstr "" "gepubliseer deur die Stigting vir Vrye Sagteware, spesifiek weergawe 2 van " "die lisensie." -#: src/dialogs/info.c:171 src/dialogs/info.c:276 +#: src/dialogs/info.c:169 src/dialogs/info.c:274 msgid "Resources" msgstr "Hulpbronne" -#: src/dialogs/info.c:175 +#: src/dialogs/info.c:173 #, c-format msgid "%ld handle" msgid_plural "%ld handles" msgstr[0] "" msgstr[1] "" -#: src/dialogs/info.c:179 +#: src/dialogs/info.c:177 #, c-format msgid "%ld timer" msgid_plural "%ld timers" msgstr[0] "" msgstr[1] "" -#: src/dialogs/info.c:186 +#: src/dialogs/info.c:184 #, c-format msgid "%ld connection" msgid_plural "%ld connections" msgstr[0] "%ld verbinding" msgstr[1] "%ld verbindings" -#: src/dialogs/info.c:190 +#: src/dialogs/info.c:188 #, c-format msgid "%ld connecting" msgid_plural "%ld connecting" msgstr[0] "%ld verbind" msgstr[1] "%ld verbind" -#: src/dialogs/info.c:194 +#: src/dialogs/info.c:192 #, c-format msgid "%ld transferring" msgid_plural "%ld transferring" msgstr[0] "%ld dra oor" msgstr[1] "%ld dra oor" -#: src/dialogs/info.c:198 +#: src/dialogs/info.c:196 #, c-format msgid "%ld keepalive" msgid_plural "%ld keepalive" msgstr[0] "" msgstr[1] "" -#: src/dialogs/info.c:206 src/dialogs/info.c:258 +#: src/dialogs/info.c:204 src/dialogs/info.c:256 #, c-format msgid "%ld byte" msgid_plural "%ld bytes" msgstr[0] "%ld greep" msgstr[1] "%ld grepe" -#: src/dialogs/info.c:210 +#: src/dialogs/info.c:208 #, c-format msgid "%ld file" msgid_plural "%ld files" msgstr[0] "%ld lêer" msgstr[1] "%ld lêers" -#: src/dialogs/info.c:214 src/dialogs/info.c:229 +#: src/dialogs/info.c:212 src/dialogs/info.c:227 #, c-format msgid "%ld in use" msgid_plural "%ld in use" msgstr[0] "%ld in gebruik" msgstr[1] "%ld in gebruik" -#: src/dialogs/info.c:218 +#: src/dialogs/info.c:216 #, c-format msgid "%ld loading" msgid_plural "%ld loading" msgstr[0] "%ld laai" msgstr[1] "%ld laai" -#: src/dialogs/info.c:221 +#: src/dialogs/info.c:219 msgid "Document cache" msgstr "Dokumentkas" -#: src/dialogs/info.c:225 +#: src/dialogs/info.c:223 #, c-format msgid "%ld formatted" msgid_plural "%ld formatted" msgstr[0] "%ld geformateer" msgstr[1] "%ld geformateer" -#: src/dialogs/info.c:233 +#: src/dialogs/info.c:231 #, c-format msgid "%ld refreshing" msgid_plural "%ld refreshing" msgstr[0] "" msgstr[1] "" -#: src/dialogs/info.c:236 +#: src/dialogs/info.c:234 msgid "Interlinking" msgstr "" -#: src/dialogs/info.c:239 +#: src/dialogs/info.c:237 msgid "master terminal" msgstr "meesterterminaal" -#: src/dialogs/info.c:241 +#: src/dialogs/info.c:239 msgid "slave terminal" msgstr "slaafterminaal" -#: src/dialogs/info.c:245 +#: src/dialogs/info.c:243 #, c-format msgid "%ld terminal" msgid_plural "%ld terminals" msgstr[0] "%ld terminaal" msgstr[1] "%ld terminale" -#: src/dialogs/info.c:249 +#: src/dialogs/info.c:247 #, c-format msgid "%ld session" msgid_plural "%ld sessions" msgstr[0] "%ld sessie" msgstr[1] "%ld sessies" -#: src/dialogs/info.c:254 +#: src/dialogs/info.c:252 msgid "Memory allocated" msgstr "" -#: src/dialogs/info.c:262 +#: src/dialogs/info.c:260 #, c-format msgid "%ld byte overhead" msgid_plural "%ld bytes overhead" @@ -4574,393 +4569,398 @@ msgstr[1] "%ld grepe oorhoofse koste" msgid "Save URL" msgstr "Stoor URL" -#: src/dialogs/menu.c:96 src/dialogs/menu.c:537 +#: src/dialogs/menu.c:96 src/dialogs/menu.c:542 msgid "Enter URL" msgstr "Tik URL in" -#: src/dialogs/menu.c:121 +#: src/dialogs/menu.c:125 msgid "Exit ELinks" msgstr "Verlaat ELinks" -#: src/dialogs/menu.c:123 +#: src/dialogs/menu.c:127 msgid "Do you really want to exit ELinks (and terminate all downloads)?" msgstr "Wil u regtig ELinks verlaat (en alle aflaaie nietig maak)?" -#: src/dialogs/menu.c:125 +#: src/dialogs/menu.c:129 msgid "Do you really want to exit ELinks?" msgstr "Wil u regtig ELinks verlaat?" -#: src/dialogs/menu.c:161 +#: src/dialogs/menu.c:165 msgid "No history" msgstr "Geen geskiedenis" #. accelerator_context(src/dialogs/menu.c:file_menu, tab_menu) -#: src/dialogs/menu.c:233 src/dialogs/menu.c:309 +#: src/dialogs/menu.c:237 src/dialogs/menu.c:313 msgid "Go ~back" msgstr "Gaan ~terug" #. accelerator_context(tab_menu) -#: src/dialogs/menu.c:234 +#: src/dialogs/menu.c:238 msgid "Go for~ward" msgstr "Gaan ~vorentoe" #. accelerator_context(src/dialogs/menu.c:file_menu, tab_menu) -#: src/dialogs/menu.c:241 src/dialogs/menu.c:322 +#: src/dialogs/menu.c:245 src/dialogs/menu.c:326 msgid "Bookm~ark document" msgstr "~Boekmerk dokument" #. accelerator_context(src/dialogs/menu.c:view_menu, tab_menu) -#: src/dialogs/menu.c:245 src/dialogs/menu.c:414 +#: src/dialogs/menu.c:249 src/dialogs/menu.c:418 msgid "Toggle ~html/plain" msgstr "Wissel ~html/gewoon" #. accelerator_context(tab_menu) -#: src/dialogs/menu.c:246 +#: src/dialogs/menu.c:250 msgid "~Reload" msgstr "~Herlaai" #. accelerator_context(src/dialogs/menu.c:view_menu, tab_menu) -#: src/dialogs/menu.c:249 src/dialogs/menu.c:424 +#: src/dialogs/menu.c:253 src/dialogs/menu.c:428 msgid "Frame at ~full-screen" msgstr "Raam in ~volle skerm" #. accelerator_context(tab_menu) -#: src/dialogs/menu.c:251 +#: src/dialogs/menu.c:255 msgid "~Pass frame URI to external command" msgstr "~Stuur raam se URI na eksterne opdrag" #. accelerator_context(src/dialogs/menu.c:view_menu, tab_menu) -#: src/dialogs/menu.c:259 src/dialogs/menu.c:426 +#: src/dialogs/menu.c:263 src/dialogs/menu.c:430 msgid "Nex~t tab" msgstr "Vol~gende oortjie" #. accelerator_context(src/dialogs/menu.c:view_menu, tab_menu) -#: src/dialogs/menu.c:260 src/dialogs/menu.c:427 +#: src/dialogs/menu.c:264 src/dialogs/menu.c:431 msgid "Pre~v tab" msgstr "Vo~rige oortjie" #. accelerator_context(src/dialogs/menu.c:view_menu, tab_menu) -#: src/dialogs/menu.c:263 src/dialogs/menu.c:428 +#: src/dialogs/menu.c:267 src/dialogs/menu.c:432 msgid "~Close tab" msgstr "~Sluit oortjie" #. accelerator_context(tab_menu) -#: src/dialogs/menu.c:266 +#: src/dialogs/menu.c:270 msgid "C~lose all tabs but the current" msgstr "S~luit alle oortjies behalwe die huidige een" #. accelerator_context(tab_menu) -#: src/dialogs/menu.c:270 +#: src/dialogs/menu.c:274 msgid "B~ookmark all tabs" msgstr "B~oekmerk alle oortjies" #. accelerator_context(tab_menu) -#: src/dialogs/menu.c:278 +#: src/dialogs/menu.c:282 msgid "Pass tab URI to e~xternal command" msgstr "Stuur oortjie se URI na ~eksterke opdrag" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:306 +#: src/dialogs/menu.c:310 msgid "Open new ~tab" msgstr "Open nuwe ~oortjie" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:307 +#: src/dialogs/menu.c:311 msgid "Open new tab in backgroun~d" msgstr "Maak nuwe oortjie oop in die agtergron~d" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:308 +#: src/dialogs/menu.c:312 msgid "~Go to URL" msgstr "~Gaan na URL" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:310 +#: src/dialogs/menu.c:314 msgid "Go ~forward" msgstr "Gaan ~vorentoe" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:311 +#: src/dialogs/menu.c:315 msgid "~History" msgstr "Ge~skiedenis" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:312 +#: src/dialogs/menu.c:316 msgid "~Unhistory" msgstr "~Toekoms" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:318 +#: src/dialogs/menu.c:322 msgid "~Save as" msgstr "~Stoor as" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:319 +#: src/dialogs/menu.c:323 msgid "Save UR~L as" msgstr "Stoor UR~L as" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:320 +#: src/dialogs/menu.c:324 msgid "Sa~ve formatted document" msgstr "Stoor ge~formatteerde teks" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:329 +#: src/dialogs/menu.c:333 msgid "~Kill background connections" msgstr "" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:330 +#: src/dialogs/menu.c:334 msgid "Flush all ~caches" msgstr "" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:331 +#: src/dialogs/menu.c:335 msgid "Resource ~info" msgstr "~Hulpbroninligting" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:338 +#: src/dialogs/menu.c:342 msgid "E~xit" msgstr "~Sluit af" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:365 +#: src/dialogs/menu.c:369 msgid "Open ~new window" msgstr "Open nuwe ~venster" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:384 +#: src/dialogs/menu.c:388 msgid "~OS shell" msgstr "" #. accelerator_context(src/dialogs/menu.c:file_menu) -#: src/dialogs/menu.c:391 +#: src/dialogs/menu.c:395 msgid "Resize t~erminal" msgstr "Stel t~erminaalgrootte" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:409 +#: src/dialogs/menu.c:413 msgid "Search ~backward" msgstr "Soek ~agtertoe" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:410 +#: src/dialogs/menu.c:414 msgid "Find ~next" msgstr "Vind vol~gende" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:411 +#: src/dialogs/menu.c:415 msgid "Find ~previous" msgstr "Vind vo~rige" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:412 +#: src/dialogs/menu.c:416 msgid "T~ypeahead search" msgstr "" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:415 +#: src/dialogs/menu.c:419 msgid "Toggle i~mages" msgstr "Wissel ~prente" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:416 +#: src/dialogs/menu.c:420 msgid "Toggle ~link numbering" msgstr "Wissel ~skakelnommers" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:417 +#: src/dialogs/menu.c:421 msgid "Toggle ~document colors" msgstr "Wissel ~dokumentkleure" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:418 +#: src/dialogs/menu.c:422 msgid "~Wrap text on/off" msgstr "Wissel ~teksomvouing" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:420 +#: src/dialogs/menu.c:424 msgid "Document ~info" msgstr "Dokument~inligting" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:421 +#: src/dialogs/menu.c:425 msgid "H~eader info" msgstr "~Kopinligting" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:422 +#: src/dialogs/menu.c:426 msgid "Rel~oad document" msgstr "~Herlaai dokument" #. accelerator_context(src/dialogs/menu.c:view_menu) -#: src/dialogs/menu.c:423 +#: src/dialogs/menu.c:427 msgid "~Rerender document" msgstr "~Teken dokument oor" #. accelerator_context(src/dialogs/menu.c:help_menu) -#: src/dialogs/menu.c:435 +#: src/dialogs/menu.c:439 msgid "~ELinks homepage" msgstr "~ELinks-tuisblad" #. accelerator_context(src/dialogs/menu.c:help_menu) -#: src/dialogs/menu.c:436 +#: src/dialogs/menu.c:440 msgid "~Documentation" msgstr "~Dokumentasie" #. accelerator_context(src/dialogs/menu.c:help_menu) -#: src/dialogs/menu.c:437 +#: src/dialogs/menu.c:441 msgid "~Keys" msgstr "~Sleutels" #. accelerator_context(src/dialogs/menu.c:help_menu) -#: src/dialogs/menu.c:439 +#: src/dialogs/menu.c:443 msgid "LED ~indicators" msgstr "~LED-aanwysers" #. accelerator_context(src/dialogs/menu.c:help_menu) -#: src/dialogs/menu.c:442 +#: src/dialogs/menu.c:446 msgid "~Bugs information" msgstr "~Foute-inligting" #. accelerator_context(src/dialogs/menu.c:help_menu) -#: src/dialogs/menu.c:444 +#: src/dialogs/menu.c:448 msgid "ELinks ~GITWeb" msgstr "ELinks-~GITWeb" #. accelerator_context(src/dialogs/menu.c:help_menu) -#: src/dialogs/menu.c:447 +#: src/dialogs/menu.c:451 msgid "~Copying" msgstr "~Kopiëring" #. accelerator_context(src/dialogs/menu.c:help_menu) -#: src/dialogs/menu.c:448 +#: src/dialogs/menu.c:452 +msgid "Autho~rs" +msgstr "" + +#. accelerator_context(src/dialogs/menu.c:help_menu) +#: src/dialogs/menu.c:453 msgid "~About" msgstr "~Aangaande" #. accelerator_context(src/dialogs/menu.c:ext_menu) -#: src/dialogs/menu.c:456 +#: src/dialogs/menu.c:461 msgid "~Modify" msgstr "~Wysig" #. accelerator_context(src/dialogs/menu.c:setup_menu) -#: src/dialogs/menu.c:464 src/dialogs/menu.c:478 +#: src/dialogs/menu.c:469 src/dialogs/menu.c:483 msgid "~Language" msgstr "~Taal" #. accelerator_context(src/dialogs/menu.c:setup_menu) -#: src/dialogs/menu.c:466 src/dialogs/menu.c:479 +#: src/dialogs/menu.c:471 src/dialogs/menu.c:484 msgid "C~haracter set" msgstr "~Karakterstel" #. accelerator_context(src/dialogs/menu.c:setup_menu) -#: src/dialogs/menu.c:467 src/dialogs/menu.c:480 +#: src/dialogs/menu.c:472 src/dialogs/menu.c:485 msgid "~Terminal options" msgstr "T~erminaalkeuses" #. accelerator_context(src/dialogs/menu.c:setup_menu) -#: src/dialogs/menu.c:468 +#: src/dialogs/menu.c:473 msgid "File ~extensions" msgstr "~Lêeruitbreidings" #. accelerator_context(src/dialogs/menu.c:setup_menu) -#: src/dialogs/menu.c:470 +#: src/dialogs/menu.c:475 msgid "~Options manager" msgstr "Ke~usebestuurder" #. accelerator_context(src/dialogs/menu.c:setup_menu) -#: src/dialogs/menu.c:471 +#: src/dialogs/menu.c:476 msgid "~Keybinding manager" msgstr "Kortpa~dbestuurder" #. accelerator_context(src/dialogs/menu.c:setup_menu) -#: src/dialogs/menu.c:472 +#: src/dialogs/menu.c:477 msgid "~Save options" msgstr "~Stoor keuses" #. accelerator_context(src/dialogs/menu.c:tools_menu) -#: src/dialogs/menu.c:487 +#: src/dialogs/menu.c:492 msgid "Global ~history" msgstr "Globale ~geskiedenis" #. accelerator_context(src/dialogs/menu.c:tools_menu) -#: src/dialogs/menu.c:490 +#: src/dialogs/menu.c:495 msgid "~Bookmarks" msgstr "~Boekmerke" #. accelerator_context(src/dialogs/menu.c:tools_menu) -#: src/dialogs/menu.c:492 +#: src/dialogs/menu.c:497 msgid "~Cache" msgstr "~Kas" #. accelerator_context(src/dialogs/menu.c:tools_menu) -#: src/dialogs/menu.c:493 +#: src/dialogs/menu.c:498 msgid "~Downloads" msgstr "~Afgelaai" #. accelerator_context(src/dialogs/menu.c:tools_menu) -#: src/dialogs/menu.c:495 +#: src/dialogs/menu.c:500 msgid "Coo~kies" msgstr "K~oekies" #. accelerator_context(src/dialogs/menu.c:tools_menu) -#: src/dialogs/menu.c:498 +#: src/dialogs/menu.c:503 msgid "~Form history" msgstr "~Vormgeskiedenis" #. accelerator_context(src/dialogs/menu.c:tools_menu) -#: src/dialogs/menu.c:500 +#: src/dialogs/menu.c:505 msgid "~Authentication" msgstr "~Magtiging" #. accelerator_context(src/dialogs/menu.c:main_menu) -#: src/dialogs/menu.c:517 +#: src/dialogs/menu.c:522 msgid "~File" msgstr "~Lêer" #. accelerator_context(src/dialogs/menu.c:main_menu) -#: src/dialogs/menu.c:518 +#: src/dialogs/menu.c:523 msgid "~View" msgstr "~Bekyk" #. accelerator_context(src/dialogs/menu.c:main_menu) -#: src/dialogs/menu.c:519 +#: src/dialogs/menu.c:524 msgid "~Link" msgstr "~Skakel" #. accelerator_context(src/dialogs/menu.c:main_menu) -#: src/dialogs/menu.c:520 +#: src/dialogs/menu.c:525 msgid "~Tools" msgstr "~Nutsgoed" #. accelerator_context(src/dialogs/menu.c:main_menu) -#: src/dialogs/menu.c:521 +#: src/dialogs/menu.c:526 msgid "~Setup" msgstr "~Opstelling" #. accelerator_context(src/dialogs/menu.c:main_menu) -#: src/dialogs/menu.c:522 +#: src/dialogs/menu.c:527 msgid "~Help" msgstr "~Hulp" -#: src/dialogs/menu.c:537 +#: src/dialogs/menu.c:542 msgid "Go to URL" msgstr "Gaan na URL" -#: src/dialogs/menu.c:593 +#: src/dialogs/menu.c:598 msgid "Save to file" msgstr "Stoor na lêer" -#: src/dialogs/menu.c:928 +#: src/dialogs/menu.c:933 msgid "Empty directory" msgstr "Leë gids" -#: src/dialogs/menu.c:972 +#: src/dialogs/menu.c:977 msgid "Directories:" msgstr "Gidse:" -#: src/dialogs/menu.c:985 +#: src/dialogs/menu.c:990 msgid "Files:" msgstr "Lêers:" @@ -5099,65 +5099,67 @@ msgstr "geskatte tyd" msgid "ETA" msgstr "" -#: src/dialogs/status.c:184 +#: src/dialogs/status.c:185 +#, c-format msgid "Enter a mark to set" msgstr "" -#: src/dialogs/status.c:188 +#: src/dialogs/status.c:189 +#, c-format msgid "Enter a mark to which to jump" msgstr "" -#: src/dialogs/status.c:195 +#: src/dialogs/status.c:196 #, c-format msgid "Keyboard prefix: %d" msgstr "" -#: src/dialogs/status.c:219 +#: src/dialogs/status.c:226 #, c-format msgid "Cursor position: %dx%d" msgstr "" -#: src/dialogs/status.c:319 +#: src/dialogs/status.c:326 msgid "Untitled" msgstr "Naamloos" -#: src/dialogs/status.c:321 +#: src/dialogs/status.c:328 msgid "No document" msgstr "Geen dokument" #. name: -#: src/document/css/css.c:28 src/document/css/css.c:155 +#: src/document/css/css.c:30 src/document/css/css.c:161 msgid "Cascading Style Sheets" msgstr "Cascading Style Sheets" -#: src/document/css/css.c:30 +#: src/document/css/css.c:32 msgid "Options concerning how to use CSS for styling documents." msgstr "Keuses oor hoe om CSS te gebruik vir stilering van dokumente." -#: src/document/css/css.c:32 +#: src/document/css/css.c:34 msgid "Enable CSS" msgstr "Aktiveer CSS" -#: src/document/css/css.c:34 +#: src/document/css/css.c:36 msgid "Enable adding of CSS style info to documents." msgstr "Aktiveer die toevoeging van CSS-stylinligting tot dokumente." -#: src/document/css/css.c:36 +#: src/document/css/css.c:38 msgid "Import external style sheets" msgstr "Voer eksterne styllêers in" -#: src/document/css/css.c:38 +#: src/document/css/css.c:40 msgid "" "When enabled any external style sheets that are imported from\n" "either CSS itself using the @import keyword or from the HTML using\n" " tags in the document header will also be downloaded." msgstr "" -#: src/document/css/css.c:42 +#: src/document/css/css.c:44 msgid "Default style sheet" msgstr "Verstek styllêer" -#: src/document/css/css.c:44 +#: src/document/css/css.c:46 msgid "" "The path to the file containing the default user defined\n" "Cascading Style Sheet. It can be used to control the basic\n" @@ -5167,57 +5169,57 @@ msgid "" msgstr "" #. name: -#: src/ecmascript/ecmascript.c:40 src/ecmascript/ecmascript.c:311 +#: src/ecmascript/ecmascript.c:41 src/ecmascript/ecmascript.c:367 msgid "ECMAScript" msgstr "ECMAScript" -#: src/ecmascript/ecmascript.c:42 +#: src/ecmascript/ecmascript.c:43 msgid "ECMAScript options." msgstr "ECMAScript-keuses." -#: src/ecmascript/ecmascript.c:46 +#: src/ecmascript/ecmascript.c:47 msgid "Whether to run those scripts inside of documents." msgstr "" -#: src/ecmascript/ecmascript.c:48 +#: src/ecmascript/ecmascript.c:49 msgid "Script error reporting" msgstr "" -#: src/ecmascript/ecmascript.c:50 +#: src/ecmascript/ecmascript.c:51 msgid "Open a message box when a script reports an error." msgstr "" -#: src/ecmascript/ecmascript.c:52 +#: src/ecmascript/ecmascript.c:53 msgid "Ignore