1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-12 22:24:47 +02:00

Compare commits

...

187 Commits

Author SHA1 Message Date
Sébastien Helleu b452be6417 Version 4.8.2 2026-03-06 23:15:44 +01:00
Sébastien Helleu 0fbb99763d core: remove trailing backslash in German translation of /help buflist.look.add_newline 2026-02-16 20:15:23 +01:00
Sébastien Helleu 65ef552251 core: replace real tab by \t in German translation of /help filter
This was causing a display issue because the tab char is used to separate
prefix from message.
2026-02-16 20:13:59 +01:00
Sébastien Helleu 05f9129e65 relay/api: fix memory leak in receive of message from remote WeeChat 2026-02-16 20:11:51 +01:00
Sébastien Helleu 113f72f70e relay/api: fix memory leaks in resources "ping" and "sync" 2026-02-16 20:11:36 +01:00
Sébastien Helleu 0987e12e83 irc: ignore self join if the channel is already joined (issue #2291)
There is an issue with some IRC servers that may send a JOIN with self nick
once already on the channel, this results in a clear of the nicklist on the
second JOIN received.

This fix silently ignores the second self JOIN if the channel is already
joined (with at least one nick).
2025-12-14 15:22:30 +01:00
Sébastien Helleu 097862e0f0 Version 4.8.2-dev 2025-12-01 19:45:34 +01:00
Sébastien Helleu 6b3398fcb5 Version 4.8.1 2025-12-01 19:43:41 +01:00
Sébastien Helleu 52c53d6985 core: add IRC SASL EXTERNAL in upgrade guidelines for version 4.8.0 2025-12-01 18:02:35 +01:00
Sébastien Helleu 608038374e irc: fix creation of irc.msgbuffer option without a server name
The regression was introduced by commit
1b669cd13c, which allowed a server name with
upper case but rejected a name or alias with upper case.

This commit fixed the creation of the option when the server name is not given,
so this command works again:

  /set irc.msgbuffer.whois current
2025-12-01 07:49:36 +01:00
Sébastien Helleu 7f3ad1c054 ci: add build with type "Release" and gcc hardened options in matrix 2025-11-30 14:19:25 +01:00
Sébastien Helleu 5d4546eb85 core: update ChangeLog (issue #2289) 2025-11-30 13:35:19 +01:00
Sébastien Helleu 00b7a656a7 Version 4.8.1-dev 2025-11-30 13:35:19 +01:00
Sébastien Helleu 3520c9af0f core: fix order of sections in ChangeLog 2025-11-30 11:34:44 +01:00
Sébastien Helleu a76bfb1f26 core: fix compiler warning on possible buffer overflow in function util_parse_time (issue #2289) 2025-11-30 11:32:27 +01:00
Sébastien Helleu 2534976281 Version 4.8.0 2025-11-30 09:09:35 +01:00
Sébastien Helleu c3f2252385 core: add missing links to upgrade guidelines in ChangeLog 2025-11-30 09:00:26 +01:00
Sébastien Helleu 83e3e6973c debian: update changelog 2025-11-30 08:32:23 +01:00
Sébastien Helleu c56389d12e debian: update watch to version 5 2025-11-30 08:29:10 +01:00
Sébastien Helleu 12717ff689 core: add upgrade guidelines for version 4.8.0 2025-11-30 08:23:56 +01:00
Sébastien Helleu d8569ffe27 buflist: add variable ${index_displayed} 2025-11-28 18:45:22 +01:00
Sébastien Helleu 62c99f8938 core: update translations 2025-11-28 18:40:59 +01:00
Sébastien Helleu a3f733d29a core: fix styles in ChangeLog 2025-11-28 17:36:30 +01:00
Ivan Pešić c9c402d202 core/doc: update Serbian translation 2025-11-24 11:40:36 +01:00
Krzysztof Korościk 7ce1e8c05f core: updated Polish translation 2025-11-24 00:16:02 +01:00
Krzysztof Korościk 0be2d45f6a doc: updated Polish translations 2025-11-23 23:58:06 +01:00
Sébastien Helleu 4e0cc14b79 ci: disable schemathesis output sanitization 2025-11-23 15:01:34 +01:00
Sébastien Helleu c18d8ecc1d core: add version 4.7.2 2025-11-23 14:17:25 +01:00
Sébastien Helleu dd454dfc50 tests: merge tests of buffer set functions into gui_buffer_set 2025-11-23 10:36:21 +01:00
Sébastien Helleu 1f0d8d3849 core: add condition on new_tags in functions gui_buffer_set_highlight_tags_restrict and gui_buffer_set_highlight_tags 2025-11-23 10:36:21 +01:00
Sébastien Helleu c248aa42ce core: simplify code in gui_buffer_set functions 2025-11-23 10:36:21 +01:00
Sébastien Helleu 2832ef333e core: do not add/remove highlight words if value is empty in call to gui_buffer_set() 2025-11-23 10:36:21 +01:00
Sébastien Helleu 5543bc236b tests: add tests on gui buffer set functions 2025-11-23 10:35:43 +01:00
Sébastien Helleu 953ede1200 irc: add tags "irc_cap" and "log3" in client capability request and SASL not supported messages 2025-11-22 16:00:32 +01:00
Sébastien Helleu c2ff484995 core, irc, relay: add tag "tls" in gnutls messages 2025-11-22 14:52:02 +01:00
Sébastien Helleu b8048b1666 irc: fix reset of color when multiple modes are set with command /mode 2025-11-22 12:31:37 +01:00
Sébastien Helleu e33ed57b47 irc: fix colors in MODE message (issue #2286) 2025-11-22 10:32:44 +01:00
Sébastien Helleu 790ce13843 tests: add colors in username for tests of messages 367 and 728 2025-11-22 10:32:44 +01:00
Emir SARI 4ecf2cb6b8 Update Turkish translations
Signed-off-by: Emir SARI <emir_sari@icloud.com>
2025-11-22 10:14:22 +01:00
Sébastien Helleu d23a7a6105 irc: fix colors in ban mask (message 367) and quiet mask (message 728) (closes #2286) 2025-11-22 10:02:47 +01:00
Sébastien Helleu da12df6b73 core: free highlight_disable_regex if the regex is invalid in function gui_buffer_set_highlight_disable_regex 2025-11-18 22:27:15 +01:00
Sébastien Helleu 3176e2a6b7 core: free highlight_regex if the regex is invalid in function gui_buffer_set_highlight_regex 2025-11-18 22:27:15 +01:00
Sébastien Helleu 4555f9a58a core: fix typo in comment 2025-11-15 20:15:32 +01:00
Sébastien Helleu e261cadce3 doc/api: add "error_code" and "error_code_pthread" in hook_url output hashtable (issue #2284) 2025-11-15 17:29:08 +01:00
Sébastien Helleu 3e49b73117 api: fix file descriptor leak in hook_url (closes #2284)
This can happen after a timeout or if the hook is removed during the transfer.
2025-11-15 17:28:44 +01:00
Sébastien Helleu 898213b4f2 relay/api: return HTTP error 400 in case of invalid body in resource ping 2025-11-13 20:35:58 +01:00
Sébastien Helleu e6646d1ef1 relay/api: return HTTP error 404 instead of 400 when the buffer is not found in resources completion and input 2025-11-13 07:12:55 +01:00
Sébastien Helleu 69d47b68f5 core: update ChangeLog 2025-11-13 07:08:23 +01:00
Sébastien Helleu 48d2c5fd01 core: update translations 2025-11-12 20:44:24 +01:00
Sébastien Helleu 1c53d3d466 api: add functions to parse integer numbers
New functions:

- util_parse_int
- util_parse_long
- util_parse_longlong
2025-11-12 20:24:00 +01:00
Sébastien Helleu 4ab11b7705 tests: add unit tests on command /window 2025-11-12 20:20:04 +01:00
Sébastien Helleu 8032ca1433 core: display an error message in case of invalid size with commands /window splith and /window splitv 2025-11-12 07:26:01 +01:00
Sébastien Helleu ac69288ed7 core: display an error message in case of invalid size with command /window resize 2025-11-12 07:22:12 +01:00
Sébastien Helleu 0930976456 core: display an error if parameters are missing in command /window resize 2025-11-12 07:18:06 +01:00
Sébastien Helleu d5bfe35245 core: display an error if parameters are missing or if the buffer is not with "free content" in command /window scroll_horiz 2025-11-12 07:12:00 +01:00
Sébastien Helleu 90a42ee213 core: display an error if parameters are missing in command /window scroll 2025-11-12 07:08:33 +01:00
Sébastien Helleu 6981f9f204 core: display an error message if the window number is not found with command /window xxx -window N 2025-11-12 07:05:56 +01:00
Sébastien Helleu b9f1145d03 core: fix screen size in macro getmaxyx when using fake ncurses 2025-11-12 13:45:27 +01:00
Sébastien Helleu f3a8068109 core: fix use of window->coords by checking size of array before using it 2025-11-12 13:45:27 +01:00
Sébastien Helleu 1ffc96955e tests: add unit tests on command /sys 2025-11-12 13:45:27 +01:00
Sébastien Helleu 8316745061 tests: add unit tests on command /repeat 2025-11-12 13:45:27 +01:00
Sébastien Helleu b18190b4c0 doc/quickstart: add link to key bindings in user's guide 2025-11-12 13:35:52 +01:00
Sébastien Helleu 753475f530 tests: add unit tests on command /proxy 2025-11-11 11:27:34 +01:00
Sébastien Helleu 237b07575b core: fix typo in comment 2025-11-11 10:57:51 +01:00
Sébastien Helleu dacd29b1d7 tests: add unit tests on command /print 2025-11-11 10:57:51 +01:00
Sébastien Helleu cfcadd155d core: display an error message if the date can not be parsed with command /print -date 2025-11-11 10:41:55 +01:00
Sébastien Helleu e5285c5545 tests: remove duplicate test 2025-11-11 10:39:30 +01:00
Sébastien Helleu 538b95d405 core: fix typo in French translation of /help debug 2025-11-10 20:54:30 +01:00
Sébastien Helleu 1bfd744249 tests: add unit tests on command /hotlist 2025-11-10 20:48:24 +01:00
Sébastien Helleu cd20c0e843 tests: add unit tests on command /history 2025-11-10 15:06:44 +01:00
Sébastien Helleu 16245f44ae tests: add unit tests on command /help 2025-11-10 15:06:44 +01:00
Sébastien Helleu 2f8393d504 tests: add unit tests on command /filter 2025-11-10 15:06:44 +01:00
Sébastien Helleu d0298b4738 core: display a message with command /filter toggle
The command has now the same output as `/filter enable` or `/filter disable`:

  /filter toggle  =>  "Message filtering disabled"
  /filter toggle  =>  "Message filtering enabled"
2025-11-10 15:06:44 +01:00
Sébastien Helleu c34d26dd70 tests: add unit tests on command /eval 2025-11-10 15:06:44 +01:00
Sébastien Helleu 96e225ac39 tests: add unit tests on command /debug 2025-11-10 15:06:44 +01:00
Sébastien Helleu e570d76c53 tests: add macros to search messages using a regex 2025-11-10 15:06:44 +01:00
Sébastien Helleu 5f0eebc0df tests: add a function to search a message displayed with a regex 2025-11-10 15:06:44 +01:00
Sébastien Helleu 3a3dec985d tests: add missing include of string.h 2025-11-10 13:39:03 +01:00
Sébastien Helleu 7051dd4351 tests: add unit tests on command /cursor 2025-11-10 09:05:36 +01:00
Sébastien Helleu c0116febe5 core: display an error message in case of invalid parameters with command /cursor 2025-11-10 09:05:36 +01:00
Sébastien Helleu 1094e70de2 tests: add unit tests on command /command 2025-11-10 09:04:13 +01:00
Sébastien Helleu 08545facb6 tests: add unit tests on command /color 2025-11-10 09:04:13 +01:00
Sébastien Helleu 2c4ede614e tests: add unit tests on command /buffer 2025-11-10 09:04:13 +01:00
Sébastien Helleu 8c6e6bb383 core: display full buffer name in output of command /buffer listvar 2025-11-10 09:04:13 +01:00
Sébastien Helleu c9d4dd48a0 core: display an error message if the buffer is not found with command /buffer listvar 2025-11-10 09:04:13 +01:00
Sébastien Helleu af41184889 core: fix return code of command /buffer renumber when the start number is invalid 2025-11-10 09:04:13 +01:00
Sébastien Helleu a89d5302fd tests: add unit tests on command /bar 2025-11-10 09:04:13 +01:00
Sébastien Helleu b61dca7d2d tests: add unit tests on command /allbuf 2025-11-10 09:04:13 +01:00
Sébastien Helleu 4232123ca3 tests: add macros to test errors with commands 2025-11-10 09:04:13 +01:00
Sébastien Helleu 6d7dd46015 core: display an error message if the bar is not found with command /bar scroll 2025-11-10 09:04:13 +01:00
Sébastien Helleu 93c0ee57c8 plugins: move description of weechat-plugin.h below the copyright and license 2025-11-09 13:02:08 +01:00
weechatter 5433d25889 doc: update German documentation 2025-11-09 11:23:44 +01:00
weechatter 3ed6726625 core: update German translations 2025-11-09 11:01:20 +01:00
Sébastien Helleu 8143d44e44 buflist: replace hardcoded "buflist" by constant in error message 2025-11-01 16:10:11 +01:00
Sébastien Helleu 0dab9b9257 irc: display a warning for each unknown or invalid server option in commands /connect and /server 2025-11-01 16:02:53 +01:00
Sébastien Helleu 07ef353b1b irc: remove temporary servers and option irc.look.temporary_servers 2025-11-01 09:15:54 +01:00
Ivan Pešić 234244f8d5 core: update Serbian translation 2025-10-31 23:17:49 +01:00
Sébastien Helleu 063aa86978 core: disable "stateful" phase in schemathesis config 2025-10-26 20:23:58 +01:00
Sébastien Helleu 93d73d234f relay/api: consider boolean/long query string parameters as invalid if they are empty 2025-10-26 18:12:02 +01:00
Sébastien Helleu df3232fc80 core: move entries in ChangeLog 2025-10-26 18:11:39 +01:00
Sébastien Helleu d05b83d03f relay/api: return an error 401 when header "x-weechat-totp" is received with empty value 2025-10-26 10:11:10 +01:00
Sébastien Helleu 0009732f78 relay/api: return an error 401 when header "x-weechat-totp" has an invalid value 2025-10-26 09:19:43 +01:00
Sébastien Helleu e637e0de1c relay/api: return an error 400 when URL parameters "nicks", "lines" and "lines_free" have an invalid value 2025-10-26 08:07:23 +01:00
Sébastien Helleu 58c873809b relay/api: return an error 400 when URL parameter "colors" has an invalid value 2025-10-26 07:22:10 +01:00
weechatter 8eed89c43c core: update German translations 2025-10-24 18:20:06 +02:00
Sébastien Helleu 1b669cd13c irc: fix warning on creation of irc.msgbuffer option when the server name contains upper case letters (closes #2281)
Now the following command is OK without warning:

  /set irc.msgbuffer.TEST.notice current

And the following command returns an error instead of a warning (that means the
option is NOT created):

  /set irc.msgbuffer.TEST.NOTICE current
2025-10-14 22:56:41 +02:00
Sébastien Helleu f854db17ff core: add hdata for hooks
New hooks:

- hook
- hook_command
- hook_command_run
- hook_completion
- hook_config
- hook_connect
- hook_fd
- hook_focus
- hook_hdata
- hook_hsignal
- hook_info
- hook_info_hashtable
- hook_infolist
- hook_line
- hook_modifier
- hook_print
- hook_process
- hook_signal
- hook_timer
- hook_url

New lists (for hooks of type "hook"):

- weechat_hooks_command, last_weechat_hook_command
- weechat_hooks_command_run, last_weechat_hook_command_run
- weechat_hooks_completion, last_weechat_hook_completion
- weechat_hooks_config, last_weechat_hook_config
- weechat_hooks_connect, last_weechat_hook_connect
- weechat_hooks_fd, last_weechat_hook_fd
- weechat_hooks_focus, last_weechat_hook_focus
- weechat_hooks_hdata, last_weechat_hook_hdata
- weechat_hooks_hsignal, last_weechat_hook_hsignal
- weechat_hooks_info, last_weechat_hook_info
- weechat_hooks_info_hashtable, last_weechat_hook_info_hashtable
- weechat_hooks_infolist, last_weechat_hook_infolist
- weechat_hooks_line, last_weechat_hook_line
- weechat_hooks_modifier, last_weechat_hook_modifier
- weechat_hooks_print, last_weechat_hook_print
- weechat_hooks_process, last_weechat_hook_process
- weechat_hooks_signal, last_weechat_hook_signal
- weechat_hooks_timer, last_weechat_hook_timer
- weechat_hooks_url, last_weechat_hook_url
2025-10-12 17:37:24 +02:00
Sébastien Helleu 72b2242135 irc: send SASL username with mechanism EXTERNAL (closes #2270)
The SASL username is sent if set, otherwise "+" is still sent.
2025-10-12 16:11:33 +02:00
Sébastien Helleu b066f713d7 tests: fix memory leak in tests on SASL PLAIN authentication mechanism 2025-10-12 16:07:52 +02:00
Sébastien Helleu 63313468c9 xfer: add buffer local variable "server" in DCC CHAT buffers 2025-10-04 13:19:01 +02:00
Sébastien Helleu d9ba00223b irc: request and perform SASL authentication when the server advertises SASL support with message "CAP NEW" (closes #2277)
The SASL authentication is done only if not already authenticated with SASL.
2025-10-03 10:26:04 +02:00
Ivan Pešić ae5b74549c core: update Serbian translations
Update Serbian messages and documentation translations.
2025-09-23 12:46:01 +02:00
Sébastien Helleu 222cb4876e core: set max version for Curl symbol CURLOPT_KRBLEVEL 2025-09-23 12:13:33 +02:00
Sébastien Helleu dc22d70dd4 core: fix style in ChangeLog 2025-09-20 10:45:32 +02:00
weechatter 949f860267 core: update German translations 2025-09-16 21:08:27 +02:00
Sébastien Helleu e2ae308e3b core: add option weechat.completion.cycle 2025-09-11 21:10:52 +02:00
Sébastien Helleu 767ea84909 core: add issue #886 in ChangeLog 2025-09-02 23:02:17 +02:00
Sébastien Helleu 665773b119 doc/api: add supported date/time format in function util_parse_time 2025-08-31 12:15:33 +02:00
Sébastien Helleu 21a958423e logger: change default time format to "%@%F %T.%fZ" (UTC) 2025-08-31 12:15:33 +02:00
Sébastien Helleu 1c09118fe1 api: allow lower characters "t" and "z" in function util_parse_time
The following dates are now parsed with the same result:

  2025-08-30T20:12:55.866643Z
  2025-08-30t20:12:55.866643z
2025-08-31 12:15:33 +02:00
Sébastien Helleu 47c1128fb9 logger: improve parsing of date/time in log files to display backlog
The function `util_parse_time` is now first used to parse the date/time,
allowing to auto-detect the format (not based on the option
logger.file.time_format).

If the parsing fails, then we fallback on the call to `strptime`, using the
format in option logger.file.time_format (legacy behavior).

This allows to change the option logger.file.time_format without impact on the
display of the backlog.
2025-08-31 12:15:33 +02:00
Sébastien Helleu 1038f0de24 logger: remove unused include 2025-08-31 12:15:33 +02:00
Sébastien Helleu 5acbfe9b7d api: fix parsing of date/times with timezone offset in function util_parse_time 2025-08-31 12:15:33 +02:00
Sébastien Helleu 7980a6d100 api: add support of date like ISO 8601 but with spaces in function util_parse_time
So for example the format "2024-01-04 22:01:02.123456 +0100" is supported in
addition to ""2024-01-04T22:01:02.123456+0100".
2025-08-31 12:15:33 +02:00
Sébastien Helleu f630c36af0 core: remove obsolete Curl options CURLOPT_SOCKS5_GSSAPI_SERVICE and CURLOPT_HTTPPOST (issue #2268) 2025-08-31 12:14:50 +02:00
Sébastien Helleu 8e4ce78c97 core: update ChangeLog (issue #2268) 2025-08-31 11:58:53 +02:00
Emil Velikov b2d9ad9e22 Bump required enchant to v2, use pkg_check_modules()
Bump the requirement to v2, which means we can remove the
HAVE_ENCHANT_GET_VERSION workaround.

It was released over 8 years ago, with 8 new feature releases since
then and dozens of bugfix releases throughout.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 2.2.8 and 2.2.15 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Emil Velikov c48485bc46 Bump required lua to v5.3
Bump the requirement to v5.3, which means we can remove all the ifdef
guards.

It was released over 10 years ago, with 2 new feature releases since
then and half a dozen of bugfix releases in the 5.3 branch.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 5.3.3 and 5.4.2 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Emil Velikov f48e6ee81d Bump required (lib)gcrypt to v1.8.0
Bump the requirement to v1.8.0, which means we can remove ~70% of the
ifdef guard.

It was released over 8 years ago, with 3 new feature releases since
then and dozen of bugfix releases in the 1.8 branch.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 1.8.5 and 1.8.7 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Emil Velikov 87eb6cc7e1 Bump required gnutls to v3.6.3
Bump the requirement to v3.6.3, which means we can remove the final
ifdef guard and all the builds have TLS 1.3 support.

It was released over 7 years ago, with 2 new feature releases since
then and dozen of bugfix releases in the 3.6 branch.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 3.6.13 and 3.7.1 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Emil Velikov 8c372c0c01 Bump required (lib)curl to v7.68.0
Bump the requirement to v7.68.0, which means we can remove ~70% of the
ifdef guards. It was released over 5 years ago, with 30+ new curl
releases since then and dozens of CVEs fixed.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 7.68.0 and 7.74.0 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Sébastien Helleu def60c1e1c core: cast Curl proxy port option to long
This fixes this warning with clang:

src/core/core-url.c:1017:5: warning: call to '_curl_easy_setopt_err_long' declared with 'warning' attribute: curl_easy_setopt expects a long argument [-Wattribute-warning]
 1017 |     curl_easy_setopt (curl, CURLOPT_PROXYPORT,
      |     ^
/usr/include/x86_64-linux-gnu/curl/typecheck-gcc.h:50:15: note: expanded from macro 'curl_easy_setopt'
   50 |               _curl_easy_setopt_err_long();                             \
      |               ^
2025-08-31 10:10:15 +02:00
Sébastien Helleu 08651ba820 core: add version 4.7.1 2025-08-16 22:00:21 +02:00
Sébastien Helleu bff910cae3 relay/api: fix crash when an invalid HTTP request is received from a client
When invalid data is received (not an HTTP request), client->http_req->method
is NULL, so we have to check it's not NULL before comparing it to the supported
methods.

This fixes a regression introduced in commit
93ec10b563.
2025-08-16 21:19:43 +02:00
Sébastien Helleu 0861716ae1 core: fix link to issue in ChangeLog 2025-07-19 12:22:46 +02:00
Sébastien Helleu 627862218a Version 4.8.0-dev 2025-07-19 12:05:24 +02:00
Sébastien Helleu 285a6b8ce4 Version 4.7.0 2025-07-19 12:01:43 +02:00
Ivan Pešić be8e94f3cd core: update Serbian translations 2025-07-13 22:19:17 +02:00
Emir SARI db7ecc1af1 core: Update Turkish translations
Signed-off-by: Emir SARI <emir_sari@icloud.com>
2025-07-13 22:18:39 +02:00
Sébastien Helleu 74a4b3e249 core: move parameter "continue-on-failure" on the global level in schemathesis config 2025-07-02 22:53:00 +02:00
Sébastien Helleu be78d185ea relay/api: bump API version to 0.4.1 2025-07-02 20:52:42 +02:00
Sébastien Helleu 58067431de relay/api: process HTTP request received as soon as a NULL char is received
This fixes the API probe made by schemathesis, so it detects immediately that
such NULL byte is not allowed by WeeChat, instead of timing out after 10
seconds:

   API capabilities:

     Supports NULL byte in headers:    ✘
2025-07-02 20:32:09 +02:00
Sébastien Helleu 87e84d9053 ci: replace script tools/test_relay_api.sh by configuration file schemathesis.toml 2025-07-02 20:32:09 +02:00
Sébastien Helleu 902332c3e6 relay/api: move resource bodies into their paths in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu 0b82429b39 relay/api: add example of value for the parameter buffer_id in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu 8b2165d441 relay/api: fix example of ping data in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu fca2412424 relay/api: fix example of completion list in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu d279a80733 relay/api: remove extra double quote in example of line date (OpenAPI document) 2025-07-02 20:32:09 +02:00
Sébastien Helleu 4444addf4d relay/api: fix operationId of completion resource in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu 4ce74403dc relay/api: fix typo in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu 1db29cb1ed relay/api: reject any invalid or unknown password hash algorithm in handshake resource 2025-07-02 20:32:09 +02:00
Sébastien Helleu d8baabd250 relay/api: use "buffer_name" first if received, then "buffer_id" in completion and input resources
This fixes some tests done by shemathesis, which sends "buffer_id" to
0 (unknown buffer) and "buffer_name" to a valid buffer name.
2025-07-02 20:32:09 +02:00
Sébastien Helleu 4348036e2e tests: remove duplicated "HTTP/1.1" in some relay API tests 2025-07-02 20:32:09 +02:00
Sébastien Helleu 93ec10b563 relay/api: return HTTP error 405 (Method Not Allowed) when the method received is not allowed 2025-07-02 20:32:09 +02:00
Sébastien Helleu cd0486d5bb ci: set password hash iterations to 100 for API tests
This is much faster than the default number of iterations which is 100000).
2025-07-02 20:32:09 +02:00
Sébastien Helleu b4f28ed2d4 ci: set unlimited number of relay clients for API tests 2025-07-02 20:32:09 +02:00
Sébastien Helleu 323f80e914 core: add option weechat.completion.partial_completion_auto_expand (closes #2253) 2025-06-30 18:52:58 +02:00
Sébastien Helleu 56903738b5 core: always enable partial completion for templates in option weechat.completion.partial_completion_templates (issue #2253)
Previous behavior was to reverse the partial completion, which was confusing
when option like weechat.completion.partial_completion_command_arg was enabled
as well.
2025-06-30 18:52:58 +02:00
Sébastien Helleu 6d45a69f39 core: set max version for Curl symbol CURLOPT_SSL_FALSESTART 2025-06-21 20:30:05 +02:00
Sébastien Helleu 34f2e6cdd0 core: add script name in output of /debug hooks <plugin> 2025-06-08 16:36:46 +02:00
Sébastien Helleu a6e859b7ff tests: add test with a float number using a lot of decimals in calculation of expression
This test validates the fix made in commit
5b4820ab06 and will prevent regression with such
numbers.
2025-06-07 09:45:15 +02:00
Sébastien Helleu 103bddcc50 core: add issue number in ChangeLog 2025-05-25 09:59:17 +02:00
Sébastien Helleu 76a64e1280 core: update ChangeLog (issue #2251) 2025-05-25 09:55:01 +02:00
Sébastien Helleu 75c01e8c8d core: fix build on FreeBSD (issue #2251)
Check if the resolv library is found before checking if it has res_init.
2025-05-25 09:44:06 +02:00
Albert Lee e8ce75f20c core: avoid dynamic format strings for Clang -Werror=format-security 2025-05-25 09:26:10 +02:00
Albert Lee 47f7518c1f gui: use NCURSES_CFLAGS if available 2025-05-25 09:26:08 +02:00
Albert Lee 9a9a262ea1 python: use built-in CMake FindPython module from CMake 3.12 or higher 2025-05-25 09:19:05 +02:00
Albert Lee 7fb3ca6686 core: always define _XPG4_2 and __EXTENSIONS__ on Solaris/illumos 2025-05-25 09:06:51 +02:00
Albert Lee e98a32373e core: check if res_init requires linking with libresolv 2025-05-25 09:05:42 +02:00
Albert Lee 69d3787b5e core: improve support for non-macro htonll and htobe64 2025-05-25 09:03:48 +02:00
Sébastien Helleu aa6cbf911e tests/fuzz: add link option -fsanitize=fuzzer-no-link when fuzzer sanitizer is used 2025-05-24 08:27:05 +02:00
Albert Lee cf1c4a689d core: use same msgfmt invocation to perform checks and create weechat.mo
On Illumos, msgfmt aborts when `--output-file=/dev/null` is used.
2025-05-22 21:03:03 +02:00
Albert Lee 48568edfe0 lua: use LUA_CFLAGS from pkg-config 2025-05-22 21:02:58 +02:00
Albert Lee d7b26e88b8 core: include pthread.h for pthread types 2025-05-22 21:02:53 +02:00
Sébastien Helleu 0407a08888 doc/api: fix invalid cross references 2025-05-20 20:56:02 +02:00
Sébastien Helleu ff3fd38086 doc/user: fix invalid cross references 2025-05-20 20:53:56 +02:00
Sébastien Helleu 847208f196 core: add verbose flag in asciidoctor
This allows asciidoctor to display important messages, for example invalid
references like this one:

  asciidoctor: INFO: possible invalid reference: compile_with_cmake
2025-05-20 20:51:26 +02:00
Sébastien Helleu f6ef908740 core: add contributor (issue #2252) 2025-05-20 10:16:26 +02:00
Caleb Josue Ruiz Torres f2bd5d773b core: update Spanish translations 2025-05-20 10:12:34 +02:00
Sébastien Helleu 6cbb35c644 core: fix typo in ChangeLog 2025-05-18 22:32:40 +02:00
Sébastien Helleu 372e7306bc core: update ChangeLog 2025-05-18 22:28:02 +02:00
Sébastien Helleu 927a50e366 core, plugins: replace "%p" by "%lx" in calls to sscanf 2025-05-18 22:17:29 +02:00
Sébastien Helleu d0c00f7db2 Revert "core, plugins: replace "%lx" by "%p" in calls to sscanf"
This reverts commit e64ab3c675.

This was causing incorrect conversion of strings "0x..." to pointers on systems
like Solaris/illumos.

And as a side effect, buffers were sometimes empty in weechat relay clients
like glowing-bear.
2025-05-18 22:17:16 +02:00
Sébastien Helleu 9783256649 relay/api: use specifier %@ for times formatted by util_strftimeval 2025-05-18 22:15:39 +02:00
Sébastien Helleu 8106db400d core: add support of specifier %@ for UTC time in function util_strftimeval 2025-05-18 22:15:06 +02:00
Sébastien Helleu 4d617d0e01 tests/fuzz: ignore huge data in fuzz testing of calculation functions 2025-05-18 17:22:10 +02:00
Sébastien Helleu acbf1ddfcf tests/fuzz: ignore empty or huge data in fuzz testing of secured data functions 2025-05-18 17:20:49 +02:00
209 changed files with 10730 additions and 4008 deletions
+7 -1
View File
@@ -116,6 +116,10 @@ jobs:
cc: "gcc"
cxx: "g++"
buildargs: "-G Ninja -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "gcc_release_hardened"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=\"-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3\" -DCMAKE_CXX_FLAGS=\"-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3\""
- name: "gcc_no_nls"
cc: "gcc"
cxx: "g++"
@@ -194,11 +198,13 @@ jobs:
weechat-headless \
--dir /tmp/weechat-test-api \
--run-command '/set relay.network.password "${{ env.RELAY_PASSWORD }}"' \
--run-command '/set relay.network.password_hash_iterations 100' \
--run-command '/set relay.network.max_clients 0' \
--run-command '/relay add api 9000' \
--daemon \
;
sleep 5
./tools/test_relay_api.sh http://localhost:9000
schemathesis run --url http://localhost:9000/api ./src/plugins/relay/api/weechat-relay-api.yaml
echo '*/quit' >/tmp/weechat-test-api/weechat_fifo_*
- name: Code coverage
+1
View File
@@ -29,6 +29,7 @@ Alphabetically:
- Asakura
- Bazerka
- Benoit Papillault (benoit)
- Caleb Josue Ruiz Torres
- Chris Hills
- Christian Duerr
- Christian Heinz
+90 -1
View File
@@ -6,16 +6,97 @@ SPDX-License-Identifier: GPL-3.0-or-later
# WeeChat ChangeLog
## Version 4.7.0 (under dev)
## Version 4.8.2 (2026-03-06)
### Fixed
- irc: ignore self join if the channel is already joined ([#2291](https://github.com/weechat/weechat/issues/2291))
- relay/api: fix memory leaks in resources "ping" and "sync"
- relay/api: fix memory leak in receive of message from remote WeeChat
## Version 4.8.1 (2025-12-01)
### Fixed
- core: fix buffer size in function util_parse_time, causing buffer overflow error in unit tests
- irc: fix creation of irc.msgbuffer option without a server name
## Version 4.8.0 (2025-11-30)
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
### Removed
- irc: remove temporary servers and option irc.look.temporary_servers
### Changed
- api: add support of date like ISO 8601 but with spaces and lower `t` and `z` in function util_parse_time ([#886](https://github.com/weechat/weechat/issues/886))
- irc: request and perform SASL authentication when the server advertises SASL support with message "CAP NEW" ([#2277](https://github.com/weechat/weechat/issues/2277))
- irc: send SASL username with mechanism EXTERNAL ([#2270](https://github.com/weechat/weechat/issues/2270))
- logger: change default time format to `%@%F %T.%fZ` (UTC) ([#886](https://github.com/weechat/weechat/issues/886))
- logger: use function util_parse_time to parse date/time in log files ([#886](https://github.com/weechat/weechat/issues/886))
- relay/api: return an error 400 (Bad Request) when URL parameters "colors", "nicks", "lines" and "lines_free" have an invalid value
- relay/api: return an error 401 (Unauthorized) when header "x-weechat-totp" has an invalid value
- xfer: add buffer local variable "server" in DCC CHAT buffers
- core, irc, relay: add tag "tls" in gnutls messages
- irc: add tags "irc_cap" and "log3" in client capability request and SASL not supported messages
- build: require Curl ≥ 7.68.0 ([#2268](https://github.com/weechat/weechat/issues/2268))
- build: require GnuTLS ≥ 3.6.3 ([#2268](https://github.com/weechat/weechat/issues/2268))
- build: require libgcrypt ≥ 1.8.0 ([#2268](https://github.com/weechat/weechat/issues/2268))
- build: require Enchant v2 ([#2268](https://github.com/weechat/weechat/issues/2268))
- build: require Lua ≥ 5.3 ([#2268](https://github.com/weechat/weechat/issues/2268))
### Added
- core: add option weechat.completion.cycle
- core: add hdata for hooks
- api: add functions util_parse_int, util_parse_long and util_parse_longlong
- buflist: add variable `${index_displayed}`
### Fixed
- core: display an error message in case of invalid parameters in commands `/bar`, `/buffer`, `/cursor`, `/print` and `/window`
- api: fix file descriptor leak in hook_url when a timeout occurs or if the hook is removed during the transfer ([#2284](https://github.com/weechat/weechat/issues/2284))
- api: fix parsing of date/times with timezone offset in function util_parse_time
- irc: fix warning on creation of irc.msgbuffer option when the server name contains upper case letters ([#2281](https://github.com/weechat/weechat/issues/2281))
- irc: display a warning for each unknown or invalid server option in commands `/connect` and `/server`
- irc: fix colors in messages 367 (ban mask), 728 (quiet mask) and MODE ([#2286](https://github.com/weechat/weechat/issues/2286))
- irc: fix reset of color when multiple modes are set with command `/mode`
- relay/api: fix crash when an invalid HTTP request is received from a client
- relay/api: return HTTP error 404 instead of 400 when the buffer is not found in resources completion and input
- relay/api: return HTTP error 400 in case of invalid body in resource ping
## Version 4.7.2 (2025-11-23)
### Fixed
- api: fix file descriptor leak in hook_url when a timeout occurs or if the hook is removed during the transfer ([#2284](https://github.com/weechat/weechat/issues/2284))
- irc: fix colors in messages 367 (ban mask), 728 (quiet mask) and MODE ([#2286](https://github.com/weechat/weechat/issues/2286))
- irc: fix reset of color when multiple modes are set with command `/mode`
## Version 4.7.1 (2025-08-16)
### Fixed
- relay/api: fix crash when an invalid HTTP request is received from a client
## Version 4.7.0 (2025-07-19)
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
### Changed
- **breaking:** core: fix buffer overflow in function utf8_next_char and return NULL for empty string
- **breaking:** core: fix integer overflow and return "unsigned long" in function util_version_number
- core: write configuration files on disk only if there are changes ([#2250](https://github.com/weechat/weechat/issues/2250))
- core: always enable partial completion for templates in option weechat.completion.partial_completion_templates, add option weechat.completion.partial_completion_auto_expand to expand word on new completion ([#2253](https://github.com/weechat/weechat/issues/2253))
- core: add script name in output of `/debug hooks <plugin>`
- relay/api: return HTTP error 405 (Method Not Allowed) when the method received is not allowed
### Added
- core: add support of specifier `%@` for UTC time in function util_strftimeval
- api: add function file_compare
- irc: add support of strikethrough text in IRC messages ([#2248](https://github.com/weechat/weechat/issues/2248))
- buflist: add variables `${number_zero}` and `${number_zero2}` (zero-padded buffer number)
@@ -34,9 +115,15 @@ SPDX-License-Identifier: GPL-3.0-or-later
- core: fix memory leak in function util_parse_delay
- irc: display nick changes and quit messages when option irc.look.ignore_tag_messages is enabled ([#2241](https://github.com/weechat/weechat/issues/2241))
- perl: fix build when multiplicity is not available ([#2243](https://github.com/weechat/weechat/issues/2243))
- relay/api: reject any invalid or unknown password hash algorithm in handshake resource
- relay/api: process HTTP request received as soon as a NULL char is received
- relay/weechat: fix empty buffers in client when WeeChat is running on Solaris/illumos
- build: fix build on Solaris/illumos ([#2251](https://github.com/weechat/weechat/issues/2251))
## Version 4.6.3 (2025-05-11)
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
### Fixed
- core: fix integer overflow with decimal numbers in calculation of expression
@@ -3524,6 +3611,8 @@ _If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
## Version 0.3.1.1 (2010-01-31)
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
### Bug fixes
- irc: fix crash with SSL connection if option ssl_cert is set ([bug #28752](https://savannah.nongnu.org/bugs/?28752))
+24 -3
View File
@@ -208,6 +208,7 @@ include(FindPkgConfig)
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckSymbolExists)
include(CheckLibraryExists)
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
@@ -218,20 +219,40 @@ check_symbol_exists("malloc_trim" "malloc.h" HAVE_MALLOC_TRIM)
check_function_exists(mallinfo HAVE_MALLINFO)
check_function_exists(mallinfo2 HAVE_MALLINFO2)
check_symbol_exists("htonll" "sys/types.h;netinet/in.h;inttypes.h" HAVE_HTONLL)
check_symbol_exists("eat_newline_glitch" "term.h" HAVE_EAT_NEWLINE_GLITCH)
# Check if res_init requires libresolv
check_function_exists(res_init, LIBC_HAS_RES_INIT)
if(NOT LIBC_HAS_RES_INIT)
find_library(RESOLV_LIBRARY resolv)
if(RESOLV_LIBRARY)
check_library_exists("${RESOLV_LIBRARY}" res_init "" LIBRESOLV_HAS_RES_INIT)
if(LIBRESOLV_HAS_RES_INIT)
list(APPEND EXTRA_LIBS ${RESOLV_LIBRARY})
endif()
endif()
endif()
# Check for Large File Support
if(ENABLE_LARGEFILE)
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
endif()
# _XPG4_2 is needed for macros like CMSG_SPACE
# __EXTENSIONS__ is needed for constants like NI_MAXHOST and for struct timeval
if(CMAKE_HOST_SOLARIS)
add_definitions(-D_XPG4_2 -D__EXTENSIONS__)
endif()
# Check for libgcrypt
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt>=1.8.0)
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
# Check for GnuTLS
pkg_check_modules(GNUTLS REQUIRED gnutls>=3.3.0)
pkg_check_modules(GNUTLS REQUIRED gnutls>=3.6.3)
include_directories(${GNUTLS_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${GNUTLS_LDFLAGS})
@@ -258,7 +279,7 @@ endif()
# Check for CURL
# NOTE: keep version in sync with tools/check_curl_symbols.py
pkg_check_modules(LIBCURL REQUIRED libcurl>=7.47.0)
pkg_check_modules(LIBCURL REQUIRED libcurl>=7.68.0)
include_directories(${LIBCURL_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBCURL_LDFLAGS})
-11
View File
@@ -1,11 +0,0 @@
Copyright (c) <year> <owner>.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+39
View File
@@ -13,6 +13,45 @@ When upgrading from version X to Y, please read and apply all instructions from
For a list of all changes in each version, please see [CHANGELOG.md](CHANGELOG.md).
## Version 4.8.0
### IRC temporary servers
The IRC temporary server feature has been removed.
When upgrading from an old version with `/upgrade`, any temporary server is
converted to a standard server, and thus is saved in configuration file `irc.conf`.
Servers can easily be removed with `/server del <name>`.
### IRC SASL EXTERNAL
When server option `sasl_mechanism` is set to `external`, WeeChat now sends the
username defined in option `sasl_username` to the IRC server
(see issue [#2270](https://github.com/weechat/weechat/issues/2270)).
If you use the EXTERNAL mechanism and the username is set, you could either:
- reset `sasl_username` to an empty string, if the username is **not** needed on this server:
`/reset irc.server.xxx.sasl_username`
- set `sasl_username` to your actual username, if the username **is** required on this server:
`/set irc.server.xxx.sasl_username "user"`
### New time format in log files
The time format used in log files now uses UTC and precision of microsecond
by default: option `logger.file.time_format` has new default value: `%@%F %T.%fZ`.
Only the default value for the option has changed, so when upgrading from
an old version, you keep your old format, even if it was the default one used
in previous versions.
To use the new default value, you can reset the option:
```text
/reset logger.file.time_format
```
## Version 4.7.0
### API functions utf8_next_char and utf8_char_size
-51
View File
@@ -1,51 +0,0 @@
# SPDX-FileCopyrightText: 2006 Zack Rusin <zack@kde.org>
#
# SPDX-License-Identifier: BSD-3-Clause
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
# - Try to find the Enchant spell checker
# Once done this will define
#
# ENCHANT_FOUND - system has ENCHANT
# ENCHANT_INCLUDE_DIR - the ENCHANT include directory
# ENCHANT_LIBRARIES - Link these to use ENCHANT
# ENCHANT_DEFINITIONS - Compiler switches required for using ENCHANT
if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES)
# in cache already
set(ENCHANT_FOUND TRUE)
else()
if(NOT WIN32)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
find_package(PkgConfig)
pkg_check_modules(PC_ENCHANT enchant)
set(ENCHANT_DEFINITIONS ${PC_ENCHANT_CFLAGS_OTHER})
endif()
find_path(ENCHANT_INCLUDE_DIR
NAMES enchant++.h
HINTS ${PC_ENCHANT_INCLUDEDIR} ${PC_ENCHANT_INCLUDE_DIRS}
PATH_SUFFIXES enchant-2 enchant
)
find_library(ENCHANT_LIBRARIES
NAMES enchant-2 enchant
HINTS ${PC_ENCHANT_LIBDIR}
${PC_ENCHANT_LIBRARY_DIRS}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ENCHANT DEFAULT_MSG ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
mark_as_advanced(ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
# check if function enchant_get_version() exists
set(CMAKE_REQUIRED_INCLUDES ${ENCHANT_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${ENCHANT_LIBRARIES})
check_symbol_exists(enchant_get_version "enchant.h" HAVE_ENCHANT_GET_VERSION)
set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES)
endif()
+1 -1
View File
@@ -37,5 +37,5 @@ endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(LUA lua lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50)
pkg_search_module(LUA lua lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53)
endif()
-36
View File
@@ -1,36 +0,0 @@
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2009 Julien Louis <ptitlouis@sysif.net>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat 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; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Python
# This module finds if Python is installed and determines where the include files
# and libraries are. It also determines what the name of the library is. This
# code sets the following variables:
#
# PYTHON_EXECUTABLE = full path to the python binary
# PYTHON_INCLUDE_DIRS = path to where python.h can be found
# PYTHON_LIBRARIES = path to where libpython.so* can be found
# PYTHON_LDFLAGS = python compiler options for linking
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
if(NOT PYTHON_FOUND)
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
endif()
+1 -1
View File
@@ -49,9 +49,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
#cmakedefine HAVE_MALLINFO2
#cmakedefine HAVE_MALLOC_H
#cmakedefine HAVE_MALLOC_TRIM
#cmakedefine HAVE_HTONLL
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
#cmakedefine HAVE_ASPELL_VERSION_STRING
#cmakedefine HAVE_ENCHANT_GET_VERSION
#cmakedefine HAVE_GUILE_GMP_MEMORY_FUNCTIONS
#define CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@"
+15
View File
@@ -1,3 +1,18 @@
weechat (4.7.2-1) unstable; urgency=medium
* New upstream release (Closes: #1119787)
* Update debian/watch to version 5
* Remove useless 'Rules-Requires-Root: no' from debian/control
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 29 Nov 2025 08:53:10 +0000
weechat (4.6.3-1) unstable; urgency=medium
* New upstream release
- fixes multiple security vulnerabilities (Closes: #1104554)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 17 May 2025 05:49:46 +0000
weechat (4.6.1-1) unstable; urgency=medium
* New upstream release (Closes: #1102450, #1098090)
+4 -2
View File
@@ -1,2 +1,4 @@
version=4
opts=pgpsigurlmangle=s/$/.asc/ https://weechat.org/download/ /files/src/weechat-(\d.*)\.tar\.xz
Version: 5
Source: https://weechat.org/download/
Matching-Pattern: /files/src/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
Pgp-Mode: auto
+1
View File
@@ -38,6 +38,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
if(ASCIIDOCTOR_FOUND)
# common asciidoctor arguments
set(ASCIIDOCTOR_ARGS
-v
-a experimental
-a reproducible
-a "prewrap!"
+2 -1
View File
@@ -8,7 +8,8 @@
Pro kompletní dokumentaci nastavení pluginů a jejich volby podívejte se na
https://weechat.org/doc/[WeeChat user's guide].
S irc pluginem se můžete doččasně připojit na server s URL jako:
// TRANSLATION MISSING
With irc plugin, you can connect to a server with an URL like:
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
+4 -2
View File
@@ -351,8 +351,10 @@ To remove the split:
[[key_bindings]]
== Předvoblby klávesových zkratek
WeeChat používá ve výchozím nastavení mnoho klávesových zkratek, Všechny
najdete v dokumentaci, ale je dobré znát alespoň pár těchto důležitých:
// TRANSLATION MISSING
WeeChat používá ve výchozím nastavení mnoho klávesových zkratek, Všechny najdete v dokumentaci
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
ale je dobré znát alespoň pár těchto důležitých:
- kbd:[Alt+←] / kbd:[Alt+→] nebo kbd:[F5] / kbd:[F6]: přepnout na předchozí/další bufer
// TRANSLATION MISSING
+1 -2
View File
@@ -7,8 +7,7 @@
Um eine vollständige Dokumentation der Optionen zu erhalten, siehe
https://weechat.org/doc/[WeeChat user's guide].
Mittels der IRC Erweiterung kann man sich zu einen temporären Server verbinden lassen,
indem man eine URL verwendet:
Mit der IRC-Erweiterung können Sie sich mit einer URL wie der folgenden mit einem Server verbinden:
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
+2 -1
View File
@@ -370,7 +370,8 @@ Um die Teilung des Bildschirms rückgängig zu machen:
== Tastaturbelegung
WeeChat verwendet viele Standardtasten.
Alle Tastenbelegungen sind in der Dokumentation beschrieben.
Alle Tastenbelegungen sind in der Dokumentation beschrieben
(link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Tastenbelegungen ^↗^^]).
Im Folgenden werden die wichtigsten Tastenbelegungen kurz erläutert:
- kbd:[Alt+←] / kbd:[Alt+→] oder kbd:[F5] / kbd:[F6]: Wechsel zum
+3 -3
View File
@@ -625,7 +625,7 @@ Einige Umgebungsvariablen werden von WeeChat genutzt, sofern sie definiert wurde
[width="100%",cols="1m,6",options="header"]
|===
| Name | Beschreibung
| WEECHAT_HOME | Das WeeChat Verzeichnis (beinhaltet Konfigurationsdateien, Protokolldateien, Skripten, ...). Gleiches Verhalten wie <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
| WEECHAT_HOME | Das WeeChat Verzeichnis (beinhaltet Konfigurationsdateien, Protokolldateien, Skripten, ...). Gleiches Verhalten wie <<build,CMake option>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | Die Passphrase zum Entschlüsseln von schutzwürdigen Daten.
| WEECHAT_EXTRA_LIBDIR | Ein zusätzliches Verzeichnis um Erweiterungen zu installieren (vom "plugins" Verzeichnis in dieses Verzeichnis).
|===
@@ -3822,7 +3822,7 @@ WeeChat unterstützt folgende https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3869,7 +3869,7 @@ Spezifikation: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
Diese Fähigkeit ermöglicht es dem Server, einen Account als Nachrichten-Tag an Befehle zu hängen,
die an den Client gesendet werden. +
WeeChat analysiert dieses Tag und speichert es in der Nachricht, aber es wird nicht verwendet oder
angezeigt. Mit dem <<command_filter,/filter>> Befehl kann man diese Nachrichten explizit filtern,
angezeigt. Mit dem <<command_weechat_filter,/filter>> Befehl kann man diese Nachrichten explizit filtern,
in dem die Accounts nutzt.
Beispiel einer empfangenen IRC-Rohnachricht:
+1 -1
View File
@@ -6,7 +6,7 @@
For complete doc on plugin options, please look at plugins documentation in
https://weechat.org/doc/[WeeChat user's guide].
With irc plugin, you can connect to temporary server with an URL like:
With irc plugin, you can connect to a server with an URL like:
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
+260 -9
View File
@@ -2165,7 +2165,7 @@ Arguments:
Return value:
* array of strings, NULL if problem (must be freed by calling
<<_free_split_command,free_split_command>> after use)
<<_string_free_split_command,string_free_split_command>> after use)
C example:
@@ -4666,6 +4666,159 @@ This function is not available in scripting API.
Some useful functions.
==== util_parse_int
_WeeChat ≥ 4.8.0._
Parse an integer number of type "int" in a string.
Prototype:
[source,c]
----
int weechat_util_parse_int (const char *string, int base, int *result);
----
Arguments:
* _string_: string to parse
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
* _result_: pointer to a variable updated if the string is correctly parsed
(if pointer is NULL, the number found is not returned)
Return value:
* 1: OK
* 0: error
The following strings are invalid and the function returns 0:
* empty string
* number with extra non-digits after
* number < INT_MIN (min value for a variable of type "int")
* number > INT_MAX (max value for a variable of type "int")
* invalid integer for the given _base_
C examples:
[source,c]
----
int number;
if (weechat_util_parse_int ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_int ("abc", 10, &number))
{
/* parsing error, number is unchanged */
}
----
[NOTE]
This function is not available in scripting API.
==== util_parse_long
_WeeChat ≥ 4.8.0._
Parse an integer number of type "long" in a string.
Prototype:
[source,c]
----
int weechat_util_parse_long (const char *string, int base, long *result);
----
Arguments:
* _string_: string to parse
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
* _result_: pointer to a variable updated if the string is correctly parsed
(if pointer is NULL, the number found is not returned)
Return value:
* 1: OK
* 0: error
The following strings are invalid and the function returns 0:
* empty string
* number with extra non-digits after
* number < LONG_MIN (min value for a variable of type "long")
* number > LONG_MAX (max value for a variable of type "long")
* invalid integer for the given _base_
C examples:
[source,c]
----
long number;
if (weechat_util_parse_long ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_long ("abc", 10, &number))
{
/* parsing error, number is unchanged */
}
----
[NOTE]
This function is not available in scripting API.
==== util_parse_longlong
_WeeChat ≥ 4.8.0._
Parse an integer number of type "long long" in a string.
Prototype:
[source,c]
----
int weechat_util_parse_longlong (const char *string, int base, long long *result);
----
Arguments:
* _string_: string to parse
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
* _result_: pointer to a variable updated if the string is correctly parsed
(if pointer is NULL, the number found is not returned)
Return value:
* 1: OK
* 0: error
The following strings are invalid and the function returns 0:
* empty string
* number with extra non-digits after
* number < LLONG_MIN (min value for a variable of type "long long")
* number > LLONG_MAX (max value for a variable of type "long long")
* invalid integer for the given _base_
C examples:
[source,c]
----
long long number;
if (weechat_util_parse_longlong ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_longlong ("abc", 10, &number))
{
/* parsing error, number is unchanged */
}
----
[NOTE]
This function is not available in scripting API.
==== util_timeval_cmp
Compare two "timeval" structures.
@@ -4803,7 +4956,7 @@ This function is not available in scripting API.
==== util_strftimeval
_WeeChat ≥ 4.2.0, updated in 4.3.0._
_WeeChat ≥ 4.2.0, updated in 4.3.0, 4.7.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers.
@@ -4820,6 +4973,8 @@ Arguments:
* _string_: buffer where the formatted string is stored
* _max_: string size
* _format_: format, the same as _strftime_ function, with these extra specifiers:
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
@@ -4836,8 +4991,8 @@ C example:
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* result: 2023-12-26T18:10:04.460509 */
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* result: 2023-12-26T18:10:04.460509Z */
----
[NOTE]
@@ -4845,7 +5000,7 @@ This function is not available in scripting API.
==== util_parse_time
_WeeChat ≥ 4.2.0._
_WeeChat ≥ 4.2.0, updated in 4.8.0._
Parse date/time with support of microseconds.
@@ -4858,20 +5013,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
Arguments:
* _date_: date/time
* _date_: date/time (see supported formats below)
* _tv_: parsed date/time ("timeval" structure)
Supported date/time format (supposing the current time is `2025-08-30 21:04:55`
(Europe/Paris), so with timezone offset `+02:00`, UTC time being `19:04:55`):
[width="70%",cols="5,6m",options="header"]
|===
| Format | Examples
| Date (midnight)
| 2025-08-30
| ISO 8601, date + local time
| 2025-08-30T21:04:55 +
2025-08-30T21:04:55.123456
| ISO 8601, date + local time + offset
| 2025-08-30T16:04:55-03 +
2025-08-30T16:04:55-0300 +
2025-08-30T21:04:55+0200 +
2025-08-30T21:04:55+02:00 +
2025-08-30T21:04:55.123456+0200
| ISO 8601, date + UTC time
| 2025-08-30T19:04:55Z +
2025-08-30T19:04:55.123456Z
| RFC 3339, date + local time
| 2025-08-30 21:04:55 +
2025-08-30 21:04:55.123456
| RFC 3339, date + local time + offset
| 2025-08-30 16:04:55-03 +
2025-08-30 16:04:55-0300 +
2025-08-30 21:04:55+0200 +
2025-08-30 21:04:55 +0200 +
2025-08-30 21:04:55+02:00 +
2025-08-30 21:04:55 +02:00 +
2025-08-30 21:04:55.123456+0200 +
2025-08-30 21:04:55.123456 +02:00
| RFC 3339, date + UTC time
| 2025-08-30 19:04:55Z +
2025-08-30 19:04:55.123456Z
| Local time
| 21:04:55 +
21:04:55.123456
| Local time + offset
| 16:04:55-03 +
16:04:55-0300 +
21:04:55+0200 +
21:04:55 +0200 +
21:04:55+02:00 +
21:04:55 +02:00 +
21:04:55.123456+0200 +
21:04:55.123456 +02:00
| UTC time
| 19:04:55Z +
19:04:55.123456Z
| Timestamp date
| 1756580695 +
1756580695.123456 +
1756580695,123456
|===
Notes:
* For ISO 8601, the separator between date and time is `T` (upper case) or `t` (lower case).
* For UTC time, the final char is `Z` (upper case) or `z` (lower case).
* The timezone offset format is one of:
** `++[+/-]hh:mm++` (hours and minutes)
** `++[+/-]hhmm++` (hours and minutes)
** `++[+/-]hh++` (hours).
* Precision after seconds can be from one-tenth of second (1 digit, for example
`21:04:55.1`) to one microsecond (6 digits, for example `21:04:55.123456`). +
A dot (`.`) or comma (`,`) can separate seconds from the other digits.
Return value:
* 1 if OK, 0 if error
C example:
C examples:
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
/* same result */
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
/* same result */
----
[NOTE]
@@ -11062,6 +11303,16 @@ Arguments:
*** _headers_: HTTP headers in response
*** _output_: standard output (set only if _file_out_ was not set in options)
*** _error_: error message (set only in case of error)
*** _error_code_: error code (integer, set only in case of error):
**** `1`: invalid URL
**** `2`: transfer error (Curl error)
**** `3`: not enough memory
**** `4`: file error
**** `5`: transfer stopped (hook removed during the transfer)
**** `6`: transfer timeout
**** `100`: thread creation error
*** _error_code_pthread_: return code of function _pthread_create_
(integer, set only if _error_code_ is `100`)
** return value:
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
+2 -1
View File
@@ -329,7 +329,8 @@ To remove the split:
[[key_bindings]]
== Key bindings
WeeChat uses many keys by default. All these keys are in the documentation,
WeeChat uses many keys by default. All these keys are in the documentation
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
but you should know at least some vital keys:
- kbd:[Alt+←] / kbd:[Alt+→] or kbd:[F5] / kbd:[F6]: switch to previous/next
+3 -3
View File
@@ -621,7 +621,7 @@ Some environment variables are used by WeeChat if they are defined:
[width="100%",cols="1m,6",options="header"]
|===
| Name | Description
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, etc.). Same behavior as <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, etc.). Same behavior as <<build,CMake option>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | The passphrase used to decrypt secured data.
| WEECHAT_EXTRA_LIBDIR | An extra directory to load plugins (from the "plugins" directory in this path).
|===
@@ -3760,7 +3760,7 @@ WeeChat supports the following https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3808,7 +3808,7 @@ Specification: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
This capability allows the server to send account as message tag to commands
sent to the client. +
WeeChat parses this tag and saves it in the message, but it is not used or
displayed. It can be used in <<command_filter,/filter>> command to filter
displayed. It can be used in <<command_weechat_filter,/filter>> command to filter
messages matching specific accounts.
Example of raw IRC message received:
+4 -3
View File
@@ -342,9 +342,10 @@ Para eliminar esa división:
[[key_bindings]]
== Atajos de teclado
WeeChat usa muchas teclas por defecto. Éstas, están bien
explicadas en la documentación pero debe conocer al menos la mas
importantes.
// TRANSLATION MISSING
WeeChat usa muchas teclas por defecto. Éstas, están bien explicadas en la documentación
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
pero debe conocer al menos la mas importantes.
- kbd:[Alt+←] / kbd:[Alt+→] o kbd:[F5] / kbd:[F6]: Cambiará al buffer
siguiente/anterior
+1 -2
View File
@@ -7,8 +7,7 @@ Pour une documentation complète sur les options des extensions, merci de
consulter la documentation des extensions dans le
https://weechat.org/doc/[guide utilisateur de WeeChat].
Avec l'extension irc, vous pouvez vous connecter à un serveur de manière
temporaire avec une URL, comme ceci :
Avec l'extension irc, vous pouvez vous connecter à un serveur avec une URL, comme ceci :
irc[6][s]://[[pseudo][:motdepasse]@]serveur[:port][/#canal1[,#canal2...]]
+262 -9
View File
@@ -2205,7 +2205,7 @@ Paramètres :
Valeur de retour :
* tableau de chaînes, NULL en cas de problème (doit être supprimé par un appel à
<<_free_split_command,free_split_command>> après utilisation)
<<_string_free_split_command,string_free_split_command>> après utilisation)
Exemple en C :
@@ -4745,6 +4745,159 @@ This function is not available in scripting API.
Quelques fonctions utiles.
==== util_parse_int
_WeeChat ≥ 4.8.0._
Analyser un nombre entier de type "int" dans une chaîne.
Prototype:
[source,c]
----
int weechat_util_parse_int (const char *string, int base, int *result);
----
Paramètres:
* _string_: chaîne à analyser
* _base_: peut être 0 (automatique) ou un entier entre 2 et 36 (inclus)
* _result_: pointeur vers une variable mise à jour si la chaîne est correctement analysée
(si le pointeur est NULL, le nombre trouvé n'est pas retourné)
Valeur de retour:
* 1: OK
* 0: erreur
Les chaînes suivantes sont invalides et la fonction retourne 0:
* chaîne vide
* nombre avec des caractères non numériques après
* nombre < INT_MIN (valeur minimale pour une variable de type "int")
* nombre > INT_MAX (valeur maximale pour une variable de type "int")
* entier invalide pour la _base_ donnée
Exemples en C:
[source,c]
----
int nombre;
if (weechat_util_parse_int ("1234", 10, &nombre))
{
/* nombre == 1234 */
}
if (!weechat_util_parse_int ("abc", 10, &nombre))
{
/* erreur d'analyse, nombre est inchangé */
}
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== util_parse_long
_WeeChat ≥ 4.8.0._
Analyser un nombre entier de type "long" dans une chaîne.
Prototype:
[source,c]
----
int weechat_util_parse_long (const char *string, int base, long *result);
----
Paramètres:
* _string_: chaîne à analyser
* _base_: peut être 0 (automatique) ou un entier entre 2 et 36 (inclus)
* _result_: pointeur vers une variable mise à jour si la chaîne est correctement analysée
(si le pointeur est NULL, le nombre trouvé n'est pas retourné)
Valeur de retour:
* 1: OK
* 0: erreur
Les chaînes suivantes sont invalides et la fonction retourne 0:
* chaîne vide
* nombre avec des caractères non numériques après
* nombre < LONG_MIN (valeur minimale pour une variable de type "long")
* nombre > LONG_MAX (valeur maximale pour une variable de type "long")
* entier invalide pour la _base_ donnée
Exemples en C:
[source,c]
----
long nombre;
if (weechat_util_parse_long ("1234", 10, &nombre))
{
/* nombre == 1234 */
}
if (!weechat_util_parse_long ("abc", 10, &nombre))
{
/* erreur d'analyse, nombre est inchangé */
}
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== util_parse_longlong
_WeeChat ≥ 4.8.0._
Analyser un nombre entier de type "long long" dans une chaîne.
Prototype:
[source,c]
----
int weechat_util_parse_longlong (const char *string, int base, long long *result);
----
Paramètres:
* _string_: chaîne à analyser
* _base_: peut être 0 (automatique) ou un entier entre 2 et 36 (inclus)
* _result_: pointeur vers une variable mise à jour si la chaîne est correctement analysée
(si le pointeur est NULL, le nombre trouvé n'est pas retourné)
Valeur de retour:
* 1: OK
* 0: erreur
Les chaînes suivantes sont invalides et la fonction retourne 0:
* chaîne vide
* nombre avec des caractères non numériques après
* nombre < LLONG_MIN (valeur minimale pour une variable de type "long long")
* nombre > LLONG_MAX (valeur maximale pour une variable de type "long long")
* entier invalide pour la _base_ donnée
Exemples en C:
[source,c]
----
long long nombre;
if (weechat_util_parse_longlong ("1234", 10, &nombre))
{
/* nombre == 1234 */
}
if (!weechat_util_parse_longlong ("abc", 10, &nombre))
{
/* erreur d'analyse, nombre est inchangé */
}
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== util_timeval_cmp
Comparer deux structures "timeval".
@@ -4882,7 +5035,7 @@ Cette fonction n'est pas disponible dans l'API script.
==== util_strftimeval
_WeeChat ≥ 4.2.0, mis à jour dans la 4.3.0._
_WeeChat ≥ 4.2.0, mis à jour dans la 4.3.0, 4.7.0._
Formatter la date et l'heure comme la fonction `strftime` de la bibliothèque C,
en utilisant un `struct timeval` en entrée et en supportant des caractères de
@@ -4901,6 +5054,8 @@ Paramètres :
* _max_ : taille de la chaîne
* _format_ : format, le même que celui de la fonction _strftime_, avec des
caractères de conversion supplémentaires :
** `%@`: retourner la date exprimée en Temps Universel Coordonné (UTC)
au lieu de la date relative au fuseau horaire de l'utilisateur _(WeeChat ≥ 4.7.0)_
** `%.N` où `N` est entre 1 and 6: microsecondes remplies avec des zéros sur
N chiffres (par exemple `%.3` pour les millisecondes)
** `%f` : alias de `%.6`
@@ -4917,8 +5072,8 @@ Exemple en C :
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* résultat : 2023-12-26T18:10:04.460509 */
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* résultat : 2023-12-26T18:10:04.460509Z */
----
[NOTE]
@@ -4926,7 +5081,7 @@ Cette fonction n'est pas disponible dans l'API script.
==== util_parse_time
_WeeChat ≥ 4.2.0._
_WeeChat ≥ 4.2.0, mis à jour dans la 4.8.0._
Analyser la date/heure avec le support des microsecondes.
@@ -4939,20 +5094,108 @@ int util_parse_time (const char *datetime, struct timeval *tv);
Paramètres :
* _date_ : date/heure
* _date_ : date/heure (voir les formats supportés ci-dessous)
* _tv_: date/heure analysée (structure "timeval")
Les formats supportés pour la date/heure (en supposant que l'heure courante est
`2025-08-30 21:04:55` (Europe/Paris), donc avec le décalage horaire `+02:00`,
l'heure UTC étant `19:04:55`):
[width="70%",cols="5,6m",options="header"]
|===
| Format | Exemples
| Date (minuit)
| 2025-08-30
| ISO 8601, date + heure locale
| 2025-08-30T21:04:55 +
2025-08-30T21:04:55.123456
| ISO 8601, date + heure locale + décalage horaire
| 2025-08-30T16:04:55-03 +
2025-08-30T16:04:55-0300 +
2025-08-30T21:04:55+0200 +
2025-08-30T21:04:55+02:00 +
2025-08-30T21:04:55.123456+0200
| ISO 8601, date + heure UTC
| 2025-08-30T19:04:55Z +
2025-08-30T19:04:55.123456Z
| RFC 3339, date + heure locale
| 2025-08-30 21:04:55 +
2025-08-30 21:04:55.123456
| RFC 3339, date + heure locale + décalage horaire
| 2025-08-30 16:04:55-03 +
2025-08-30 16:04:55-0300 +
2025-08-30 21:04:55+0200 +
2025-08-30 21:04:55 +0200 +
2025-08-30 21:04:55+02:00 +
2025-08-30 21:04:55 +02:00 +
2025-08-30 21:04:55.123456+0200 +
2025-08-30 21:04:55.123456 +02:00
| RFC 3339, date + heure UTC
| 2025-08-30 19:04:55Z +
2025-08-30 19:04:55.123456Z
| Heure locale
| 21:04:55 +
21:04:55.123456
| Heure locale + décalage horaire
| 16:04:55-03 +
16:04:55-0300 +
21:04:55+0200 +
21:04:55 +0200 +
21:04:55+02:00 +
21:04:55 +02:00 +
21:04:55.123456+0200 +
21:04:55.123456 +02:00
| Heure UTC
| 19:04:55Z +
19:04:55.123456Z
| Date d'horodatage
| 1756580695 +
1756580695.123456 +
1756580695,123456
|===
Notes:
* Pour ISO 8601, le séparateur entre la date et l'heure est `T` (majuscule) ou
`t` (minuscule).
* Pour l'heure UTC, le caractère final est `Z` (majuscule) ou `z` (minuscule).
* Le format du décalage horaire est l'un des suivants:
** `++[+/-]hh:mm++` (heures et minutes)
** `++[+/-]hhmm++` (heures et minutes)
** `++[+/-]hh++` (heures).
* La précision après les secondes peut aller d'un dixième de seconde (1 chiffre,
par exemple `21:04:55.1`) à une microseconde (6 chiffres, par exemple `21:04:55.123456`). +
Un point (`.`) ou une virgule (`,`) peut séparer les secondes des autres chiffres.
Valeur de retour :
* 1 si OK, 0 si erreur
Exemple en C :
Exemples en C :
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
/* résultat: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
/* même résultat */
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
/* même résultat */
----
[NOTE]
@@ -11268,6 +11511,16 @@ Paramètres :
*** _output_ : sortie standard (défini seulement si _file_out_ n'était pas défini
dans les options)
*** _error_ : message d'erreur (défini seulement en cas d'erreur)
*** _error_code_: code d'erreur (entier, défini seulement en cas d'erreur):
**** `1`: URL invalide
**** `2`: erreur de transfert (erreur Curl)
**** `3`: mémoire insuffisante
**** `4`: erreur de fichier
**** `5`: transfert stoppé (hook supprimé durant le transfert)
**** `6`: délai d'attente dépassé pour le transfert ("timeout")
**** `100`: erreur de création du thread
*** _error_code_pthread_: code retour de la fonction _pthread_create_
(entier, défini seulement si _error_code_ vaut `100`)
** valeur de retour :
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
+3 -2
View File
@@ -338,8 +338,9 @@ Pour supprimer le découpage :
== Raccourcis clavier
WeeChat utilise un certain nombre de touches par défaut. Toutes ces
touches sont dans la documentation, mais vous devriez connaître au moins
les touches vitales :
touches sont dans la documentation
(link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier ^↗^^]),
mais vous devriez connaître au moins les touches vitales :
- kbd:[Alt+←] / kbd:[Alt+→] ou kbd:[F5] / kbd:[F6] : aller au tampon précédent/suivant
- kbd:[F1] / kbd:[F2] : faire défiler la barre avec la liste des tampons ("buflist")
+3 -3
View File
@@ -624,7 +624,7 @@ Des variables d'environnement sont utilisées par WeeChat si elles sont définie
[width="100%",cols="1m,6",options="header"]
|===
| Nom | Description
| WEECHAT_HOME | Le répertoire "maison" de WeeChat (avec les fichiers de configuration, logs, scripts, etc.). Même comportement que <<compile_with_cmake,l'option CMake>> `WEECHAT_HOME`.
| WEECHAT_HOME | Le répertoire "maison" de WeeChat (avec les fichiers de configuration, logs, scripts, etc.). Même comportement que <<build,l'option CMake>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | La phrase secrète utilisée pour déchiffrer les données sécurisées.
| WEECHAT_EXTRA_LIBDIR | Un répertoire supplémentaire pour charger les extensions (depuis le répertoire "plugins" sous ce chemin).
|===
@@ -3869,7 +3869,7 @@ WeeChat supporte les https://ircv3.net/irc/[extensions IRCv3 ^↗^^] suivantes
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3917,7 +3917,7 @@ Spécification : https://ircv3.net/specs/extensions/account-tag[account-tag ^
Cette capacité autorise le serveur à envoyer le compte comme étiquette de message
dans les commandes envoyées au client. +
WeeChat extrait cette étiquette et la sauve dans le message, mais elle n'est pas
utilisée ni affichée. Elle peut être utilisée dans la commande <<command_filter,/filter>>
utilisée ni affichée. Elle peut être utilisée dans la commande <<command_weechat_filter,/filter>>
pour filtrer les messages correspondants à des comptes spécifiques.
Exemple de message IRC brut reçu :
+1 -1
View File
@@ -7,7 +7,7 @@
For complete doc on plugin options, please look at plugins documentation in
https://weechat.org/doc/[WeeChat user's guide].
With irc plugin, you can connect to temporary server with an URL like:
With irc plugin, you can connect to a server with an URL like:
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
+263 -9
View File
@@ -2297,7 +2297,7 @@ Argomenti:
Valore restituito:
* array di stringhe, NULL in caso di problemi (deve essere liberata chiamando
<<_free_split_command,free_split_command>> dopo l'uso)
<<_string_free_split_command,string_free_split_command>> dopo l'uso)
Esempio in C:
@@ -4874,6 +4874,162 @@ Questa funzione non è disponibile nelle API per lo scripting.
Alcune funzioni utili.
// TRANSLATION MISSING
==== util_parse_int
_WeeChat ≥ 4.8.0._
Parse an integer number of type "int" in a string.
Prototipo:
[source,c]
----
int weechat_util_parse_int (const char *string, int base, int *result);
----
Argomenti:
* _string_: string to parse
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
* _result_: pointer to a variable updated if the string is correctly parsed
(if pointer is NULL, the number found is not returned)
Valore restituito:
* 1: OK
* 0: error
The following strings are invalid and the function returns 0:
* empty string
* number with extra non-digits after
* number < INT_MIN (min value for a variable of type "int")
* number > INT_MAX (max value for a variable of type "int")
* invalid integer for the given _base_
Esempi in C:
[source,c]
----
int number;
if (weechat_util_parse_int ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_int ("abc", 10, &number))
{
/* parsing error, number is unchanged */
}
----
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
// TRANSLATION MISSING
==== util_parse_long
_WeeChat ≥ 4.8.0._
Parse an integer number of type "long" in a string.
Prototipo:
[source,c]
----
int weechat_util_parse_long (const char *string, int base, long *result);
----
Argomenti:
* _string_: string to parse
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
* _result_: pointer to a variable updated if the string is correctly parsed
(if pointer is NULL, the number found is not returned)
Valore restituito:
* 1: OK
* 0: error
The following strings are invalid and the function returns 0:
* empty string
* number with extra non-digits after
* number < LONG_MIN (min value for a variable of type "long")
* number > LONG_MAX (max value for a variable of type "long")
* invalid integer for the given _base_
Esempi in C:
[source,c]
----
long number;
if (weechat_util_parse_long ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_long ("abc", 10, &number))
{
/* parsing error, number is unchanged */
}
----
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
// TRANSLATION MISSING
==== util_parse_longlong
_WeeChat ≥ 4.8.0._
Parse an integer number of type "long long" in a string.
Prototipo:
[source,c]
----
int weechat_util_parse_longlong (const char *string, int base, long long *result);
----
Argomenti:
* _string_: string to parse
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
* _result_: pointer to a variable updated if the string is correctly parsed
(if pointer is NULL, the number found is not returned)
Valore restituito:
* 1: OK
* 0: error
The following strings are invalid and the function returns 0:
* empty string
* number with extra non-digits after
* number < LLONG_MIN (min value for a variable of type "long long")
* number > LLONG_MAX (max value for a variable of type "long long")
* invalid integer for the given _base_
Esempi in C:
[source,c]
----
long long number;
if (weechat_util_parse_longlong ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_longlong ("abc", 10, &number))
{
/* parsing error, number is unchanged */
}
----
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
==== util_timeval_cmp
Confronta due strutture "timeval".
@@ -5023,7 +5179,7 @@ Questa funzione non è disponibile nelle API per lo scripting.
// TRANSLATION MISSING
==== util_strftimeval
_WeeChat ≥ 4.2.0, updated in 4.3.0._
_WeeChat ≥ 4.2.0, updated in 4.3.0, 4.7.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers.
@@ -5040,6 +5196,8 @@ Arguments:
* _string_: buffer where the formatted string is stored
* _max_: string size
* _format_: format, the same as _strftime_ function, with these extra specifiers:
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
@@ -5056,8 +5214,8 @@ C example:
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* result: 2023-12-26T18:10:04.460509 */
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* result: 2023-12-26T18:10:04.460509Z */
----
[NOTE]
@@ -5066,7 +5224,7 @@ Questa funzione non è disponibile nelle API per lo scripting.
// TRANSLATION MISSING
==== util_parse_time
_WeeChat ≥ 4.2.0._
_WeeChat ≥ 4.2.0, updated in 4.8.0._
Parse date/time with support of microseconds.
@@ -5079,20 +5237,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
Arguments:
* _date_: date/time
* _date_: date/time (see supported formats below)
* _tv_: parsed date/time ("timeval" structure)
Supported date/time format (supposing the current time is `2025-08-30 21:04:55`
(Europe/Paris), so with timezone offset `+02:00`, UTC time being `19:04:55`):
[width="70%",cols="5,6m",options="header"]
|===
| Format | Examples
| Date (midnight)
| 2025-08-30
| ISO 8601, date + local time
| 2025-08-30T21:04:55 +
2025-08-30T21:04:55.123456
| ISO 8601, date + local time + offset
| 2025-08-30T16:04:55-03 +
2025-08-30T16:04:55-0300 +
2025-08-30T21:04:55+0200 +
2025-08-30T21:04:55+02:00 +
2025-08-30T21:04:55.123456+0200
| ISO 8601, date + UTC time
| 2025-08-30T19:04:55Z +
2025-08-30T19:04:55.123456Z
| RFC 3339, date + local time
| 2025-08-30 21:04:55 +
2025-08-30 21:04:55.123456
| RFC 3339, date + local time + offset
| 2025-08-30 16:04:55-03 +
2025-08-30 16:04:55-0300 +
2025-08-30 21:04:55+0200 +
2025-08-30 21:04:55 +0200 +
2025-08-30 21:04:55+02:00 +
2025-08-30 21:04:55 +02:00 +
2025-08-30 21:04:55.123456+0200 +
2025-08-30 21:04:55.123456 +02:00
| RFC 3339, date + UTC time
| 2025-08-30 19:04:55Z +
2025-08-30 19:04:55.123456Z
| Local time
| 21:04:55 +
21:04:55.123456
| Local time + offset
| 16:04:55-03 +
16:04:55-0300 +
21:04:55+0200 +
21:04:55 +0200 +
21:04:55+02:00 +
21:04:55 +02:00 +
21:04:55.123456+0200 +
21:04:55.123456 +02:00
| UTC time
| 19:04:55Z +
19:04:55.123456Z
| Timestamp date
| 1756580695 +
1756580695.123456 +
1756580695,123456
|===
Notes:
* For ISO 8601, the separator between date and time is `T` (upper case) or `t` (lower case).
* For UTC time, the final char is `Z` (upper case) or `z` (lower case).
* The timezone offset format is one of:
** `++[+/-]hh:mm++` (hours and minutes)
** `++[+/-]hhmm++` (hours and minutes)
** `++[+/-]hh++` (hours).
* Precision after seconds can be from one-tenth of second (1 digit, for example
`21:04:55.1`) to one microsecond (6 digits, for example `21:04:55.123456`). +
A dot (`.`) or comma (`,`) can separate seconds from the other digits.
Return value:
* 1 if OK, 0 if error
C example:
C examples:
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
/* same result */
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
/* same result */
----
[NOTE]
@@ -11473,6 +11717,16 @@ Argomenti:
*** _headers_: HTTP headers in response
*** _output_: standard output (set only if _file_out_ was not set in options)
*** _error_: error message (set only in case of error)
*** _error_code_: error code (integer, set only in case of error):
**** `1`: invalid URL
**** `2`: transfer error (Curl error)
**** `3`: not enough memory
**** `4`: file error
**** `5`: transfer stopped (hook removed during the transfer)
**** `6`: transfer timeout
**** `100`: thread creation error
*** _error_code_pthread_: return code of function _pthread_create_
(integer, set only if _error_code_ is `100`)
** return value:
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
+3 -1
View File
@@ -338,7 +338,9 @@ Per rimuovere la divisione:
[[key_bindings]]
== Associazione tasti
WeeChat usa molti tasti. Essi sono tutti presenti nella documentazione,
// TRANSLATION MISSING
WeeChat usa molti tasti. Essi sono tutti presenti nella documentazione
(link:weechat_user.it.html#key_bindings[Guida per l'Utente / Key bindings ^↗^^]),
ma si dovrebbero conoscere almeno quelli vitali:
- kbd:[Alt+←] / kbd:[Alt+→] oppure kbd:[F5] / kbd:[F6]: passa al buffer
+3 -3
View File
@@ -686,7 +686,7 @@ Some environment variables are used by WeeChat if they are defined:
[width="100%",cols="1m,6",options="header"]
|===
| Name | Description
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, ...). Same behavior as <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, ...). Same behavior as <<build,CMake option>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | The passphrase used to decrypt secured data.
| WEECHAT_EXTRA_LIBDIR | An extra directory to load plugins (from the "plugins" directory in this path).
|===
@@ -4110,7 +4110,7 @@ WeeChat supports the following https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -4158,7 +4158,7 @@ Specification: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
This capability allows the server to send account as message tag to commands
sent to the client. +
WeeChat parses this tag and saves it in the message, but it is not used or
displayed. It can be used in <<command_filter,/filter>> command to filter
displayed. It can be used in <<command_weechat_filter,/filter>> command to filter
messages matching specific accounts.
Example of raw IRC message received:
+2 -1
View File
@@ -7,7 +7,8 @@
プラグインオプションに関する完全な文書は
https://weechat.org/doc[WeeChat ユーザーズガイド] のプラグインの章を参照してください。
irc プラグインでは以下の様な URL で一時的なサーバに接続することができます:
// TRANSLATION MISSING
With irc plugin, you can connect to a server with an URL like:
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
+263 -9
View File
@@ -2232,7 +2232,7 @@ char **weechat_string_split_command (const char *command, char separator);
戻り値:
* 文字列の配列、分割に失敗した場合は NULL (使用後には必ず
<<_free_split_command,free_split_command>> を呼び出して領域を開放してください)
<<_string_free_split_command,string_free_split_command>> を呼び出して領域を開放してください)
C 言語での使用例:
@@ -4799,6 +4799,162 @@ if (weechat_file_compare ("/tmp/test.txt", "/tmp/test2.txt") == 0)
便利な関数。
// TRANSLATION MISSING
==== util_parse_int
_WeeChat ≥ 4.8.0._
Parse an integer number of type "int" in a string.
プロトタイプ:
[source,c]
----
int weechat_util_parse_int (const char *string, int base, int *result);
----
引数:
* _string_: string to parse
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
* _result_: pointer to a variable updated if the string is correctly parsed
(if pointer is NULL, the number found is not returned)
戻り値:
* 1: OK
* 0: error
The following strings are invalid and the function returns 0:
* empty string
* number with extra non-digits after
* number < INT_MIN (min value for a variable of type "int")
* number > INT_MAX (max value for a variable of type "int")
* invalid integer for the given _base_
C 言語での使用例:
[source,c]
----
int number;
if (weechat_util_parse_int ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_int ("abc", 10, &number))
{
/* parsing error, number is unchanged */
}
----
[NOTE]
スクリプト API ではこの関数を利用できません。
// TRANSLATION MISSING
==== util_parse_long
_WeeChat ≥ 4.8.0._
Parse an integer number of type "long" in a string.
プロトタイプ:
[source,c]
----
int weechat_util_parse_long (const char *string, int base, long *result);
----
引数:
* _string_: string to parse
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
* _result_: pointer to a variable updated if the string is correctly parsed
(if pointer is NULL, the number found is not returned)
戻り値:
* 1: OK
* 0: error
The following strings are invalid and the function returns 0:
* empty string
* number with extra non-digits after
* number < LONG_MIN (min value for a variable of type "long")
* number > LONG_MAX (max value for a variable of type "long")
* invalid integer for the given _base_
C 言語での使用例:
[source,c]
----
long number;
if (weechat_util_parse_long ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_long ("abc", 10, &number))
{
/* parsing error, number is unchanged */
}
----
[NOTE]
スクリプト API ではこの関数を利用できません。
// TRANSLATION MISSING
==== util_parse_longlong
_WeeChat ≥ 4.8.0._
Parse an integer number of type "long long" in a string.
プロトタイプ:
[source,c]
----
int weechat_util_parse_longlong (const char *string, int base, long long *result);
----
引数:
* _string_: string to parse
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
* _result_: pointer to a variable updated if the string is correctly parsed
(if pointer is NULL, the number found is not returned)
戻り値:
* 1: OK
* 0: error
The following strings are invalid and the function returns 0:
* empty string
* number with extra non-digits after
* number < LLONG_MIN (min value for a variable of type "long long")
* number > LLONG_MAX (max value for a variable of type "long long")
* invalid integer for the given _base_
C 言語での使用例:
[source,c]
----
long long number;
if (weechat_util_parse_longlong ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_longlong ("abc", 10, &number))
{
/* parsing error, number is unchanged */
}
----
[NOTE]
スクリプト API ではこの関数を利用できません。
==== util_timeval_cmp
2 つの "timeval" 構造体を比較。
@@ -4937,7 +5093,7 @@ weechat_printf (NULL, "date: %s",
// TRANSLATION MISSING
==== util_strftimeval
_WeeChat ≥ 4.2.0, updated in 4.3.0._
_WeeChat ≥ 4.2.0, updated in 4.3.0, 4.7.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers.
@@ -4954,6 +5110,8 @@ Arguments:
* _string_: buffer where the formatted string is stored
* _max_: string size
* _format_: format, the same as _strftime_ function, with these extra specifiers:
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
@@ -4970,8 +5128,8 @@ C example:
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* result: 2023-12-26T18:10:04.460509 */
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* result: 2023-12-26T18:10:04.460509Z */
----
[NOTE]
@@ -4980,7 +5138,7 @@ weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
// TRANSLATION MISSING
==== util_parse_time
_WeeChat ≥ 4.2.0._
_WeeChat ≥ 4.2.0, updated in 4.8.0._
Parse date/time with support of microseconds.
@@ -4993,20 +5151,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
Arguments:
* _date_: date/time
* _date_: date/time (see supported formats below)
* _tv_: parsed date/time ("timeval" structure)
Supported date/time format (supposing the current time is `2025-08-30 21:04:55`
(Europe/Paris), so with timezone offset `+02:00`, UTC time being `19:04:55`):
[width="70%",cols="5,6m",options="header"]
|===
| Format | Examples
| Date (midnight)
| 2025-08-30
| ISO 8601, date + local time
| 2025-08-30T21:04:55 +
2025-08-30T21:04:55.123456
| ISO 8601, date + local time + offset
| 2025-08-30T16:04:55-03 +
2025-08-30T16:04:55-0300 +
2025-08-30T21:04:55+0200 +
2025-08-30T21:04:55+02:00 +
2025-08-30T21:04:55.123456+0200
| ISO 8601, date + UTC time
| 2025-08-30T19:04:55Z +
2025-08-30T19:04:55.123456Z
| RFC 3339, date + local time
| 2025-08-30 21:04:55 +
2025-08-30 21:04:55.123456
| RFC 3339, date + local time + offset
| 2025-08-30 16:04:55-03 +
2025-08-30 16:04:55-0300 +
2025-08-30 21:04:55+0200 +
2025-08-30 21:04:55 +0200 +
2025-08-30 21:04:55+02:00 +
2025-08-30 21:04:55 +02:00 +
2025-08-30 21:04:55.123456+0200 +
2025-08-30 21:04:55.123456 +02:00
| RFC 3339, date + UTC time
| 2025-08-30 19:04:55Z +
2025-08-30 19:04:55.123456Z
| Local time
| 21:04:55 +
21:04:55.123456
| Local time + offset
| 16:04:55-03 +
16:04:55-0300 +
21:04:55+0200 +
21:04:55 +0200 +
21:04:55+02:00 +
21:04:55 +02:00 +
21:04:55.123456+0200 +
21:04:55.123456 +02:00
| UTC time
| 19:04:55Z +
19:04:55.123456Z
| Timestamp date
| 1756580695 +
1756580695.123456 +
1756580695,123456
|===
Notes:
* For ISO 8601, the separator between date and time is `T` (upper case) or `t` (lower case).
* For UTC time, the final char is `Z` (upper case) or `z` (lower case).
* The timezone offset format is one of:
** `++[+/-]hh:mm++` (hours and minutes)
** `++[+/-]hhmm++` (hours and minutes)
** `++[+/-]hh++` (hours).
* Precision after seconds can be from one-tenth of second (1 digit, for example
`21:04:55.1`) to one microsecond (6 digits, for example `21:04:55.123456`). +
A dot (`.`) or comma (`,`) can separate seconds from the other digits.
Return value:
* 1 if OK, 0 if error
C example:
C examples:
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
/* same result */
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
/* same result */
----
[NOTE]
@@ -11207,6 +11451,16 @@ struct t_hook *weechat_hook_url (const char *url,
*** _headers_: HTTP headers in response
*** _output_: standard output (set only if _file_out_ was not set in options)
*** _error_: error message (set only in case of error)
*** _error_code_: error code (integer, set only in case of error):
**** `1`: invalid URL
**** `2`: transfer error (Curl error)
**** `3`: not enough memory
**** `4`: file error
**** `5`: transfer stopped (hook removed during the transfer)
**** `6`: transfer timeout
**** `100`: thread creation error
*** _error_code_pthread_: return code of function _pthread_create_
(integer, set only if _error_code_ is `100`)
** return value:
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
+4 -2
View File
@@ -333,8 +333,10 @@ channels configured in the "autojoin" server option.
[[key_bindings]]
== キー割り当て設定
WeeChat
はデフォルトでたくさんのショートカットキーが設定されています。これらはドキュメントに記載されていますが、いくつか重要なキーがあります:
// TRANSLATION MISSING
WeeChat uses many keys by default. All these keys are in the documentation
(link:weechat_user.ja.html#key_bindings[ユーザーズガイド / Key bindings ^↗^^]),
but you should know at least some vital keys:
- kbd:[Alt+←] / kbd:[Alt+→] または kbd:[F5] / kbd:[F6]: 前後のバッファに切り替える
- kbd:[F1] / kbd:[F2]: バッファリストを含むバー ("buflist") をスクロール表示
+3 -3
View File
@@ -659,7 +659,7 @@ include::includes/cmdline_options.ja.adoc[tag=debug]
|===
| 変数名 | 説明
// TRANSLATION MISSING
| WEECHAT_HOME | WeeChat ホームディレクトリ (ここには設定ファイル、ログ、スクリプトなどがあります) Same behavior as <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
| WEECHAT_HOME | WeeChat ホームディレクトリ (ここには設定ファイル、ログ、スクリプトなどがあります) Same behavior as <<build,CMake option>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | 暗号化データを復号化するためのパスフレーズ
| WEECHAT_EXTRA_LIBDIR | プラグインをロードするための追加ディレクトリパス (設定したパス内の "plugins" ディレクトリからロードします)
|===
@@ -3982,7 +3982,7 @@ WeeChat supports the following https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -4030,7 +4030,7 @@ Specification: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
This capability allows the server to send account as message tag to commands
sent to the client. +
WeeChat parses this tag and saves it in the message, but it is not used or
displayed. It can be used in <<command_filter,/filter>> command to filter
displayed. It can be used in <<command_weechat_filter,/filter>> command to filter
messages matching specific accounts.
Example of raw IRC message received:
+2 -2
View File
@@ -7,8 +7,8 @@
Kompletna dokumentacja na temat opcji wtyczek dostępna jest
w https://weechat.org/doc/[WeeChat user's guide].
Dzięki wtyczce irc możliwe jest połączenie z serwerami tymczasowymi za pomocą
URLi jak:
// TRANSLATION MISSING
With irc plugin, you can connect to a server with an URL like:
irc[6][s]://[[nick][:hasło]@]serwer[:port][/#kanał1[,#kanał2...]]
+2 -1
View File
@@ -328,7 +328,8 @@ Usunięcie podziału:
[[key_bindings]]
== Skróty klawiszowe
WeeChat używa domyślnie wiele klawiszy. Wszystkie z nich są w dokumentacji,
WeeChat używa domyślnie wiele klawiszy. Wszystkie z nich są w dokumentacji
(link:weechat_user.pl.html#key_bindings[Poradnik użytkownika / Skróty klawiszowe ^↗^^]),
ale powinieneś znać przynajmniej kilka najprzydatniejszych:
- kbd:[Alt+←] / kbd:[Alt+→] lub kbd:[F5] / kbd:[F6]: przełącza na
+5 -7
View File
@@ -620,7 +620,7 @@ Niektóre zmienne śwodowiskowe są używane przez WeeChat o ile zostały zdefin
[width="100%",cols="1m,6",options="header"]
|===
| Nazwa | Opis
| WEECHAT_HOME | Katalog domowy WeeChat (z plikami konfiguracyjnymi, logami, skryptami, ...). Działa tak samo jak <<compile_with_cmake,opcja CMake>> `WEECHAT_HOME`.
| WEECHAT_HOME | Katalog domowy WeeChat (z plikami konfiguracyjnymi, logami, skryptami, ...). Działa tak samo jak <<build,opcja CMake>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | Hasło używane do odszyfrowania zabezpieczonych danych.
| WEECHAT_EXTRA_LIBDIR | Dodatkowy katalog do ładowania wtyczek (z katalogu "plugins" znajdującego się pod tą ścieżką).
|===
@@ -1064,8 +1064,7 @@ Dla niektórych wtyczek jak IRC, można użyć kolorów i atrybutów w następuj
kbd:[yyyyyy] | Kolor tekstu `xxxxxx` i tła `yyyyyy` (RGB jako wartości szesnastkowe).
| kbd:[Ctrl+c], kbd:[i] | Kursywa
| kbd:[Ctrl+c], kbd:[o] | Wyłącza kolory i atrybuty
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[s] | Strikethrough text (displayed as half bright in ncurses interface because strikethrough is not supported).
| kbd:[Ctrl+c], kbd:[s] | Przekreślony tekst (wyświetlany w interfejsie ncurses jako w połowie jasny, ponieważ przekreślenie nie jest wspierane).
| kbd:[Ctrl+c], kbd:[v] | Odwróć video (przywraca kolor tekstu i tła)
| kbd:[Ctrl+c], kbd:[_] | Podkreślony tekst
|===
@@ -1639,8 +1638,7 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
| kbd:[Ctrl+c], kbd:[d] | Wstaw kod dla kolorowego tekstu (kolor RGB jaki liczba szesnastkowa). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Wstaw kod dla pochyłego tekstu. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Wstaw kod dla zresetowania koloru. | `+/input insert \x0F+`
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[s] | Insert code for strikethrough text. | `+/input insert \x1E+`
| kbd:[Ctrl+c], kbd:[s] | Wstaw kod dla przekreślonego tekstu. | `+/input insert \x1E+`
| kbd:[Ctrl+c], kbd:[v] | Wstaw kod dla odwrócenia koloru. | `+/input insert \x16+`
| kbd:[Ctrl+c], kbd:[_] | Wstaw kod dla podkreślonego tekstu. | `+/input insert \x1F+`
|===
@@ -3785,7 +3783,7 @@ WeeChat wspiera następujące https://ircv3.net/irc/[rozszerzenia IRCv3 ^↗^^]
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3833,7 +3831,7 @@ Specyfikacja: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^^
Ta właściwość pozwala serwerowi na wysyłanie komend konta jako tagów wiadomości
do komend wysyłanych do klienta. +
WeeChat parsuje te tagi i zapisuje je w wiadomości ale nie jest on używany ani
wyświetlany. Można ich użyć w komendzie <<command_filter,/filter>> do filtrowania
wyświetlany. Można ich użyć w komendzie <<command_weechat_filter,/filter>> do filtrowania
wiadmości pasujących do konkretnych kont:
Przykład otrzymanej nieprzetworzonej wiadomości:
+2 -1
View File
@@ -8,7 +8,8 @@
Полное описание параметров плагинов доступно в документации по плагинам в
https://weechat.org/doc/[Руководстве пользователя WeeChat].
С помощью плагина irc можно присоединиться ко временному серверу, используя URL вроде:
// TRANSLATION MISSING
With irc plugin, you can connect to a server with an URL like:
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
+4 -3
View File
@@ -351,9 +351,10 @@ _foo_):
[[key_bindings]]
== Сочетания клавиш
В WeeChat по умолчанию определено немало горячих клавиш. Все они
задокументированны, но вам обязательно нужно знать несколько жизненно
необходимых:
// TRANSLATION MISSING
WeeChat uses many keys by default. All these keys are in the documentation
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
but you should know at least some vital keys:
- kbd:[Alt+←] / kbd:[Alt+→] или kbd:[F5] / kbd:[F6]: к следующему или предыдущему буферу
// TRANSLATION MISSING
+2 -1
View File
@@ -6,7 +6,8 @@
// tag::plugin_options[]
За комплетну документацију у вези опција додатака, молимо вас да погледате документацију за додатке у https://weechat.org/doc/[WeeChat корисничком упутству].
irc додатком се овако повезујете са привременим сервером датим URL адресом:
// TRANSLATION MISSING
With irc plugin, you can connect to a server with an URL like:
irc[6][s]://[[надимак][:лозинка]@]сервер[:порт][/#канал1[,#канал2...]]
+29 -58
View File
@@ -91,33 +91,23 @@ qweechat::
|       typing/ | Typing додатак.
|       xfer/ | Xfer додатак (IRC DCC фајл/разговор).
| tests/ | Тестови.
// TRANSLATION MISSING
|    fuzz/ | Fuzz testing.
// TRANSLATION MISSING
| core/ | Fuzz testing for core functions.
|    fuzz/ | Fuzz тестирање.
| core/ | Fuzz тестирање функција језгра.
|    unit/ | Unit тестови.
|       core/ | Unit тестови за функције језгра.
// TRANSLATION MISSING
|       hook/ | Unit tests for hook functions.
|       hook/ | Unit тестову за функције куке.
|       gui/ | Unit тестови за функције интерфејса.
// TRANSLATION MISSING
|       curses/ | Unit tests for Curses interface functions.
|       curses/ | Unit тестови за функције Curses интерфејса.
|    scripts/ | Тестови за API скриптовања.
|       python/ | Python скрипте за генерисање и покретање тестова за API скриптовања.
|       plugins/ | Unit тестови за додатке.
// TRANSLATION MISSING
|          alias/ | Unit tests for alias plugin.
|          alias/ | Unit тестови за alias додатак.
|          irc/ | Unit тестови за IRC додатак.
// TRANSLATION MISSING
|          logger/ | Unit tests for logger plugin.
// TRANSLATION MISSING
|          relay/ | Unit tests for relay plugin.
// TRANSLATION MISSING
|          trigger/ | Unit tests for trigger plugin.
// TRANSLATION MISSING
|          typing/ | Unit tests for typing plugin.
// TRANSLATION MISSING
|          xfer/ | Unit tests for xfer plugin.
|          logger/ | Unit тестови за logger додатак.
|          relay/ | Unit тестови за relay додатак.
|          trigger/ | Unit тестови за trigger додатак.
|          typing/ | Unit тестови за typing додатак.
|          xfer/ | Unit тестови за xfer додатак.
| doc/ | Документација.
| po/ | Фајлови превода (gettext).
| debian/ | Debian паковање.
@@ -426,24 +416,15 @@ WeeChat „језгро” се налази у следећим директо
|===
| Путања/фајл | Опис
| tests/ | Корен тестова.
// TRANSLATION MISSING
|    fuzz/ | Root of fuzz testing.
// TRANSLATION MISSING
| ossfuzz.sh | Build script for https://github.com/google/oss-fuzz[OSS-Fuzz ^↗^^].
// TRANSLATION MISSING
|       core/ | Root of fuzz testing for core.
// TRANSLATION MISSING
|       calc-fuzzer.c | Fuzz testing: калкулација израза.
// TRANSLATION MISSING
|       crypto-fuzzer.c | Fuzz testing: криптографске функције.
// TRANSLATION MISSING
|       secure-fuzzer.c | Fuzz testing: secured data.
// TRANSLATION MISSING
|       string-fuzzer.c | Fuzz testing: стрингови.
// TRANSLATION MISSING
|       utf8-fuzzer.c | Fuzz testing: UTF-8.
// TRANSLATION MISSING
|       util-fuzzer.c | Fuzz testing: utility functions.
|    fuzz/ | Корен fuzz тестирања.
| ossfuzz.sh | Скрипта изградње за https://github.com/google/oss-fuzz[OSS-Fuzz ^↗^^].
|       core/ | Корен fuzz тестирања за језгро.
|       calc-fuzzer.c | Fuzz тестирање: калкулација израза.
|       crypto-fuzzer.c | Fuzz тестирање: криптографске функције.
|       secure-fuzzer.c | Fuzz тестирање: обезбеђени подаци.
|       string-fuzzer.c | Fuzz тестирање: стрингови.
|       utf8-fuzzer.c | Fuzz тестирање: UTF-8.
|       util-fuzzer.c | Fuzz тестирање: услужне функције.
|    unit/ | Корен unit тестова.
|    tests.cpp | Програм који се користи за извршавање свих тестова.
|    tests-record.cpp | Бележење и претрага у приказаним порукама.
@@ -490,13 +471,10 @@ WeeChat „језгро” се налази у следећим директо
|             test-hook-timer.cpp | Тестови: куке „timer”.
|             test-hook-url.cpp | Тестови: куке „url”.
|       gui/ | Корен unit тестова интерфејса.
// TRANSLATION MISSING
|          test-gui-bar-item-custom.cpp | Tests: custom bar item functions.
// TRANSLATION MISSING
|          test-gui-bar-item.cpp | Tests: bar item functions.
|          test-gui-bar-item-custom.cpp | Тестови: функције ставки прилагођене траке.
|          test-gui-bar-item.cpp | Тестови: функције ставки траке.
|          test-gui-bar-window.cpp | Тестови: функције прозора траке.
// TRANSLATION MISSING
|          test-gui-bar.cpp | Tests: bar functions.
|          test-gui-bar.cpp | Тестови: функције траке.
|          test-gui-buffer.cpp | Тестови: бафер функције.
|          test-gui-chat.cpp | Тестови: чет функције.
|          test-gui-color.cpp | Тестови: боје.
@@ -519,10 +497,8 @@ WeeChat „језгро” се налази у следећим директо
|       test-plugin-config.cpp | Тестови: функције конфигурације додатка.
|       test-plugin-api-info.cpp | Тестови: инфо функције API додатака.
|       test-plugins.cpp | Тестови: plugins.
// TRANSLATION MISSING
|          alias/ | Root of unit tests for alias plugin.
// TRANSLATION MISSING
|             test-alias.cpp | Tests: aliases.
|          alias/ | Корен unit тестова за alias додатак.
|             test-alias.cpp | Тестови: алијаси.
|          irc/ | Корен unit тестова IRC додатка.
|             test-irc-batch.cpp | Тестови: IRC пакетни догађаји.
|             test-irc-buffer.cpp | Тестови: IRC бафери.
@@ -556,12 +532,9 @@ WeeChat „језгро” се налази у следећим директо
|                test-relay-api.cpp | Тестови: Релеј „api” протокол: опште функције.
|                test-relay-api-msg.cpp | Тестови: Релеј „api” протокол: поруке.
|                test-relay-api-protocol.cpp | Тестови: Релеј „api” протокол: протокол.
// TRANSLATION MISSING
|             remote/ | Tests: Relay "api" protocol: remote functions.
// TRANSLATION MISSING
|             test-relay-remote-event.cpp | Tests: Relay "api" protocol: remote events.
// TRANSLATION MISSING
|             test-relay-remote-network.cpp | Tests: Relay "api" protocol: remote network.
|             remote/ | Тестови: Релеј „api” протокол: удаљене функције.
|             test-relay-remote-event.cpp | Тестови: Релеј „api” протокол: удаљени догађаји.
|             test-relay-remote-network.cpp | Тестови: Релеј „api” протокол: удаљена мрежа.
|             irc/ | Корен unit тестова за Релеј „irc” протокол.
|                test-relay-irc.cpp | Тестови: Релеј „irc” протокол.
|          trigger/ | Корен unit тестова за окидач додатак.
@@ -1262,13 +1235,11 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
| tests/fuzz
| tests/fuzz/*
// TRANSLATION MISSING
| Fuzz testing
| Fuzz тестирање
| tests/unit
| tests/unit/*
// TRANSLATION MISSING
| Unit tests
| Unit тестови
| doc
| doc/*
+267 -17
View File
@@ -2086,7 +2086,7 @@ char **weechat_string_split_command (const char *command, char separator);
Повратна вредност:
* низ стрингова, NULL у случају проблема (након употребе мора да се ослободи позивом <<_free_split_command,free_split_command>>)
* низ стрингова, NULL у случају проблема (након употребе мора да се ослободи позивом <<_string_free_split_command,string_free_split_command>>)
C пример:
@@ -4484,12 +4484,11 @@ if (weechat_file_compress ("/tmp/test.txt", "/tmp/test.txt.zst", "zstd", 50))
[NOTE]
Ова функција није доступна у API скриптовања.
// TRANSLATION MISSING
==== file_compare
_WeeChat ≥ 4.7.0._
Compare the content of two files.
Пореди садржаје два фајла.
Прототип:
@@ -4500,14 +4499,14 @@ int weechat_file_compare (const char *filename1, const char *filename2);
Аргументи:
* _filename1_: first file to compare
* _filename2_: second file to compare
* _filename1_: први фајл за поређење
* _filename2_: други фајл за поређење
Повратна вредност:
* 0: both files have same content
* 1: content is different
* 2: error (file not found or read error)
* 0: оба фајла имају исти садржај
* 1: садржај се разликује
* 2: грешка (фајл није пронађен или грешка при читању)
C пример:
@@ -4515,7 +4514,7 @@ C пример:
----
if (weechat_file_compare ("/tmp/test.txt", "/tmp/test2.txt") == 0)
{
/* same content */
/* исти садржај */
}
----
@@ -4527,6 +4526,159 @@ if (weechat_file_compare ("/tmp/test.txt", "/tmp/test2.txt") == 0)
Неке корисне функције.
==== util_parse_int
_WeeChat ≥ 4.8.0._
Парсира цео број типа „int” у стрингу.
Прототип:
[source,c]
----
int weechat_util_parse_int (const char *string, int base, int *result);
----
Аргументи:
* _string_: стринг који се парсира
* _base_: може да буде 0 (аутоматски) или цео број између 2 и 36 (укључујући)
* _result_: показивач на ажурирану променљиву ако је стринг исправно парсиран
(ако је показивач NULL, пронађени број се не враћа)
Повратна вредност:
* 1: OK
* 0: грешка
Следећи стрингови нису исправни и функција враћа 0:
* празан стринг
* број са вишком не-цифара на крају
* број < INT_MIN (минимална вредност за променљиву типа „int”)
* број > INT_MAX (максимална вредност за променљиву типа „int”)
* неисправни цео број за наведену _base_
C примери:
[source,c]
----
int number;
if (weechat_util_parse_int ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_int ("abc", 10, &number))
{
/* грешка парсирања, број није измењен */
}
----
[NOTE]
Ова функција није доступна у API скриптовања.
==== util_parse_long
_WeeChat ≥ 4.8.0._
Парсира цео број типа „long” у стрингу.
Прототип:
[source,c]
----
int weechat_util_parse_long (const char *string, int base, long *result);
----
Аргументи:
* _string_: стринг који се парсира
* _base_: може да буде 0 (аутоматски) или цео број између 2 и 36 (укључујући)
* _result_: показивач на ажурирану променљиву ако је стринг исправно парсиран
(ако је показивач NULL, пронађени број се не враћа)
Повратна вредност:
* 1: OK
* 0: грешка
Следећи стрингови нису исправни и функција враћа 0:
* празан стринг
* број са вишком не-цифара на крају
* број < LONG_MIN (минимална вредност за променљиву типа „long”)
* број > LONG_MAX (максимална вредност за променљиву типа „long”)
* неисправни цео број за наведену _base_
C примери:
[source,c]
----
long number;
if (weechat_util_parse_long ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_long ("abc", 10, &number))
{
/* грешка парсирања, број није измењен */
}
----
[NOTE]
Ова функција није доступна у API скриптовања.
==== util_parse_longlong
_WeeChat ≥ 4.8.0._
Парсира цео број типа „long long” у стрингу.
Прототип:
[source,c]
----
int weechat_util_parse_longlong (const char *string, int base, long long *result);
----
Аргументи:
* _string_: стринг који се парсира
* _base_: може да буде 0 (аутоматски) или цео број између 2 и 36 (укључујући)
* _result_: показивач на ажурирану променљиву ако је стринг исправно парсиран
(ако је показивач NULL, пронађени број се не враћа)
Повратна вредност:
* 1: OK
* 0: грешка
Следећи стрингови нису исправни и функција враћа 0:
* празан стринг
* број са вишком не-цифара на крају
* број < LLONG_MIN (минимална вредност за променљиву типа „long long”)
* број > LLONG_MAX (максимална вредност за променљиву типа „long long”)
* неисправни цео број за наведену _base_
C примери:
[source,c]
----
long long number;
if (weechat_util_parse_longlong ("1234", 10, &number))
{
/* number == 1234 */
}
if (!weechat_util_parse_longlong ("abc", 10, &number))
{
/* грешка парсирања, број није измењен */
}
----
[NOTE]
Ова функција није доступна у API скриптовања.
==== util_timeval_cmp
Пореди две „timeval” структуре.
@@ -4663,7 +4815,7 @@ weechat_printf (NULL, "date: %s",
==== util_strftimeval
_WeeChat ≥ 4.2.0, ажурирано у 4.3.0._
_WeeChat ≥ 4.2.0, ажурирано у 4.3.0, 4.7.0._
Форматира датум и време као функција `strftime` из C библиотеке, користећи `struct timeval`
као улаз уз подршку за додатне спецификаторе.
@@ -4680,6 +4832,8 @@ int weechat_util_strftimeval (char *string, int max, const char *format, struct
* _string_: бафер у који се смешта форматирани стринг
* _max_: величина стринга
* _format_: формат, исто као за _strftime_ функцију, са следећим додатним спецификаторима:
** `%@`: враћа датум изражен у Coordinated Universal Time (UTC) уместо као датум
релативан у односу на временску зону коју је задао корисник _(WeeChat ≥ 4.7.0)_
** `%.N` где је `N` између 1 и 6: микросекунде допуњене нулама на N цифара
(на пример `%.3` за милисекунде)
** `%f`: алијас за `%.6`
@@ -4696,8 +4850,8 @@ C пример:
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* резултат: 2023-12-26T18:10:04.460509 */
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* резултат: 2023-12-26T18:10:04.460509Z */
----
[NOTE]
@@ -4705,7 +4859,7 @@ weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
==== util_parse_time
_WeeChat ≥ 4.2.0._
_WeeChat ≥ 4.2.0, ажурирано у верзији 4.8.0._
Парсира датум/време са подршком за милисекунде.
@@ -4718,20 +4872,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
Аргументи:
* _date_: датум/време
* _date_: датум/време (погледајте подржане формате испод)
* _tv_: парсиран датум/време („timeval” структура)
Подржани формат датума/времена (под претпоставком да је текуће време `2025-08-30 21:04:55`
(Европа/Париз), тако да је померај временске зоне `+02:00`, а UTC време је `19:04:55`):
[width="70%",cols="5,6m",options="header"]
|===
| Формат | Примери
| Датум (поноћ)
| 2025-08-30
| ISO 8601, датум + локално време
| 2025-08-30T21:04:55 +
2025-08-30T21:04:55.123456
| ISO 8601, датум + локално време + померај
| 2025-08-30T16:04:55-03 +
2025-08-30T16:04:55-0300 +
2025-08-30T21:04:55+0200 +
2025-08-30T21:04:55+02:00 +
2025-08-30T21:04:55.123456+0200
| ISO 8601, датум + UTC време
| 2025-08-30T19:04:55Z +
2025-08-30T19:04:55.123456Z
| RFC 3339, датум + локално време
| 2025-08-30 21:04:55 +
2025-08-30 21:04:55.123456
| RFC 3339, датум + локално време + померај
| 2025-08-30 16:04:55-03 +
2025-08-30 16:04:55-0300 +
2025-08-30 21:04:55+0200 +
2025-08-30 21:04:55 +0200 +
2025-08-30 21:04:55+02:00 +
2025-08-30 21:04:55 +02:00 +
2025-08-30 21:04:55.123456+0200 +
2025-08-30 21:04:55.123456 +02:00
| RFC 3339, датум + UTC време
| 2025-08-30 19:04:55Z +
2025-08-30 19:04:55.123456Z
| Локално време
| 21:04:55 +
21:04:55.123456
| Локално време + померај
| 16:04:55-03 +
16:04:55-0300 +
21:04:55+0200 +
21:04:55 +0200 +
21:04:55+02:00 +
21:04:55 +02:00 +
21:04:55.123456+0200 +
21:04:55.123456 +02:00
| UTC време
| 19:04:55Z +
19:04:55.123456Z
| Датум као временска ознака
| 1756580695 +
1756580695.123456 +
1756580695,123456
|===
Напомене:
* За ISO 8601, граничник између датума и времена је `T` (велико слово) или `t` (мало слово).
* За UTC време, последњи карактер је `Z` (велико слово) или `z` (мало слово).
* Формат помераја временске зоне је једно од:
** `++[+/-]чч:мм++` (сати и минуте)
** `++[+/-]ччмм++` (сати и минуте)
** `++[+/-]чч++` (сати).
* Прецизност након секунди може да буде од једне десетинке секунде (1 цифра, на пример
`21:04:55.1`) до једне микросекунде (6 цифара, на пример `21:04:55.123456`). +
Тачка (`.`) или запета (`,`) могу да разсвајају секунде од осталих цифара.
Повратна вредност:
* 1 ако је OK, 0 у случају грешке
C пример:
C примери:
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* резултат: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
/* резултат: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
/* исти резултат */
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
/* исти резултат */
----
[NOTE]
@@ -10780,6 +11020,16 @@ struct t_hook *weechat_hook_url (const char *url,
*** _headers_: HTTP заглавља у одзиву
*** _output_: стандардни излаз (поставља се само ако у опцијама није постављено _file_out_)
*** _error_: порука о грешки (поставља се само у случају грешке)
*** _error_code_: error code (integer, set only in case of error):
**** `1`: invalid URL
**** `2`: transfer error (Curl error)
**** `3`: not enough memory
**** `4`: file error
**** `5`: transfer stopped (hook removed during the transfer)
**** `6`: transfer timeout
**** `100`: thread creation error
*** _error_code_pthread_: return code of function _pthread_create_
(integer, set only if _error_code_ is `100`)
** повратна вредност:
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
+3 -1
View File
@@ -293,7 +293,9 @@ WeeChat такође можете подесити да аутоматски а
[[key_bindings]]
== Тастерске пречице
Програм WeeChat подразумевано користи многе тастере. Сви они се налазе у документацији, али би требало да знате барем оне најважније:
Програм WeeChat подразумевано користи многе тастере. Сви они се налазе у документацији
(link:weechat_user.sr.html#key_bindings[корисничко упутство / Тастерске пречице ^↗^^]),
али би требало да знате барем оне најважније:
- kbd:[Alt+←] / kbd:[Alt+→] или kbd:[F5] / kbd:[F6]: прелаз на претходни/наредни бафер
- kbd:[F1] / kbd:[F2]: скроловање линије са листом бафера („buflist”)
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -12,15 +12,15 @@ include::includes/attributes-sr.adoc[]
[[introduction]]
== Увод
Овај документ је спецификација _weechat_ релеј протокола: протокола који се користи за прослеђивање WeeChat података клојентима, који су углавном удаљени интерфејси.
Овај документ је спецификација _weechat_ релеј протокола: протокола који се користи за прослеђивање WeeChat података клијентима, који су углавном удаљени интерфејси.
[[terminology]]
=== Терминологија
У документу се користе следећи изрази:
У документу се користе следећи појмови:
* _релеј_: то је програм WeeChat са релеј додатком, који се понаша као „сервер” и дозвољава _клијентима_ да успоставе везу са њим
* _клијент_: оно је неки други софтвер, повезан са _релејем_ преком мрежне везе; у већини случајева, овај _клијент_ је удаљени интерфејс.
* _релеј_: то је програм WeeChat са релеј додатком који се понаша као „сервер” и дозвољава _клијентима_ да успоставе везу са њим
* _клијент_: то је неки други софтвер, повезан са _релејем_ преком мрежне везе; у већини случајева, овај _клијент_ је удаљени интерфејс.
[[network_diagram]]
=== Мрежни дијаграм
@@ -36,7 +36,7 @@ _релеј_ додатак такође подржава _api_ и _irc_ про
[[protocol_generalities]]
== Уопштено о протоколу
* Везе од _клијента_ ка _релеју_ се успостављају преко TCP сокета на IP/порту који користи _релеј_ додатак који ослушкује нове везе.
* Везе од _клијента_ ка _релеју_ се успостављају преко TCP сокета на IP/порту који користи _релеј_ додатак за ослушкивање нових веза.
* Број _клијената_ је ограничен опцијом _relay.network.max_clients_.
* Сваки _клијент_ је независан у односу на остале клијенте.
* Поруке од _клијента_ ка _релеју_ се називају _команде_, а шаљу се као текст (то јест стринг).
@@ -173,13 +173,13 @@ htb: {
}
----
* Escape of commands enabled by the client _(WeeChat ≥ 4.0.0)_:
* Означавање команди које укључује клијент _(WeeChat ≥ 4.0.0)_:
----
(handshake) handshake escape_commands=on
----
Response:
Одговор:
[source,python]
----
+5 -7
View File
@@ -595,7 +595,7 @@ include::includes/cmdline_options.sr.adoc[tag=debug]
[width="100%", cols="1m,6", options="header"]
|===
| Име | Опис
| WEECHAT_HOME | WeeChat почетни директоријум (са конфигурационим фајловима, логовима, скриптама, итд.). Исто понашање као <<compile_with_cmake,CMake опција>> `WEECHAT_HOME`.
| WEECHAT_HOME | WeeChat почетни директоријум (са конфигурационим фајловима, логовима, скриптама, итд.). Исто понашање као <<build,CMake опција>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | Тајна реченица која се користи за дешифровање обезбеђених података.
| WEECHAT_EXTRA_LIBDIR | Додатни директоријум из кога се учитавају додаци (из „plugins” директоријума на овој путањи).
|===
@@ -1002,8 +1002,7 @@ WeeChat командна линија (на дну прозора) вам омо
kbd:[yyyyyy] | Текст у боји `xxxxxx` и позадина `yyyyyy` (RGB као хексадецимални број).
| kbd:[Ctrl+c], kbd:[i] | Текст у курзиву.
| kbd:[Ctrl+c], kbd:[o] | Искључивање боје и атрибута.
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[s] | Strikethrough text (displayed as half bright in ncurses interface because strikethrough is not supported).
| kbd:[Ctrl+c], kbd:[s] | Прецртани текст (у ncurses интерфејсу се приказује као полусветао јер се не подржава прецртавање).
| kbd:[Ctrl+c], kbd:[v] | Обрнути видео (боје текста и позадине се замењују једна са другом).
| kbd:[Ctrl+c], kbd:[_] | Подвучени текст.
|===
@@ -1549,8 +1548,7 @@ WeeChat нуди доста подразумеваних тастерских п
| kbd:[Ctrl+c], kbd:[d] | Уметање кода за обојени текст (RGB боја, као хексадецимални број). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Уметање кода за текст у курзиву. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Уметање кода за ресет боје. | `+/input insert \x0F+`
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[s] | Insert code for strikethrough text. | `+/input insert \x1E+`
| kbd:[Ctrl+c], kbd:[s] | Уметање кода за прецртани текст. | `+/input insert \x1E+`
| kbd:[Ctrl+c], kbd:[v] | Уметање кода за обрнуту боју. | `+/input insert \x16+`
| kbd:[Ctrl+c], kbd:[_] | Уметање кода за подвучени текст. | `+/input insert \x1F+`
|===
@@ -3556,7 +3554,7 @@ WeeChat подржава следећа https://ircv3.net/irc/[IRCv3 проши
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3602,7 +3600,7 @@ WeeChat такве поруке приказује ако је опција
Ова могућност оспособљава сервер да шаље налог као ознаку поруке у командама које шаље клијенту. +
WeeChat парсира ову ознаку у чува је у поруци, али се она не користи нити приказује. Може да се
користи у <<command_filter,/filter>> команди за филтрирање порука које се подударају са
користи у <<command_weechat_filter,/filter>> команди за филтрирање порука које се подударају са
одређеним налозима.
Пример примљене сирове IRC поруке:
+1 -2
View File
@@ -81,8 +81,7 @@ foreach(pofile ${PO_FILES})
add_custom_command(
OUTPUT "${mofile}"
COMMAND "${MSGMERGE_EXECUTABLE}" ARGS --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${pofile}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" ${POT_FILE_PATH}
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose --output-file=/dev/null "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
DEPENDS "${POT_FILE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}"
COMMENT "Compiling ${polang}.po"
)
+136 -72
View File
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:24+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-10-27 08:26+0100\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: cs\n"
@@ -957,6 +957,11 @@ msgstr "kompilováno"
msgid "Windows list:"
msgstr "Seznam oken:"
#, fuzzy, c-format
#| msgid "%sPlugin \"%s\" not found"
msgid "%sWindow \"%s\" not found"
msgstr "%sPlugin \"%s\" nenalezen"
#, fuzzy, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%s%s: nekorektní znaková sada: \"%s\""
@@ -5395,6 +5400,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
#, fuzzy
msgid ""
"default completion template (please see documentation for template codes and "
@@ -5440,6 +5450,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "upozornit uživatele pokud nastane částečné doplnění"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6107,6 +6121,16 @@ msgstr "chyba"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr "chyba curlu %d (%s) (URL: \"%s\")\n"
#, fuzzy, c-format
#| msgid "curl error %d (%s) (URL: \"%s\")\n"
msgid "transfer stopped (URL: \"%s\")\n"
msgstr "chyba curlu %d (%s) (URL: \"%s\")\n"
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "Konec příkazu '%s', vypršel časový limit (%.1fs)"
#, fuzzy, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%sChyba: příkaz \"%s\" již existuje pro plugin \"%s\""
@@ -6151,6 +6175,11 @@ msgstr "Konec příkazu '%s', vypršel časový limit (%.1fs)"
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr ""
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "End of URL transfer '%s', transfer stopped"
msgstr "Konec příkazu '%s', vypršel časový limit (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -6375,15 +6404,13 @@ msgstr "Myš je vypnuta"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', velikost: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy, c-format
#, fuzzy
msgid "fork error"
msgstr "chyba"
#, c-format
msgid "OK"
msgstr "OK"
@@ -6986,6 +7013,12 @@ msgid ""
"empty for channels (evaluation of option buflist.format.tls_version)"
msgstr ""
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "buflist bar items"
@@ -7178,8 +7211,8 @@ msgstr "Seznam bufferů"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
@@ -8500,36 +8533,17 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s%s: zrovna připojuji k serveru \"%s\"!"
#, fuzzy, c-format
msgid "%s: server added: %s%s%s%s%s"
msgid "%s: server added: %s%s"
msgstr "%s: server %s%s%s přidán"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (dočasný)"
#, fuzzy, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s: nemohu registrovat skript \"%s\" (jiný skript se stejným jménem již "
"existuje)"
#, fuzzy, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s: nemohu registrovat skript \"%s\" (jiný skript se stejným jménem již "
"existuje)"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: \"%s\" command can not be executed on a server buffer"
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
@@ -8700,7 +8714,7 @@ msgid "nick:"
msgstr "přezdívka"
#, fuzzy, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "Server: %s%s %s[%s%s%s]%s%s"
msgid "connected"
@@ -8804,15 +8818,6 @@ msgstr[0] "%d server přesunut"
msgstr[1] "%d servery přesunuty"
msgstr[2] "%d serverů přesunuto"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "%s%s: server \"%s\" není dočasným serverem"
#, fuzzy, c-format
#| msgid "%s: server %s%s%s is not temporary any more"
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s: server %s%s%s již není dočasným"
#, fuzzy, c-format
#| msgid ""
#| "%s%s: you can not delete server \"%s\" because you are connected to. Try "
@@ -9279,11 +9284,6 @@ msgid ""
"[/#channel1][,#channel2[...]]"
msgstr ""
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -10148,9 +10148,9 @@ msgstr "vypíše, přídá nebo odebere IRC servery"
#, fuzzy
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list|listfull [<server>] || add <server> <hostname>[/<port>] [-temp] [-"
"<option>[=<value>]] [-no<option>] || copy|rename <server> <new_name> || del|"
@@ -10190,9 +10190,6 @@ msgid ""
"for TLS, 6667 otherwise), many addresses can be separated by a comma"
msgstr ""
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr ""
msgid "raw[copy]: duplicate a server"
msgstr ""
@@ -10207,9 +10204,6 @@ msgstr ""
msgid "raw[open]: open the server buffer without connecting"
msgstr "automaticky otevřít buffer přesměrování, když připojuje nový klient"
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
msgid "raw[del]: delete a server"
msgstr ""
@@ -10638,17 +10632,18 @@ msgstr ""
"%s%s: varování: server \"%s\" nenalezen v konfiguračním souboru, nesmazáno z "
"paměti, protože se stále používá"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
msgid "buffer used to display message received from IRC server"
msgstr "buffer použitý pro zobrazení zprávy obdržené od IRC serveru"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: error creating \"%s\" => \"%s\""
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s: chyba vytváření \"%s\" => \"%s\""
#, c-format
@@ -11467,12 +11462,6 @@ msgstr "povolit chytrý filter pro \"part\" a \"quit\" zprávy"
msgid "enable smart filter for \"setname\" messages"
msgstr "povolit chytrý filter pro \"join\" zprávy"
#, fuzzy
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
"%s%s: nemohu registrovat skript \"%s\" (jiný skript se stejným jménem již "
"existuje)"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
"ořezávat barvy z tématu rozhovoru (použito pouze při zobrazování titulku "
@@ -12576,12 +12565,6 @@ msgid ""
"hexadecimal digits (0-9, a-f)"
msgstr ""
#. TRANSLATORS: "temporary IRC server"
#, fuzzy
#| msgid " (temporary)"
msgid "temporary"
msgstr " (dočasný)"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr ""
@@ -12593,6 +12576,14 @@ msgstr ""
msgid "%s%s: error when allocating new server"
msgstr "%s%s: chyba při alokování nového serveru"
#, fuzzy, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%sChyba: nemohu nastavit volbu \"%s\" pro pole \"%s\""
#, fuzzy, c-format
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%sUpozornění: %s, řádek %d: neznámý identifikátor sekce (\"%s\")"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -13680,6 +13671,75 @@ msgstr "filtr"
msgid "history of commands in buffer"
msgstr "historie příkazů"
msgid "hook"
msgstr ""
#, fuzzy
#| msgid "history of commands"
msgid "hook \"command\""
msgstr "historie příkazů"
#, fuzzy
#| msgid "No command is running"
msgid "hook \"command_run\""
msgstr "Neběží žádný příkaz"
#, fuzzy
#| msgid "completion:"
msgid "hook \"completion\""
msgstr "doplnění:"
msgid "hook \"config\""
msgstr ""
#, fuzzy
#| msgid "not connected"
msgid "hook \"connect\""
msgstr "nepřipojen"
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
#, fuzzy
msgid "hook \"timer\""
msgstr "Seznam trigerů:"
msgid "hook \"url\""
msgstr ""
#, fuzzy
msgid "hotlist"
msgstr "řetězec zobrazený mezi buffery v hotlistu"
@@ -14023,6 +14083,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "%s%s: selhalo parsování příkazu \"%s\" (prosím oznamte to vývojárům):"
#, fuzzy, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s%s: TLS handshake selhal"
#, fuzzy, c-format
#| msgid "%s%s: unable to create socket"
msgid "%sremote[%s]: unable to send data, disconnecting"
+169 -116
View File
@@ -28,8 +28,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-05 09:24+0200\n"
"POT-Creation-Date: 2026-01-30 13:45+0100\n"
"PO-Revision-Date: 2026-02-04 23:06+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
"Language: de_DE\n"
@@ -37,7 +37,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 23.08.5\n"
"X-Generator: Poedit 3.4.2\n"
"X-Poedit-Bookmarks: -1,-1,180,-1,-1,-1,-1,-1,-1,-1\n"
"X-Poedit-SourceCharset: utf-8\n"
@@ -561,7 +561,7 @@ msgstr "%sungültige Farbe: \"%s\""
#, c-format
msgid "%sUnable to open file \"%s\""
msgstr "%sDatei \"%s\" kann nicht geöffnet werden"
msgstr "%sDatei \"%s\" kann nicht geöffnet werden"
#, c-format
msgid "%sCommand /pipe can only use buffers with formatted content"
@@ -945,6 +945,11 @@ msgstr "kompiliert am"
msgid "Windows list:"
msgstr "Fensterliste:"
#, fuzzy, c-format
#| msgid "%sPlugin \"%s\" not found"
msgid "%sWindow \"%s\" not found"
msgstr "%sErweiterung \"%s\" wurde nicht gefunden"
#, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%sUngültige Fensternummer: \"%s\""
@@ -1088,7 +1093,7 @@ msgid ""
msgstr ""
"item1,...: Elemente (Items) für diese Leiste (Elemente können durch Komma "
"getrennt werden (auf dem Bildschirm wird das Komma durch ein Leerzeichen "
"ersetzt) oder „+“ (um die Elemente ohne Leerzeichen darzustellen))"
"ersetzt) oder „+“ (um die Elemente ohne Leerzeichen darzustellen))"
msgid ""
"raw[default]: create a default bar (all default bars if no bar name is given)"
@@ -1758,11 +1763,10 @@ msgstr ""
"aber mit Syntax-Hervorhebung"
msgid " - ${raw:string}: the string itself without evaluation"
msgstr ""
" - ${raw:string}: eine Zeichenkette, ohne das dieser ausgewertet wird"
msgstr " - ${raw:string}: eine Zeichenkette, ohne das dieser ausgewertet wird"
msgid " - ${hl:string}: the string with syntax highlighting"
msgstr " - ${hl:string}: eine Zeichenkette, mit Syntax-Hervorhebung"
msgstr " - ${hl:string}: eine Zeichenkette, mit Syntax-Hervorhebung"
msgid " - ${name}: the user-defined variable"
msgstr " - ${name}: eine Anwender definierte Variable"
@@ -1848,7 +1852,7 @@ msgid ""
" - ${revscr:string}: the reversed string for display (color codes are not "
"reversed)"
msgstr ""
" - ${revscr:string}: Zeichenfolge wird zur Darstellung umgekehrt "
" - ${revscr:string}: Zeichenfolge wird zur Darstellung umgekehrt "
"(Farbkodierung wird dabei ignoriert)"
msgid " - ${repeat:count,string}: the repeated string"
@@ -1856,7 +1860,7 @@ msgstr " - ${repeat:count,string}: Zeichenfolge welche wiederholt wird"
msgid " - ${length:string}: the length of the string (number of UTF-8 chars)"
msgstr ""
" - ${length:string}: die Länge der Zeichenfolge (Anzahl der UTF-8-Zeichen)"
" - ${length:string}: die Länge der Zeichenfolge (Anzahl der UTF-8-Zeichen)"
msgid ""
" - ${lengthscr:string}: the length of the string on screen (sum of the "
@@ -1924,8 +1928,8 @@ msgid ""
" - ${base_encode:base,string}: the string encoded to base: 16, 32, 64 or "
"64url"
msgstr ""
" - ${base_encode:base,string}: Zeichenfolge die codiert wird, mittels "
"base: 16, 32, 64 oder64url"
" - ${base_encode:base,string}: Zeichenfolge die codiert wird, mittels base: "
"16, 32, 64 oder64url"
msgid ""
" - ${base_decode:base,string}: the string decoded from base: 16, 32, 64 or "
@@ -1944,15 +1948,15 @@ msgid ""
" - ${if:condition?value_if_true:value_if_false}: the result of ternary "
"operator"
msgstr ""
" - ${if:condition?value_if_true:value_if_false}: das Ergebnis eines "
"dreifachOperator"
" - ${if:condition?value_if_true:value_if_false}: das Ergebnis eines "
"dreifach Operator"
msgid ""
" - ${calc:expression}: the result of the expression with parentheses and "
"operators (+, -, *, /, //, %, **)"
msgstr ""
" - ${calc:expression}: das Ergebnis des Ausdrucks mit Klammern "
"undOperatoren (+, -, *, /, //, %, **)"
" - ${calc:expression}: das Ergebnis des Ausdrucks mit Klammern und "
"Operatoren (+, -, *, /, //, %, **)"
msgid ""
" - ${random:min,max}: a random integer number between \"min\" and \"max\" "
@@ -1987,7 +1991,7 @@ msgid " - ${file.section.option}: the value of the config option"
msgstr " - ${file.section.option}: der Wert der Konfigurationsoption"
msgid " - ${name}: the local variable in buffer"
msgstr " - ${name}: die lokale Variable im Buffer"
msgstr " - ${name}: die lokale Variable im Buffer"
msgid ""
" - the hdata name/variable (the value is automatically converted to "
@@ -2020,14 +2024,14 @@ msgid ""
"list of buffers"
msgstr ""
" - ${buffer[gui_buffers].full_name}: Vollständiger Name des ersten "
"Buffers in der verknüpftenListe aller Buffer"
"Buffers in der verknüpften Liste der Buffer"
msgid ""
" - ${plugin[weechat_plugins].name}: name of first plugin in linked list "
"of plugins"
msgstr ""
" - ${plugin[weechat_plugins].name}: vollständiger Name der ersten "
"Erweiterung in der verknüpftenListe aller Erweiterungen"
"Erweiterung in der verknüpften Liste der Erweiterungen"
msgid ""
" - ${hdata[pointer].var1.var2...}: start with a hdata using a pointer, for "
@@ -2253,7 +2257,7 @@ msgid ""
"> - use \"\\t\" to separate prefix from message, special chars like \"|\" "
"must be escaped: \"\\|\""
msgstr ""
"> - das Präfix (z.B. Nick) wird mittels '\t' von der Nachricht getrennt. "
"> - das Präfix (z.B. Nick) wird mittels '\\t' von der Nachricht getrennt. "
"Sonderzeichen wie '|' müssen mit einer Escapesequenz : '\\|' eingebunden "
"werden"
@@ -2514,8 +2518,8 @@ msgstr ""
msgid "> raw[delete_end_of_line]: delete from cursor until end of line"
msgstr ""
"> raw[delete_end_of_line]: entfernt alle Zeichen, ab Cursor bis zum Ende "
"der Zeile"
"> raw[delete_end_of_line]: entfernt alle Zeichen, ab Cursor bis zum Ende der "
"Zeile"
msgid "> raw[delete_end_of_input]: delete from cursor until end of input"
msgstr ""
@@ -5153,8 +5157,8 @@ msgstr ""
"Erweiterter regulärer POSIX-Ausdruck, der verwendet wird, um jede "
"Hervorhebung von einer Nachricht zu verhindern: Diese Option hat eine höhere "
"Priorität als andere Hervorhebungsoptionen (sofern die Zeichenkette in der "
"Nachricht gefunden wird, die Hervorhebung deaktiviert ist und die "
"andereOptionen ignoriert werden), bei regulären Ausdrücken wird die Groß-/"
"Nachricht gefunden wird, die Hervorhebung deaktiviert ist und die andere "
"Optionen ignoriert werden), bei regulären Ausdrücken wird die Groß-/"
"Kleinschreibung nicht beachtet (verwenden Sie \"(?-i)\" am Anfang, um Groß- "
"und Kleinschreibung zu beachten), Beispiele: \"<flash.*>\", \"(?-"
"i)<Flash.*>\""
@@ -6149,6 +6153,14 @@ msgstr ""
"Verzeichnissen, die mit \"/\" beginnen, funktioniert außerhalb von Befehlen "
"nicht mehr"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
"wenn aktiviert, von Anfang an neu starten (erste Vervollständigung "
"gefunden), wenn die letzte Vervollständigung erreicht ist, andernfalls bei "
"der letzten Vervollständigung anhalten"
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -6199,6 +6211,12 @@ msgid "send alert (BEL) when a partial completion occurs"
msgstr ""
"erzeugt eine Mitteilung (BEL) wenn eine teilweise Vervollständigung auftritt"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
"Wort nach teilweiser Vervollständigung beim erneuten Vervollständigen "
"automatisch erweitern"
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6924,6 +6942,16 @@ msgstr "Übertragungsfehler"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr "curl Fehler %d (%s) (URL: \"%s\")\n"
#, fuzzy, c-format
#| msgid "%sURL transfer error: %s (URL: \"%s\")"
msgid "transfer stopped (URL: \"%s\")\n"
msgstr "%sURL Transferfehler: %s (URL: \"%s\")"
#, fuzzy, c-format
#| msgid "End of URL transfer '%s', timeout reached (%.3fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "Ende der URL-Übertragung „%s“, Zeitüberschreitung erreicht (%.3fs)"
#, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr ""
@@ -6970,6 +6998,11 @@ msgstr "Ende der URL-Übertragung „%s“, Zeitüberschreitung erreicht (%.3fs)
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr "%sFehler beim Ausführen des Threads in hook_url: %s (URL: \"%s\")"
#, fuzzy, c-format
#| msgid "End of URL transfer '%s', timeout reached (%.3fs)"
msgid "End of URL transfer '%s', transfer stopped"
msgstr "Ende der URL-Übertragung „%s“, Zeitüberschreitung erreicht (%.3fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -7228,15 +7261,12 @@ msgstr "Maus ist inaktiv"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', Größe: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "WeeChat wird im Hintergrund ausgeführt..."
#, c-format
msgid "fork error"
msgstr "Fork-Fehler"
#, c-format
msgid "OK"
msgstr "OK"
@@ -7837,8 +7867,8 @@ msgstr ""
msgid " - ${number_zero2}: like ${number2} but the number is zero-padded"
msgstr ""
" - ${number_zero2}: wie ${number2}, aber die Zahl wird mit Nullen"
" aufgefüllt"
" - ${number_zero2}: wie ${number2}, aber die Zahl wird mit Nullen "
"aufgefüllt"
msgid ""
" - ${number_displayed}: \"1\" if the number is displayed, otherwise \"0\""
@@ -7932,6 +7962,12 @@ msgstr ""
" - ${format_tls_version}: Indikator der TLS Version für den Serverbuffer, "
"Channels bleiben unberührt (evaluiert aus Option buflist.format.tls_version)"
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
msgid "buflist bar items"
msgstr "Buflist Bar-Items"
@@ -7950,7 +7986,7 @@ msgid ""
msgstr ""
"fügt einen Zeilenumbruch zwischen die einzelnen Buffer hinzu um pro Zeile "
"einen Buffer anzuzeigen (empfohlen); falls deaktiviert muss ein "
"Zeilenumbruch manuell hinzugefügt werden, \"${\\\\n}\", des Weiteren ist die "
"Zeilenumbruch manuell hinzugefügt werden, \"${\\n}\", des Weiteren ist die "
"Mausunterstützung nicht mehr gegeben"
msgid ""
@@ -8197,13 +8233,13 @@ msgstr "Liste von Buffern"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
"%sbuflist: Warnung: das Skript buffers.pl ist installiert und stellt eine "
"Bar mit der Liste aller Buffer zur Verfügung. Diese Funktion wird durch die "
"%s%s: Warnung: das Skript buffers.pl ist installiert und stellt eine Bar mit "
"der Liste aller Buffer zur Verfügung. Diese Funktion wird durch die "
"Erweiterung buflist bereitgestellt, weshalb das buffers.pl Skript entfernt "
"werden sollte (/script remove buffers.pl), oder man deaktiviert oder "
"entfernt die buflist Erweiterung. Für weitere Informationen sollte man die "
@@ -9724,40 +9760,16 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s%s: ein Verbindungsaufbau zum Server \"%s\" läuft bereits!"
#, c-format
msgid "%s: server added: %s%s%s%s%s"
msgstr "%s: Server %s%s%s%s%s wurde angelegt"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (temporär)"
msgid "%s: server added: %s%s"
msgstr "%s: Server hinzugefügt: %s%s"
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s: temporärer Server, \"%s\", kann nicht erstellt werden (es sollte "
"überprüft werden, ob schon ein Server mit dem selben Namen existiert)"
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s: ein temporärer Server, \"%s\", kann nicht erstellt werden da die "
"Erstellung temporärer Server mittels des Befehls /connect zur Zeit "
"deaktiviert ist"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
"%s%s: falls ein Standardserver erstellt werden soll, muss der Befehl \"/"
"server add\" (siehe /help server) verwendet werden; soll ein temporärer "
"Server (WIRD NICHT GESICHERT) erstellt werden, muss die Einstellung "
"irc.look.temporary_servers aktiviert werden"
"%s%s: Server \"%s\" kann nicht angelegt werden (überprüfe, ob bereits ein "
"Server mit diesem Namen existiert)"
#, c-format
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
@@ -9928,8 +9940,8 @@ msgid "nick:"
msgstr "Nick:"
#, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgstr "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "Server: %s%s %s[%s%s%s]%s%s%s"
msgid "connected"
msgstr "verbunden"
@@ -10022,14 +10034,6 @@ msgid_plural "%d servers moved"
msgstr[0] "%d Server verschoben"
msgstr[1] "%d Server verschoben"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "%s%s: Server \"%s\" ist kein temporärer Server"
#, c-format
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s: Server %s%s%s ist nicht mehr temporär"
#, c-format
msgid ""
"%s%s: you cannot delete server \"%s\" because you are connected to. Try \"/"
@@ -10485,13 +10489,6 @@ msgstr ""
"> - URL mit folgendem Format: irc[6][s]://"
"[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]"
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
"> Hinweis: bei einer Adresse/IP/URL, wird ein temporärer Server erstellt "
"(DIESER WIRD NICHT GESPEICHERT), siehe /help irc.look.temporary_servers"
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -11246,14 +11243,14 @@ msgstr "auflisten, hinzufügen oder entfernen von IRC-Servern"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgid "raw[list]: list servers (without argument, this list is displayed)"
msgstr ""
@@ -11293,9 +11290,6 @@ msgstr ""
"Port festgelegt werden (Standardport: 6697 für TLS, ansonsten 6667). Mehrere "
"Adressen können durch Kommata getrennt werden"
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr "raw[-temp]: erstellt temporären Server (dieser wird nicht gespeichert)"
msgid "raw[copy]: duplicate a server"
msgstr "raw[copy]: erstellt eine Kopie des Servers"
@@ -11308,11 +11302,6 @@ msgstr "raw[reorder]: Anordnung der Server ändern"
msgid "raw[open]: open the server buffer without connecting"
msgstr "raw[open]: öffnet den Serverbuffer, ohne eine Verbindung herzustellen"
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
"raw[keep]: übernimmt den Server in die Konfigurationsdatei (nur sinnvoll bei "
"temporär angelegten Servern)"
msgid "raw[del]: delete a server"
msgstr "raw[del]: entfernt einen Server"
@@ -11716,21 +11705,21 @@ msgstr ""
"gefunden werden. Da der Server zur Zeit genutzt wird, konnte er noch nicht "
"entfernt werden"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
"%s%s: Warnung: Der Befehl \"%s\" muss in Kleinbuchstaben geschrieben werden, "
"die Option \"irc.msgbuffer.%s\" funktioniert nicht"
msgid "buffer used to display message received from IRC server"
msgstr ""
"Buffer welcher zur Ausgabe von IRC Server Nachrichten genutzt werden soll"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgstr "%s%s: Fehler beim Erstellen von \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
"%s%s: Fehler: ungültige Option \"%s.%s\", der Befehlsname oder Alias \"%s\" "
"muss klein geschrieben werden"
#, c-format
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s: Fehler beim Erstellen von \"%s.%s\" => \"%s\""
#, c-format
msgid ""
@@ -12747,10 +12736,6 @@ msgstr ""
msgid "enable smart filter for \"setname\" messages"
msgstr "aktiviert einen intelligenten Filter für \"setname\" Nachrichten"
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
"aktiviert die Erstellung von temporären Servern mit dem Befehl /connect"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
"Farben werden im Kanalthema entfernt (wird nur genutzt wenn der Buffer-Titel "
@@ -13904,10 +13889,6 @@ msgstr ""
"%s%s: ungültiger Fingerprint für Server \"%s\", es sind nur hexadezimale "
"Zeichen erlaubt (0-9, a-f)"
#. TRANSLATORS: "temporary IRC server"
msgid "temporary"
msgstr "temporär"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr "Fälschung"
@@ -13919,6 +13900,15 @@ msgstr "TLS:"
msgid "%s%s: error when allocating new server"
msgstr "%s%s: Neuer Server konnte nicht alloziert werden"
#, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr ""
"%s%s: Warnung: Option \"%s\" für Server \"%s\" kann nicht eingestellt werden"
#, c-format
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%s%s Warnung: unbekannte Option \"%s\" für Server \"%s\""
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -15053,6 +15043,66 @@ msgstr "Filter"
msgid "history of commands in buffer"
msgstr "Verlaufspeicher von Befehlen in einem Buffer"
msgid "hook"
msgstr "hook"
msgid "hook \"command\""
msgstr "hook \"command\""
msgid "hook \"command_run\""
msgstr "hook \"command_run\""
msgid "hook \"completion\""
msgstr "hook \"completion\""
msgid "hook \"config\""
msgstr "hook \"config\""
msgid "hook \"connect\""
msgstr "hook \"connect\""
msgid "hook \"fd\""
msgstr "hook \"fd\""
msgid "hook \"focus\""
msgstr "hook \"focus\""
msgid "hook \"hdata\""
msgstr "hook \"hdata\""
msgid "hook \"hsignal\""
msgstr "hook \"hsignal\""
msgid "hook \"info\""
msgstr "hook \"info\""
msgid "hook \"info_hashtable\""
msgstr "hook \"info_hashtable\""
msgid "hook \"infolist\""
msgstr "hook \"infolist\""
msgid "hook \"line\""
msgstr "hook \"line\""
msgid "hook \"modifier\""
msgstr "hook \"modifier\""
msgid "hook \"print\""
msgstr "hook \"print\""
msgid "hook \"process\""
msgstr "hook \"process\""
msgid "hook \"signal\""
msgstr "hook \"signal\""
msgid "hook \"timer\""
msgstr "hook \"timer\""
msgid "hook \"url\""
msgstr "hook \"url\""
msgid "hotlist"
msgstr "Hotliste"
@@ -15418,6 +15468,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "%s%s: Route „%s %s“ für Client %s%s%s konnte nicht ausgeführt werden"
#, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s%s: ungültigen Daten von Client %s%s%s empfangen"
#, c-format
msgid "%sremote[%s]: unable to send data, disconnecting"
msgstr ""
@@ -16259,7 +16313,7 @@ msgid ""
"\"::ffff:127.0.0.1\" with IPv6)"
msgstr ""
"Adresse für bind (falls nicht gesetzt, ist die Verbindung auf allen "
"Schnittstellen möglich. Wird die Adresse \"127.0.0.1\" verwendet, können "
"Schnittstellen möglich. Wird die Adresse \"127.0.0.1\" verwendet, können "
"Verbindungen von einem lokalen Computer über IPv4 genutzt werden und mittels "
"\"ffff:127.0.0.1\" via IPv6)"
@@ -18354,7 +18408,7 @@ msgstr ""
"Beispiel \"\\n\"); das Trennzeichen \"/\" kann durch jedes beliebe Zeichen "
"ersetzt werden (eine oder mehrere identische Zeichen); matching groups kann "
"in \"replace\" genutzt werden: ${re:0} to ${re:99}, ${re:+} für letzten "
"Treffer und ${hide:c,${re:N}} ersetzt alle Zeichen der Gruppe N mit Zeichen "
"Treffer und ${hide:c,${re:N}} ersetzt alle Zeichen der Gruppe N mit Zeichen "
"'c'"
msgid ""
@@ -18963,4 +19017,3 @@ msgstr ""
"%s%s Datei \"%s\" zum Fortsetzen der Übertragung wird nicht akzeptiert "
"(Port: %d, Startposition: %llu): xfer nicht gefunden oder nicht bereit für "
"Transfer"
+137 -74
View File
@@ -24,8 +24,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-10-27 08:26+0100\n"
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: es\n"
@@ -170,7 +170,7 @@ msgid ""
"%sRenumbering is allowed only if option weechat.look.buffer_auto_renumber is "
"off"
msgstr ""
"%sEl renombrado es permitido solo sila opción "
"%sEl renombrado es permitido solo si la opción "
"weechat.look.buffer_auto_renumber está desactivada (off)"
#, c-format
@@ -846,7 +846,7 @@ msgstr "%sError: opción \"%s\" no encontrada"
#, fuzzy
#| msgid "Option changed: "
msgid "Option unchanged: "
msgstr "Opción cambiada: "
msgstr "Opción sin cambios: "
msgid "Option changed: "
msgstr "Opción cambiada: "
@@ -968,6 +968,11 @@ msgstr "compilado en"
msgid "Windows list:"
msgstr "Lista de ventanas:"
#, fuzzy, c-format
#| msgid "%sPlugin \"%s\" not found"
msgid "%sWindow \"%s\" not found"
msgstr "%sPlugin \"%s\" no encontrado"
#, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%sNúmero de ventana inválido: \"%s\""
@@ -5535,6 +5540,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
#, fuzzy
msgid ""
"default completion template (please see documentation for template codes and "
@@ -5577,6 +5587,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "alertar al usuario cuando ocurre un completado parcial"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6240,6 +6254,15 @@ msgstr "error"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer stopped (URL: \"%s\")\n"
msgstr ""
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "Fin del comando '%s', tiempo de espera alcanzado (%.1fs)"
#, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%sError: el comando \"%s\" ya existe en el plugin \"%s\""
@@ -6284,6 +6307,11 @@ msgstr "Fin del comando '%s', tiempo de espera alcanzado (%.1fs)"
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr ""
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "End of URL transfer '%s', transfer stopped"
msgstr "Fin del comando '%s', tiempo de espera alcanzado (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -6559,15 +6587,13 @@ msgstr "Ratón desactivado"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', tamaño: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy, c-format
#, fuzzy
msgid "fork error"
msgstr "error"
#, c-format
msgid "OK"
msgstr "OK"
@@ -7168,6 +7194,12 @@ msgid ""
"empty for channels (evaluation of option buflist.format.tls_version)"
msgstr ""
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "buflist bar items"
@@ -7361,8 +7393,8 @@ msgstr "Lista de buffers:"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
@@ -8698,36 +8730,17 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s%s: ¡actualmente conectando al servidor \"%s\"!"
#, fuzzy, c-format
msgid "%s: server added: %s%s%s%s%s"
msgid "%s: server added: %s%s"
msgstr "%s: servidor %s%s%s creado"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (temporal)"
#, fuzzy, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s: no es posible registrar el script \"%s\" (otro script ya existe con "
"ese nombre)"
#, fuzzy, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s: no es posible registrar el script \"%s\" (otro script ya existe con "
"ese nombre)"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: \"%s\" command can not be executed on a server buffer"
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
@@ -8898,7 +8911,7 @@ msgid "nick:"
msgstr "apodo"
#, fuzzy, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "Servidor: %s%s %s[%s%s%s]%s%s"
msgid "connected"
@@ -8998,15 +9011,6 @@ msgid_plural "%d servers moved"
msgstr[0] "%d modificadores regulares removidos"
msgstr[1] "%d modificadores regulares removidos"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "%s%s: el servidor \"%s\" no es temporal"
#, fuzzy, c-format
#| msgid "%s: server %s%s%s is not temporary any more"
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s: el servidor %s%s%s ya no es temporal"
#, fuzzy, c-format
#| msgid ""
#| "%s%s: you can not delete server \"%s\" because you are connected to. Try "
@@ -9480,11 +9484,6 @@ msgid ""
"[/#channel1][,#channel2[...]]"
msgstr ""
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -10363,9 +10362,9 @@ msgstr "lista, añade o elimina servidores IRC"
#, fuzzy
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list|listfull [<servidor>] || add <servidor> <hostname>[/<puerto>] [-temp] [-"
"<opción>[=<valor>]] [-no<opción>] || copy|rename <servidor> <nuevo_nombre> "
@@ -10405,9 +10404,6 @@ msgid ""
"for TLS, 6667 otherwise), many addresses can be separated by a comma"
msgstr ""
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr ""
msgid "raw[copy]: duplicate a server"
msgstr ""
@@ -10424,9 +10420,6 @@ msgstr ""
"abrir automáticamente el buffer de retransmisiones cuando un cliente nuevo "
"se conecta"
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
msgid "raw[del]: delete a server"
msgstr ""
@@ -10864,17 +10857,18 @@ msgstr ""
"%s%s: atención: servidor \"%s\" no encontrado en el archivo de "
"configuración, no es borrado de la memoria porque aún está en uso"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
msgid "buffer used to display message received from IRC server"
msgstr "buffer donde mostrar los mensajes recibidos desde el servidor IRC"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: error creating \"%s\" => \"%s\""
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s: error al crear \"%s\" => \"%s\""
#, c-format
@@ -11741,12 +11735,6 @@ msgstr "habilitar el filtro inteligente para mensajes \"part\" y \"quit\""
msgid "enable smart filter for \"setname\" messages"
msgstr "habilitar el filtro inteligente para mensajes \"join\""
#, fuzzy
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
"%s%s: no es posible registrar el script \"%s\" (otro script ya existe con "
"ese nombre)"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
"remover colores en el tema (usado solamente cuando se esté mostrando el "
@@ -12885,12 +12873,6 @@ msgid ""
"hexadecimal digits (0-9, a-f)"
msgstr ""
#. TRANSLATORS: "temporary IRC server"
#, fuzzy
#| msgid " (temporary)"
msgid "temporary"
msgstr " (temporal)"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr ""
@@ -12902,6 +12884,17 @@ msgstr ""
msgid "%s%s: error when allocating new server"
msgstr "%s%s: no hay suficiente memoria para crear el nuevo servidor"
#, fuzzy, c-format
#| msgid "%sUnable to set option \"%s\" for bar \"%s\""
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%sError: no se pudo configurar la opción \"%s\" en la barra \"%s\""
#, fuzzy, c-format
#| msgid "%sWarning: unknown option for section \"%s\": %s (value: \"%s\")"
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr ""
"%sAtención: opción desconocida para la sección \"%s\": %s (valor: \"%s\")"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -13999,6 +13992,72 @@ msgstr "filtro"
msgid "history of commands in buffer"
msgstr "historial de comandos en el buffer"
msgid "hook"
msgstr ""
#, fuzzy
#| msgid "history of commands"
msgid "hook \"command\""
msgstr "historial de comandos"
msgid "hook \"command_run\""
msgstr ""
#, fuzzy
msgid "hook \"completion\""
msgstr "compilado en"
msgid "hook \"config\""
msgstr ""
#, fuzzy
#| msgid "not connected"
msgid "hook \"connect\""
msgstr "no conectado"
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
#, fuzzy
msgid "hook \"timer\""
msgstr "opciones para proxies"
msgid "hook \"url\""
msgstr ""
msgid "hotlist"
msgstr "lista de actividad"
@@ -14357,6 +14416,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "%s%s: falló la ejecución del comando \"%s\" por el cliente %s%s%s"
#, fuzzy, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s%s: agotado el tiempo de espera del saludo TLS del cliente %s%s%s"
#, fuzzy, c-format
#| msgid "%s%s: unable to create socket"
msgid "%sremote[%s]: unable to send data, disconnecting"
+146 -91
View File
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:24+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-11-28 18:42+0100\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -935,6 +935,10 @@ msgstr "compilé le"
msgid "Windows list:"
msgstr "Liste des fenêtres :"
#, c-format
msgid "%sWindow \"%s\" not found"
msgstr "%sFenêtre \"%s\" non trouvée"
#, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%sNuméro de fenêtre invalide : \"%s\""
@@ -1510,7 +1514,7 @@ msgid ""
msgstr ""
"list || set <extension> <niveau> || dump [<extension>] || hooks "
"[<masque_extension> [<type_hook>...]] || buffer|certs|color|dirs|infolists|"
"libs|memory|tags|term|url|windows || cllbacks <durée>[<unité>] || mouse|"
"key|libs|memory|tags|term|url|windows || callbacks <durée>[<unité>] || mouse|"
"cursor [verbose] || hdata [free] || time <commande> || unicode <chaîne> || "
"whitespace"
@@ -6021,6 +6025,13 @@ msgstr ""
"plus de complétion automatique des chemins commençant par \"/\" (en dehors "
"des paramètres de commandes)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
"si activé, redémarrer au début (première complétion trouvée) lorsque la "
"dernière complétion est atteinte, sinon stopper à la dernière complétion"
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -6068,6 +6079,12 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "envoyer une alerte (BEL) lorsqu'une complétion partielle survient"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
"étendre automatiquement le mot après une complétion partielle lors d'une "
"nouvelle complétion"
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6790,6 +6807,14 @@ msgstr "erreur de transfert"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr "erreur curl %d (%s) (URL : \"%s\")\n"
#, c-format
msgid "transfer stopped (URL: \"%s\")\n"
msgstr "transfert arrêté (URL: \"%s\")\n"
#, c-format
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "temps maximum atteint (%.3fs) (URL: \"%s\")\n"
#, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%sUne autre commande \"%s\" existe déjà pour l'extension \"%s\""
@@ -6836,6 +6861,10 @@ msgstr "Fin du transfert d'URL '%s', temps maximum atteint (%.3fs)"
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr "%sErreur de lancement du thread dans hook_url : %s (URL : \"%s\")"
#, c-format
msgid "End of URL transfer '%s', transfer stopped"
msgstr "Fin du transfert d'URL '%s', transfert arrêté"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -7089,15 +7118,12 @@ msgstr "La souris est désactivée"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', taille : %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "Lancement de WeeChat en tâche de fond..."
#, c-format
msgid "fork error"
msgstr "erreur de fork"
#, c-format
msgid "OK"
msgstr "OK"
@@ -7785,6 +7811,15 @@ msgstr ""
"serveur courant, vide pour les canaux (évaluation de l'option "
"buflist.format.tls_version)"
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
" - ${index_displayed}: index de la ligne affichée dans l'objet de barre "
"(démarre à 0, seuls les tampons affichés incrémentent cet index, voir "
"l'option buflist.look.display_conditions"
msgid "buflist bar items"
msgstr "objets de barre de buflist"
@@ -8046,16 +8081,16 @@ msgstr "Liste des tampons"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
"%sbuflist : attention : le script buffers.pl est chargé et fournit une barre "
"avec la liste des tampons similaire à celle de l'extension buflist ; vous "
"voudrez peut-être désinstaller le script buffers.pl (/script remove "
"buffers.pl) ou désactiver/décharger l'extension buflist ; voir les notes de "
"version de WeeChat pour plus d'information"
"%s%s : attention : le script buffers.pl est chargé et fournit une barre avec "
"la liste des tampons similaire à celle de l'extension buflist ; vous voudrez "
"peut-être désinstaller le script buffers.pl (/script remove buffers.pl) ou "
"désactiver/décharger l'extension buflist ; voir les notes de version de "
"WeeChat pour plus d'information"
msgid "Charset conversions"
msgstr "Conversions de charset"
@@ -9558,38 +9593,16 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s%s : une connexion vers le serveur \"%s\" est en cours !"
#, c-format
msgid "%s: server added: %s%s%s%s%s"
msgstr "%s : serveur ajouté : %s%s%s%s%s"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (temporaire)"
msgid "%s: server added: %s%s"
msgstr "%s : serveur ajouté : %s%s"
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s : impossible d'ajouter le serveur temporaire \"%s\" (vérifiez s'il y a "
"déjà un serveur avec ce nom)"
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s : impossible d'ajouter le serveur temporaire \"%s\" car l'ajout de "
"serveurs temporaires avec la commande /connect est actuellement désactivée"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
"%s%s : si vous voulez ajouter un serveur standard, utilisez la commande \"/"
"server add\" (voir /help server); si vous voulez vraiment ajouter un serveur "
"temporaire (NON SAUVÉ), activez l'option irc.look.temporary_servers"
"%s%s : impossible d'ajouter le serveur \"%s\" (vérifiez s'il y a déjà un "
"serveur avec ce nom)"
#, c-format
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
@@ -9760,8 +9773,8 @@ msgid "nick:"
msgstr "pseudo :"
#, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgstr "Serveur : %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "Serveur : %s%s %s[%s%s%s]%s%s%s"
msgid "connected"
msgstr "connecté"
@@ -9854,14 +9867,6 @@ msgid_plural "%d servers moved"
msgstr[0] "%d serveur déplacé"
msgstr[1] "%d serveurs déplacés"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "%s%s : le serveur \"%s\" n'est pas temporaire"
#, c-format
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s : le serveur %s%s%s n'est plus temporaire"
#, c-format
msgid ""
"%s%s: you cannot delete server \"%s\" because you are connected to. Try \"/"
@@ -10306,13 +10311,6 @@ msgstr ""
"> - URL avec le format : irc[6][s]://"
"[pseudo[:mot_passe]@]irc.example.org[:port][/#canal1][,#canal2[...]]"
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
"> Note : pour une adresse/IP/URL, un serveur temporaire est ajouté (NON "
"SAUVÉ), voir /help irc.look.temporary_servers"
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -11057,14 +11055,14 @@ msgstr "lister, ajouter ou retirer des serveurs IRC"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list|listfull [-connected] [<nom>] || add|addreplace <nom> <nom_machine>[/"
"<port>] [-temp] [-<option>[=<valeur>]] [-no<option>] || copy|rename <nom> "
"<nouveau_nom> || reorder <nom>... || open <nom>|-all [<nom>...] || del|keep "
"<nom> || deloutq|jump || raw [<filtre>]"
"<port>] [-<option>[=<valeur>]] [-no<option>] || copy|rename <nom> "
"<nouveau_nom> || reorder <nom>... || open <nom>|-all [<nom>...] || del <nom> "
"|| deloutq|jump || raw [<filtre>]"
msgid "raw[list]: list servers (without argument, this list is displayed)"
msgstr ""
@@ -11100,9 +11098,6 @@ msgstr ""
"6697 pour TLS, 6667 sinon), plusieurs adresses peuvent être séparées par une "
"virgule"
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr "raw[-temp] : ajouter un serveur temporaire (non sauvé)"
msgid "raw[copy]: duplicate a server"
msgstr "raw[copy] : dupliquer un serveur"
@@ -11115,11 +11110,6 @@ msgstr "raw[reorder] : réordonner la liste des serveurs"
msgid "raw[open]: open the server buffer without connecting"
msgstr "raw[open] : ouvrir le tampon du serveur sans s'y connecter"
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
"raw[keep] : garder le serveur dans le fichier de configuration (pour les "
"serveurs temporaires seulement)"
msgid "raw[del]: delete a server"
msgstr "raw[del] : supprimer un serveur"
@@ -11519,20 +11509,20 @@ msgstr ""
"%s%s : attention : le serveur \"%s\" n'a pas été trouvé dans le fichier de "
"configuration, non supprimé en mémoire car il est en cours d'utilisation"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
"%s%s : attention : le nom de commande \"%s\" doit être en minuscules, "
"l'option \"irc.msgbuffer.%s\" ne fonctionnera pas"
msgid "buffer used to display message received from IRC server"
msgstr "tampon utilisé pour afficher le message reçu du serveur IRC"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgstr "%s%s : erreur de création \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
"%s%s: erreur: option \"%s.%s\" invalide, le nom de commande ou alias "
"\"%s\" doit être en minuscules"
#, c-format
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s : erreur de création \"%s.%s\" => \"%s\""
#, c-format
msgid ""
@@ -12511,11 +12501,6 @@ msgstr "activer le filtre intelligent pour les messages \"part\" et \"quit\""
msgid "enable smart filter for \"setname\" messages"
msgstr "activer le filtre intelligent pour les messages \"setname\""
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
"activer l'ajout automatique des serveurs temporaires avec la commande /"
"connect"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
"supprimer les couleurs dans le titre (utilisé seulement lors de l'affichage "
@@ -13629,10 +13614,6 @@ msgstr ""
"%s%s : empreinte invalide pour le serveur \"%s\", elle doit contenir "
"uniquement des chiffres hexadécimaux (0-9, a-f)"
#. TRANSLATORS: "temporary IRC server"
msgid "temporary"
msgstr "temporaire"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr "faux"
@@ -13644,6 +13625,16 @@ msgstr "TLS :"
msgid "%s%s: error when allocating new server"
msgstr "%s%s : impossible d'allouer un nouveau serveur"
#, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr ""
"%s%s: attention: impossible de modifier l'option \"%s\" pour le serveur "
"\"%s\""
#, c-format
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%s%s: attention: option \"%s\" inconnue pour le serveur \"%s\""
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -14755,6 +14746,66 @@ msgstr "filtre"
msgid "history of commands in buffer"
msgstr "historique des commandes dans le tampon"
msgid "hook"
msgstr "hook"
msgid "hook \"command\""
msgstr "hook \"command\""
msgid "hook \"command_run\""
msgstr "hook \"command_run\""
msgid "hook \"completion\""
msgstr "hook \"completion\""
msgid "hook \"config\""
msgstr "hook \"config\""
msgid "hook \"connect\""
msgstr "hook \"connect\""
msgid "hook \"fd\""
msgstr "hook \"fd\""
msgid "hook \"focus\""
msgstr "hook \"focus\""
msgid "hook \"hdata\""
msgstr "hook \"hdata\""
msgid "hook \"hsignal\""
msgstr "hook \"hsignal\""
msgid "hook \"info\""
msgstr "hook \"info\""
msgid "hook \"info_hashtable\""
msgstr "hook \"info_hashtable\""
msgid "hook \"infolist\""
msgstr "hook \"infolist\""
msgid "hook \"line\""
msgstr "hook \"line\""
msgid "hook \"modifier\""
msgstr "hook \"modifier\""
msgid "hook \"print\""
msgstr "hook \"print\""
msgid "hook \"process\""
msgstr "hook \"process\""
msgid "hook \"signal\""
msgstr "hook \"signal\""
msgid "hook \"timer\""
msgstr "hook \"timer\""
msgid "hook \"url\""
msgstr "hook \"url\""
msgid "hotlist"
msgstr "hotlist"
@@ -15113,6 +15164,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "%s%s : échec d'exécution de la route \"%s %s\" pour le client %s%s%s"
#, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s%s : données invalides reçues du client %s%s%s"
#, c-format
msgid "%sremote[%s]: unable to send data, disconnecting"
msgstr "%sremote[%s] : impossible d'envoyer des données, déconnexion"
+127 -64
View File
@@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: hu\n"
@@ -944,6 +944,10 @@ msgstr "lefordítva:"
msgid "Windows list:"
msgstr "a /who lista vége"
#, fuzzy, c-format
msgid "%sWindow \"%s\" not found"
msgstr "%s cím \"%s\" nem található\n"
#, fuzzy, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
@@ -5109,6 +5113,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -5144,6 +5153,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr ""
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -5796,6 +5809,14 @@ msgstr "%sSzerver: %s%s\n"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer stopped (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr ""
#, fuzzy, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%s az ignore már létezik\n"
@@ -5836,6 +5857,10 @@ msgstr ""
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr ""
#, c-format
msgid "End of URL transfer '%s', transfer stopped"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, fuzzy, c-format
msgid ""
@@ -6037,15 +6062,13 @@ msgstr "Nincs aliasz definiálva.\n"
msgid " TERM='%s', size: %dx%d"
msgstr ""
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy, c-format
#, fuzzy
msgid "fork error"
msgstr "%sSzerver: %s%s\n"
#, c-format
msgid "OK"
msgstr "Rendben"
@@ -6630,6 +6653,12 @@ msgid ""
"empty for channels (evaluation of option buflist.format.tls_version)"
msgstr ""
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
#, fuzzy
msgid "buflist bar items"
msgstr "Aliaszok listája:\n"
@@ -6820,8 +6849,8 @@ msgstr "hotlist törlése"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
@@ -8127,30 +8156,13 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s éppen kapcsolódik a(z) \"%s\" szerverhez!\n"
#, fuzzy, c-format
msgid "%s: server added: %s%s%s%s%s"
msgid "%s: server added: %s%s"
msgstr "A %s%s%s szerver létrehozva\n"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr ""
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
msgstr ""
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
#, fuzzy, c-format
@@ -8313,7 +8325,7 @@ msgid "nick:"
msgstr "név"
#, fuzzy, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "%s Szerver: %s%s %s[%s%s%s]\n"
msgid "connected"
@@ -8414,14 +8426,6 @@ msgid_plural "%d servers moved"
msgstr[0] " időkezelők:\n"
msgstr[1] " időkezelők:\n"
#, fuzzy, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "A %s%s%s szerver létrehozva\n"
#, fuzzy, c-format
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "A %s%s%s szerver létrehozva\n"
#, fuzzy, c-format
msgid ""
"%s%s: you cannot delete server \"%s\" because you are connected to. Try \"/"
@@ -8853,11 +8857,6 @@ msgid ""
"[/#channel1][,#channel2[...]]"
msgstr ""
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -9699,9 +9698,9 @@ msgstr "szerverek listázása, hozzáadása vagy eltávolítása"
#, fuzzy
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"[list [szervernév]] | [listfull [szervernév]] | [add szervernév gépnév [-"
"port port] [-temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd jelszó] [-nicks "
@@ -9739,9 +9738,6 @@ msgid ""
"for TLS, 6667 otherwise), many addresses can be separated by a comma"
msgstr ""
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr ""
msgid "raw[copy]: duplicate a server"
msgstr ""
@@ -9754,9 +9750,6 @@ msgstr ""
msgid "raw[open]: open the server buffer without connecting"
msgstr ""
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
msgid "raw[del]: delete a server"
msgstr ""
@@ -10197,17 +10190,17 @@ msgid ""
"memory because it's currently used"
msgstr ""
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
msgid "buffer used to display message received from IRC server"
msgstr ""
#, c-format
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s nincs elég memória az információs pult üzenethez\n"
#, c-format
@@ -10954,9 +10947,6 @@ msgstr ""
msgid "enable smart filter for \"setname\" messages"
msgstr "új üzenetet tartalmazó ablak színe"
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
@@ -12030,10 +12020,6 @@ msgid ""
"hexadecimal digits (0-9, a-f)"
msgstr ""
#. TRANSLATORS: "temporary IRC server"
msgid "temporary"
msgstr ""
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr ""
@@ -12045,6 +12031,14 @@ msgstr ""
msgid "%s%s: error when allocating new server"
msgstr "%s az új szerver lefoglalása sikertelen\n"
#, fuzzy, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%s ismeretlen opció a \"%s\" parancsnak\n"
#, fuzzy, c-format
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%s %s, %d. sor: ismeretlen csoportazonosító (\"%s\")\n"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -13079,6 +13073,71 @@ msgstr ""
msgid "history of commands in buffer"
msgstr "%s belső parancsok:\n"
msgid "hook"
msgstr ""
#, fuzzy
msgid "hook \"command\""
msgstr "%s belső parancsok:\n"
msgid "hook \"command_run\""
msgstr ""
#, fuzzy
msgid "hook \"completion\""
msgstr "lefordítva:"
msgid "hook \"config\""
msgstr ""
#, fuzzy
#| msgid "not connected"
msgid "hook \"connect\""
msgstr "nincs csatlakozva"
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
#, fuzzy
msgid "hook \"timer\""
msgstr "Aliaszok listája:\n"
msgid "hook \"url\""
msgstr ""
msgid "hotlist"
msgstr ""
@@ -13422,6 +13481,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s gnutls kézfogás sikertelen\n"
#, fuzzy, c-format
msgid "%sremote[%s]: unable to send data, disconnecting"
msgstr "%s nem sikerült a szervert létrehozni\n"
+134 -72
View File
@@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: it\n"
@@ -948,6 +948,11 @@ msgstr "compilato il"
msgid "Windows list:"
msgstr "Elenco delle finestre:"
#, fuzzy, c-format
#| msgid "%sPlugin \"%s\" not found"
msgid "%sWindow \"%s\" not found"
msgstr "%sPlugin \"%s\" non trovato"
#, fuzzy, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%s%s: set di caratter invalido: \"%s\""
@@ -5518,6 +5523,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -5560,6 +5570,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "avvisa l'utente quando si verifica un completamento parziale"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6251,6 +6265,15 @@ msgstr "errore"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer stopped (URL: \"%s\")\n"
msgstr ""
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "Fine comando '%s', timeout raggiunto (%.1fs)"
#, fuzzy, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%sErrore: un altro comando \"%s\" esiste già per il plugin \"%s\""
@@ -6295,6 +6318,11 @@ msgstr "Fine comando '%s', timeout raggiunto (%.1fs)"
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr ""
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "End of URL transfer '%s', transfer stopped"
msgstr "Fine comando '%s', timeout raggiunto (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -6497,15 +6525,13 @@ msgstr "Mouse disabilitato"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', dimensione %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy, c-format
#, fuzzy
msgid "fork error"
msgstr "errore"
#, c-format
msgid "OK"
msgstr "OK"
@@ -7113,6 +7139,12 @@ msgid ""
"empty for channels (evaluation of option buflist.format.tls_version)"
msgstr ""
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "buflist bar items"
@@ -7334,8 +7366,8 @@ msgstr "Elenco buffer:"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
@@ -8680,36 +8712,17 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s%s: la connessione al server \"%s\" è già in corso!"
#, fuzzy, c-format
msgid "%s: server added: %s%s%s%s%s"
msgid "%s: server added: %s%s"
msgstr "%s: server %s%s%s creato"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (temporaneo)"
#, fuzzy, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s: impossibile registrare lo script \"%s\" (esiste un altro script con lo "
"stesso nome)"
#, fuzzy, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s: impossibile registrare lo script \"%s\" (esiste un altro script con lo "
"stesso nome)"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: \"%s\" command can not be executed on a server buffer"
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
@@ -8882,7 +8895,7 @@ msgid "nick:"
msgstr "nick"
#, fuzzy, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "Server: %s%s %s[%s%s%s]%s%s"
msgid "connected"
@@ -8982,15 +8995,6 @@ msgid_plural "%d servers moved"
msgstr[0] "%d rmodifier eliminati"
msgstr[1] "%d rmodifier eliminati"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "%s%s: il server \"%s\" non è temporaneo"
#, fuzzy, c-format
#| msgid "%s: server %s%s%s is not temporary any more"
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s: il server %s%s%s non è più temporaneo"
#, fuzzy, c-format
#| msgid ""
#| "%s%s: you can not delete server \"%s\" because you are connected to. Try "
@@ -9460,11 +9464,6 @@ msgid ""
"[/#channel1][,#channel2[...]]"
msgstr ""
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -10348,9 +10347,9 @@ msgstr "elenca, aggiunge o rimuove server IRC"
#, fuzzy
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list|listfull [<server>] || add <server> <host>[/<porta>] [-temp] [-"
"<opzione>[=<valore>]] [-no<option>] || copy|rename <server> <nuovo_nome> || "
@@ -10390,9 +10389,6 @@ msgid ""
"for TLS, 6667 otherwise), many addresses can be separated by a comma"
msgstr ""
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr ""
msgid "raw[copy]: duplicate a server"
msgstr ""
@@ -10408,9 +10404,6 @@ msgid "raw[open]: open the server buffer without connecting"
msgstr ""
"apre automaticamente il buffer relay alla connessione di un nuovo client"
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
msgid "raw[del]: delete a server"
msgstr ""
@@ -10851,17 +10844,18 @@ msgstr ""
"%s%s: attenzione: il server \"%s\" non è stato trovato nel file di "
"configurazione, e non è stato eliminato perché è attivo"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
msgid "buffer used to display message received from IRC server"
msgstr "buffer usato per visualizzare i messaggi ricevuti dal server IRC"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: error creating \"%s\" => \"%s\""
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s: errore nella creazione \"%s\" => \"%s\""
#, c-format
@@ -11744,12 +11738,6 @@ msgstr ""
msgid "enable smart filter for \"setname\" messages"
msgstr "abilita filtro smart per i messaggi \"join\" (entrata)"
#, fuzzy
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
"%s%s: impossibile registrare lo script \"%s\" (esiste un altro script con lo "
"stesso nome)"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
"elimina colori nell'argomento (usato solo quando mostrato il titolo del "
@@ -12893,12 +12881,6 @@ msgid ""
"hexadecimal digits (0-9, a-f)"
msgstr ""
#. TRANSLATORS: "temporary IRC server"
#, fuzzy
#| msgid " (temporary)"
msgid "temporary"
msgstr " (temporaneo)"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr ""
@@ -12910,6 +12892,16 @@ msgstr ""
msgid "%s%s: error when allocating new server"
msgstr "%s%s: errore durante l'allocazione del nuovo server"
#, fuzzy, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%sErrore: impossibile impostare l'opzione \"%s\" per la barra \"%s\""
#, fuzzy, c-format
#| msgid "%sWarning: unknown option for section \"%s\": %s (value: \"%s\")"
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr ""
"%sAttenzione: opzione sconosciuta per la sezione \"%s\": %s (valore: \"%s\")"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -13998,6 +13990,72 @@ msgstr "filtro"
msgid "history of commands in buffer"
msgstr "cronologia dei comandi nel buffer"
msgid "hook"
msgstr ""
#, fuzzy
#| msgid "history of commands"
msgid "hook \"command\""
msgstr "cronologia dei comandi"
msgid "hook \"command_run\""
msgstr ""
#, fuzzy
msgid "hook \"completion\""
msgstr "compilato il"
msgid "hook \"config\""
msgstr ""
#, fuzzy
#| msgid "not connected"
msgid "hook \"connect\""
msgstr "non connesso"
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
#, fuzzy
msgid "hook \"timer\""
msgstr "opzioni per i proxy"
msgid "hook \"url\""
msgstr ""
msgid "hotlist"
msgstr "hotlist"
@@ -14359,6 +14417,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "%s%s: impossibile eseguire il comando \"%s\" per il client %s%s%s"
#, fuzzy, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s%s: set di caratter invalido: \"%s\""
#, fuzzy, c-format
#| msgid "%s%s: unable to create socket"
msgid "%sremote[%s]: unable to send data, disconnecting"
+146 -76
View File
@@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-11-01 16:08+0100\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
"translation/ja_JP>\n"
@@ -949,6 +949,11 @@ msgstr "コンパイル日時"
msgid "Windows list:"
msgstr "ウィンドウリスト:"
#, fuzzy, c-format
#| msgid "%sPlugin \"%s\" not found"
msgid "%sWindow \"%s\" not found"
msgstr "%sプラグイン \"%s\" が見つかりません"
#, fuzzy, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%s%s: 別名が間違っています: \"%s\""
@@ -5698,6 +5703,11 @@ msgstr ""
"も優先度が高く、最初に評価されます); 注意: このオプションが有効な場合、\"/\" "
"で始まるパスの自動補完は行われません (外部コマンドの引数)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -5740,6 +5750,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "補完候補が複数あった場合に警告 (BEL) を送信"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6424,6 +6438,16 @@ msgstr "フォークエラー"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr "curl エラー %d (%s) (URL: \"%s\")\n"
#, fuzzy, c-format
#| msgid "curl error %d (%s) (URL: \"%s\")\n"
msgid "transfer stopped (URL: \"%s\")\n"
msgstr "curl エラー %d (%s) (URL: \"%s\")\n"
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "コマンド '%s' の終了、タイムアウトになりました (%.1fs)"
#, fuzzy, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr ""
@@ -6471,6 +6495,11 @@ msgstr "コマンド '%s' の終了、タイムアウトになりました (%.1f
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr ""
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "End of URL transfer '%s', transfer stopped"
msgstr "コマンド '%s' の終了、タイムアウトになりました (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -6712,15 +6741,12 @@ msgstr "マウスを無効化しました"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s'、サイズ: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "WeeChat をバックグラウンドで実行中..."
#, c-format
msgid "fork error"
msgstr "フォークエラー"
#, c-format
msgid "OK"
msgstr "成功"
@@ -7336,6 +7362,12 @@ msgid ""
"empty for channels (evaluation of option buflist.format.tls_version)"
msgstr ""
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "buflist bar items"
@@ -7605,14 +7637,14 @@ msgstr "バッファリスト"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
"%sbuflist: 警告: buffers.pl スクリプトが読み込まれました。buffers.pl スクリプ"
"トは buflist プラグインと類似するバーリストが含まれるバーを提供しています; 必"
"要ならば、buffers.pl スクリプトを削除 (/script remove buffers.pl) するか、"
"%s%s: 警告: buffers.pl スクリプトが読み込まれました。buffers.pl スクリプトは "
"buflist プラグインと類似するバーリストが含まれるバーを提供しています; 必要な"
"らば、buffers.pl スクリプトを削除 (/script remove buffers.pl) するか、"
"buflist プラグインを無効化/アンロードしてください; 詳しい情報は WeeChat リ"
"リースノートを参照してください"
@@ -8994,39 +9026,20 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s%s: サーバ \"%s\" に接続試行中!"
#, fuzzy, c-format
msgid "%s: server added: %s%s%s%s%s"
msgid "%s: server added: %s%s"
msgstr "%s: サーバ %s%s%s を追加"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (一時的)"
#, c-format
#, fuzzy, c-format
#| msgid ""
#| "%s%s: unable to add temporary server \"%s\" (check if there is already a "
#| "server with this name)"
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s: 一時的なサーバ \"%s\" を追加できません (同じ名前のサーバが登録済みでな"
"いか確認してください)"
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s: 現在 /connect コマンドによる一時的なサーバの追加が無効化されているため"
"一時的なサーバ \"%s\" を追加できません"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
"%s%s: 標準的なサーバを追加したい場合は、\"/server add\" コマンドを使ってくだ"
"さい (/help server を参照してください); 一時的な (保存されない) サーバを本当"
"に追加したい場合は、irc.look.temporary_servers オプションを on にしてください"
#, fuzzy, c-format
#| msgid "%s%s: \"%s\" command can not be executed on a server buffer"
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
@@ -9198,7 +9211,7 @@ msgid "nick:"
msgstr "ニックネーム:"
#, fuzzy, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "サーバ: %s%s %s[%s%s%s]%s%s%s"
msgid "connected"
@@ -9295,15 +9308,6 @@ msgid "%d server moved"
msgid_plural "%d servers moved"
msgstr[0] "%d 個のサーバを移動しました"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "%s%s: サーバ \"%s\" は一時的なサーバではありません"
#, fuzzy, c-format
#| msgid "%s: server %s%s%s is not temporary any more"
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s: 一時的なサーバ %s%s%s が保存されました"
#, fuzzy, c-format
#| msgid ""
#| "%s%s: you can not delete server \"%s\" because you are connected to. Try "
@@ -9800,11 +9804,6 @@ msgid ""
"[/#channel1][,#channel2[...]]"
msgstr ""
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -10716,9 +10715,9 @@ msgstr "IRC サーバのリストアップ、追加、削除"
#, fuzzy
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list|listfull [<name>] || add <name> <hostname>[/<port>] [-temp] [-"
"<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> || "
@@ -10759,9 +10758,6 @@ msgid ""
"for TLS, 6667 otherwise), many addresses can be separated by a comma"
msgstr ""
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr ""
msgid "raw[copy]: duplicate a server"
msgstr ""
@@ -10776,9 +10772,6 @@ msgstr ""
msgid "raw[open]: open the server buffer without connecting"
msgstr "新しいクライアントが接続したらリレーバッファを自動的に開く"
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
msgid "raw[del]: delete a server"
msgstr ""
@@ -11233,17 +11226,18 @@ msgstr ""
"%s%s: 警告: サーバ \"%s\" が設定ファイルに見つかりません、現在使用中のためメ"
"モリから削除されません"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
msgid "buffer used to display message received from IRC server"
msgstr "IRC サーバから受け取ったメッセージを表示するバッファ"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: error creating \"%s\" => \"%s\""
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s: 作成中のエラー \"%s\" => \"%s\""
#, c-format
@@ -12218,9 +12212,6 @@ msgstr "\"part\" と \"quit\" メッセージのスマートフィルタを有
msgid "enable smart filter for \"setname\" messages"
msgstr "\"join\" メッセージのスマートフィルタを有効化"
msgid "enable automatic addition of temporary servers with command /connect"
msgstr "/connect コマンドによる一時的なサーバの自動追加を有効化する"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
"トピックにつけられた色を無効化 (バッファタイルに表示される場合のみ利用)"
@@ -13380,12 +13371,6 @@ msgstr ""
"%s%s: サーバ \"%s\" の指紋が間違っています、指紋の各桁は 16 進数で使える文字 "
"(0-9, a-f) を使ってください"
#. TRANSLATORS: "temporary IRC server"
#, fuzzy
#| msgid " (temporary)"
msgid "temporary"
msgstr " (一時的)"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr ""
@@ -13397,6 +13382,15 @@ msgstr ""
msgid "%s%s: error when allocating new server"
msgstr "%s%s: 新しいサーバの割り当て中にエラー"
#, fuzzy, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%1$sエラー: バー \"%3$s\" にオプション \"%2$s\" を設定できません"
#, fuzzy, c-format
#| msgid "%sWarning: unknown option for section \"%s\": %s (value: \"%s\")"
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%s警告: セクション \"%s\" の不明なオプション: %s (値: \"%s\")"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -14487,6 +14481,76 @@ msgstr "フィルタ"
msgid "history of commands in buffer"
msgstr "バッファのコマンド履歴"
msgid "hook"
msgstr ""
#, fuzzy
#| msgid "history of commands"
msgid "hook \"command\""
msgstr "コマンドの履歴"
#, fuzzy
#| msgid "No command is running"
msgid "hook \"command_run\""
msgstr "実行中のコマンドはありません"
#, fuzzy
#| msgid "completion:"
msgid "hook \"completion\""
msgstr "補完:"
msgid "hook \"config\""
msgstr ""
#, fuzzy
#| msgid "not connected"
msgid "hook \"connect\""
msgstr "未接続"
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
#, fuzzy
#| msgid "hooks for triggers"
msgid "hook \"timer\""
msgstr "トリガに対するフック"
msgid "hook \"url\""
msgstr ""
msgid "hotlist"
msgstr "ホットリスト"
@@ -14848,6 +14912,12 @@ msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr ""
"%1$s%2$s: クライアント %4$s%5$s%6$s に対するコマンド \"%3$s\" の実行に失敗"
#, fuzzy, c-format
#| msgid "%s%s: invalid websocket handshake received for client %s%s%s"
msgid "%s%s: invalid data received from client %s%s%s"
msgstr ""
"%s%s: クライアント %s%s%s から受け取った不正なウェブソケットハンドシェイク"
#, fuzzy, c-format
#| msgid "%s%s: unable to create socket"
msgid "%sremote[%s]: unable to send data, disconnecting"
+194 -182
View File
@@ -24,8 +24,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-11-24 00:14+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: pl\n"
@@ -34,7 +34,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 3.0.1\n"
"X-Generator: Poedit 3.8\n"
msgid "List of bars:"
msgstr "Lista pasków:"
@@ -542,10 +542,9 @@ msgstr "Obsługa myszy włączona"
msgid "Mouse disabled"
msgstr "Obsługa myszy wyłączona"
#, fuzzy, c-format
#| msgid "%sInvalid number: \"%s\""
#, c-format
msgid "%sInvalid color: \"%s\""
msgstr "%sNieprawidłowy numer: \"%s\""
msgstr "%sNieprawidłowy kolor: „%s”"
#, fuzzy, c-format
#| msgid "%s%s: unable to parse file \"%s\""
@@ -576,16 +575,14 @@ msgstr "Brak załadowanych wtyczek"
msgid "List of proxies:"
msgstr "Lista proxy:"
#, fuzzy
#| msgid "disabled"
msgid "IPv6: disabled"
msgstr "wyłączone"
msgstr "IPv6: wyłączone"
msgid "IPv6: automatic"
msgstr ""
msgid "IPv6: forced"
msgstr ""
msgstr "IPv6: wymuszone"
#, c-format
msgid " %s%s%s: %s, %s/%d (%s), username: %s, password: %s"
@@ -916,7 +913,7 @@ msgstr "Uaktualniam WeeChat z użyciem pliku: \"%s\"..."
#, c-format
msgid "%sUpgrade aborted"
msgstr ""
msgstr "%sAktualizacja przerwana"
#, c-format
msgid "***** Error: exec failed (program: \"%s\"), exiting WeeChat"
@@ -947,6 +944,10 @@ msgstr "skompilowano"
msgid "Windows list:"
msgstr "Lista okien:"
#, c-format
msgid "%sWindow \"%s\" not found"
msgstr "%sNie odnaleziono okna „%s”"
#, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%sNieprawidłowy numer okna: \"%s\""
@@ -1722,7 +1723,7 @@ msgid ""
"expression: expression to evaluate, variables with format ${variable} are "
"replaced (see below)"
msgstr ""
"wyrażenie: wyrażenie do przetworzenia, zmienne w formacie ${zmienna} są "
"wyrażenie: wyrażenie do przetworzenia, zmienne w formacie ${variable} są "
"zastępowane (zobacz poniżej)"
msgid "operator: a logical or comparison operator (see below)"
@@ -1758,7 +1759,7 @@ msgid ""
"which can be, by order of priority:"
msgstr ""
"Niektóre zmienne w wyrażeniach są zamieniane, poprzez zastosowanie formatu $"
"{zmienna}, według priorytetu zmienną może być:"
"{variable}, według priorytetu zmienną może być:"
msgid ""
" - ${raw_hl:string}: the string itself without evaluation but with syntax "
@@ -1773,7 +1774,7 @@ msgid " - ${hl:string}: the string with syntax highlighting"
msgstr " - ${hl:ciąg}: ciąg z podświetlaniem składni"
msgid " - ${name}: the user-defined variable"
msgstr " - ${nazwa}: zmienna zdefiniowana przez użytkownika"
msgstr " - ${name}: zmienna zdefiniowana przez użytkownika"
msgid " - ${weechat_config_dir}: WeeChat config directory"
msgstr " - ${weechat_config_dir}: katalog z konfiguracją WeeChat"
@@ -1978,10 +1979,10 @@ msgid " - ${sec.data.xxx}: the value of the secured data \"xxx\""
msgstr " - ${sec.data.xxx}: wartość zabezpieczonej zmiennej „xxx”"
msgid " - ${file.section.option}: the value of the config option"
msgstr " - ${plik.sekcja.opcja}: wartość opcji konfiguracyjnej"
msgstr " - ${file.section.option}: wartość opcji konfiguracyjnej"
msgid " - ${name}: the local variable in buffer"
msgstr " - ${nazwa}: zmienna lokalna w buforze"
msgstr " - ${name}: zmienna lokalna w buforze"
msgid ""
" - the hdata name/variable (the value is automatically converted to "
@@ -1997,7 +1998,7 @@ msgid ""
" - ${hdata.var1.var2...}: start with a hdata (pointer must be known), and "
"ask variables one after one (other hdata can be followed)"
msgstr ""
" - ${hdata.zmienna1.zmienna2...}: inicjuje hdata (wskaźnik musi być znany), "
" - ${hdata.var1.var2...}: inicjuje hdata (wskaźnik musi być znany), "
"następnie wypytuje o zmienne jedna po drugiej (inne hdata mogą być następne)"
msgid ""
@@ -2273,16 +2274,12 @@ msgstr ""
"> - dwa wyrażenia regularne są tworzone: jedno dla prefiksu i drugie dla "
"wiadomości"
#, fuzzy
#| msgid ""
#| "> - regex are case insensitive, they can start by \"(?-i)\" to become "
#| "case sensitive"
msgid ""
"> - regex are case-insensitive, they can start by \"(?-i)\" to become case-"
"sensitive"
msgstr ""
"> - wyrażenia nie uwzględniają wielkości znaków, żeby zaczęły należy je "
"zacząć od „(?-i)”"
"> - wyrażenia nie uwzględniają wielkości znaków, żeby zaczęły je uwzględniać "
"należy je zacząć od „(?-i)”"
msgid ""
"The default key alt+\"=\" toggles filtering on/off globally and alt+\"-\" "
@@ -3461,10 +3458,8 @@ msgid "reload configuration files from disk"
msgstr "przeładuj pliki konfiguracyjne z dysku"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
#| msgid "[<file> [<file>...]]"
msgid "[<file>...]"
msgstr "[<plik> [<plik>...]]"
msgstr "[<plik> ...]"
msgid "file: configuration file to reload (without extension \".conf\")"
msgstr "plik: plik konfiguracyjny do przeładowania (bez rozszerzenia „.conf”)"
@@ -3529,7 +3524,7 @@ msgid "> ${repeat_first}: \"1\" for the first execution, \"0\" for the others"
msgstr "> ${repeat_first}: „1” dla pierwszego wykonania, „0” dla pozostałych"
msgid "> ${repeat_last}: \"1\" for the last execution, \"0\" for the others"
msgstr "> ${repeat_first}: „1” dla ostatniego wykonania, „0” dla pozostałych"
msgstr "> ${repeat_last}: „1” dla ostatniego wykonania, „0” dla pozostałych"
#, fuzzy
#| msgid ""
@@ -3811,10 +3806,8 @@ msgid "toggle value of a config option"
msgstr "przełącza wartość opcji konfiguracyjnej"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
#| msgid "<option> [<value> [<value>...]]"
msgid "<option> [<value>...]"
msgstr "<opcja> [<wartość> [<wartość>...]]"
msgstr "<opcja> [<wartość>...]"
msgid ""
"value: possible values for the option (values are split like the shell "
@@ -4803,7 +4796,7 @@ msgstr ""
"specyfikatorów daty/czasu, dodatkowe specyfikatory są wspierane, zobacz "
"funkcję util_strftimeval w Opisie API wtyczek) (uwaga: zawartość jest "
"przetwarzana, dlatego można użyć kolorów w formacie \"${color:xxx}\", "
"zobacz /help eval); zmienna „${higlight}” może zostać użyta w wyrażeniu do "
"zobacz /help eval); zmienna „${highlight}” może zostać użyta w wyrażeniu do "
"uzyskania formatu specyficznego dla linii z podświetleniem (zobacz opcję "
"weechat.look.highlight_prefix); na przykład czas w odcieniach szarości: „$"
"{color:252}%H${color:243}%M${color:237}%S”, to samo z milisekundami „$"
@@ -5995,6 +5988,11 @@ msgstr ""
"włączenie tej opcji wyłącza automatyczne dopełnianie ścieżek zaczynających "
"się od \"/\" (poza argumentami komend)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -6037,6 +6035,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "wyślij alarm (BEL), kiedy nastąpi częściowe dopełnienie"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6182,10 +6184,8 @@ msgstr "KRYTYCZNE: błąd podczas inicjacji zmiennych konfiguracyjnych"
msgid "WeeChat %s, compiled on %s %s\n"
msgstr ""
#, fuzzy
#| msgid "(old options?)"
msgid "Build options:\n"
msgstr "(stare opcje?)"
msgstr "Opcje kompilacji:\n"
msgid "Windows tree:"
msgstr "Drzewo okien:"
@@ -6419,10 +6419,8 @@ msgstr "nieprawidłowe priorytety"
msgid "proxy type (http (default), socks4, socks5)"
msgstr "typ proxy (http (domyślny), socks4, socks5)"
#, fuzzy
#| msgid "connect to proxy using ipv6"
msgid "connect to proxy using IPv6"
msgstr "połącz się z proxy używając ipv6"
msgstr "połącz się z proxy używając IPv6"
msgid "proxy server address (IP or hostname)"
msgstr "adres serwera proxy (adres IP lub nazwa hosta)"
@@ -6750,8 +6748,7 @@ msgstr "za mało pamięci"
msgid "file \"%s\" not found"
msgstr "nie znaleziono pliku \"%s\""
#, fuzzy, c-format
#| msgid "can not write file \"%s\""
#, c-format
msgid "cannot write file \"%s\""
msgstr "nie można zapisać pliku \"%s\""
@@ -6762,6 +6759,16 @@ msgstr "błąd przesyłania"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr "błąd curl %d (%s) (URL: \"%s\")\n"
#, fuzzy, c-format
#| msgid "%sURL transfer error: %s (URL: \"%s\")"
msgid "transfer stopped (URL: \"%s\")\n"
msgstr "%sURL błąd transferu: %s (URL: \"%s\")"
#, fuzzy, c-format
#| msgid "End of URL transfer '%s', timeout reached (%.3fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "Zakończono transfer URL '%s', przekroczono dopuszczalny czas (%.3fs)"
#, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%sIstnieje już inna komenda \"%s\" dla wtyczki \"%s\""
@@ -6811,6 +6818,11 @@ msgstr "Zakończono transfer URL '%s', przekroczono dopuszczalny czas (%.3fs)"
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr "%sBłąd w wątku wykonującym hook_url: %s (URL: \"%s\")"
#, fuzzy, c-format
#| msgid "End of URL transfer '%s', timeout reached (%.3fs)"
msgid "End of URL transfer '%s', transfer stopped"
msgstr "Zakończono transfer URL '%s', przekroczono dopuszczalny czas (%.3fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -7080,15 +7092,12 @@ msgstr "Obsługa myszy wyłączona"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', rozmiar: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "Uruchamianie WeeChat w tle..."
#, c-format
msgid "fork error"
msgstr "nie udało się utworzyć procesu"
#, c-format
msgid "OK"
msgstr "OK"
@@ -7760,6 +7769,12 @@ msgstr ""
" - ${format_tls_version}: wskaźnik wersji TLS w buforze serwera, pusty "
"dla kanałów (wynik przetworzenia opcji buflist.format.tls_version)"
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
msgid "buflist bar items"
msgstr "elementy paska buflist"
@@ -8043,14 +8058,14 @@ msgstr "Lista buforów"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
"%sbuflist: uwaga: skrypt buffers.pl jest załadowany i dodaje on element z "
"listą buforów podobną do tej z wtyczki buflist; powinieneś odinstalować "
"sktypt buffers.pl (/script remove buffers.pl) lub wyłączyć/wyładować wtyczkę "
"%s%s: uwaga: skrypt buffers.pl jest załadowany i dodaje on element z listą "
"buforów podobną do tej z wtyczki buflist; powinieneś odinstalować sktypt "
"buffers.pl (/script remove buffers.pl) lub wyłączyć/wyładować wtyczkę "
"buflist; więcej informacji można znaleźć w informacjach o nowej wersji "
"WeeChat"
@@ -9495,41 +9510,22 @@ msgstr "%s%s: już połączony z serwerem \"%s\"!"
msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s%s: obecnie łączę się z serwerem \"%s\"!"
#, c-format
msgid "%s: server added: %s%s%s%s%s"
#, fuzzy, c-format
#| msgid "%s: server added: %s%s%s%s%s"
msgid "%s: server added: %s%s"
msgstr "%s: dodano serwer %s%s%s%s%s"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (tymczasowy)"
#, c-format
#, fuzzy, c-format
#| msgid ""
#| "%s%s: unable to add temporary server \"%s\" (check if there is already a "
#| "server with this name)"
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s: nie można dodać tymczasowego serwera \"%s\" (sprawdź czy serwer z ta "
"nazwą już nie istnieje)"
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s: nie można dodać tymczasowego serwera \"%s\" ponieważ możliwość "
"dodawania tymczasowych serwerów za pomocą komendy /connect jest obecnie "
"wyłączona"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
"%s%s: jeśli chcesz dodać standardowy serwer, użyj komendy \"/server add\" "
"(zobacz /help server); jeśli naprawdę chcesz utworzyć serwer tymczasowy (NIE "
"ZAPISANY), włącz opcję irc.look.temporary_servers"
#, fuzzy, c-format
#| msgid "%s%s: \"%s\" command can not be executed on a server buffer"
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
@@ -9697,8 +9693,8 @@ msgid "nick:"
msgstr "nick:"
#, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgstr "Serwer: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "Serwer: %s%s %s[%s%s%s]%s%s%s"
msgid "connected"
msgstr "połączony"
@@ -9728,10 +9724,8 @@ msgstr[0] "kanał"
msgstr[1] "kanały"
msgstr[2] "kanałów"
#, fuzzy
#| msgid "All servers:"
msgid "All connected servers:"
msgstr "Wszystkie serwery:"
msgstr "Wszystkie połączone serwery:"
msgid "All servers:"
msgstr "Wszystkie serwery:"
@@ -9744,19 +9738,17 @@ msgstr "%s%s: rozłączono z serwerem"
msgid "No server"
msgstr "Brak serwerów"
#, fuzzy, c-format
#| msgid "Servers with \"%s\":"
#, c-format
msgid "Connected servers with \"%s\":"
msgstr "Serwery z \"%s\":"
msgstr "Połączone serwery z \"%s\":"
#, c-format
msgid "Servers with \"%s\":"
msgstr "Serwery z \"%s\":"
#, fuzzy, c-format
#| msgid "No server found with \"%s\""
#, c-format
msgid "No connected server found with \"%s\""
msgstr "Nie znaleziono serwera z \"%s\""
msgstr "Nie znaleziono połączonego serwera z \"%s\""
#, c-format
msgid "No server found with \"%s\""
@@ -9801,15 +9793,6 @@ msgstr[0] "%d serwer przesunięto"
msgstr[1] "%d serwery przesunięto"
msgstr[2] "%d serwerów przesunięto"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "%s%s: serwer \"%s\" nie jest serwerem tymczasowym"
#, fuzzy, c-format
#| msgid "%s: server %s%s%s is not temporary any more"
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s: serwer %s%s%s nie jest juz tymczasowy"
#, fuzzy, c-format
#| msgid ""
#| "%s%s: you can not delete server \"%s\" because you are connected to. Try "
@@ -10083,18 +10066,12 @@ msgid "configure the \"autojoin\" server option"
msgstr "konfiguruje opcje serwera \"autojoin\""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
#| msgid ""
#| "add [<channel1> [<channel2>...]] || addraw <channel1>[,<channel2>...] "
#| "[<key1>[,<key2>...]] || del [<channel1> [<channel2>...]] || apply || join "
#| "|| sort [buffer]"
msgid ""
"add [<channel>...] || addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]] "
"|| del [<channel>...] || apply || join || sort [buffer]"
msgstr ""
"add [<kanał1> [<kanał2>...]] || addraw <kanał1>[,<kanał2>...] [<hasło1>[,"
"<hasło2>...]] || del [<kanał1> [<kanał2>...]] || apply || join || sort "
"[bufor]"
"add [<kanał>...] || addraw <kanał1>[,<kanał2>...] [<hasło1>[,<hasło2>...]] "
"|| del [<kanał>...] || apply || join || sort [bufor]"
msgid ""
"raw[add]: add current channel or a list of channels (with optional keys) to "
@@ -10157,10 +10134,8 @@ msgid "client capability negotiation"
msgstr "negocjacja możliwości klienta"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
#| msgid "ls || list || req|ack [<capability> [<capability>...]] || end"
msgid "ls || list || req|ack [<capability>...] || end"
msgstr "ls || list || req|ack [<opcja> [<opcja>...]] || end"
msgstr "ls || list || req|ack [<capability>...]] || end"
msgid "raw[ls]: list the capabilities supported by the server"
msgstr "raw[ls]: lista możliwości wspieranych przez serwer"
@@ -10253,13 +10228,6 @@ msgstr ""
"> - URL w formacie: irc[6][s]://[nick[:hasło]@]irc.example.org[:port][/"
"#kanał1][,#kanał2[...]]"
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
"> Uwaga: dla adresu/IP/URL, dodawany jest tymczasowy serwer (NIE "
"ZAPISYWANY), zobacz /help irc.look.temporary_servers"
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -10341,10 +10309,8 @@ msgid "remove channel half-operator status from nick(s)"
msgstr "usuwa status halfopa kanału"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
#| msgid "<nick> [<nick>...] || * -yes"
msgid "<nick>... || * -yes"
msgstr "<nick> [<nick>...] || * -yes"
msgstr "<nick>... || * -yes"
msgid "nick: nick or mask (wildcard \"*\" is allowed)"
msgstr "nick: nick lub maska (wildcard „*” jest dozwolony)"
@@ -10462,19 +10428,15 @@ msgid "invite a nick on a channel"
msgstr "zaprasza użytkownika na kanał"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
#| msgid "<nick> [<nick>...] [<channel>]"
msgid "<nick>... [<channel>]"
msgstr "<nick> [<nick>...] [<kanał>]"
msgstr "<nick>... [<kanał>]"
msgid "check if a nick is currently on IRC"
msgstr "sprawdza czy użytkownik jest obecnie na IRC"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
#| msgid "<nick> [<nick>...]"
msgid "<nick>..."
msgstr "<nick> [<nick>...]"
msgstr "<nick>..."
msgid "join a channel"
msgstr "wchodzi na kanał"
@@ -10923,11 +10885,8 @@ msgid "reconnect to server(s)"
msgstr "ponownie połącz się z serwerem(ami)"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
#| msgid ""
#| "<server> [<server>...] [-nojoin] [-switch] || -all [-nojoin] [-switch]"
msgid "<server>... [-nojoin] [-switch] || -all [-nojoin] [-switch]"
msgstr "<serwer> [<serwer>...] [-nojoin] [-switch] || -all [-nojoin] [-switch]"
msgstr "<serwer>... [-nojoin] [-switch] || -all [-nojoin] [-switch]"
msgid "raw[-all]: reconnect to all servers"
msgstr "raw[-all]: połącz się ponownie ze wszystkimi serwerami"
@@ -11020,9 +10979,9 @@ msgstr "wyświetla, dodaje lub usuwa serwery IRC"
#| "|| del|keep <name> || deloutq|jump || raw [<filter>]"
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list|listfull [<nazwa>] || add|addreplace <nazwa> <host>[/<port>] [-temp] [-"
"<opcja>[=<wartość>]] [-no<opcja>] || copy|rename <nazwa> <nowa_nazwa> || "
@@ -11066,9 +11025,6 @@ msgstr ""
"nazwa_hosta: nazwa lub adres IP serwera, z opcjonalnym portem (domyslnie: "
"6697 dla TLS, inaczej 6667), wiele adresów należy oddzielić przecinkiem"
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr "raw[-temp]: dodaj tymczasowy serwer (nie zapisywany)"
msgid "raw[copy]: duplicate a server"
msgstr "raw[copy]: skopiuj serwer"
@@ -11081,11 +11037,6 @@ msgstr "raw[reorder]: zmień kolejność listy serwerów"
msgid "raw[open]: open the server buffer without connecting"
msgstr "raw[open]: otwiera bufor serwera bez łączenia się z nim"
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
"raw[keep]: zapisz serwer w pliku konfiguracyjnym (tylko dla tymczasowych "
"serwerów)"
msgid "raw[del]: delete a server"
msgstr "raw[del]: usuń serwer"
@@ -11476,19 +11427,18 @@ msgstr ""
"%s%s: ostrzeżenie: serwer \"%s\" nie znaleziony w pliku konfiguracyjnym, nie "
"usunięty z pamięci, ponieważ jest obecnie używany"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
"%s%s: ostrzeżenie: nazwa komendy „%s” musi być pisana małymi literami, opcja "
"„irc.msgbuffer.%s” nie będzie działać"
msgid "buffer used to display message received from IRC server"
msgstr "bufor używany do wyświetlania wiadomości otrzymanych od serwera IRC"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: error creating \"%s\" => \"%s\""
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s: błąd podczas tworzenia \"%s\" => \"%s\""
#, c-format
@@ -11537,10 +11487,8 @@ msgstr ""
"nazwa pośrednika używanego dla tego serwera (opcjonalne, pośrednik musi być "
"zdefiniowany za pomocą komendy /proxy)"
#, fuzzy
#| msgid "use TLS for server communication"
msgid "use IPv6 protocol for server communication"
msgstr "użyj protokołu TLS do komunikacji z serwerem"
msgstr "użyj protokołu IPv6 do komunikacji z serwerem"
msgid "use TLS for server communication"
msgstr "użyj protokołu TLS do komunikacji z serwerem"
@@ -12477,9 +12425,6 @@ msgstr "włącza inteligentne filtrowanie dla wiadomości \"part\" oraz \"quit\"
msgid "enable smart filter for \"setname\" messages"
msgstr "włącza mądre filtrowanie dla wiadomości \"setname\""
msgid "enable automatic addition of temporary servers with command /connect"
msgstr "włącza tworzenie tymczasowych serwerów za pomocą komendy /connect"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr "usuń kolory w tematach (używane przy wyświetlaniu tytułu bufora)"
@@ -12822,30 +12767,20 @@ msgstr "1 jeśli nick jest ignorowany (wiadomość nie jest wyświetlana)"
msgid "server,message (message is the raw IRC message)"
msgstr "serwer,wiadomość (wiadomość to nieprzetworzona wiadomość IRC)"
#, fuzzy
#| msgid "get buffer pointer for an IRC server/channel/nick"
msgid "get pointer to an IRC server"
msgstr "pobiera wskaźnik dla serwera/kanału/nicku IRC"
msgstr "pobierz wskaźnik dla serwera IRC"
#, fuzzy
#| msgid "get buffer pointer for an IRC server/channel/nick"
msgid "get pointer to an IRC channel"
msgstr "pobiera wskaźnik dla serwera/kanału/nicku IRC"
msgstr "pobierz wskaźnik dla kanału IRC"
#, fuzzy
#| msgid "leave a channel"
msgid "server,channel"
msgstr "opuszcza kanał"
msgstr "serwer,kanał"
#, fuzzy
#| msgid "get buffer pointer for an IRC server/channel/nick"
msgid "get pointer to an IRC nick"
msgstr "pobiera wskaźnik dla serwera/kanału/nicku IRC"
msgstr "pobierz wskaźnik dla nicka IRC"
#, fuzzy
#| msgid "server,channel,nick (nick is optional)"
msgid "server,channel,nick"
msgstr "serwer,kanał,nick (nick jest opcjonalny)"
msgstr "serwer,kanał,nick"
msgid "parse an IRC message"
msgstr "przetwarza wiadomość IRC"
@@ -13592,10 +13527,6 @@ msgstr ""
"%s%s: niepoprawny skrót dla serwera \"%s\", może on zawierać tylko znaki "
"heksadecymalne (0-9, a-f)"
#. TRANSLATORS: "temporary IRC server"
msgid "temporary"
msgstr "tymczasowy"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr "fałszywy"
@@ -13607,6 +13538,16 @@ msgstr "TLS:"
msgid "%s%s: error when allocating new server"
msgstr "%s%s: błąd podczas przydzielania nowego serwera"
#, fuzzy, c-format
#| msgid "%sUnable to set option \"%s\" for bar \"%s\""
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%sNie można ustawić opcji \"%s\" dla paska \"%s\""
#, fuzzy, c-format
#| msgid "%sWarning: unknown option for section \"%s\": %s (value: \"%s\")"
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%sOstrzeżenie: nieznana opcja dla sekcji \"%s\": %s (wartość: \"%s\")"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -14512,15 +14453,11 @@ msgstr "1 jeśli wtyczka jest załadowana"
msgid "plugin name"
msgstr "nazwa wtyczki"
#, fuzzy
#| msgid "window pointer (optional)"
msgid "window pointer"
msgstr "wskaźnik okna (opcjonalne)"
msgstr "wskaźnik okna"
#, fuzzy
#| msgid "window"
msgid "window number"
msgstr "okno"
msgstr "numer okna"
msgid "get focus info"
msgstr "pobierz informacje o focusie"
@@ -14697,6 +14634,76 @@ msgstr "filtr"
msgid "history of commands in buffer"
msgstr "historia komend w buforze"
msgid "hook"
msgstr ""
#, fuzzy
#| msgid "history of commands"
msgid "hook \"command\""
msgstr "historia komend"
#, fuzzy
#| msgid "No command is running"
msgid "hook \"command_run\""
msgstr "Żadna komenda nie jest uruchomiona"
#, fuzzy
#| msgid "completion:"
msgid "hook \"completion\""
msgstr "dopełnienie:"
msgid "hook \"config\""
msgstr ""
#, fuzzy
#| msgid "not connected"
msgid "hook \"connect\""
msgstr "nie połączony"
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
#, fuzzy
#| msgid "hooks for triggers"
msgid "hook \"timer\""
msgstr "hooki dla triggerów"
msgid "hook \"url\""
msgstr ""
msgid "hotlist"
msgstr "hotlista"
@@ -15044,6 +15051,12 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "%s%s: nie udało się wykonać trasy „%s %s” dla klienta %s%s%s"
#, fuzzy, c-format
#| msgid "%s%s: invalid websocket handshake received for client %s%s%s"
msgid "%s%s: invalid data received from client %s%s%s"
msgstr ""
"%s%s: otrzymano niepoprawny pakiet dla gniazda webowego od klienta %s%s%s"
#, fuzzy, c-format
#| msgid "%sremote[%s]: unable to create socket"
msgid "%sremote[%s]: unable to send data, disconnecting"
@@ -16228,10 +16241,9 @@ msgstr ""
msgid "remote[%s]: reconnecting to remote relay in %d %s, %d %s"
msgstr "%s%s: ponowne połączenie z serwerem za %d %s, %d %s"
#, fuzzy, c-format
#| msgid "remote[%s]: connecting to remote relay %s/%d%s..."
#, c-format
msgid "remote[%s]: reconnecting to remote relay in %d %s"
msgstr "remote[%s]: łączenie ze zdalnym pośrednikiem %s/%d%s..."
msgstr "remote[%s]: łączenie ze zdalnym pośrednikiem %d %s"
#, c-format
msgid "%s: socket closed for %s (%s: %s)"
@@ -18079,10 +18091,10 @@ msgid "xfer chat"
msgstr "rozmowa xfer"
msgid "time left:"
msgstr ""
msgstr "pozostały czas:"
msgid "time left: unknown"
msgstr ""
msgstr "pozostały czas: nieznany"
msgid "Xfer list"
msgstr "Lista Xfer"
+143 -75
View File
@@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <>\n"
"Language: pt\n"
@@ -959,6 +959,11 @@ msgstr "compilado a"
msgid "Windows list:"
msgstr "Lista de janelas:"
#, fuzzy, c-format
#| msgid "%sPlugin \"%s\" not found"
msgid "%sWindow \"%s\" not found"
msgstr "%sPlugin \"%s\" não encontrado"
#, fuzzy, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%s%s: nome de alias inválido: \"%s\""
@@ -5737,6 +5742,11 @@ msgstr ""
"quando esta opção está ativada, já não é possível completar os caminhos "
"começados por \"/\" (fora dos argumentos dos comandos)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -5778,6 +5788,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "alertar o utilizador ao completar parcialmente"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6483,6 +6497,16 @@ msgstr "erro"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr "erro curl %d (%s) (URL: \"%s\")\n"
#, fuzzy, c-format
#| msgid "curl error %d (%s) (URL: \"%s\")\n"
msgid "transfer stopped (URL: \"%s\")\n"
msgstr "erro curl %d (%s) (URL: \"%s\")\n"
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "Fim do comando '%s', tempo limite atingido (%.1fs)"
#, fuzzy, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%sErro: outro comando \"%s\" já existe para o plugin \"%s\""
@@ -6528,6 +6552,11 @@ msgstr "Fim do comando '%s', tempo limite atingido (%.1fs)"
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr ""
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "End of URL transfer '%s', transfer stopped"
msgstr "Fim do comando '%s', tempo limite atingido (%.1fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -6754,15 +6783,13 @@ msgstr "O rato está desativado"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', tamanho: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy, c-format
#, fuzzy
msgid "fork error"
msgstr "erro"
#, c-format
msgid "OK"
msgstr "OK"
@@ -7380,6 +7407,12 @@ msgid ""
"empty for channels (evaluation of option buflist.format.tls_version)"
msgstr ""
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "buflist bar items"
@@ -7592,8 +7625,8 @@ msgstr "Lista de buffers:"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
@@ -8952,40 +8985,20 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s%s: a conectar-se ao servidor \"%s\" neste momento!"
#, fuzzy, c-format
msgid "%s: server added: %s%s%s%s%s"
msgid "%s: server added: %s%s"
msgstr "%s: servidor %s%s%s adicionado"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (temporário)"
#, c-format
#, fuzzy, c-format
#| msgid ""
#| "%s%s: unable to add temporary server \"%s\" (check if there is already a "
#| "server with this name)"
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s: não foi possível adicionar o servidor temporário \"%s\" (verifique se "
"já há um servidor com este nome)"
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s: não foi possível adicionar o servidor temporário \"%s\" porque a "
"adição de servidores temporários pelo comando /connect está atualmente "
"desativada"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
"%s%s: se deseja adicionar um servidor normal, use o comando \"/server add\" "
"(ver /help server); se deseja mesmo adicionar um servidor temporário (NÃO "
"GUARDADO), ative a opção irc.look.temporary_servers"
#, fuzzy, c-format
#| msgid "%s%s: \"%s\" command can not be executed on a server buffer"
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
@@ -9160,7 +9173,7 @@ msgid "nick:"
msgstr "nick"
#, fuzzy, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "Servidor: %s%s %s[%s%s%s]%s%s"
msgid "connected"
@@ -9261,15 +9274,6 @@ msgid_plural "%d servers moved"
msgstr[0] "%d servidor removido"
msgstr[1] "%d servidores removidos"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "%s%s: o servidor \"%s\" não é um servidor temporário"
#, fuzzy, c-format
#| msgid "%s: server %s%s%s is not temporary any more"
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s: o servidor %s%s%s já não é temporário"
#, fuzzy, c-format
#| msgid ""
#| "%s%s: you can not delete server \"%s\" because you are connected to. Try "
@@ -9750,11 +9754,6 @@ msgid ""
"[/#channel1][,#channel2[...]]"
msgstr ""
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -10660,9 +10659,9 @@ msgstr "listar, adicionar ou remover servidores IRC"
#, fuzzy
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list|listfull [<servidor>] || add <servidor> <hostname>[/<porta>] [-temp] [-"
"<opção>[=<valor>]] [-no<opção>] || copy|rename <servidor> <novo_nome> || "
@@ -10702,9 +10701,6 @@ msgid ""
"for TLS, 6667 otherwise), many addresses can be separated by a comma"
msgstr ""
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr ""
msgid "raw[copy]: duplicate a server"
msgstr ""
@@ -10721,9 +10717,6 @@ msgstr ""
"abrir automaticamente o buffer de reencaminhamento quando um novo cliente se "
"conecta"
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
msgid "raw[del]: delete a server"
msgstr ""
@@ -11166,17 +11159,18 @@ msgstr ""
"%s%s: aviso: o servidor \"%s\" não foi encontrado no ficheiro de "
"configuração, não foi eliminado da memória porque está a ser utilizado"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
msgid "buffer used to display message received from IRC server"
msgstr "buffer usado para mostrar mensagens recebidas do servidor IRC"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: error creating \"%s\" => \"%s\""
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s: erro ao criar \"%s\" => \"%s\""
#, c-format
@@ -12126,10 +12120,6 @@ msgstr "ativar filtro inteligente para mensagens \"part\" e \"quit\""
msgid "enable smart filter for \"setname\" messages"
msgstr "ativar filtro inteligente de mensagens de \"join\""
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
"ativar adição automática de servidores temporários pelo comando /connect"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
"retirar cores do tópico (usado apenas ao apresentar o título do buffer)"
@@ -13278,12 +13268,6 @@ msgstr ""
"%s%s: impressão digital inválida, deve conter apenas dígitos hexadecimais "
"(0-9, a-f)"
#. TRANSLATORS: "temporary IRC server"
#, fuzzy
#| msgid " (temporary)"
msgid "temporary"
msgstr " (temporário)"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr ""
@@ -13295,6 +13279,15 @@ msgstr ""
msgid "%s%s: error when allocating new server"
msgstr "%s%s: erro ao alocar novo servidor"
#, fuzzy, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%sErro: não foi possível definir a opção \"%s\" da barra \"%s\""
#, fuzzy, c-format
#| msgid "%sWarning: unknown option for section \"%s\": %s (value: \"%s\")"
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%sAviso: opção desconhecida na secção \"%s\": %s (valor: \"%s\")"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -14379,6 +14372,76 @@ msgstr "filtro"
msgid "history of commands in buffer"
msgstr "histórico de comandos do buffer"
msgid "hook"
msgstr ""
#, fuzzy
#| msgid "history of commands"
msgid "hook \"command\""
msgstr "histórico de comandos"
#, fuzzy
#| msgid "No command is running"
msgid "hook \"command_run\""
msgstr "Nenhum comando a executar"
#, fuzzy
#| msgid "completion:"
msgid "hook \"completion\""
msgstr "completação:"
msgid "hook \"config\""
msgstr ""
#, fuzzy
#| msgid "not connected"
msgid "hook \"connect\""
msgstr "não conectado"
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
#, fuzzy
#| msgid "hooks for triggers"
msgid "hook \"timer\""
msgstr "hooks de acionadores"
msgid "hook \"url\""
msgstr ""
msgid "hotlist"
msgstr "hotlist"
@@ -14732,6 +14795,11 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "%s%s: falha ao executar o comando \"%s\" do cliente %s%s%s"
#, fuzzy, c-format
#| msgid "%s%s: invalid websocket handshake received for client %s%s%s"
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s%s: websocket handshake inválido recebido do cliente %s%s%s"
#, fuzzy, c-format
#| msgid "%s%s: unable to create socket"
msgid "%sremote[%s]: unable to send data, disconnecting"
+131 -71
View File
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: pt_BR\n"
@@ -954,6 +954,11 @@ msgstr "compilado em"
msgid "Windows list:"
msgstr "Lista de janelas:"
#, fuzzy, c-format
#| msgid "%sPlugin \"%s\" not found"
msgid "%sWindow \"%s\" not found"
msgstr "%sPlugin \"%s\" não encontrado"
#, fuzzy, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%s%s: charset inválido: \"%s\""
@@ -5438,6 +5443,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
#, fuzzy
msgid ""
"default completion template (please see documentation for template codes and "
@@ -5481,6 +5491,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "alertar usuário quando uma completação parcial ocorre"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6129,6 +6143,14 @@ msgstr "%s%s: erro: %s"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer stopped (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%sOutro comando \"%s\" já existe para o plugin \"%s\""
@@ -6171,6 +6193,10 @@ msgstr ""
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr ""
#, c-format
msgid "End of URL transfer '%s', transfer stopped"
msgstr ""
# Common conventions used here:
# hotlist -> lista de atividade
# input -> entrada
@@ -6404,15 +6430,13 @@ msgstr "Mouse está desabilitado"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', tamanho: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy, c-format
#, fuzzy
msgid "fork error"
msgstr "%s%s: erro: %s"
#, c-format
msgid "OK"
msgstr "OK"
@@ -7013,6 +7037,12 @@ msgid ""
"empty for channels (evaluation of option buflist.format.tls_version)"
msgstr ""
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
#, fuzzy
#| msgid "list of bar items"
msgid "buflist bar items"
@@ -7234,8 +7264,8 @@ msgstr "Lista de buffers:"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
@@ -8557,36 +8587,17 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr ""
#, fuzzy, c-format
msgid "%s: server added: %s%s%s%s%s"
msgid "%s: server added: %s%s"
msgstr "Todos os filtros foram excluídos"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (temporário)"
#, fuzzy, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s: não foi possível registrar script \"%s\" (outro script já existe com "
"este nome)"
#, fuzzy, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s: não foi possível registrar script \"%s\" (outro script já existe com "
"este nome)"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
msgstr "%s%s: não foi possível criar novo canal \"%s\""
@@ -8749,7 +8760,7 @@ msgid "nick:"
msgstr "apelido"
#, fuzzy, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "Servidor: %s%s %s[%s%s%s]%s%s"
msgid "connected"
@@ -8848,14 +8859,6 @@ msgid_plural "%d servers moved"
msgstr[0] "%d rmodifiers removidos"
msgstr[1] "%d rmodifiers removidos"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr ""
#, fuzzy, c-format
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s: script \"%s\" não é mais suportado"
#, c-format
msgid ""
"%s%s: you cannot delete server \"%s\" because you are connected to. Try \"/"
@@ -9271,11 +9274,6 @@ msgid ""
"[/#channel1][,#channel2[...]]"
msgstr ""
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -10087,9 +10085,9 @@ msgstr ""
#| "del <name>|-all || set <name> <option> <value>"
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list || add <nome> <tipo> <endereço> <porta> [<nome de usuário> [<senha>]] "
"|| del <nome>|-all || set <nome> <opção> <valor>"
@@ -10123,9 +10121,6 @@ msgid ""
"for TLS, 6667 otherwise), many addresses can be separated by a comma"
msgstr ""
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr ""
msgid "raw[copy]: duplicate a server"
msgstr ""
@@ -10138,9 +10133,6 @@ msgstr ""
msgid "raw[open]: open the server buffer without connecting"
msgstr ""
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
msgid "raw[del]: delete a server"
msgstr ""
@@ -10532,17 +10524,18 @@ msgstr ""
"%s%s: aviso: servidor \"%s\" não encontrado no arquivo de configuração, não "
"foi excluído da memória porque está sendo utilizado atualmente"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
msgid "buffer used to display message received from IRC server"
msgstr "buffer utilizado para exibir mensagem recebida do servidor IRC"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, fuzzy, c-format
#| msgid "%s%s: error creating \"%s\" => \"%s\""
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s: erro ao criar \"%s\" => \"%s\""
#, c-format
@@ -11322,12 +11315,6 @@ msgstr ""
msgid "enable smart filter for \"setname\" messages"
msgstr ""
#, fuzzy
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
"%s%s: não foi possível registrar script \"%s\" (outro script já existe com "
"este nome)"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
@@ -12415,12 +12402,6 @@ msgid ""
"hexadecimal digits (0-9, a-f)"
msgstr ""
#. TRANSLATORS: "temporary IRC server"
#, fuzzy
#| msgid " (temporary)"
msgid "temporary"
msgstr " (temporário)"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr ""
@@ -12432,6 +12413,15 @@ msgstr ""
msgid "%s%s: error when allocating new server"
msgstr "%s%s: erro ao alocar novo servidor"
#, fuzzy, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%sErro: não foi possível configurar a opção \"%s\" para a barra \"%s\""
#, fuzzy, c-format
#| msgid "%sWarning: unknown option for section \"%s\": %s (value: \"%s\")"
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%sAviso: opção desconhecida para seção \"%s\": %s (valor: \"%s\")"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -13503,6 +13493,72 @@ msgstr "filtro"
msgid "history of commands in buffer"
msgstr "histórico de comandos no buffer"
msgid "hook"
msgstr ""
#, fuzzy
#| msgid "history of commands"
msgid "hook \"command\""
msgstr "histórico de comandos"
msgid "hook \"command_run\""
msgstr ""
#, fuzzy
msgid "hook \"completion\""
msgstr "compilado em"
msgid "hook \"config\""
msgstr ""
#, fuzzy
#| msgid "not connected"
msgid "hook \"connect\""
msgstr "não conectado"
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
#, fuzzy
msgid "hook \"timer\""
msgstr "opções para proxys"
msgid "hook \"url\""
msgstr ""
msgid "hotlist"
msgstr ""
@@ -13855,6 +13911,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "%s%s: falha ao executar comando \"%s\" para cliente %d"
#, fuzzy, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s%s: handshake TLS falhou"
#, fuzzy, c-format
msgid "%sremote[%s]: unable to send data, disconnecting"
msgstr "%s%s: não foi possível criar pipe"
+127 -64
View File
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-10-27 08:27+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: ru\n"
@@ -966,6 +966,10 @@ msgstr "собран:"
msgid "Windows list:"
msgstr "конец списка /who"
#, fuzzy, c-format
msgid "%sWindow \"%s\" not found"
msgstr "%s адрес \"%s\" не найден\n"
#, fuzzy, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "Не могу записать лог-файл \"%s\"\n"
@@ -5143,6 +5147,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -5178,6 +5187,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr ""
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -5833,6 +5846,14 @@ msgstr "%sСервер: %s%s\n"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer stopped (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr ""
#, fuzzy, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%s игнорирование уже существует\n"
@@ -5873,6 +5894,10 @@ msgstr ""
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr ""
#, c-format
msgid "End of URL transfer '%s', transfer stopped"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, fuzzy, c-format
msgid ""
@@ -6075,15 +6100,13 @@ msgstr "Сокращения не заданы.\n"
msgid " TERM='%s', size: %dx%d"
msgstr ""
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy, c-format
#, fuzzy
msgid "fork error"
msgstr "%sСервер: %s%s\n"
#, c-format
msgid "OK"
msgstr "OK"
@@ -6671,6 +6694,12 @@ msgid ""
"empty for channels (evaluation of option buflist.format.tls_version)"
msgstr ""
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
#, fuzzy
msgid "buflist bar items"
msgstr "Список сокращений:\n"
@@ -6861,8 +6890,8 @@ msgstr "Список буферов:"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
@@ -8169,30 +8198,13 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s подключается к серверу \"%s\"!\n"
#, fuzzy, c-format
msgid "%s: server added: %s%s%s%s%s"
msgid "%s: server added: %s%s"
msgstr "Сервер %s%s%s создан\n"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr ""
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
msgstr ""
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
#, fuzzy, c-format
@@ -8355,7 +8367,7 @@ msgid "nick:"
msgstr "ник"
#, fuzzy, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "%sСервер: %s%s %s[%s%s%s]\n"
msgid "connected"
@@ -8460,14 +8472,6 @@ msgstr[0] " обработчики таймера:\n"
msgstr[1] " обработчики таймера:\n"
msgstr[2] " обработчики таймера:\n"
#, fuzzy, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "Сервер %s%s%s создан\n"
#, fuzzy, c-format
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "Сервер %s%s%s создан\n"
#, fuzzy, c-format
msgid ""
"%s%s: you cannot delete server \"%s\" because you are connected to. Try \"/"
@@ -8899,11 +8903,6 @@ msgid ""
"[/#channel1][,#channel2[...]]"
msgstr ""
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -9743,9 +9742,9 @@ msgstr "перечислить, добавить или удалить серв
#, fuzzy
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"[list [сервер]] | [listfull [сервер]] | [add сервер адрес [-port порт] [-"
"temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd пароль] [-nicks ник1 ник2 ник3] "
@@ -9783,9 +9782,6 @@ msgid ""
"for TLS, 6667 otherwise), many addresses can be separated by a comma"
msgstr ""
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr ""
msgid "raw[copy]: duplicate a server"
msgstr ""
@@ -9798,9 +9794,6 @@ msgstr ""
msgid "raw[open]: open the server buffer without connecting"
msgstr ""
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
msgid "raw[del]: delete a server"
msgstr ""
@@ -10237,17 +10230,17 @@ msgid ""
"memory because it's currently used"
msgstr ""
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
msgid "buffer used to display message received from IRC server"
msgstr ""
#, c-format
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s недостаточно памяти для сообщения в строке информации\n"
#, c-format
@@ -10996,9 +10989,6 @@ msgstr ""
msgid "enable smart filter for \"setname\" messages"
msgstr "цвет текущего окна с сообщениями"
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
@@ -12086,10 +12076,6 @@ msgid ""
"hexadecimal digits (0-9, a-f)"
msgstr ""
#. TRANSLATORS: "temporary IRC server"
msgid "temporary"
msgstr ""
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr ""
@@ -12101,6 +12087,14 @@ msgstr ""
msgid "%s%s: error when allocating new server"
msgstr "%s не могу расположить новый сервер\n"
#, fuzzy, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%s неизвестный параметр для команды \"%s\"\n"
#, fuzzy, c-format
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%s %s, строка %d: неизвестный идентификатор секции (\"%s\")\n"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -13132,6 +13126,71 @@ msgstr ""
msgid "history of commands in buffer"
msgstr "Внутренние команды %s:\n"
msgid "hook"
msgstr ""
#, fuzzy
msgid "hook \"command\""
msgstr "Внутренние команды %s:\n"
msgid "hook \"command_run\""
msgstr ""
#, fuzzy
msgid "hook \"completion\""
msgstr "собран:"
msgid "hook \"config\""
msgstr ""
#, fuzzy
#| msgid "not connected"
msgid "hook \"connect\""
msgstr "отключен"
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
#, fuzzy
msgid "hook \"timer\""
msgstr "Список сокращений:\n"
msgid "hook \"url\""
msgstr ""
msgid "hotlist"
msgstr ""
@@ -13474,6 +13533,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s инициализация gnutls не удалось\n"
#, fuzzy, c-format
msgid "%sremote[%s]: unable to send data, disconnecting"
msgstr "%s не могу создать сервер\n"
+141 -86
View File
@@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2025-11-24 14:27+0400\n"
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: sr\n"
@@ -923,6 +923,10 @@ msgstr "компајлиран"
msgid "Windows list:"
msgstr "Листа прозора:"
#, c-format
msgid "%sWindow \"%s\" not found"
msgstr "%sНије пронађен прозор „%s”"
#, c-format
msgid "%sInvalid window number: \"%s\""
msgstr "%sНеважећи број прозора: „%s”"
@@ -5815,6 +5819,14 @@ msgstr ""
"опција укључи, више се не врши аутоматско довршавање путања које почињу са "
"„/” (ван аргумената команде)"
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
"ако је укључено, поново почиње од почетка (првог пронађеног довршавања) када "
"се дође до последњег довршавања, у супротном се зауставља на последњем "
"довршавању"
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -5861,6 +5873,11 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "шаље упозорење (BEL) када се догоди делимично довршавање"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
"када се поново довршава, аутоматски развија реч након делимичног довршавања"
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6569,6 +6586,16 @@ msgstr "грешка преноса"
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr "curl грешка %d (%s) (URL: „%s”)\n"
#, fuzzy, c-format
#| msgid "%sURL transfer error: %s (URL: \"%s\")"
msgid "transfer stopped (URL: \"%s\")\n"
msgstr "%sГрешка URL трансфера: %s (URL: „%s”)"
#, fuzzy, c-format
#| msgid "End of URL transfer '%s', timeout reached (%.3fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "Крај URL трансфера ’%s’, достигнут је тајмаут (%.3fs)"
#, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%sВећ постоји друга команда \"%s\" за додатак \"%s\""
@@ -6615,6 +6642,11 @@ msgstr "Крај URL трансфера ’%s’, достигнут је тај
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr "%sГрешка покретања нити у hook_url: %s (URL: „%s”)"
#, fuzzy, c-format
#| msgid "End of URL transfer '%s', timeout reached (%.3fs)"
msgid "End of URL transfer '%s', transfer stopped"
msgstr "Крај URL трансфера ’%s’, достигнут је тајмаут (%.3fs)"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -6865,15 +6897,12 @@ msgstr "Миш је искључен"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM=%s, величина: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "WeeChat се извршава у позадини..."
#, c-format
msgid "fork error"
msgstr "грешка при рачвању"
#, c-format
msgid "OK"
msgstr "ОК"
@@ -7438,10 +7467,10 @@ msgstr ""
"бафера"
msgid " - ${number_zero}: like ${number} but the number is zero-padded"
msgstr ""
msgstr " - ${number_zero}: као ${number} али се број допуњава нулама"
msgid " - ${number_zero2}: like ${number2} but the number is zero-padded"
msgstr ""
msgstr " - ${number_zero2}: као ${number2} али се број допуњава нулама"
msgid ""
" - ${number_displayed}: \"1\" if the number is displayed, otherwise \"0\""
@@ -7533,6 +7562,12 @@ msgstr ""
" - ${format_tls_version}: индикатор TLS верзије за серверски бафер, "
"празно за канале (резултат израчунавања опције buflist.format.tls_version)"
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
msgid "buflist bar items"
msgstr "ставке buflist траке"
@@ -7789,12 +7824,12 @@ msgstr "Листа бафера"
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
"%sbuflist: упозорење: учитана је скрипта buffers.pl која обезбеђује траку са "
"%s%s: упозорење: учитана је скрипта buffers.pl која обезбеђује траку са "
"листом бафера која је слична са додатком; требало би или да деинсталирате "
"скрипту buffers.pl (/script remove buffers.pl) или да искључите/уклоните из "
"меморије buflist додатак; за више информација, погледајте WeeChat напомене "
@@ -9247,38 +9282,16 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr "%s%s: тренутно се врши повезивање са сервером „%s”!"
#, c-format
msgid "%s: server added: %s%s%s%s%s"
msgstr "%s: додат је сервер: %s%s%s%s%s"
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgstr " (привремени)"
msgid "%s: server added: %s%s"
msgstr "%s: додат је сервер: %s%s"
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
"%s%s: није успело додавање привременог сервера „%s” (проверите да ли већ "
"постоји сервер под овим именом)"
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
"%s%s: није могуће додавање привременог сервера „%s” јер је тренутно "
"забрањено додавање привремених сервера командом /connect"
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
msgstr ""
"%s%s: ако желите да додате стандардни сервер, употребите команду „/server "
"add” (погледајте /help server); ако заиста желите да додате привремени "
"сервер (који се НЕ ЧУВА), укључите опцију irc.look.temporary_servers"
"%s%s: није успело додавање сервера „%s” (проверите да ли већ постоји сервер "
"под овим именом)"
#, c-format
msgid "%s%s: \"%s\" command cannot be executed on a server buffer"
@@ -9442,8 +9455,8 @@ msgid "nick:"
msgstr "надимак:"
#, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgstr "Сервер: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr "Сервер: %s%s %s[%s%s%s]%s%s%s"
msgid "connected"
msgstr "повезан"
@@ -9540,14 +9553,6 @@ msgstr[0] "померен је %d сервер"
msgstr[1] "померена су %d сервера"
msgstr[2] "померено је %d сервера"
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr "%s%s: сервер „%s” није привремени сервер"
#, c-format
msgid "%s: server %s%s%s is not temporary anymore"
msgstr "%s: сервер %s%s%s више није привремени сервер"
#, c-format
msgid ""
"%s%s: you cannot delete server \"%s\" because you are connected to. Try \"/"
@@ -9968,13 +9973,6 @@ msgstr ""
"> - URL са форматом: irc[6][s]://[надимак[:лозинка]@]irc.example.org[:порт][/"
"#канал1][,#канал2[...]]"
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
"> Напомена: за адресу/IP/URL, додаје се привремени сервер (НЕ ЧУВА СЕ), "
"погледајте /help irc.look.temporary_servers"
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -10699,14 +10697,14 @@ msgstr "испис, додавање или уклањање IRC сервера"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
"list|listfull [-connected] [<име>] || add|addreplace <име> <имехоста>[/"
"<порт>] [-temp] [-<опција>[=<вредност>]] [-no<опција>] || copy|rename <име> "
"<ново_име> || reorder <име>... || open <име>|-all [<име>...] || del|keep "
"<име> || deloutq|jump || raw [<филтер>]"
"<порт>] [-<опција>[=<вредност>]] [-no<опција>] || copy|rename <име> "
"<ново_име> || reorder <име>... || open <име>|-all [<име>...] || del <име> || "
"deloutq|jump || raw [<филтер>]"
msgid "raw[list]: list servers (without argument, this list is displayed)"
msgstr "raw[list]: листа сервера (без аргумента се приказује ова листа)"
@@ -10739,9 +10737,6 @@ msgstr ""
"имехоста: име или IP адреса сервера, са необавезним портом (подразумевано: "
"6697 за TLS, иначе 6667), више адреса може да се раздвоји запетама"
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr "raw[-temp]: додавање привременог сервера (који се не чува)"
msgid "raw[copy]: duplicate a server"
msgstr "raw[copy]: прављење дупликата сервера"
@@ -10754,11 +10749,6 @@ msgstr "raw[reorder]: промена редоследа сервера у лис
msgid "raw[open]: open the server buffer without connecting"
msgstr "raw[open]: отварање бафера за сервер без успостављања везе"
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
"raw[keep]: сервер се чува у конфигурационом фајлу (само за привремене "
"сервере)"
msgid "raw[del]: delete a server"
msgstr "raw[del]: брисање сервера"
@@ -11148,20 +11138,20 @@ msgstr ""
"%s%s: упозорење: у конфигурационом фајлу није пронађен сервер „%s”, није "
"обрисан из меморије јер се тренутно користи"
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
"%s%s: упозорење: име команде „%s” мора бити исписано малим словима, опција "
"„irc.msgbuffer.%s” неће функционисати"
msgid "buffer used to display message received from IRC server"
msgstr "бафер који се користи за приказ поруке која се прими од IRC сервера"
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgstr "%s%s: грешка при креирању „%s” => „%s”"
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
"%s%s: грешка: неисправна опција „%s.%s”, име команде или алијас „%s” мора да "
"буде исписано малим словима"
#, c-format
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr "%s%s: грешка при креирању „%s.%s” => „%s”"
#, c-format
msgid ""
@@ -12114,9 +12104,6 @@ msgstr "укључивање паметног филтера за „part” и
msgid "enable smart filter for \"setname\" messages"
msgstr "укључивање паметног филтера за „setname” поруке"
msgid "enable automatic addition of temporary servers with command /connect"
msgstr "укључивање аутоматског додавања привремених сервера командом /connect"
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
"уклањање боја из теме (користи се само онда када се приказује наслов бафера)"
@@ -13211,10 +13198,6 @@ msgstr ""
"%s%s: неважећи отисак за сервер „%s”, сме да садржи само хексадецималне "
"цифре (0-9, a-f)"
#. TRANSLATORS: "temporary IRC server"
msgid "temporary"
msgstr "привремени"
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr "лажни"
@@ -13226,6 +13209,14 @@ msgstr "TLS:"
msgid "%s%s: error when allocating new server"
msgstr "%s%s: грешка приликом алокације новог сервера"
#, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr "%s%s: упозорење: постављање опције „%s” за сервер „%s” није успело"
#, c-format
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr "%s%s: упозорење: непозната опција „%s” за сервер „%s”"
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -14321,6 +14312,66 @@ msgstr "филтер"
msgid "history of commands in buffer"
msgstr "историја команди у баферу"
msgid "hook"
msgstr "кука"
msgid "hook \"command\""
msgstr "кука „command”"
msgid "hook \"command_run\""
msgstr "кука „command_run”"
msgid "hook \"completion\""
msgstr "кука „completion”"
msgid "hook \"config\""
msgstr "кука „config”"
msgid "hook \"connect\""
msgstr "кука „connect”"
msgid "hook \"fd\""
msgstr "кука „fd”"
msgid "hook \"focus\""
msgstr "кука „focus”"
msgid "hook \"hdata\""
msgstr "кука „hdata”"
msgid "hook \"hsignal\""
msgstr "кука „hsignal”"
msgid "hook \"info\""
msgstr "кука „info”"
msgid "hook \"info_hashtable\""
msgstr "кука „info_hashtable”"
msgid "hook \"infolist\""
msgstr "кука „infolist”"
msgid "hook \"line\""
msgstr "кука „line”"
msgid "hook \"modifier\""
msgstr "кука „modifier”"
msgid "hook \"print\""
msgstr "кука „print”"
msgid "hook \"process\""
msgstr "кука „process”"
msgid "hook \"signal\""
msgstr "кука „signal”"
msgid "hook \"timer\""
msgstr "кука „timer”"
msgid "hook \"url\""
msgstr "кука „url”"
msgid "hotlist"
msgstr "врућа листа"
@@ -14667,6 +14718,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr "%s%s: није успело извршавање руте „%s %s” за клијента %s%s%s"
#, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr "%s%s: примљени су неважећи подаци од клијента %s%s%s"
#, c-format
msgid "%sremote[%s]: unable to send data, disconnecting"
msgstr "%sудаљени[%s]: није могао да пошаље податке, веза се прекида"
+555 -601
View File
File diff suppressed because it is too large Load Diff
+120 -63
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"POT-Creation-Date: 2025-11-28 18:41+0100\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -885,6 +885,10 @@ msgstr ""
msgid "Windows list:"
msgstr ""
#, c-format
msgid "%sWindow \"%s\" not found"
msgstr ""
#, c-format
msgid "%sInvalid window number: \"%s\""
msgstr ""
@@ -4770,6 +4774,11 @@ msgid ""
"with \"/\" (outside commands arguments)"
msgstr ""
msgid ""
"if enabled, restart from beginning (first completion found) when the last "
"completion is reached, otherwise stop at last completion"
msgstr ""
msgid ""
"default completion template (please see documentation for template codes and "
"values: plugin API reference, function \"weechat_hook_command\")"
@@ -4804,6 +4813,10 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr ""
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -5403,6 +5416,14 @@ msgstr ""
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer stopped (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr ""
#, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr ""
@@ -5443,6 +5464,10 @@ msgstr ""
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr ""
#, c-format
msgid "End of URL transfer '%s', transfer stopped"
msgstr ""
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid ""
@@ -5622,15 +5647,12 @@ msgstr ""
msgid " TERM='%s', size: %dx%d"
msgstr ""
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, c-format
msgid "fork error"
msgstr ""
#, c-format
msgid "OK"
msgstr ""
@@ -6187,6 +6209,12 @@ msgid ""
"empty for channels (evaluation of option buflist.format.tls_version)"
msgstr ""
msgid ""
" - ${index_displayed}: index of line displayed in the bar item (starts at "
"0, only buffers displayed increment this index, see option "
"buflist.look.display_conditions"
msgstr ""
msgid "buflist bar items"
msgstr ""
@@ -6360,8 +6388,8 @@ msgstr ""
#, c-format
msgid ""
"%sbuflist: warning: the script buffers.pl is loaded and provides a bar with "
"list of buffers similar to the buflist plugin; you may want to uninstall the "
"%s%s: warning: the script buffers.pl is loaded and provides a bar with list "
"of buffers similar to the buflist plugin; you may want to uninstall the "
"script buffers.pl (/script remove buffers.pl) or disable/unload the buflist "
"plugin; see WeeChat release notes for more information"
msgstr ""
@@ -7587,30 +7615,13 @@ msgid "%s%s: currently connecting to server \"%s\"!"
msgstr ""
#, c-format
msgid "%s: server added: %s%s%s%s%s"
msgstr ""
#. TRANSLATORS: "temporary IRC server"
msgid " (temporary)"
msgid "%s: server added: %s%s"
msgstr ""
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" (check if there is already a "
"server with this name)"
msgstr ""
#, c-format
msgid ""
"%s%s: unable to add temporary server \"%s\" because the addition of "
"temporary servers with command /connect is currently disabled"
msgstr ""
#, c-format
msgid ""
"%s%s: if you want to add a standard server, use the command \"/server add\" "
"(see /help server); if you really want to add a temporary server (NOT "
"SAVED), turn on the option irc.look.temporary_servers"
"%s%s: unable to add server \"%s\" (check if there is already a server with "
"this name)"
msgstr ""
#, c-format
@@ -7772,7 +7783,7 @@ msgid "nick:"
msgstr ""
#, c-format
msgid "Server: %s%s %s[%s%s%s]%s%s%s%s"
msgid "Server: %s%s %s[%s%s%s]%s%s%s"
msgstr ""
msgid "connected"
@@ -7866,14 +7877,6 @@ msgid_plural "%d servers moved"
msgstr[0] ""
msgstr[1] ""
#, c-format
msgid "%s%s: server \"%s\" is not a temporary server"
msgstr ""
#, c-format
msgid "%s: server %s%s%s is not temporary anymore"
msgstr ""
#, c-format
msgid ""
"%s%s: you cannot delete server \"%s\" because you are connected to. Try \"/"
@@ -8234,11 +8237,6 @@ msgid ""
"[/#channel1][,#channel2[...]]"
msgstr ""
msgid ""
"> Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /"
"help irc.look.temporary_servers"
msgstr ""
msgid ""
"option: set option for server (for boolean option, value can be omitted)"
msgstr ""
@@ -8906,9 +8904,9 @@ msgstr ""
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
msgid ""
"list|listfull [-connected] [<name>] || add|addreplace <name> <hostname>[/"
"<port>] [-temp] [-<option>[=<value>]] [-no<option>] || copy|rename <name> "
"<new_name> || reorder <name>... || open <name>|-all [<name>...] || del|keep "
"<name> || deloutq|jump || raw [<filter>]"
"<port>] [-<option>[=<value>]] [-no<option>] || copy|rename <name> <new_name> "
"|| reorder <name>... || open <name>|-all [<name>...] || del <name> || "
"deloutq|jump || raw [<filter>]"
msgstr ""
msgid "raw[list]: list servers (without argument, this list is displayed)"
@@ -8937,9 +8935,6 @@ msgid ""
"for TLS, 6667 otherwise), many addresses can be separated by a comma"
msgstr ""
msgid "raw[-temp]: add a temporary server (not saved)"
msgstr ""
msgid "raw[copy]: duplicate a server"
msgstr ""
@@ -8952,9 +8947,6 @@ msgstr ""
msgid "raw[open]: open the server buffer without connecting"
msgstr ""
msgid "raw[keep]: keep server in config file (for temporary servers only)"
msgstr ""
msgid "raw[del]: delete a server"
msgstr ""
@@ -9306,17 +9298,17 @@ msgid ""
"memory because it's currently used"
msgstr ""
#, c-format
msgid ""
"%s%s: warning: the command name \"%s\" must be lower case, the option "
"\"irc.msgbuffer.%s\" will not work"
msgstr ""
msgid "buffer used to display message received from IRC server"
msgstr ""
#, c-format
msgid "%s%s: error creating \"%s\" => \"%s\""
msgid ""
"%s%s: error: invalid option \"%s.%s\", the command name or alias \"%s\" must "
"be lower case"
msgstr ""
#, c-format
msgid "%s%s: error creating \"%s.%s\" => \"%s\""
msgstr ""
#, c-format
@@ -9976,9 +9968,6 @@ msgstr ""
msgid "enable smart filter for \"setname\" messages"
msgstr ""
msgid "enable automatic addition of temporary servers with command /connect"
msgstr ""
msgid "strip colors in topic (used only when displaying buffer title)"
msgstr ""
@@ -10976,10 +10965,6 @@ msgid ""
"hexadecimal digits (0-9, a-f)"
msgstr ""
#. TRANSLATORS: "temporary IRC server"
msgid "temporary"
msgstr ""
#. TRANSLATORS: "fake IRC server"
msgid "fake"
msgstr ""
@@ -10991,6 +10976,14 @@ msgstr ""
msgid "%s%s: error when allocating new server"
msgstr ""
#, c-format
msgid "%s%s: warning: unable to set option \"%s\" for server \"%s\""
msgstr ""
#, c-format
msgid "%s%s: warning: unknown option \"%s\" for server \"%s\""
msgstr ""
#, c-format
msgid ""
"%s%s: sending data to server: null pointer (please report problem to "
@@ -11944,6 +11937,66 @@ msgstr ""
msgid "history of commands in buffer"
msgstr ""
msgid "hook"
msgstr ""
msgid "hook \"command\""
msgstr ""
msgid "hook \"command_run\""
msgstr ""
msgid "hook \"completion\""
msgstr ""
msgid "hook \"config\""
msgstr ""
msgid "hook \"connect\""
msgstr ""
msgid "hook \"fd\""
msgstr ""
msgid "hook \"focus\""
msgstr ""
msgid "hook \"hdata\""
msgstr ""
msgid "hook \"hsignal\""
msgstr ""
msgid "hook \"info\""
msgstr ""
msgid "hook \"info_hashtable\""
msgstr ""
msgid "hook \"infolist\""
msgstr ""
msgid "hook \"line\""
msgstr ""
msgid "hook \"modifier\""
msgstr ""
msgid "hook \"print\""
msgstr ""
msgid "hook \"process\""
msgstr ""
msgid "hook \"signal\""
msgstr ""
msgid "hook \"timer\""
msgstr ""
msgid "hook \"url\""
msgstr ""
msgid "hotlist"
msgstr ""
@@ -12258,6 +12311,10 @@ msgstr ""
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
msgstr ""
#, c-format
msgid "%s%s: invalid data received from client %s%s%s"
msgstr ""
#, c-format
msgid "%sremote[%s]: unable to send data, disconnecting"
msgstr ""
+18
View File
@@ -0,0 +1,18 @@
# SPDX-FileCopyrightText: 2025 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
continue-on-failure = true
[[operations]]
include-path-regex = "/sync/?.*"
enabled = false
[phases.stateful]
enabled = false
[auth]
basic = { username = "plain", password = "${RELAY_PASSWORD}" }
[output.sanitization]
enabled = false
+163 -133
View File
@@ -559,33 +559,38 @@ COMMAND_CALLBACK(bar)
{
COMMAND_MIN_ARGS(5, argv[1]);
ptr_bar = gui_bar_search (argv[2]);
if (ptr_bar)
if (!ptr_bar)
{
if (strcmp (argv[3], "*") == 0)
ptr_window = gui_current_window;
else
{
ptr_window = NULL;
error = NULL;
number = (int)strtol (argv[3], &error, 10);
if (error && !error[0])
ptr_window = gui_window_search_by_number (number);
}
if (!ptr_window)
{
gui_chat_printf (NULL,
_("%sWindow not found for \"%s\" command"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR], "bar");
return WEECHAT_RC_ERROR;
}
if (!gui_bar_scroll (ptr_bar, ptr_window, argv_eol[4]))
{
gui_chat_printf (NULL,
_("%sUnable to scroll bar \"%s\""),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
argv[2]);
return WEECHAT_RC_ERROR;
}
gui_chat_printf (NULL,
_("%sBar \"%s\" not found"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
argv[2]);
return WEECHAT_RC_ERROR;
}
if (strcmp (argv[3], "*") == 0)
ptr_window = gui_current_window;
else
{
ptr_window = NULL;
error = NULL;
number = (int)strtol (argv[3], &error, 10);
if (error && !error[0])
ptr_window = gui_window_search_by_number (number);
}
if (!ptr_window)
{
gui_chat_printf (NULL,
_("%sWindow not found for \"%s\" command"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR], "bar");
return WEECHAT_RC_ERROR;
}
if (!gui_bar_scroll (ptr_bar, ptr_window, argv_eol[4]))
{
gui_chat_printf (NULL,
_("%sUnable to scroll bar \"%s\""),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
argv[2]);
return WEECHAT_RC_ERROR;
}
return WEECHAT_RC_OK;
}
@@ -1105,7 +1110,7 @@ COMMAND_CALLBACK(buffer)
return WEECHAT_RC_ERROR;
}
if ((i == 2) && !command_buffer_check_number ((int)numbers[i]))
return WEECHAT_RC_OK;
return WEECHAT_RC_ERROR;
}
else
numbers[i] = -1;
@@ -1281,28 +1286,30 @@ COMMAND_CALLBACK(buffer)
ptr_buffer = gui_buffer_search_by_id_number_name (argv[2]);
else
ptr_buffer = buffer;
if (ptr_buffer)
if (!ptr_buffer)
{
if (ptr_buffer->local_variables
&& (ptr_buffer->local_variables->items_count > 0))
{
gui_chat_printf (NULL, "");
gui_chat_printf (NULL,
_("Local variables for buffer \"%s\":"),
ptr_buffer->name);
hashtable_map (ptr_buffer->local_variables,
&command_buffer_display_localvar, NULL);
}
else
{
gui_chat_printf (NULL,
_("No local variable defined for buffer "
"\"%s\""),
ptr_buffer->name);
}
gui_chat_printf (NULL,
_("%sBuffer \"%s\" not found"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
argv[2]);
return WEECHAT_RC_ERROR;
}
if (ptr_buffer->local_variables
&& (ptr_buffer->local_variables->items_count > 0))
{
gui_chat_printf (NULL, "");
gui_chat_printf (NULL,
_("Local variables for buffer \"%s\":"),
ptr_buffer->full_name);
hashtable_map (ptr_buffer->local_variables,
&command_buffer_display_localvar, NULL);
}
else
{
gui_chat_printf (NULL,
_("No local variable defined for buffer \"%s\""),
ptr_buffer->full_name);
}
return WEECHAT_RC_OK;
}
@@ -1951,70 +1958,71 @@ COMMAND_CALLBACK(cursor)
if (string_strcmp (argv[1], "go") == 0)
{
if (argc > 2)
COMMAND_MIN_ARGS(3, argv[1]);
pos = strchr (argv[2], ',');
if (pos)
{
pos = strchr (argv[2], ',');
if (pos)
str_x = string_strndup (argv[2], pos - argv[2]);
pos++;
if (str_x)
{
str_x = string_strndup (argv[2], pos - argv[2]);
pos++;
if (str_x)
error = NULL;
x = (int) strtol (str_x, &error, 10);
if (error && !error[0])
{
error = NULL;
x = (int) strtol (str_x, &error, 10);
y = (int) strtol (pos, &error, 10);
if (error && !error[0])
{
error = NULL;
y = (int) strtol (pos, &error, 10);
if (error && !error[0])
{
gui_cursor_move_xy (x, y);
}
gui_cursor_move_xy (x, y);
free (str_x);
return WEECHAT_RC_OK;
}
free (str_x);
}
}
else
{
gui_cursor_move_area (argv[2],
(argc > 3) ? argv_eol[3] : NULL);
free (str_x);
}
}
return WEECHAT_RC_OK;
else
{
if (gui_cursor_move_area (argv[2],
(argc > 3) ? argv_eol[3] : NULL))
return WEECHAT_RC_OK;
}
COMMAND_ERROR;
}
if (string_strcmp (argv[1], "move") == 0)
{
if (argc > 2)
COMMAND_MIN_ARGS(3, argv[1]);
if (string_strcmp (argv[2], "up") == 0)
gui_cursor_move_add_xy (0, -1);
else if (string_strcmp (argv[2], "down") == 0)
gui_cursor_move_add_xy (0, 1);
else if (string_strcmp (argv[2], "left") == 0)
gui_cursor_move_add_xy (-1, 0);
else if (string_strcmp (argv[2], "right") == 0)
gui_cursor_move_add_xy (1, 0);
else if (string_strcmp (argv[2], "area_up") == 0)
gui_cursor_move_area_add_xy (0, -1);
else if (string_strcmp (argv[2], "area_down") == 0)
gui_cursor_move_area_add_xy (0, 1);
else if (string_strcmp (argv[2], "area_left") == 0)
gui_cursor_move_area_add_xy (-1, 0);
else if (string_strcmp (argv[2], "area_right") == 0)
gui_cursor_move_area_add_xy (1, 0);
else if ((string_strcmp (argv[2], "top_left") == 0)
|| (string_strcmp (argv[2], "top_right") == 0)
|| (string_strcmp (argv[2], "bottom_left") == 0)
|| (string_strcmp (argv[2], "bottom_right") == 0)
|| (string_strcmp (argv[2], "edge_top") == 0)
|| (string_strcmp (argv[2], "edge_bottom") == 0)
|| (string_strcmp (argv[2], "edge_left") == 0)
|| (string_strcmp (argv[2], "edge_right") == 0))
{
if (string_strcmp (argv[2], "up") == 0)
gui_cursor_move_add_xy (0, -1);
else if (string_strcmp (argv[2], "down") == 0)
gui_cursor_move_add_xy (0, 1);
else if (string_strcmp (argv[2], "left") == 0)
gui_cursor_move_add_xy (-1, 0);
else if (string_strcmp (argv[2], "right") == 0)
gui_cursor_move_add_xy (1, 0);
else if (string_strcmp (argv[2], "area_up") == 0)
gui_cursor_move_area_add_xy (0, -1);
else if (string_strcmp (argv[2], "area_down") == 0)
gui_cursor_move_area_add_xy (0, 1);
else if (string_strcmp (argv[2], "area_left") == 0)
gui_cursor_move_area_add_xy (-1, 0);
else if (string_strcmp (argv[2], "area_right") == 0)
gui_cursor_move_area_add_xy (1, 0);
else if ((string_strcmp (argv[2], "top_left") == 0)
|| (string_strcmp (argv[2], "top_right") == 0)
|| (string_strcmp (argv[2], "bottom_left") == 0)
|| (string_strcmp (argv[2], "bottom_right") == 0)
|| (string_strcmp (argv[2], "edge_top") == 0)
|| (string_strcmp (argv[2], "edge_bottom") == 0)
|| (string_strcmp (argv[2], "edge_left") == 0)
|| (string_strcmp (argv[2], "edge_right") == 0))
{
gui_cursor_move_position (argv[2]);
}
gui_cursor_move_position (argv[2]);
}
else
COMMAND_ERROR;
return WEECHAT_RC_OK;
}
@@ -2743,9 +2751,17 @@ COMMAND_CALLBACK(filter)
else
{
if (gui_filters_enabled)
{
gui_filter_global_disable ();
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Message filtering disabled"));
}
else
{
gui_filter_global_enable ();
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Message filtering enabled"));
}
}
return WEECHAT_RC_OK;
}
@@ -5583,7 +5599,8 @@ COMMAND_CALLBACK(print)
}
else
{
util_parse_time (argv[i], &tv_date);
if (!util_parse_time (argv[i], &tv_date))
COMMAND_ERROR;
}
}
else if (string_strcmp (argv[i], "-tags") == 0)
@@ -5808,7 +5825,7 @@ COMMAND_CALLBACK(proxy)
(void) data;
(void) buffer;
/* list of bars */
/* list of proxies */
if ((argc == 1) || (string_strcmp (argv[1], "list") == 0))
{
command_proxy_list ();
@@ -7967,8 +7984,18 @@ COMMAND_CALLBACK(window)
{
error = NULL;
number = strtol (argv[3], &error, 10);
if (error && !error[0])
if (error && !error[0] && (number >= 1))
{
ptr_win = gui_window_search_by_number (number);
if (!ptr_win)
{
gui_chat_printf (NULL,
_("%sWindow \"%s\" not found"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
argv[3]);
return WEECHAT_RC_ERROR;
}
}
else
{
/* invalid number */
@@ -8000,19 +8027,18 @@ COMMAND_CALLBACK(window)
/* vertical scroll */
if (string_strcmp (argv[1], "scroll") == 0)
{
if (argc > win_args)
gui_window_scroll (ptr_win, argv[win_args]);
COMMAND_MIN_ARGS(win_args + 1, argv[1]);
gui_window_scroll (ptr_win, argv[win_args]);
return WEECHAT_RC_OK;
}
/* horizontal scroll in window (for buffers with free content) */
if (string_strcmp (argv[1], "scroll_horiz") == 0)
{
if ((argc > win_args)
&& (ptr_win->buffer->type == GUI_BUFFER_TYPE_FREE))
{
gui_window_scroll_horiz (ptr_win, argv[win_args]);
}
COMMAND_MIN_ARGS(win_args + 1, argv[1]);
if (ptr_win->buffer->type != GUI_BUFFER_TYPE_FREE)
COMMAND_ERROR;
gui_window_scroll_horiz (ptr_win, argv[win_args]);
return WEECHAT_RC_OK;
}
@@ -8084,6 +8110,8 @@ COMMAND_CALLBACK(window)
{
gui_window_split_horizontal (ptr_win, number);
}
else
COMMAND_ERROR;
}
else
gui_window_split_horizontal (ptr_win, 50);
@@ -8102,6 +8130,8 @@ COMMAND_CALLBACK(window)
{
gui_window_split_vertical (ptr_win, number);
}
else
COMMAND_ERROR;
}
else
gui_window_split_vertical (ptr_win, 50);
@@ -8111,41 +8141,41 @@ COMMAND_CALLBACK(window)
/* resize window */
if (string_strcmp (argv[1], "resize") == 0)
{
if (argc > win_args)
COMMAND_MIN_ARGS(win_args + 1, argv[1]);
ptr_sizearg = argv[win_args];
sign = 0;
if ((ptr_sizearg[0] == 'h') || (ptr_sizearg[0] == 'v'))
{
ptr_sizearg = argv[win_args];
sign = 0;
if ((ptr_sizearg[0] == 'h') || (ptr_sizearg[0] == 'v'))
ptr_tree = gui_window_tree_get_split (ptr_win->ptr_tree,
ptr_sizearg[0]);
ptr_sizearg++;
}
else
{
ptr_tree = ptr_win->ptr_tree;
}
if ((ptr_sizearg[0] == '+') || (ptr_sizearg[0] == '-'))
{
sign = ptr_sizearg[0];
ptr_sizearg++;
}
error = NULL;
number = strtol (ptr_sizearg, &error, 10);
if (error && !error[0])
{
if (sign)
{
ptr_tree = gui_window_tree_get_split (ptr_win->ptr_tree,
ptr_sizearg[0]);
ptr_sizearg++;
if (sign == '-')
number *= -1;
gui_window_resize_delta (ptr_tree, number);
}
else
{
ptr_tree = ptr_win->ptr_tree;
}
if ((ptr_sizearg[0] == '+') || (ptr_sizearg[0] == '-'))
{
sign = ptr_sizearg[0];
ptr_sizearg++;
}
error = NULL;
number = strtol (ptr_sizearg, &error, 10);
if (error && !error[0])
{
if (sign)
{
if (sign == '-')
number *= -1;
gui_window_resize_delta (ptr_tree, number);
}
else
{
gui_window_resize (ptr_tree, number);
}
gui_window_resize (ptr_tree, number);
}
}
else
COMMAND_ERROR;
return WEECHAT_RC_OK;
}
+17
View File
@@ -305,6 +305,7 @@ struct t_config_option *config_color_status_time = NULL;
struct t_config_option *config_completion_base_word_until_cursor = NULL;
struct t_config_option *config_completion_case_sensitive = NULL;
struct t_config_option *config_completion_command_inline = NULL;
struct t_config_option *config_completion_cycle = NULL;
struct t_config_option *config_completion_default_template = NULL;
struct t_config_option *config_completion_nick_add_space = NULL;
struct t_config_option *config_completion_nick_case_sensitive = NULL;
@@ -313,6 +314,7 @@ struct t_config_option *config_completion_nick_first_only = NULL;
struct t_config_option *config_completion_nick_ignore_chars = NULL;
struct t_config_option *config_completion_nick_ignore_words = NULL;
struct t_config_option *config_completion_partial_completion_alert = NULL;
struct t_config_option *config_completion_partial_completion_auto_expand = NULL;
struct t_config_option *config_completion_partial_completion_command = NULL;
struct t_config_option *config_completion_partial_completion_command_arg = NULL;
struct t_config_option *config_completion_partial_completion_count = NULL;
@@ -5184,6 +5186,14 @@ config_weechat_init_options (void)
"commands arguments)"),
NULL, 0, 0, "on", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_completion_cycle = config_file_new_option (
weechat_config_file, weechat_config_section_completion,
"cycle", "boolean",
N_("if enabled, restart from beginning (first completion found) "
"when the last completion is reached, otherwise stop at last "
"completion"),
NULL, 0, 0, "on", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_completion_default_template = config_file_new_option (
weechat_config_file, weechat_config_section_completion,
"default_template", "string",
@@ -5243,6 +5253,13 @@ config_weechat_init_options (void)
N_("send alert (BEL) when a partial completion occurs"),
NULL, 0, 0, "on", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_completion_partial_completion_auto_expand = config_file_new_option (
weechat_config_file, weechat_config_section_completion,
"partial_completion_auto_expand", "boolean",
N_("automatically expand word after partial completion when "
"completing again"),
NULL, 0, 0, "on", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_completion_partial_completion_command = config_file_new_option (
weechat_config_file, weechat_config_section_completion,
"partial_completion_command", "boolean",
+2
View File
@@ -354,6 +354,7 @@ extern struct t_config_option *config_color_status_time;
extern struct t_config_option *config_completion_base_word_until_cursor;
extern struct t_config_option *config_completion_case_sensitive;
extern struct t_config_option *config_completion_command_inline;
extern struct t_config_option *config_completion_cycle;
extern struct t_config_option *config_completion_default_template;
extern struct t_config_option *config_completion_nick_add_space;
extern struct t_config_option *config_completion_nick_case_sensitive;
@@ -362,6 +363,7 @@ extern struct t_config_option *config_completion_nick_first_only;
extern struct t_config_option *config_completion_nick_ignore_chars;
extern struct t_config_option *config_completion_nick_ignore_words;
extern struct t_config_option *config_completion_partial_completion_alert;
extern struct t_config_option *config_completion_partial_completion_auto_expand;
extern struct t_config_option *config_completion_partial_completion_command;
extern struct t_config_option *config_completion_partial_completion_command_arg;
extern struct t_config_option *config_completion_partial_completion_count;
+10 -14
View File
@@ -36,10 +36,18 @@
/* Bring in htobe64 */
#ifdef __ANDROID__
#define _BSD_SOURCE
#define BE_INT64 htobe64
#include <endian.h>
#elif defined(__APPLE__)
#include <libkern/OSByteOrder.h>
#define htobe64 OSSwapHostToBigInt64
#define BE_INT64 OSSwapHostToBigInt64
#elif defined(HAVE_HTONLL)
#include <sys/types.h>
#include <netinet/in.h>
#include <inttypes.h>
#define BE_INT64 htonll
#else
#define BE_INT64 htobe64
#endif
#include "weechat.h"
@@ -49,10 +57,6 @@
#include "core-string.h"
#include "../plugins/plugin.h"
#ifdef htonll
#define htobe64 htonll
#endif
char *weecrypto_hash_algo_string[] = {
"crc32",
"md5",
@@ -61,13 +65,10 @@ char *weecrypto_hash_algo_string[] = {
"sha256",
"sha384",
"sha512",
#if GCRYPT_VERSION_NUMBER >= 0x010700
"sha3-224",
"sha3-256",
"sha3-384",
"sha3-512",
#endif
#if GCRYPT_VERSION_NUMBER >= 0x010800
"blake2b-160",
"blake2b-256",
"blake2b-384",
@@ -76,7 +77,6 @@ char *weecrypto_hash_algo_string[] = {
"blake2s-160",
"blake2s-224",
"blake2s-256",
#endif
#if GCRYPT_VERSION_NUMBER >= 0x010904
"sha512-224",
"sha512-256",
@@ -91,13 +91,10 @@ int weecrypto_hash_algo[] = {
GCRY_MD_SHA256,
GCRY_MD_SHA384,
GCRY_MD_SHA512,
#if GCRYPT_VERSION_NUMBER >= 0x010700
GCRY_MD_SHA3_224,
GCRY_MD_SHA3_256,
GCRY_MD_SHA3_384,
GCRY_MD_SHA3_512,
#endif
#if GCRYPT_VERSION_NUMBER >= 0x010800
GCRY_MD_BLAKE2B_160,
GCRY_MD_BLAKE2B_256,
GCRY_MD_BLAKE2B_384,
@@ -106,7 +103,6 @@ int weecrypto_hash_algo[] = {
GCRY_MD_BLAKE2S_160,
GCRY_MD_BLAKE2S_224,
GCRY_MD_BLAKE2S_256,
#endif
#if GCRYPT_VERSION_NUMBER >= 0x010904
GCRY_MD_SHA512_224,
GCRY_MD_SHA512_256,
@@ -536,7 +532,7 @@ weecrypto_totp_generate_internal (const char *secret, int length_secret,
int rc, offset, length;
unsigned long bin_code;
moving_factor_swapped = htobe64 (moving_factor);
moving_factor_swapped = BE_INT64 (moving_factor);
rc = weecrypto_hmac (secret, length_secret,
&moving_factor_swapped, sizeof (moving_factor_swapped),
GCRY_MD_SHA1,
+6
View File
@@ -611,6 +611,12 @@ debug_hooks_plugin_types (const char *plugin_mask, const char **hook_types)
(ptr_hook->plugin) ?
ptr_hook->plugin->name : PLUGIN_CORE,
-1);
if (ptr_hook->subplugin)
{
string_dyn_concat (result_type, "(", -1);
string_dyn_concat (result_type, ptr_hook->subplugin, -1);
string_dyn_concat (result_type, ")", -1);
}
string_dyn_concat (result_type, ": ", -1);
string_dyn_concat (result_type, desc, -1);
string_dyn_concat (result_type, "\n", -1);
+6 -2
View File
@@ -1153,6 +1153,7 @@ char *
eval_hdata_count (const char *text, struct t_eval_context *eval_context)
{
struct t_hdata *hdata;
unsigned long ptr_value;
void *pointer;
char *pos1, *pos2, *value, *hdata_name, *pointer_name, str_count[64];
int rc, count;
@@ -1183,9 +1184,10 @@ eval_hdata_count (const char *text, struct t_eval_context *eval_context)
if (strncmp (pointer_name, "0x", 2) == 0)
{
rc = sscanf (pointer_name, "%p", &pointer);
rc = sscanf (pointer_name, "%lx", &ptr_value);
if ((rc != EOF) && (rc != 0))
{
pointer = (void *)ptr_value;
if (!hdata_check_pointer (hdata, NULL, pointer))
goto end;
}
@@ -1422,6 +1424,7 @@ eval_string_hdata (const char *text, struct t_eval_context *eval_context)
void *pointer;
struct t_hdata *hdata;
int rc;
unsigned long ptr;
value = NULL;
hdata_name = NULL;
@@ -1473,9 +1476,10 @@ eval_string_hdata (const char *text, struct t_eval_context *eval_context)
{
if (strncmp (pointer_name, "0x", 2) == 0)
{
rc = sscanf (pointer_name, "%p", &pointer);
rc = sscanf (pointer_name, "%lx", &ptr);
if ((rc != EOF) && (rc != 0))
{
pointer = (void *)ptr;
if (!hdata_check_pointer (hdata, NULL, pointer))
goto end;
}
+3 -3
View File
@@ -1246,10 +1246,10 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
const char *value)
{
struct t_hdata_var *var;
void *ptr;
char **ptr_string, *error;
long number;
long long number_longlong;
unsigned long ptr;
int rc;
if (!hdata->update_pending)
@@ -1309,10 +1309,10 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
case WEECHAT_HDATA_POINTER:
if (value)
{
rc = sscanf (value, "%p", &ptr);
rc = sscanf (value, "%lx", &ptr);
if ((rc != EOF) && (rc != 0))
{
*((void **)(pointer + var->offset)) = ptr;
*((void **)(pointer + var->offset)) = (void *)ptr;
return 1;
}
}
+45
View File
@@ -37,6 +37,7 @@
#include "core-debug.h"
#include "core-hook.h"
#include "core-hashtable.h"
#include "core-hdata.h"
#include "core-infolist.h"
#include "core-log.h"
#include "core-signal.h"
@@ -793,6 +794,50 @@ unhook_all (void)
}
}
/*
* Returns hdata for hook.
*/
struct t_hdata *
hook_hdata_hook_cb (const void *pointer, void *data, const char *hdata_name)
{
struct t_hdata *hdata;
int hook_type;
char str_list[128];
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, "prev_hook", "next_hook",
0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook, plugin, POINTER, 0, NULL, "plugin");
HDATA_VAR(struct t_hook, subplugin, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook, type, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook, deleted, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook, running, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook, priority, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook, callback_pointer, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook, callback_data, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook, hook_data, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook, prev_hook, POINTER, 0, NULL, hdata_name);
HDATA_VAR(struct t_hook, next_hook, POINTER, 0, NULL, hdata_name);
for (hook_type = 0; hook_type < HOOK_NUM_TYPES; hook_type++)
{
snprintf (str_list, sizeof (str_list),
"weechat_hooks_%s", hook_type_string[hook_type]);
hdata_new_list (hdata, str_list, &weechat_hooks[hook_type],
WEECHAT_HDATA_LIST_CHECK_POINTERS);
snprintf (str_list, sizeof (str_list),
"last_weechat_hook_%s", hook_type_string[hook_type]);
hdata_new_list (hdata, str_list, &last_weechat_hook[hook_type], 0);
}
}
return hdata;
}
/*
* Adds a hook in an infolist.
*
+3
View File
@@ -153,6 +153,9 @@ extern void unhook (struct t_hook *hook);
extern void unhook_all_plugin (struct t_weechat_plugin *plugin,
const char *subplugin);
extern void unhook_all (void);
extern struct t_hdata *hook_hdata_hook_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_add_to_infolist (struct t_infolist *infolist,
struct t_hook *hook,
const char *arguments);
+16 -22
View File
@@ -28,13 +28,6 @@
#include "config.h"
#endif
/* _XPG4_2 is needed on SunOS for macros like CMSG_SPACE */
/* __EXTENSIONS__ is needed on SunOS for constants like NI_MAXHOST */
#ifdef __sun
#define _XPG4_2
#define __EXTENSIONS__
#endif
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
@@ -127,8 +120,8 @@ network_load_system_ca_file (int force_display)
rc = gnutls_certificate_set_x509_system_trust (gnutls_xcred);
if (rc < 0)
{
gui_chat_printf (
NULL,
gui_chat_printf_date_tags (
NULL, 0, "tls",
_("%sWarning: failed to load system certificate authorities"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]);
return 0;
@@ -136,8 +129,8 @@ network_load_system_ca_file (int force_display)
if (force_display || (weechat_debug_core >= 1))
{
gui_chat_printf (
NULL,
gui_chat_printf_date_tags (
NULL, 0, "tls",
NG_("%d certificate loaded (system)",
"%d certificates loaded (system)",
rc),
@@ -192,8 +185,8 @@ network_load_user_ca_files (int force_display)
gnutls_xcred, ca_path, GNUTLS_X509_FMT_PEM);
if (rc < 0)
{
gui_chat_printf (
NULL,
gui_chat_printf_date_tags (
NULL, 0, "tls",
_("%sWarning: failed to load certificate authorities "
"from file %s"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
@@ -204,8 +197,8 @@ network_load_user_ca_files (int force_display)
num_loaded += rc;
if (force_display || (weechat_debug_core >= 1))
{
gui_chat_printf (
NULL,
gui_chat_printf_date_tags (
NULL, 0, "tls",
NG_("%d certificate loaded (file: %s)",
"%d certificates loaded (file: %s)",
rc),
@@ -215,8 +208,8 @@ network_load_user_ca_files (int force_display)
}
else
{
gui_chat_printf (
NULL,
gui_chat_printf_date_tags (
NULL, 0, "tls",
_("%sWarning: failed to load certificate authorities "
"from file %s (file not found)"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
@@ -266,11 +259,12 @@ network_reload_ca_files (int force_display)
gnutls_certificate_free_credentials (gnutls_xcred);
if (force_display || (weechat_debug_core >= 1))
{
gui_chat_printf (NULL,
NG_("%d certificate purged",
"%d certificates purged",
network_num_certs),
network_num_certs);
gui_chat_printf_date_tags (
NULL, 0, "tls",
NG_("%d certificate purged",
"%d certificates purged",
network_num_certs),
network_num_certs);
}
network_allocate_credentials ();
network_load_ca_files (force_display);
+126 -100
View File
@@ -37,6 +37,7 @@
#include "core-infolist.h"
#include "core-proxy.h"
#include "core-string.h"
#include "core-util.h"
#include "../plugins/plugin.h"
@@ -62,9 +63,7 @@ struct t_url_constant url_proxy_types[] =
URL_DEF_CONST(PROXY, SOCKS4A),
URL_DEF_CONST(PROXY, SOCKS5_HOSTNAME),
URL_DEF_CONST(PROXY, HTTP_1_0),
#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */
URL_DEF_CONST(PROXY, HTTPS),
#endif
{ NULL, 0 },
};
@@ -130,12 +129,8 @@ struct t_url_constant url_auth[] =
URL_DEF_CONST(AUTH, NTLM_WB),
#endif
URL_DEF_CONST(AUTH, NEGOTIATE),
#if LIBCURL_VERSION_NUM >= 0x073700 /* 7.55.0 */
URL_DEF_CONST(AUTH, GSSAPI),
#endif
#if LIBCURL_VERSION_NUM >= 0x073D00 /* 7.61.0 */
URL_DEF_CONST(AUTH, BEARER),
#endif
#if LIBCURL_VERSION_NUM >= 0x074B00 /* 7.75.0 */
URL_DEF_CONST(AUTH, AWS_SIGV4),
#endif
@@ -164,12 +159,8 @@ struct t_url_constant url_http_version[] =
URL_DEF_CONST(_HTTP_VERSION, 2_0),
URL_DEF_CONST(_HTTP_VERSION, 2),
URL_DEF_CONST(_HTTP_VERSION, 2TLS),
#if LIBCURL_VERSION_NUM >= 0x073100 /* 7.49.0 */
URL_DEF_CONST(_HTTP_VERSION, 2_PRIOR_KNOWLEDGE),
#endif
#if LIBCURL_VERSION_NUM >= 0x074200 /* 7.66.0 */
URL_DEF_CONST(_HTTP_VERSION, 3),
#endif
{ NULL, 0 },
};
@@ -248,17 +239,13 @@ struct t_url_constant url_ssl_version[] =
URL_DEF_CONST(_SSLVERSION, TLSv1_0),
URL_DEF_CONST(_SSLVERSION, TLSv1_1),
URL_DEF_CONST(_SSLVERSION, TLSv1_2),
#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */
URL_DEF_CONST(_SSLVERSION, TLSv1_3),
#endif
#if LIBCURL_VERSION_NUM >= 0x073600 /* 7.54.0 */
URL_DEF_CONST(_SSLVERSION, MAX_DEFAULT),
URL_DEF_CONST(_SSLVERSION, MAX_NONE),
URL_DEF_CONST(_SSLVERSION, MAX_TLSv1_0),
URL_DEF_CONST(_SSLVERSION, MAX_TLSv1_1),
URL_DEF_CONST(_SSLVERSION, MAX_TLSv1_2),
URL_DEF_CONST(_SSLVERSION, MAX_TLSv1_3),
#endif
{ NULL, 0 },
};
@@ -266,15 +253,11 @@ struct t_url_constant url_ssl_options[] =
{
URL_DEF_CONST(SSLOPT, ALLOW_BEAST),
URL_DEF_CONST(SSLOPT, NO_REVOKE),
#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */
URL_DEF_CONST(SSLSET, NO_BACKENDS),
URL_DEF_CONST(SSLSET, OK),
URL_DEF_CONST(SSLSET, TOO_LATE),
URL_DEF_CONST(SSLSET, UNKNOWN_BACKEND),
#endif
#if LIBCURL_VERSION_NUM >= 0x074400 /* 7.68.0 */
URL_DEF_CONST(SSLOPT, NO_PARTIALCHAIN),
#endif
#if LIBCURL_VERSION_NUM >= 0x074600 /* 7.70.0 */
URL_DEF_CONST(SSLOPT, REVOKE_BEST_EFFORT),
#endif
@@ -305,9 +288,7 @@ struct t_url_constant url_ssh_auth[] =
URL_DEF_CONST(SSH_AUTH, DEFAULT),
URL_DEF_CONST(SSH_AUTH, ANY),
URL_DEF_CONST(SSH_AUTH, AGENT),
#if LIBCURL_VERSION_NUM >= 0x073A00 /* 7.58.0 */
URL_DEF_CONST(SSH_AUTH, GSSAPI),
#endif
{ NULL, 0 },
};
@@ -365,9 +346,7 @@ struct t_url_option url_options[] =
* error options
*/
URL_DEF_OPTION(FAILONERROR, LONG, NULL),
#if LIBCURL_VERSION_NUM >= 0x073300 /* 7.51.0 */
URL_DEF_OPTION(KEEP_SENDING_ON_ERROR, LONG, NULL),
#endif
/*
* network options
@@ -375,9 +354,7 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(PROXY, STRING, NULL),
URL_DEF_OPTION(PROXYPORT, LONG, NULL),
URL_DEF_OPTION(PORT, LONG, NULL),
#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */
URL_DEF_OPTION(PRE_PROXY, STRING, NULL),
#endif
URL_DEF_OPTION(HTTPPROXYTUNNEL, LONG, NULL),
URL_DEF_OPTION(INTERFACE, STRING, NULL),
URL_DEF_OPTION(DNS_CACHE_TIMEOUT, LONG, NULL),
@@ -399,28 +376,15 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(TCP_KEEPIDLE, LONG, NULL),
URL_DEF_OPTION(TCP_KEEPINTVL, LONG, NULL),
URL_DEF_OPTION(UNIX_SOCKET_PATH, STRING, NULL),
#if LIBCURL_VERSION_NUM >= 0x073500 /* 7.53.0 */
URL_DEF_OPTION(ABSTRACT_UNIX_SOCKET, STRING, NULL),
#endif
URL_DEF_OPTION(PATH_AS_IS, LONG, NULL),
URL_DEF_OPTION(PROXY_SERVICE_NAME, STRING, NULL),
URL_DEF_OPTION(SERVICE_NAME, STRING, NULL),
URL_DEF_OPTION(DEFAULT_PROTOCOL, STRING, NULL),
#if LIBCURL_VERSION_NUM < 0x073100 /* < 7.49.0 */
URL_DEF_OPTION(SOCKS5_GSSAPI_SERVICE, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073100 /* 7.49.0 */
URL_DEF_OPTION(TCP_FASTOPEN, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073700 /* 7.55.0 */
URL_DEF_OPTION(SOCKS5_AUTH, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073C00 /* 7.60.0 */
URL_DEF_OPTION(HAPROXYPROTOCOL, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073E00 /* 7.62.0 */
URL_DEF_OPTION(DOH_URL, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075500 /* 7.85.0 */
URL_DEF_OPTION(PROTOCOLS_STR, STRING, NULL),
#endif
@@ -444,16 +408,12 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(TLSAUTH_TYPE, MASK, url_authtype),
URL_DEF_OPTION(TLSAUTH_USERNAME, STRING, NULL),
URL_DEF_OPTION(TLSAUTH_PASSWORD, STRING, NULL),
#if LIBCURL_VERSION_NUM >= 0x074200 /* 7.66.0 */
URL_DEF_OPTION(SASL_AUTHZID, STRING, NULL),
#endif
URL_DEF_OPTION(SASL_IR, LONG, NULL),
URL_DEF_OPTION(XOAUTH2_BEARER, STRING, NULL),
URL_DEF_OPTION(LOGIN_OPTIONS, STRING, NULL),
#if LIBCURL_VERSION_NUM >= 0x073D00 /* 7.61.0 */
URL_DEF_OPTION(DISALLOW_USERNAME_IN_URL, LONG, NULL),
#endif
/*
* HTTP options
@@ -489,15 +449,8 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(PROXYHEADER, LIST, NULL),
URL_DEF_OPTION(PIPEWAIT, LONG, NULL),
URL_DEF_OPTION(STREAM_WEIGHT, LONG, NULL),
#if LIBCURL_VERSION_NUM >= 0x073700 /* 7.55.0 */
URL_DEF_OPTION(REQUEST_TARGET, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM < 0x073800 /* < 7.56.0 */
URL_DEF_OPTION(HTTPPOST, LIST, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074000 /* 7.64.0 */
URL_DEF_OPTION(HTTP09_ALLOWED, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074A00 /* 7.74.0 */
URL_DEF_OPTION(HSTS, STRING, NULL),
URL_DEF_OPTION(HSTS_CTRL, MASK, url_hsts),
@@ -520,9 +473,7 @@ struct t_url_option url_options[] =
* TFTP options
*/
URL_DEF_OPTION(TFTP_BLKSIZE, LONG, NULL),
#if LIBCURL_VERSION_NUM >= 0x073000 /* 7.48.0 */
URL_DEF_OPTION(TFTP_NO_OPTIONS, LONG, NULL),
#endif
/*
* FTP options
@@ -579,12 +530,8 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(RESUME_FROM_LARGE, LONGLONG, NULL),
URL_DEF_OPTION(INFILESIZE_LARGE, LONGLONG, NULL),
URL_DEF_OPTION(MAXFILESIZE_LARGE, LONGLONG, NULL),
#if LIBCURL_VERSION_NUM >= 0x073B00 /* 7.59.0 */
URL_DEF_OPTION(TIMEVALUE_LARGE, LONGLONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073E00 /* 7.62.0 */
URL_DEF_OPTION(UPLOAD_BUFFERSIZE, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075100 /* 7.81.0 */
URL_DEF_OPTION(MIME_OPTIONS, MASK, url_mime),
#endif
@@ -604,9 +551,7 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(MAX_RECV_SPEED_LARGE, LONGLONG, NULL),
URL_DEF_OPTION(TIMEOUT_MS, LONG, NULL),
URL_DEF_OPTION(CONNECTTIMEOUT_MS, LONG, NULL),
#if LIBCURL_VERSION_NUM >= 0x074100 /* 7.65.0 */
URL_DEF_OPTION(MAXAGE_CONN, LONG, NULL),
#endif
URL_DEF_OPTION(MAXCONNECTS, LONG, NULL),
URL_DEF_OPTION(USE_SSL, LONG, url_use_ssl),
URL_DEF_OPTION(RESOLVE, LIST, NULL),
@@ -615,18 +560,10 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(DNS_INTERFACE, STRING, NULL),
URL_DEF_OPTION(DNS_LOCAL_IP4, STRING, NULL),
URL_DEF_OPTION(DNS_LOCAL_IP6, STRING, NULL),
#if LIBCURL_VERSION_NUM >= 0x073100 /* 7.49.0 */
URL_DEF_OPTION(CONNECT_TO, LIST, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073B00 /* 7.59.0 */
URL_DEF_OPTION(HAPPY_EYEBALLS_TIMEOUT_MS, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073C00 /* 7.60.0 */
URL_DEF_OPTION(DNS_SHUFFLE_ADDRESSES, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073E00 /* 7.62.0 */
URL_DEF_OPTION(UPKEEP_INTERVAL_MS, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075000 /* 7.80.0 */
URL_DEF_OPTION(MAXLIFETIME_CONN, LONG, NULL),
#endif
@@ -653,7 +590,9 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(SSLENGINE_DEFAULT, LONG, NULL),
URL_DEF_OPTION(CAPATH, STRING, NULL),
URL_DEF_OPTION(SSL_SESSIONID_CACHE, LONG, NULL),
#if LIBCURL_VERSION_NUM < 0x081100 /* < 8.17.0 */
URL_DEF_OPTION(KRBLEVEL, STRING, NULL),
#endif
URL_DEF_OPTION(KEYPASSWD, STRING, NULL),
URL_DEF_OPTION(ISSUERCERT, STRING, NULL),
URL_DEF_OPTION(CRLFILE, STRING, NULL),
@@ -666,8 +605,9 @@ struct t_url_option url_options[] =
#endif
URL_DEF_OPTION(PINNEDPUBLICKEY, STRING, NULL),
URL_DEF_OPTION(SSL_VERIFYSTATUS, LONG, NULL),
#if LIBCURL_VERSION_NUM < 0x080F00 /* < 8.15.0 */
URL_DEF_OPTION(SSL_FALSESTART, LONG, NULL),
#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */
#endif
URL_DEF_OPTION(PROXY_CAINFO, STRING, NULL),
URL_DEF_OPTION(PROXY_CAPATH, STRING, NULL),
URL_DEF_OPTION(PROXY_CRLFILE, STRING, NULL),
@@ -685,11 +625,8 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(PROXY_TLSAUTH_PASSWORD, STRING, NULL),
URL_DEF_OPTION(PROXY_TLSAUTH_TYPE, STRING, NULL),
URL_DEF_OPTION(PROXY_TLSAUTH_USERNAME, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073D00 /* 7.61.0 */
URL_DEF_OPTION(TLS13_CIPHERS, LIST, NULL),
URL_DEF_OPTION(PROXY_TLS13_CIPHERS, LIST, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074700 /* 7.71.0 */
URL_DEF_OPTION(PROXY_ISSUERCERT, STRING, NULL),
#endif
@@ -713,9 +650,7 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(SSH_PRIVATE_KEYFILE, STRING, NULL),
URL_DEF_OPTION(SSH_HOST_PUBLIC_KEY_MD5, STRING, NULL),
URL_DEF_OPTION(SSH_KNOWNHOSTS, STRING, NULL),
#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */
URL_DEF_OPTION(SSH_COMPRESSION, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075000 /* 7.80.0 */
URL_DEF_OPTION(SSH_HOST_PUBLIC_KEY_SHA256, STRING, NULL),
#endif
@@ -1013,7 +948,7 @@ weeurl_set_proxy (CURL *curl, struct t_proxy *proxy)
/* set proxy port */
curl_easy_setopt (curl, CURLOPT_PROXYPORT,
CONFIG_INTEGER(proxy->options[PROXY_OPTION_PORT]));
(long)(CONFIG_INTEGER(proxy->options[PROXY_OPTION_PORT])));
/* set username/password */
if (CONFIG_STRING(proxy->options[PROXY_OPTION_USERNAME])
@@ -1044,31 +979,46 @@ weeurl_set_proxy (CURL *curl, struct t_proxy *proxy)
* output | stdout (set only if "file_out" was not set in options)
* error | error message (set only in case of error)
*
* If timeout is 0, the function blocks until the end of the transfer.
* If timeout (in milliseconds) is > 0, the function returns an error in the
* output hashtable if the timeout is reached while the transfer is still
* active.
*
* If stop_download is not NULL, it is checked regularly, and as soon as the
* pointed integer becomes different from 0 (set by the caller of this function),
* the download is immediately stopped with an error.
*
* Returns:
* 0: OK
* 1: invalid URL
* 2: error downloading URL
* 3: not enough memory
* 4: file error
* 5: transfer stopped by the caller
* 6: transfer timeout
*/
int
weeurl_download (const char *url, struct t_hashtable *options,
struct t_hashtable *output)
long timeout, struct t_hashtable *output,
int *stop_transfer)
{
CURL *curl;
CURLM *multi;
CURLMcode curl_mc;
struct t_url_file url_file[2];
char *url_file_option[2] = { "file_in", "file_out" };
char *url_file_mode[2] = { "rb", "wb" };
char url_error[CURL_ERROR_SIZE + 1], url_error_code[12];
char url_error[4096], url_error_code[12];
char **string_headers, **string_output;
char str_response_code[32];
CURLoption url_file_opt_func[2] = { CURLOPT_READFUNCTION, CURLOPT_WRITEFUNCTION };
CURLoption url_file_opt_data[2] = { CURLOPT_READDATA, CURLOPT_WRITEDATA };
void *url_file_opt_cb[2] = { &weeurl_read_stream, &weeurl_write_stream };
struct t_proxy *ptr_proxy;
int rc, curl_rc, i, output_to_file;
int rc, i, output_to_file, still_running;
long response_code;
struct timeval tv_now, tv_end;
rc = 0;
@@ -1167,44 +1117,120 @@ weeurl_download (const char *url, struct t_hashtable *options,
/* set error buffer */
curl_easy_setopt (curl, CURLOPT_ERRORBUFFER, url_error);
/* perform action! */
curl_rc = curl_easy_perform (curl);
if (curl_rc == CURLE_OK)
/* compute end time for transfer, according to the timeout */
if (timeout > 0)
{
if (output)
{
curl_easy_getinfo (curl, CURLINFO_RESPONSE_CODE, &response_code);
snprintf (str_response_code, sizeof (str_response_code),
"%ld", response_code);
hashtable_set (output, "response_code", str_response_code);
}
gettimeofday (&tv_end, NULL);
util_timeval_add (&tv_end, ((long long)timeout) * 1000);
}
else
{
if (output)
tv_end.tv_sec = 0;
tv_end.tv_usec = 0;
}
/* start the transfer */
multi = curl_multi_init ();
curl_multi_add_handle (multi, curl);
while (1)
{
curl_mc = curl_multi_perform (multi, &still_running);
if ((curl_mc == CURLM_OK) && still_running)
curl_mc = curl_multi_poll (multi, NULL, 0, 5, NULL);
if (curl_mc != CURLM_OK)
{
snprintf (url_error_code, sizeof (url_error_code), "%d", curl_rc);
if (!url_error[0])
if (output)
{
snprintf (url_error, sizeof (url_error),
"%s", _("transfer error"));
snprintf (url_error_code, sizeof (url_error_code), "%d", curl_mc);
if (!url_error[0])
{
snprintf (url_error, sizeof (url_error),
"%s", _("transfer error"));
}
}
else
{
/*
* URL transfer done in a forked process: display error on stderr,
* which will be sent to the hook_process callback
*/
fprintf (stderr,
_("curl error %d (%s) (URL: \"%s\")\n"),
curl_mc, url_error, url);
}
rc = 2;
break;
}
if (!still_running)
{
/* transfer OK */
if (output)
{
curl_easy_getinfo (curl, CURLINFO_RESPONSE_CODE, &response_code);
snprintf (str_response_code, sizeof (str_response_code),
"%ld", response_code);
hashtable_set (output, "response_code", str_response_code);
}
break;
}
if (stop_transfer && *stop_transfer)
{
/* transfer stopped by the caller */
if (output)
{
if (!url_error[0])
snprintf (url_error, sizeof (url_error), "transfer stopped");
}
else
{
/*
* URL transfer done in a forked process: display error on stderr,
* which will be sent to the hook_process callback
*/
fprintf (stderr,
_("transfer stopped (URL: \"%s\")\n"),
url);
}
rc = 5;
break;
}
if (tv_end.tv_sec > 0)
{
/* timeout reached? */
gettimeofday (&tv_now, NULL);
if (util_timeval_cmp (&tv_now, &tv_end) >= 0)
{
if (output)
{
if (!url_error[0])
{
snprintf (url_error, sizeof (url_error),
URL_ERROR_TIMEOUT " (%.3fs)",
((float)timeout) / 1000);
}
}
else
{
/*
* URL transfer done in a forked process: display error on stderr,
* which will be sent to the hook_process callback
*/
fprintf (stderr,
_("transfer timeout reached (%.3fs) (URL: \"%s\")\n"),
((float)timeout) / 1000, url);
}
rc = 6;
break;
}
}
else
{
/*
* URL transfer done in a forked process: display error on stderr,
* which will be sent to the hook_process callback
*/
fprintf (stderr,
_("curl error %d (%s) (URL: \"%s\")\n"),
curl_rc, url_error, url);
}
rc = 2;
}
/* cleanup */
curl_multi_remove_handle (multi, curl);
curl_easy_cleanup (curl);
curl_multi_cleanup (multi);
end:
for (i = 0; i < 2; i++)
+4 -1
View File
@@ -24,6 +24,8 @@
#include <stdio.h>
#define URL_ERROR_TIMEOUT "transfer timeout reached"
struct t_hashtable;
struct t_infolist;
@@ -61,7 +63,8 @@ extern char *url_type_string[];
extern struct t_url_option url_options[];
extern int weeurl_download (const char *url, struct t_hashtable *options,
struct t_hashtable *output);
long timeout, struct t_hashtable *output,
int *stop_transfer);
extern int weeurl_option_add_to_infolist (struct t_infolist *infolist,
struct t_url_option *option);
extern void weeurl_init (void);
+251 -72
View File
@@ -29,6 +29,7 @@
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <limits.h>
#include <sys/types.h>
#include <sys/time.h>
#ifdef HAVE_SYS_RESOURCE_H
@@ -48,6 +49,118 @@
#include "../plugins/plugin.h"
/*
* Parses an integer.
*
* If result is not NULL, *result is set with the parsed integer in case
* there is no error.
*
* Returns:
* 1: OK
* 0: error
*/
int
util_parse_int (const char *string, int base, int *result)
{
long number;
char *error;
if (!string || !string[0])
return 0;
/* base must be 0 or between 2-36 (inclusive) */
if ((base < 0) || (base == 1) || (base > 36))
return 0;
errno = 0;
error = NULL;
number = strtol (string, &error, base);
if ((errno == ERANGE) || !error || error[0] || (error == string)
|| (number < INT_MIN) || (number > INT_MAX))
return 0;
if (result)
*result = (int)number;
return 1;
}
/*
* Parses a long integer.
*
* If result is not NULL, *result is set with the parsed long integer in case
* there is no error.
*
* Returns:
* 1: OK
* 0: error
*/
int
util_parse_long (const char *string, int base, long *result)
{
long number;
char *error;
if (!string || !string[0])
return 0;
/* base must be 0 or between 2-36 (inclusive) */
if ((base < 0) || (base == 1) || (base > 36))
return 0;
errno = 0;
error = NULL;
number = strtol (string, &error, base);
if ((errno == ERANGE) || !error || error[0] || (error == string))
return 0;
if (result)
*result = number;
return 1;
}
/*
* Parses a long long integer.
*
* If result is not NULL, *result is set with the parsed long integer in case
* there is no error.
*
* Returns:
* 1: OK
* 0: error
*/
int
util_parse_longlong (const char *string, int base, long long *result)
{
long long number;
char *error;
if (!string || !string[0])
return 0;
/* base must be 0 or between 2-36 (inclusive) */
if ((base < 0) || (base == 1) || (base > 36))
return 0;
errno = 0;
error = NULL;
number = strtoll (string, &error, base);
if ((errno == ERANGE) || !error || error[0] || (error == string))
return 0;
if (result)
*result = number;
return 1;
}
/*
* Compares two timeval structures.
*
@@ -168,6 +281,8 @@ util_get_time_string (const time_t *date)
/*
* Formats date and time like strftime (but with timeval structure as input)
* and adds extra specifiers:
* - "%@": return the date expressed in Coordinated Universal Time (UTC)
* instead of date relative to the user's specified timezone
* - "%.1" to "%.6": first N digits of microseconds, zero-padded
* - "%f": alias of "%.6" (microseconds, zero-padded to 6 digits)
* - "%!": timestamp as integer, in seconds (value of tv->tv_sec)
@@ -178,14 +293,15 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
{
char **format2, str_temp[32];
const char *ptr_format;
struct tm *local_time;
int length, bytes;
struct tm *date_time;
int length, bytes, local_time;
long usec;
if (!string || (max <= 0) || !format || !tv)
return 0;
string[0] = '\0';
local_time = 1;
if (!format[0])
return 0;
@@ -208,6 +324,11 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
string_dyn_concat (format2, "%%", -1);
ptr_format += 2;
}
else if ((ptr_format[0] == '%') && (ptr_format[1] == '@'))
{
local_time = 0;
ptr_format += 2;
}
else if ((ptr_format[0] == '%') && (ptr_format[1] == '.'))
{
if ((ptr_format[2] >= '1') && (ptr_format[2] <= '6'))
@@ -244,14 +365,17 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
}
}
local_time = localtime (&(tv->tv_sec));
if (!local_time)
if (local_time)
date_time = localtime (&(tv->tv_sec));
else
date_time = gmtime (&(tv->tv_sec));
if (!date_time)
{
string_dyn_free (format2, 1);
return 0;
}
bytes = strftime (string, max, *format2, local_time);
bytes = strftime (string, max, *format2, date_time);
string_dyn_free (format2, 1);
@@ -260,24 +384,29 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
/*
* Parses a date/time string, which can be one of these formats:
* "2024-01-04" -> date at midnight
* "2024-01-04T22:01:02" -> ISO 8601, local time
* "2024-01-04T22:01:02.123" -> ISO 8601, local time, with milliseconds
* "2024-01-04T22:01:02.123456" -> ISO 8601, local time, with microseconds
* "2024-01-04T21:01:02Z" -> ISO 8601, UTC
* "2024-01-04T21:01:02.123Z" -> ISO 8601, UTC, with milliseconds
* "2024-01-04T21:01:02.123456Z" -> ISO 8601, UTC, with microseconds
* "22:01:02" -> current date, local time
* "22:01:02.123" -> current date, local time with milliseconds
* "22.01:02.123456" -> current date, local time with microseconds
* "21:01:02Z" -> current date, UTC
* "21:01:02.123Z" -> current date, UTC, with milliseconds
* "21.01:02.123456Z" -> current date, UTC, with microseconds
* "1704402062" -> timestamp date
* "1704402062.123" -> timestamp date, with milliseconds
* "1704402062,123" -> timestamp date, with milliseconds
* "1704402062.123456" -> timestamp date, with microseconds
* "1704402062,123456" -> timestamp date, with microseconds
*
* Format | Example
* -------------------------------------+----------------------------------
* Date (midnight) | 2025-08-30
* ISO 8601, date + local time | 2025-08-30T21:04:55.123456
* ISO 8601, date + local time + offset | 2025-08-30T21:04:55.123456+0200
* ISO 8601, date + UTC time | 2025-08-30T19:04:55.123456Z
* RFC 3339, date + local time | 2025-08-30 21:04:55.123456
* RFC 3339, date + local time + offset | 2025-08-30 21:04:55.123456 +02:00
* RFC 3339, date + UTC time | 2025-08-30 19:04:55.123456Z
* Local time | 21:04:55.123456
* Local time + offset | 21:04:55.123456+0200
* UTC time | 19:04:55.123456Z
* Timestamp date | 1756580695.123456
*
* Notes :
*
* - For ISO 8601, characters `T' and `Z` can be used in lower case: `t` and `z`.
* - The timezone offset format is `[+/-]hh:mm`, `[+/-]hhmm` or `[+/-]hh`.
* - Precision after seconds can be from one-tenth of second (1 digit, like
* `21:04:55.1`) to one microsecond (6 digits, like `21:04:55.123456`).
* A dot (`.`) or comma (`,`) can be used to separate seconds from the other
* digits.
*
* Returns:
* 1: OK
@@ -287,8 +416,8 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
int
util_parse_time (const char *datetime, struct timeval *tv)
{
char *string, *pos, *pos2, str_usec[16], *error;
char str_date[128], str_date2[256];
char *string, *pos, *pos2, *pos_colon, *pos_hyphen, *pos_dot;
char str_usec[16], *error, str_date[128];
struct tm tm_date, tm_date_gm, tm_date_local, *local_time;
time_t time_now, time_gm, time_local;
long long value;
@@ -306,11 +435,38 @@ util_parse_time (const char *datetime, struct timeval *tv)
timezone_offset = 0;
offset_factor = 1;
string = strdup (datetime);
if (!string)
return 0;
pos_colon = strchr (datetime, ':');
pos_hyphen = strchr (datetime, '-');
pos_dot = strchr (datetime, '.');
if (pos_colon && !pos_hyphen)
{
/* add current date: "19:04:55" -> "2025-08-30T19:04:55" */
time_now = time (NULL);
local_time = localtime (&time_now);
strftime (str_date, sizeof (str_date), "%Y-%m-%dT", local_time);
length = strlen (str_date) + strlen (datetime) + 1;
string = malloc (length);
if (!string)
return 0;
snprintf (string, length, "%s%s", str_date, datetime);
}
else if (!pos_colon && pos_hyphen && (!pos_dot || (pos_hyphen < pos_dot)))
{
/* add time (midnight): "2025-08-30" -> "2025-08-30T00:00:00" */
length = strlen (datetime) + 9 + 1;
string = malloc (length);
if (!string)
return 0;
snprintf (string, length, "%sT00:00:00", datetime);
}
else
{
string = strdup (datetime);
if (!string)
return 0;
}
/* extract microseconds and remove them from string2 */
/* extract microseconds and remove them from string */
pos = strchr (string, '.');
if (!pos)
pos = strchr (string, ',');
@@ -336,6 +492,10 @@ util_parse_time (const char *datetime, struct timeval *tv)
value = strtoll (str_usec, &error, 10);
if (error && !error[0])
{
/*
* just in case: this should not happen as minus is not
* supported and we truncate at 6 digits
*/
if (value < 0)
value = 0;
else if (value > 999999)
@@ -346,8 +506,10 @@ util_parse_time (const char *datetime, struct timeval *tv)
memmove (pos, pos2, strlen (pos2) + 1);
}
/* extract timezone and remove it from string2 */
pos = strchr (string, 'Z');
/* extract timezone and remove it from string */
pos = strrchr (string, 'Z');
if (!pos)
pos = strrchr (string, 'z');
if (pos)
{
pos[0] = '\0';
@@ -357,9 +519,13 @@ util_parse_time (const char *datetime, struct timeval *tv)
else
{
pos = strchr (string, 'T');
if (!pos)
pos = strchr (string, 't');
if (!pos)
pos = strchr (string, ' ');
if (pos)
{
pos2 = strchr (pos, '+');
pos2 = strrchr (pos, '+');
if (pos2)
{
pos2[0] = '\0';
@@ -368,7 +534,7 @@ util_parse_time (const char *datetime, struct timeval *tv)
}
else
{
pos2 = strchr (pos, '-');
pos2 = strrchr (pos, '-');
if (pos2)
{
pos2[0] = '\0';
@@ -399,11 +565,11 @@ util_parse_time (const char *datetime, struct timeval *tv)
}
}
if (strchr (string, '-'))
if (strchr (string, '-') && strchr (string, ':'))
{
if (strchr (string, ':'))
if (strchr (string, 'T'))
{
/* ISO 8601 format like: "2024-01-04T21:01:02.123Z" */
/* ISO 8601 format like: "2025-08-30T19:04:55" */
/* initialize structure, because strptime does not do it */
memset (&tm_date, 0, sizeof (struct tm));
pos = strptime (string, "%Y-%m-%dT%H:%M:%S", &tm_date);
@@ -411,6 +577,7 @@ util_parse_time (const char *datetime, struct timeval *tv)
{
if (use_local_time)
{
tm_date.tm_isdst = -1;
tv->tv_sec = mktime (&tm_date);
}
else
@@ -423,56 +590,68 @@ util_parse_time (const char *datetime, struct timeval *tv)
time_local = mktime (&tm_date_local);
tv->tv_sec = mktime (&tm_date_local)
+ (time_local - time_gm)
+ timezone_offset;
- timezone_offset;
}
rc = 1;
}
}
else if (strchr (string, 't'))
{
/* ISO 8601 format like: "2025-08-30t19:04:55" */
/* initialize structure, because strptime does not do it */
memset (&tm_date, 0, sizeof (struct tm));
pos = strptime (string, "%Y-%m-%dt%H:%M:%S", &tm_date);
if (pos && (tm_date.tm_year > 0))
{
if (use_local_time)
{
tm_date.tm_isdst = -1;
tv->tv_sec = mktime (&tm_date);
}
else
{
/* convert to UTC and add timezone_offset */
time_now = mktime (&tm_date);
gmtime_r (&time_now, &tm_date_gm);
localtime_r (&time_now, &tm_date_local);
time_gm = mktime (&tm_date_gm);
time_local = mktime (&tm_date_local);
tv->tv_sec = mktime (&tm_date_local)
+ (time_local - time_gm)
- timezone_offset;
}
rc = 1;
}
}
else
{
/* ISO 8601 format like: "2024-01-04" */
/* like ISO 8601 but with space like: "2025-08-30 19:04:55" */
/* initialize structure, because strptime does not do it */
memset (&tm_date, 0, sizeof (struct tm));
pos = strptime (string, "%Y-%m-%d", &tm_date);
pos = strptime (string, "%Y-%m-%d %H:%M:%S", &tm_date);
if (pos && (tm_date.tm_year > 0))
{
tv->tv_sec = mktime (&tm_date);
if (use_local_time)
{
tm_date.tm_isdst = -1;
tv->tv_sec = mktime (&tm_date);
}
else
{
/* convert to UTC and add timezone_offset */
time_now = mktime (&tm_date);
gmtime_r (&time_now, &tm_date_gm);
localtime_r (&time_now, &tm_date_local);
time_gm = mktime (&tm_date_gm);
time_local = mktime (&tm_date_local);
tv->tv_sec = mktime (&tm_date_local)
+ (time_local - time_gm)
- timezone_offset;
}
rc = 1;
}
}
}
else if (strchr (string, ':'))
{
/* hour format like: "21:01:02" */
time_now = time (NULL);
local_time = localtime (&time_now);
strftime (str_date, sizeof (str_date),
"%Y-%m-%dT", local_time);
snprintf (str_date2, sizeof (str_date2), "%s%s", str_date, string);
/* initialize structure, because strptime does not do it */
memset (&tm_date, 0, sizeof (struct tm));
pos = strptime (str_date2, "%Y-%m-%dT%H:%M:%S", &tm_date);
if (pos)
{
if (use_local_time)
{
tv->tv_sec = mktime (&tm_date);
}
else
{
/* convert to UTC and add timezone_offset */
time_now = mktime (&tm_date);
gmtime_r (&time_now, &tm_date_gm);
localtime_r (&time_now, &tm_date_local);
time_gm = mktime (&tm_date_gm);
time_local = mktime (&tm_date_local);
tv->tv_sec = mktime (&tm_date_local)
+ (time_local - time_gm)
+ timezone_offset;
}
rc = 1;
}
}
else
{
/* timestamp format: "1704402062" */
+5
View File
@@ -25,6 +25,11 @@
#include <time.h>
#include <sys/time.h>
/* parse numbers */
extern int util_parse_int (const char *string, int base, int *result);
extern int util_parse_long (const char *string, int base, long *result);
extern int util_parse_longlong (const char *string, int base, long long *result);
/* timeval */
extern int util_timeval_cmp (struct timeval *tv1, struct timeval *tv2);
extern long long util_timeval_diff (struct timeval *tv1, struct timeval *tv2);
+25
View File
@@ -30,6 +30,7 @@
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
@@ -203,6 +204,30 @@ hook_command_run_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for command_run hook.
*/
struct t_hdata *
hook_command_run_hdata_hook_command_run_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_command_run, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command_run, command, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command_run, keep_spaces_right, INTEGER, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds command_run hook data in the infolist item.
*
+3
View File
@@ -51,6 +51,9 @@ extern struct t_hook *hook_command_run (struct t_weechat_plugin *plugin,
extern int hook_command_run_exec (struct t_gui_buffer *buffer,
const char *command);
extern void hook_command_run_free_data (struct t_hook *hook);
extern struct t_hdata *hook_command_run_hdata_hook_command_run_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_command_run_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_command_run_print_log (struct t_hook *hook);
+37 -1
View File
@@ -29,9 +29,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-arraylist.h"
#include "../core-config.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-list.h"
#include "../core-log.h"
@@ -1047,6 +1048,41 @@ hook_command_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for command hook.
*/
struct t_hdata *
hook_command_hdata_hook_command_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_command, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command, command, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command, description, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command, args, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command, args_description, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command, completion, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command, cplt_num_templates, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command, cplt_templates, POINTER, 0, "*,cplt_num_templates", NULL);
HDATA_VAR(struct t_hook_command, cplt_templates_static, POINTER, 0, "*,cplt_num_templates", NULL);
HDATA_VAR(struct t_hook_command, cplt_template_num_args, INTEGER, 0, "*,cplt_num_templates", NULL);
HDATA_VAR(struct t_hook_command, cplt_template_args, POINTER, 0, "*,cplt_num_templates", NULL);
HDATA_VAR(struct t_hook_command, cplt_template_num_args_concat, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_command, cplt_template_args_concat, POINTER, 0, "*,cplt_template_num_args_concat", NULL);
HDATA_VAR(struct t_hook_command, keep_spaces_right, INTEGER, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds command hook data in the infolist item.
*
+3
View File
@@ -98,6 +98,9 @@ extern int hook_command_exec (struct t_gui_buffer *buffer, int any_plugin,
const char *string);
extern void hook_command_display_error_unknown (const char *command);
extern void hook_command_free_data (struct t_hook *hook);
extern struct t_hdata *hook_command_hdata_hook_command_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_command_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_command_print_log (struct t_hook *hook);
+26
View File
@@ -30,10 +30,12 @@
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../../gui/gui-completion.h"
#include "../../plugins/plugin.h"
/*
@@ -180,6 +182,30 @@ hook_completion_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for completion hook.
*/
struct t_hdata *
hook_completion_hdata_hook_completion_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_completion, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_completion, completion_item, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_completion, description, STRING, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds completion hook data in the infolist item.
*
+3
View File
@@ -53,6 +53,9 @@ extern void hook_completion_exec (struct t_weechat_plugin *plugin,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion);
extern void hook_completion_free_data (struct t_hook *hook);
extern struct t_hdata *hook_completion_hdata_hook_completion_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_completion_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_completion_print_log (struct t_hook *hook);
+25
View File
@@ -30,9 +30,11 @@
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../../plugins/plugin.h"
/*
@@ -149,6 +151,29 @@ hook_config_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for config hook.
*/
struct t_hdata *
hook_config_hdata_hook_config_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_config, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_config, option, STRING, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds config hook data in the infolist item.
*
+3
View File
@@ -45,6 +45,9 @@ extern struct t_hook *hook_config (struct t_weechat_plugin *plugin,
void *callback_data);
extern void hook_config_exec (const char *option, const char *value);
extern void hook_config_free_data (struct t_hook *hook);
extern struct t_hdata *hook_config_hdata_hook_config_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_config_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_config_print_log (struct t_hook *hook);
+47
View File
@@ -34,6 +34,7 @@
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-network.h"
@@ -312,6 +313,52 @@ hook_connect_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for connect hook.
*/
struct t_hdata *
hook_connect_hdata_hook_connect_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_connect, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, proxy, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, address, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, port, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, ipv6, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, sock, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, retry, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, gnutls_sess, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, gnutls_cb, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, gnutls_dhkey_size, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, gnutls_priorities, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, local_hostname, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, child_read, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, child_write, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, child_recv, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, child_send, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, child_pid, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, hook_child_timer, POINTER, 0, NULL, "hook");
HDATA_VAR(struct t_hook_connect, hook_fd, POINTER, 0, NULL, "hook");
HDATA_VAR(struct t_hook_connect, handshake_hook_fd, POINTER, 0, NULL, "hook");
HDATA_VAR(struct t_hook_connect, handshake_hook_timer, POINTER, 0, NULL, "hook");
HDATA_VAR(struct t_hook_connect, handshake_fd_flags, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, handshake_ip_address, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_connect, sock_v4, INTEGER, 0, TO_STR(HOOK_CONNECT_MAX_SOCKETS), NULL);
HDATA_VAR(struct t_hook_connect, sock_v6, INTEGER, 0, TO_STR(HOOK_CONNECT_MAX_SOCKETS), NULL);
}
return hdata;
}
/*
* Adds connect hook data in the infolist item.
*
+3
View File
@@ -94,6 +94,9 @@ extern int hook_connect_gnutls_set_certificates (gnutls_session_t tls_session,
int pk_algos_len,
gnutls_retr2_st *answer);
extern void hook_connect_free_data (struct t_hook *hook);
extern struct t_hdata *hook_connect_hdata_hook_connect_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_connect_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_connect_print_log (struct t_hook *hook);
+26
View File
@@ -33,9 +33,11 @@
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../../gui/gui-chat.h"
#include "../../plugins/plugin.h"
struct pollfd *hook_fd_pollfd = NULL; /* file descriptors for poll() */
@@ -311,6 +313,30 @@ hook_fd_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for fd hook.
*/
struct t_hdata *
hook_fd_hdata_hook_fd_cb (const void *pointer, void *data, const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_fd, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_fd, fd, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_fd, flags, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_fd, error, INTEGER, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds fd hook data in the infolist item.
*
+3
View File
@@ -54,6 +54,9 @@ extern struct t_hook *hook_fd (struct t_weechat_plugin *plugin, int fd,
void *callback_data);
extern void hook_fd_exec (void);
extern void hook_fd_free_data (struct t_hook *hook);
extern struct t_hdata *hook_fd_hdata_hook_fd_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_fd_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_fd_print_log (struct t_hook *hook);
+25 -1
View File
@@ -29,8 +29,9 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hashtable.h"
#include "../core-hook.h"
#include "../core-hashtable.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
@@ -294,6 +295,29 @@ hook_focus_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for focus hook.
*/
struct t_hdata *
hook_focus_hdata_hook_focus_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_focus, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_focus, area, STRING, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds focus hook data in the infolist item.
*
+3
View File
@@ -47,6 +47,9 @@ extern struct t_hook *hook_focus (struct t_weechat_plugin *plugin,
extern struct t_hashtable *hook_focus_get_data (struct t_hashtable *hashtable_focus1,
struct t_hashtable *hashtable_focus2);
extern void hook_focus_free_data (struct t_hook *hook);
extern struct t_hdata *hook_focus_hdata_hook_focus_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_focus_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_focus_print_log (struct t_hook *hook);
+26 -1
View File
@@ -29,12 +29,13 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hashtable.h"
#include "../core-hdata.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../../plugins/plugin.h"
/*
@@ -176,6 +177,30 @@ hook_hdata_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for hdata hook.
*/
struct t_hdata *
hook_hdata_hdata_hook_hdata_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_hdata, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_hdata, hdata_name, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_hdata, description, STRING, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds hdata hook data in the infolist item.
*
+3
View File
@@ -48,6 +48,9 @@ extern struct t_hook *hook_hdata (struct t_weechat_plugin *plugin,
extern struct t_hdata *hook_hdata_get (struct t_weechat_plugin *plugin,
const char *hdata_name);
extern void hook_hdata_free_data (struct t_hook *hook);
extern struct t_hdata *hook_hdata_hdata_hook_hdata_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_hdata_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_hdata_print_log (struct t_hook *hook);
+25
View File
@@ -30,6 +30,7 @@
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
@@ -204,6 +205,30 @@ hook_hsignal_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for hsignal hook.
*/
struct t_hdata *
hook_hsignal_hdata_hook_hsignal_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_hsignal, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_hsignal, signals, STRING, 0, "*,num_signals", NULL);
HDATA_VAR(struct t_hook_hsignal, num_signals, INTEGER, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds hsignal hook data in the infolist item.
*
+3
View File
@@ -49,6 +49,9 @@ extern struct t_hook *hook_hsignal (struct t_weechat_plugin *plugin,
extern int hook_hsignal_send (const char *signal,
struct t_hashtable *hashtable);
extern void hook_hsignal_free_data (struct t_hook *hook);
extern struct t_hdata *hook_hsignal_hdata_hook_hsignal_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_hsignal_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_hsignal_print_log (struct t_hook *hook);
+29
View File
@@ -30,9 +30,11 @@
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../../plugins/plugin.h"
/*
@@ -184,6 +186,33 @@ hook_info_hashtable_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for info_hashtable hook.
*/
struct t_hdata *
hook_info_hashtable_hdata_hook_info_hashtable_cb (const void *pointer,
void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_info_hashtable, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_info_hashtable, info_name, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_info_hashtable, description, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_info_hashtable, args_description, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_info_hashtable, output_description, STRING, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds info_hashtable hook data in the infolist item.
*
+3
View File
@@ -54,6 +54,9 @@ extern struct t_hashtable *hook_info_get_hashtable (struct t_weechat_plugin *plu
const char *info_name,
struct t_hashtable *hashtable);
extern void hook_info_hashtable_free_data (struct t_hook *hook);
extern struct t_hdata *hook_info_hashtable_hdata_hook_info_hashtable_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_info_hashtable_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_info_hashtable_print_log (struct t_hook *hook);
+27
View File
@@ -30,9 +30,11 @@
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../../plugins/plugin.h"
/*
@@ -178,6 +180,31 @@ hook_info_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for info hook.
*/
struct t_hdata *
hook_info_hdata_hook_info_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_info, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_info, info_name, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_info, description, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_info, args_description, STRING, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds info hook data in the infolist item.
*
+3
View File
@@ -51,6 +51,9 @@ extern char *hook_info_get (struct t_weechat_plugin *plugin,
const char *info_name,
const char *arguments);
extern void hook_info_free_data (struct t_hook *hook);
extern struct t_hdata *hook_info_hdata_hook_info_cb (const void *pointer,
void *data,
const char *hdata_name);
extern int hook_info_add_to_infolist (struct t_infolist_item *item,
struct t_hook *hook);
extern void hook_info_print_log (struct t_hook *hook);
+28
View File
@@ -30,9 +30,11 @@
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-hdata.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../../plugins/plugin.h"
/*
@@ -185,6 +187,32 @@ hook_infolist_free_data (struct t_hook *hook)
hook->hook_data = NULL;
}
/*
* Returns hdata for infolist hook.
*/
struct t_hdata *
hook_infolist_hdata_hook_infolist_cb (const void *pointer, void *data,
const char *hdata_name)
{
struct t_hdata *hdata;
/* make C compiler happy */
(void) pointer;
(void) data;
hdata = hdata_new (NULL, hdata_name, NULL, NULL, 0, 0, NULL, NULL);
if (hdata)
{
HDATA_VAR(struct t_hook_infolist, callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_hook_infolist, infolist_name, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_infolist, description, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_infolist, pointer_description, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_hook_infolist, args_description, STRING, 0, NULL, NULL);
}
return hdata;
}
/*
* Adds infolist hook data in the infolist item.
*

Some files were not shown because too many files have changed in this diff Show More