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

Compare commits

..

32 Commits

Author SHA1 Message Date
aizu-m 12c4170fbf core: fix buffer overflow in function network_pass_socks5proxy (#2325)
bound the configured proxy username and password before they are copied into the fixed stack buffer in network_pass_socks5proxy, otherwise a login longer than the buffer (a long password or token) overruns it while building the SOCKS5 auth request.
2026-06-12 13:03:20 +02:00
Sébastien Helleu e9138c5d55 core: add CVE IDs in ChangeLog 2026-06-09 22:12:25 +02:00
Sébastien Helleu eb8c8641ea Version 4.9.3-dev 2026-06-07 09:28:03 +02:00
Sébastien Helleu bd6455d07f Version 4.9.2 2026-06-07 09:25:09 +02:00
Sébastien Helleu 8d3180fa78 tests: increase buffer size for injection of fake IRC message 2026-06-07 08:48:47 +02:00
aizu-m 519ab4e7bb relay: fix out-of-bounds read in relay_http_print_log_request (#2324) 2026-06-06 11:20:05 +02:00
Sébastien Helleu 3c36fd7412 relay: limit size of partial message received while reading an HTTP request to prevent memory exhaustion
A relay client could send data with no end-of-line (an unterminated method
or header line) and dribble its payload, making WeeChat accumulate it in the
partial message buffer that grew without limit, until all memory was
exhausted. This path is reachable before authentication during websocket
initialization with the "weechat" and "irc" protocols.

The accumulated partial message is now bounded by
RELAY_HTTP_PARTIAL_MESSAGE_MAX_LENGTH: once the limit is reached, the extra
data is ignored.
2026-06-06 09:38:55 +02:00
Sébastien Helleu b62c97dbe3 core: add links to issues in ChangeLog (#2321, #2322) 2026-06-06 07:25:19 +02:00
aizu-m f91f92b48f xfer: fix out-of-bounds read in xfer_chat_recv_cb on empty line (#2323) 2026-06-06 07:21:55 +02:00
aizu-m 30529057c8 irc: fix out-of-bounds read in DCC command with quoted filename 2026-06-04 23:20:59 +02:00
Sébastien Helleu a69f356182 tests: add tests on function xfer_file_find_filename 2026-06-04 23:20:26 +02:00
aizu-m 1438255a87 xfer: replace directory separator in remote nick by underscore in download filename 2026-06-04 23:20:08 +02:00
Sébastien Helleu d15ce789a0 api: fix infinite loop in function string_replace when the search string is empty 2026-06-03 21:17:32 +02:00
Sébastien Helleu 377b6da43d relay: limit size of received websocket frame and HTTP body to prevent memory exhaustion
A relay client could announce a huge websocket frame (or HTTP body via
"Content-Length") and dribble its payload, making WeeChat accumulate it
in a buffer that grew without limit, until all memory was exhausted. The
websocket frame path is reachable before authentication with the
"weechat" and "irc" protocols.

The announced websocket frame length and HTTP "Content-Length" are now
bounded by WEBSOCKET_FRAME_MAX_LENGTH and RELAY_HTTP_BODY_MAX_LENGTH: an
oversized websocket frame closes the connection, and an oversized body is
rejected.
2026-06-01 22:09:27 +02:00
Sébastien Helleu 8b1b06a407 irc: limit size of data received from the server to prevent memory exhaustion
A malicious or compromised IRC server could send data with no end-of-line
(or a flood of "005" messages), making WeeChat accumulate it in a buffer
that grew without limit, until all memory was exhausted.

The unterminated received message and the accumulated "005" (ISUPPORT)
data are now bounded by IRC_SERVER_RECV_MSG_MAX_LENGTH and
IRC_SERVER_ISUPPORT_MAX_LENGTH: extra data is ignored once the limit is
reached.
2026-06-01 22:08:39 +02:00
Sébastien Helleu c09c1bf2fc ci: enable ruby 3.3 module on Rocky Linux 9 2026-05-31 15:19:37 +02:00
Sébastien Helleu c83afb9a06 ci: install dnf-plugins-core on Rocky Linux 9 for dnf config-manager 2026-05-31 15:18:42 +02:00
Sébastien Helleu ed9535a43f Version 4.9.2-dev 2026-05-31 13:50:17 +02:00
Sébastien Helleu 2148829ebe Version 4.9.1 2026-05-31 13:46:04 +02:00
Sébastien Helleu 1ca2a00255 core: fix timing attack on TOTP validation (GHSA-vhv8-g2r9-cwcc)
weecrypto_totp_validate compared the generated and client-supplied OTPs
with strcmp and broke out of the time-window loop on the first match.
Both choices leaked information via response timing: strcmp leaked the
expected OTP digit-by-digit (shrinking the brute-force search from
~10^digits to a handful of guesses within the 30-second window), and
the early break leaked which window offset matched.

Compare in constant time with string_memcmp_constant_time and always
iterate the full window, OR-ing the result into otp_ok without an
early exit.

This affects both relay protocols (which call totp_validate via the
public info hook) and any other caller of the info hook.
2026-05-31 09:14:24 +02:00
Sébastien Helleu c737373d17 relay/irc: fix timing attack on PASS command (GHSA-vhv8-g2r9-cwcc)
The IRC relay protocol's PASS handler compared the server password with
the client-supplied value using strcmp, leaking the password byte-by-byte
via response timing. This is the same class of bug fixed for the api and
weechat protocols, on a separate code path that did not go through
relay_auth_check_password_plain.

Extract the HMAC-then-constant-time-compare logic from
relay_auth_check_password_plain into relay_auth_password_equals, then
use it in both the plain-auth wrapper and the IRC PASS handler.
2026-05-31 09:12:09 +02:00
Sébastien Helleu 30230498b2 relay: fix timing attack on password authentication (GHSA-vhv8-g2r9-cwcc)
The relay authentication used non-constant-time comparisons (strcasecmp,
strcmp) to verify password hashes and plaintext passwords, allowing an
attacker to derive the expected hash byte-by-byte from response timing
and then authenticate without knowing the password.

- SHA/PBKDF2 hex hash comparisons: normalize the client-supplied hash to
  uppercase and compare in constant time over the fixed expected length.
- Plaintext password comparison: HMAC-SHA256 both passwords with a fresh
  per-call random key and compare the fixed-size MACs in constant time,
  hiding both per-byte timing and the password length.

Add string_memcmp_constant_time helper in core, exposed via the plugin
API. Bump WEECHAT_PLUGIN_API_VERSION accordingly.
2026-05-31 09:11:53 +02:00
Sébastien Helleu 35699ea802 relay: limit size of decompressed websocket frame to prevent memory exhaustion (GHSA-v2v4-45wm-5cr3)
An authenticated relay client using the permessage-deflate websocket
extension could send a small compressed frame that decompresses to an
unbounded amount of data, exhausting all memory and crashing WeeChat.

The output buffer in relay_websocket_inflate is now capped to
WEBSOCKET_INFLATE_MAX_SIZE: frames decompressing beyond this limit are
rejected and the connection is closed.
2026-05-31 09:07:23 +02:00
Sébastien Helleu 5e4c165dad ci: bump poexam to version 0.0.10 2026-05-31 08:32:59 +02:00
Sébastien Helleu 23fb6bfe88 core: fix option weechat.look.color_real_white not applied when color is "white" on 16+ colors terminals (issue #1742) 2026-05-23 13:41:40 +02:00
Sébastien Helleu ec03437f9e irc: fix tag in message with list of names when joining a channel
The message with list of nicks on the channel has now tag irc_353 instead of
irc_366.
2026-05-23 13:22:33 +02:00
Sébastien Helleu 564ad2d5cd core: set max curl version to 8.21.0 for symbol CURLAUTH_DIGEST_IE 2026-05-23 13:20:58 +02:00
Sébastien Helleu f935aa3f9f ci: bump Lua from 5.3 to 5.4 2026-05-23 13:20:44 +02:00
Sébastien Helleu 76a7d5d3bd debian: bump Lua from 5.3 to 5.4 2026-05-23 13:20:43 +02:00
Luc Schrijvers f0f77e1bd9 Build fix for Haiku 2026-05-23 13:19:08 +02:00
LuK1337 8c0a3b4d81 cmake: enable position independent code (PIE)
Fixes the following build error when compiling Fedora 45 RPM:

/usr/bin/ld.bfd: tests/unit/CMakeFiles/tests.dir/tests.cpp.o: relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

See: https://cmake.org/cmake/help/latest/prop_tgt/POSITION_INDEPENDENT_CODE.html
     https://cmake.org/cmake/help/latest/policy/CMP0083.html
2026-05-23 12:40:20 +02:00
Sébastien Helleu a4a06f255a Version 4.9.1-dev 2026-05-23 12:40:02 +02:00
82 changed files with 1372 additions and 2166 deletions
+3 -49
View File
@@ -51,7 +51,7 @@ env:
ruby-pygments.rb
tcl8.6-dev
zlib1g-dev
WEECHAT_DEPS_REDHAT: >-
WEECHAT_DEPS_ROCKYLINUX: >-
asciidoctor
aspell-devel
cjson-devel
@@ -131,7 +131,7 @@ jobs:
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.CHECK_DEPS_UBUNTU }}
pipx install msgcheck ruff
cargo install --version 0.0.11 poexam
cargo install --version 0.0.10 poexam
- name: Check gettext files (msgcheck)
run: msgcheck po/*.po
@@ -253,52 +253,6 @@ jobs:
lcov --list coverage.info
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
install_fedora:
strategy:
matrix:
os:
- ubuntu-24.04
config:
- name: "gcc"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON -DENABLE_CODE_COVERAGE=ON -DENABLE_FUZZ=ON"
name: "install (fedora:43, ${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
container:
image: fedora:43
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: dnf install -y ${{ env.WEECHAT_DEPS_REDHAT }}
- name: Build and run tests
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
run: ./tools/build_test.sh ${{ matrix.config.buildargs }}
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
install_rockylinux:
strategy:
@@ -330,7 +284,7 @@ jobs:
dnf config-manager --set-enabled crb
# pin a working ruby stream (ruby:4.0 has broken module metadata on Rocky 9.8)
dnf module enable -y ruby:3.3
dnf install -y ${{ env.WEECHAT_DEPS_REDHAT }}
dnf install -y ${{ env.WEECHAT_DEPS_ROCKYLINUX }}
- name: Build and run tests
env:
-1
View File
@@ -573,7 +573,6 @@ users
usr
util
valer
valgrind
verbose
verify
versiongit
+3 -2
View File
@@ -7,14 +7,15 @@ select = [
"checks",
]
ignore = [
"acronyms",
"brackets",
"double-quotes",
"double-words",
"functions",
"header",
"html-tags",
"paths",
"punc-space-str",
"unchanged",
"unicode-ctrl",
"urls",
]
path_words = "."
+1 -27
View File
@@ -6,37 +6,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
# WeeChat ChangeLog
## Version 4.10.0 (under dev)
### Changed
- core: add condition on connected relay api clients in default value of option weechat.look.hotlist_add_conditions
- core: add `/mute` in default command for key `Alt`+`=` (toggle filters)
- relay/api: add field "last_read_line_id" in GET /api/buffers
### Added
- relay/api: add resource `GET /api/scripts`
- relay: add option relay.network.unix_socket_permissions ([#2317](https://github.com/weechat/weechat/issues/2317))
- script: add info "script_languages"
## Version 4.9.3 (under dev)
### Fixed
- core: fix option weechat.look.color_real_white not applied when color is "white" on 16+ colors terminals ([#1742](https://github.com/weechat/weechat/issues/1742))
- core: fix buffer overflow in connection to SOCKS5 proxy ([#2325](https://github.com/weechat/weechat/issues/2325))
- api: fix infinite loop in function string_replace when the search string is empty
- irc: fix tag in message with list of names when joining a channel
- fset: remove error displayed in core buffer when clicking with the mouse below the last option displayed
- irc: limit size of data received from the server to prevent memory exhaustion
- irc: fix out-of-bounds read on incoming DCC command with a quoted filename ending the message ([#2322](https://github.com/weechat/weechat/issues/2322))
- relay: limit size of decompressed websocket frame with permessage-deflate to prevent memory exhaustion ([GHSA-v2v4-45wm-5cr3](https://github.com/weechat/weechat/security/advisories/GHSA-v2v4-45wm-5cr3), [CVE-2026-53524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-53524))
- relay: limit size of received websocket frame and HTTP body to prevent memory exhaustion
- relay: limit size of partial message received while reading an HTTP request to prevent memory exhaustion
- relay: fix timing attack on password authentication ([GHSA-vhv8-g2r9-cwcc](https://github.com/weechat/weechat/security/advisories/GHSA-vhv8-g2r9-cwcc), [CVE-2026-53525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-53525))
- relay: fix out-of-bounds read in dump of data ([#2324](https://github.com/weechat/weechat/issues/2324))
- api, relay: fix timing attack on TOTP validation ([GHSA-vhv8-g2r9-cwcc](https://github.com/weechat/weechat/security/advisories/GHSA-vhv8-g2r9-cwcc), [CVE-2026-53525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-53525))
- xfer: replace directory separator in remote nick by underscore in download filename to prevent writing the file outside the download directory ([#2321](https://github.com/weechat/weechat/issues/2321))
- xfer: fix out-of-bounds read when receiving empty line in DCC chat ([#2323](https://github.com/weechat/weechat/issues/2323))
## Version 4.9.2 (2026-06-07)
+1 -1
View File
@@ -246,7 +246,7 @@ list(APPEND EXTRA_LIBS ${ZLIB_LIBRARY})
# Check for zstd
if(ENABLE_ZSTD)
pkg_check_modules(LIBZSTD REQUIRED libzstd>=1.4.0)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
include_directories(${LIBZSTD_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBZSTD_LDFLAGS})
add_definitions(-DHAVE_ZSTD)
+2 -1
View File
@@ -19,7 +19,8 @@ First, some basic things:
### Security reports
Please **DO NOT** file a GitHub issue for security related problems; see [SECURITY.md](SECURITY.md) instead.
Please **DO NOT** file a GitHub issue for security related problems, but send an
email to [security@weechat.org](mailto:security@weechat.org) instead.
### Required info
+4 -4
View File
@@ -27,11 +27,11 @@ Homepage: [https://weechat.org/](https://weechat.org/)
## Features
- **Modular chat client**: WeeChat has a lightweight core and optional [plugins](https://weechat.org/doc/weechat/user/#plugins). All plugins (including [IRC](https://weechat.org/doc/weechat/user/#irc)) are independent and can be unloaded.
- **Multi-platform**: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (WSL and Cygwin).
- **Multi-protocol**: WeeChat is designed to support multiple protocols via plugins, like IRC.
- **Multi-platform**: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
- **Multi-protocols**: WeeChat is designed to support multiple protocols by plugins, like IRC.
- **Standards-compliant**: the IRC plugin is compliant with RFCs [1459](https://datatracker.ietf.org/doc/html/rfc1459), [2810](https://datatracker.ietf.org/doc/html/rfc2810), [2811](https://datatracker.ietf.org/doc/html/rfc2811), [2812](https://datatracker.ietf.org/doc/html/rfc2812), [2813](https://datatracker.ietf.org/doc/html/rfc2813) and [7194](https://datatracker.ietf.org/doc/html/rfc7194).
- **Small, fast, and very light**: the core is and should stay as light and fast as possible.
- **Customizable and extensible**: there are a lot of options to customize WeeChat, and it is extensible with C plugins and [scripts](https://weechat.org/scripts/) ([Perl](https://weechat.org/scripts/language/perl/), [Python](https://weechat.org/scripts/language/python/), [Ruby](https://weechat.org/scripts/language/ruby/), [Lua](https://weechat.org/scripts/language/lua/), [Tcl](https://weechat.org/scripts/language/tcl/), [Scheme](https://weechat.org/scripts/language/guile/), [JavaScript](https://weechat.org/scripts/language/javascript/) and [PHP](https://weechat.org/scripts/language/php/)).
- **Customizable and extensible**: there are a lot of options to customize WeeChat, and it is extensible with C plugins and [scripts](https://weechat.org/scripts/) ([Perl](https://weechat.org/scripts/language/perl/), [Python](https://weechat.org/scripts/language/python/), [Ruby](https://weechat.org/scripts/language/ruby), [Lua](https://weechat.org/scripts/language/lua/), [Tcl](https://weechat.org/scripts/language/tcl/), [Scheme](https://weechat.org/scripts/language/guile/), [JavaScript](https://weechat.org/scripts/language/javascript/) and [PHP](https://weechat.org/scripts/language/php/)).
- **Fully documented**: there is comprehensive [documentation](https://weechat.org/doc/weechat/), which is [translated](https://weechat.org/doc/weechat/dev/#translations) into several languages.
- **Developed from scratch**: WeeChat was built from scratch and is not based on any other client.
- **Free software**: WeeChat is released under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html).
@@ -49,7 +49,7 @@ For detailed instructions, please check the [WeeChat user's guide](https://weech
## Semantic versioning
WeeChat follows "practical" semantic versioning; see [CONTRIBUTING.md](CONTRIBUTING.md#semantic-versioning).
WeeChat is following a "practical" semantic versioning, see file [CONTRIBUTING.md](CONTRIBUTING.md#semantic-versioning).
## Copyright
-26
View File
@@ -1,26 +0,0 @@
<!--
SPDX-FileCopyrightText: 2026 Sébastien Helleu <flashcode@flashtux.org>
SPDX-License-Identifier: GPL-3.0-or-later
-->
# Security Policy
## Supported versions
Only the latest stable version of WeeChat is supported.
| Version | Supported | Notes |
| -------------- | ------------------ | --------------------------------------------------- |
| Latest stable | :white_check_mark: | Fully supported. |
| Older releases | :x: | Not supported. Contact us in case of specific need. |
However, we may help to backport fixes on older versions, especially when they are used in released distributions with no way to upgrade to the latest stable release (please contact us).
## Reporting a vulnerability
Please report security issues using <https://github.com/weechat/weechat/security/advisories/new>.
Alternatively, if you are not able to use this form, you can send an email to [security@weechat.org](mailto:security@weechat.org) instead.
We will investigate all legitimate reports and do our best to quickly fix the problem.
-13
View File
@@ -13,19 +13,6 @@ 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.10.0
### Command on mouse click in fset buffer
The command executed when clicking in the fset buffer has been updated to prevent
errors on the core buffer when the click is done below the last option.
To reset the key and use the new default command:
```text
/reset weechat.key_mouse.@chat(fset.fset):button1
```
## Version 4.8.0
### IRC temporary servers
+11 -36
View File
@@ -30,37 +30,12 @@ if(ENABLE_MAN OR ENABLE_DOC)
set(SCRIPTING_LANG de en fr it ja pl sr)
set(FAQ_LANG de en es fr it ja pl sr)
set(QUICKSTART_LANG cs de en es fr it ja pl ru sr)
set(RELAY_API_LANG en fr sr)
set(RELAY_API_LANG en fr)
set(RELAY_WEECHAT_LANG en fr ja sr)
set(DEV_LANG en fr ja sr)
find_package(Asciidoctor)
if(ASCIIDOCTOR_FOUND)
# Asciidoctor embeds the light style automatically; the dark stylesheet
# is generated below and scoped via @media in docinfo.html.in.
set(PYGMENTS_LIGHT_STYLE "default")
set(PYGMENTS_DARK_STYLE "monokai")
find_program(PYGMENTIZE_EXECUTABLE pygmentize)
set(PYGMENTS_DARK_CSS "")
if(PYGMENTIZE_EXECUTABLE)
execute_process(
COMMAND "${PYGMENTIZE_EXECUTABLE}" -O "classprefix=tok-" -f html -a "pre.pygments" -S "${PYGMENTS_DARK_STYLE}"
OUTPUT_VARIABLE PYGMENTS_DARK_CSS
RESULT_VARIABLE _pygmentize_result
)
if(NOT _pygmentize_result EQUAL 0)
message(WARNING "Failed to generate pygments CSS for dark theme (style: ${PYGMENTS_DARK_STYLE}); doc will be built without dark theme syntax highlighting")
set(PYGMENTS_DARK_CSS "")
endif()
else()
message(WARNING "pygmentize not found (install python3-pygments); doc will be built without syntax highlighting colors")
endif()
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html.in"
"${CMAKE_CURRENT_BINARY_DIR}/docinfo.html"
@ONLY
)
# common asciidoctor arguments
set(ASCIIDOCTOR_ARGS
-v
@@ -71,8 +46,8 @@ if(ENABLE_MAN OR ENABLE_DOC)
-a revnumber="${VERSION}"
-a sectanchors
-a source-highlighter=pygments
-a pygments-style=${PYGMENTS_LIGHT_STYLE}
-a docinfodir="${CMAKE_CURRENT_BINARY_DIR}"
-a pygments-style=native
-a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}"
-a autogendir="${CMAKE_CURRENT_BINARY_DIR}/autogen"
)
@@ -230,7 +205,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_user.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_USER_ARGS} -o "weechat_user.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_user.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_user.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/cmdline_options.${lang}.adoc"
@@ -251,7 +226,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_PLUGIN_API_ARGS} -o "weechat_plugin_api.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_plugin_api.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_plugin_api.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
doc-autogen
@@ -275,7 +250,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_SCRIPTING_ARGS} -o "weechat_scripting.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_scripting.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_scripting.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
doc-autogen
@@ -293,7 +268,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_FAQ_ARGS} -o "weechat_faq.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_faq.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_faq.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
@@ -308,7 +283,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_QUICKSTART_ARGS} -o "weechat_quickstart.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_quickstart.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_quickstart.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
@@ -323,7 +298,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_api.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_RELAY_API_ARGS} -o "weechat_relay_api.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_relay_api.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_relay_api.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/relay.${lang}.adoc"
@@ -339,7 +314,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_weechat.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_RELAY_WEECHAT_ARGS} -o "weechat_relay_weechat.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_relay_weechat.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_relay_weechat.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/relay.${lang}.adoc"
@@ -355,7 +330,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_DEV_ARGS} -o "weechat_dev.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_dev.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_dev.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/attributes-${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+1 -1
View File
@@ -212,7 +212,7 @@ WeeChat optional sind:
| asciidoctor | ≥ 1.5.4
| zum Erstellen der man page und der Dokumentation.
| python3-pygments, ruby-pygments.rb |
| ruby-pygments.rb |
| Build Dokumentation.
| libcpputest-dev | ≥ 3.4
+26 -13
View File
@@ -26,6 +26,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
--header-details-color: #aaa;
--border: 1px solid #444;
--code-bg-color: #252525;
--pre-color: #ddd;
--pre-bg-color: #202020;
--pre-code-bg-color: #202020;
--keyseq-color: #777;
--kbd-bg-color: #252525;
--kbd-border: 1px solid #333;
@@ -36,11 +39,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
--icon-caution-color: #bf3400;
--icon-important-color: #f44336;
--mark-bg-color: #007;
--pre-bevel-light: #3e3e3e;
--pre-bevel-dark: #2a2a2a;
--pre-bevel-bg: #1f1f1f;
}
@PYGMENTS_DARK_CSS@
}
@media (not (prefers-color-scheme: dark)), (prefers-color-scheme: light) {
@@ -60,6 +59,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
--border: 1px solid #dddddf;
--code-bg-color: #f7f7f8;
--keyseq-color: #333c;
--pre-color: #353535;
--pre-bg-color: #f7f7f8;
--pre-code-bg-color: #202020;
--kbd-bg-color: #f7f7f7;
--kbd-border: 1px solid #ccc;
--kbd-box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 .1em #fff;
@@ -69,9 +71,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
--icon-caution-color: #ff0000;
--icon-important-color: #bf0000;
--mark-bg-color: #9df;
--pre-bevel-light: #e5e5e7;
--pre-bevel-dark: #b4b4b8;
--pre-bevel-bg: #f6f6f7;
}
}
@@ -146,10 +145,6 @@ code, .prettyprint {
pre {
color: var(--pre-color) !important;
border: 1px solid;
border-color: var(--pre-bevel-light) var(--pre-bevel-dark) var(--pre-bevel-dark) var(--pre-bevel-light);
border-radius: 3px;
line-height: 1.25;
}
pre > code {
@@ -167,8 +162,8 @@ kbd {
color: var(--body-color);
}
.literalblock pre, .listingblock > .content > pre:not(.highlight), .listingblock > .content > pre[class="highlight"], .listingblock > .content > pre[class^="highlight "], pre.pygments {
background-color: var(--pre-bg-color, var(--pre-bevel-bg));
.literalblock pre, .listingblock > .content > pre:not(.highlight), .listingblock > .content > pre[class="highlight"], .listingblock > .content > pre[class^="highlight "] {
background-color: var(--pre-bg-color);
color: var(--body-color);
}
@@ -205,6 +200,24 @@ mark {
color: var(--body-color);
}
/* syntax highlighting tuning */
pre.pygments {
color: #ddd !important;
}
pre.pygments .tok-cp {
color: #44cfaf;
}
pre.pygments .tok-nc, pre.pygments .tok-nf {
color: #649fef;
}
pre.pygments .tok-gu, pre.pygments .tok-nc, pre.pygments .tok-nn {
text-decoration: none;
}
/* asciidoctor styles tuning */
#header, #content, #footnotes, #footer {
+5 -57
View File
@@ -541,8 +541,7 @@ HTTP/1.1 200 OK
"plugin": "core",
"name": "weechat"
},
"keys": [],
"last_read_line_id": -1
"keys": []
},
{
"id": 1709932823423765,
@@ -572,8 +571,7 @@ HTTP/1.1 200 OK
"tls_version": "TLS1.3",
"host": "~alice@example.com"
},
"keys": [],
"last_read_line_id": -1
"keys": []
},
{
"id": 1709932823649069,
@@ -601,8 +599,7 @@ HTTP/1.1 200 OK
"nick": "alice",
"host": "~alice@example.com"
},
"keys": [],
"last_read_line_id": -1
"keys": []
}
]
----
@@ -658,8 +655,7 @@ HTTP/1.1 200 OK
"message": "Plugins loaded: alias, buflist, charset, exec, fifo, fset, guile, irc, javascript, logger, lua, perl, php, python, relay, ruby, script, spell, tcl, trigger, typing, xfer",
"tags": []
}
],
"last_read_line_id": -1
]
}
----
@@ -706,7 +702,6 @@ HTTP/1.1 200 OK
"host": "~alice@example.com"
},
"keys": [],
"last_read_line_id": -1,
"nicklist_root": {
"id": 0,
"parent_group_id": -1,
@@ -905,8 +900,7 @@ HTTP/1.1 200 OK
"key": "up",
"command": "/fset -up"
}
],
"last_read_line_id": -1
]
}
----
@@ -1179,51 +1173,6 @@ HTTP/1.1 200 OK
]
----
[[resource_scripts]]
=== Scripts
Return loaded scripts (all languages).
Endpoint:
----
GET /api/scripts
----
Request example:
[source,shell]
----
curl -L -u 'plain:secret_password' 'https://localhost:9000/api/scripts'
----
Response:
[source,http]
----
HTTP/1.1 200 OK
----
[source,json]
----
[
{
"name": "highmon.pl",
"version": "2.7",
"description": "Highlight Monitor",
"author": "KenjiE20",
"license": "GPL3"
},
{
"name": "go.py",
"version": "3.1.1",
"description": "Quick jump to buffers",
"author": "Sébastien Helleu <flashcode@flashtux.org>",
"license": "GPL3"
}
]
----
[[resource_input]]
=== Input
@@ -1555,7 +1504,6 @@ Body types that can be returned:
* `nick_group` (object)
* `nick` (object)
* `hotlist` (object)
* `scripts` (array)
* `ping` (object)
[TIP]
+1 -1
View File
@@ -210,7 +210,7 @@ WeeChat:
| asciidoctor | ≥ 1.5.4
| Build man page and documentation.
| python3-pygments, ruby-pygments.rb |
| ruby-pygments.rb |
| Build documentation.
| libcpputest-dev | ≥ 3.4
+5 -57
View File
@@ -551,8 +551,7 @@ HTTP/1.1 200 OK
"plugin": "core",
"name": "weechat"
},
"keys": [],
"last_read_line_id": -1
"keys": []
},
{
"id": 1709932823423765,
@@ -581,8 +580,7 @@ HTTP/1.1 200 OK
"tls_version": "TLS1.3",
"host": "~alice@example.com"
},
"keys": [],
"last_read_line_id": -1
"keys": []
},
{
"id": 1709932823649069,
@@ -609,8 +607,7 @@ HTTP/1.1 200 OK
"nick": "alice",
"host": "~alice@example.com"
},
"keys": [],
"last_read_line_id": -1
"keys": []
}
]
----
@@ -666,8 +663,7 @@ HTTP/1.1 200 OK
"message": "Plugins loaded: alias, buflist, charset, exec, fifo, fset, guile, irc, javascript, logger, lua, perl, php, python, relay, ruby, script, spell, tcl, trigger, typing, xfer",
"tags": []
}
],
"last_read_line_id": -1
]
}
----
@@ -713,7 +709,6 @@ HTTP/1.1 200 OK
"host": "~alice@example.com"
},
"keys": [],
"last_read_line_id": -1,
"nicklist_root": {
"id": 0,
"parent_group_id": -1,
@@ -911,8 +906,7 @@ HTTP/1.1 200 OK
"key": "up",
"command": "/fset -up"
}
],
"last_read_line_id": -1
]
}
----
@@ -1191,51 +1185,6 @@ HTTP/1.1 200 OK
]
----
[[resource_scripts]]
=== Scripts
Retourner la liste des scripts chargés (tous les langages).
Point de terminaison:
----
GET /api/scripts
----
Exemple de requête:
[source,shell]
----
curl -L -u 'plain:secret_password' 'https://localhost:9000/api/scripts'
----
Réponse:
[source,http]
----
HTTP/1.1 200 OK
----
[source,json]
----
[
{
"name": "highmon.pl",
"version": "2.7",
"description": "Highlight Monitor",
"author": "KenjiE20",
"license": "GPL3"
},
{
"name": "go.py",
"version": "3.1.1",
"description": "Quick jump to buffers",
"author": "Sébastien Helleu <flashcode@flashtux.org>",
"license": "GPL3"
}
]
----
[[resource_input]]
=== Entrée
@@ -1575,7 +1524,6 @@ Les types de corps qui peuvent être retournés :
* `nick_group` (objet)
* `nick` (objet)
* `hotlist` (objet)
* `scripts` (tableau)
* `ping` (objet)
[TIP]
+1 -1
View File
@@ -208,7 +208,7 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
| asciidoctor | ≥ 1.5.4
| Construction de la page man et de la documentation.
| python3-pygments, ruby-pygments.rb |
| ruby-pygments.rb |
| Construction de la documentation.
| libcpputest-dev | ≥ 3.4
+1 -1
View File
@@ -245,7 +245,7 @@ WeeChat:
| Build man page and documentation.
// TRANSLATION MISSING
| python3-pygments, ruby-pygments.rb |
| ruby-pygments.rb |
| Build documentation.
// TRANSLATION MISSING
+1 -1
View File
@@ -229,7 +229,7 @@ WeeChat:
| man ページと文書のビルド
// TRANSLATION MISSING
| python3-pygments, ruby-pygments.rb |
| ruby-pygments.rb |
| Build documentation.
| libcpputest-dev | 3.4 以上
+1 -1
View File
@@ -210,7 +210,7 @@ WeeChat:
| asciidoctor | ≥ 1.5.4
| Tworzenie strony man i dokumentacji.
| python3-pygments, ruby-pygments.rb |
| ruby-pygments.rb |
| Dokumentacja budowania.
| libcpputest-dev | ≥ 3.4
+2 -1
View File
@@ -128,7 +128,8 @@ WeeChat „језгро” се налази у следећим директо
|===
| Путања/фајл | Опис
| core/ | Функције језгра: тачка улаза, интерне структуре.
|    core-args.c | Аргументи командне-линије.
// TRANSLATION MISSING
|    core-args.c | Command-line arguments.
|    core-arraylist.c | Листе низова.
|    core-backtrace.c | Испис трага након краха.
|    core-calc.c | Израчунавање резултата израза.
+5 -59
View File
@@ -543,8 +543,7 @@ HTTP/1.1 200 OK
"plugin": "core",
"name": "weechat"
},
"keys": [],
"last_read_line_id": -1
"keys": []
},
{
"id": 1709932823423765,
@@ -574,8 +573,7 @@ HTTP/1.1 200 OK
"tls_version": "TLS1.3",
"host": "~alice@example.com"
},
"keys": [],
"last_read_line_id": -1
"keys": []
},
{
"id": 1709932823649069,
@@ -603,8 +601,7 @@ HTTP/1.1 200 OK
"nick": "alice",
"host": "~alice@example.com"
},
"keys": [],
"last_read_line_id": -1
"keys": []
}
]
----
@@ -660,8 +657,7 @@ HTTP/1.1 200 OK
"message": "Учитани додаци: alias, buflist, charset, exec, fifo, fset, guile, irc, javascript, logger, lua, perl, php, python, relay, ruby, script, spell, tcl, trigger, typing, xfer",
"tags": []
}
],
"last_read_line_id": -1
]
}
----
@@ -708,7 +704,6 @@ HTTP/1.1 200 OK
"host": "~alice@example.com"
},
"keys": [],
"last_read_line_id": -1,
"nicklist_root": {
"id": 0,
"parent_group_id": -1,
@@ -907,8 +902,7 @@ HTTP/1.1 200 OK
"key": "up",
"command": "/fset -up"
}
],
"last_read_line_id": -1
]
}
----
@@ -1181,53 +1175,6 @@ HTTP/1.1 200 OK
]
----
// TRANSLATION MISSING
[[resource_scripts]]
=== Scripts
// TRANSLATION MISSING
Return loaded scripts (all languages).
Крајња тачка:
----
GET /api/scripts
----
Пример захтева:
[source,shell]
----
curl -L -u 'plain:secret_password' 'https://localhost:9000/api/scripts'
----
Одговор:
[source,http]
----
HTTP/1.1 200 OK
----
[source,json]
----
[
{
"name": "highmon.pl",
"version": "2.7",
"description": "Highlight Monitor",
"author": "KenjiE20",
"license": "GPL3"
},
{
"name": "go.py",
"version": "3.1.1",
"description": "Quick jump to buffers",
"author": "Sébastien Helleu <flashcode@flashtux.org>",
"license": "GPL3"
}
]
----
[[resource_input]]
=== Input
@@ -1557,7 +1504,6 @@ GUID `258EAFA5-E914-47DA-95CA-C5AB0DC85B11` (SHA-1 се кодира у base64).
* `nick_group` (објекат)
* `nick` (објекат)
* `hotlist` (објекат)
* `scripts` (низ)
* `ping` (објекат)
[TIP]
+1 -1
View File
@@ -203,7 +203,7 @@ WeeChat мора да се изгради са CMake.
| asciidoctor | ≥ 1.5.4
| Изградња man странице и документације.
| python3-pygments, ruby-pygments.rb |
| ruby-pygments.rb |
| Документација изградње.
| libcpputest-dev | ≥ 3.4
+25 -53
View File
@@ -23,10 +23,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-05-30 14:01+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-12 20:24+0100\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: Czech <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -164,10 +164,10 @@ msgstr ""
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, zkompilováno %s %s\n"
"Vyvinutý %s <%s> - %s"
"Vyvinutý Sébastienem Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr ""
@@ -1178,16 +1178,6 @@ msgstr ""
"zpráva: zpráva pro nepřítomnost (pokud není zadána je status nepřítomnosti "
"odebrán)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
msgid "manage bars"
msgstr "řídit pole"
@@ -11816,8 +11806,8 @@ msgstr "jméno serveru"
msgid "get nick from IRC host"
msgstr "získat přezdívku od IRC hosta"
msgid "IRC host (like `:nick!name@server`)"
msgstr "IRC host (jako `:nick!name@server`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC host (jako `:nick!name@server.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12047,8 +12037,8 @@ msgstr "%s%s: tenhle buffer není kanál!"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -13245,7 +13235,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -15096,11 +15086,11 @@ msgstr ""
#, fuzzy
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"čárkou rozdělený seznam pluginů pro automatické načtení při spuštění \"*\" "
"znamená všechny nalezené pluginy, jméno začínající \"!\" je negativní "
@@ -15108,10 +15098,10 @@ msgstr ""
"pro vybrání několika pluginů (příklady: \"*\" nebo \"*,!lua,!tcl\")"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
msgid ""
@@ -15142,11 +15132,6 @@ msgid ""
"1 are recommended values)"
msgstr ""
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -15256,7 +15241,7 @@ msgstr "Klienti pro přenos:"
#, fuzzy
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
"jména stavů (volitelné): connecting, waiting_auth, connected, auth_failed, "
@@ -15395,10 +15380,6 @@ msgstr "%s%s: nemohu se \"navázat\" na port %d (%s): chyba %d %s"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: nemohu se \"navázat\" na port %d (%s): chyba %d %s"
#, fuzzy, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s%s: nemohu \"naslouchat\" na portu %d (%s): chyba %d %s"
#, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: nemohu \"naslouchat\" na portu %d (%s): chyba %d %s"
@@ -15443,8 +15424,8 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: nedostatek paměti pro poslouchání na portu"
msgid "Relay WeeChat data to remote applications"
msgstr "Předání dat WeeChatu do vzdálené aplikace"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr "Předání dat WeeChatu do vzdálené aplikace (irc/weechat protokoly)"
msgid "connecting"
msgstr "připojuji"
@@ -15679,16 +15660,11 @@ msgstr "(nic)"
msgid "Alt+key/input: v=back to list d=jump to diff"
msgstr "Alt+klávesa/vstup: v=zpět na seznam d=skoč na rozdíl"
#, fuzzy, c-format
#| msgid ""
#| "%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, "
#| "r=remove, l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view "
#| "script | Input: q=close, $=refresh, s:x,y=sort, words=filter, *=reset "
#| "filter | Mouse: left=select, right=install/remove"
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
"%d/%d scripty (filtr: %s) | Seřaď: %s | Alt+klavesa/vstup: i=instalace, "
@@ -16068,10 +16044,6 @@ msgstr "načteny %s skripty:"
msgid "script name with extension"
msgstr "seznam skriptů"
#, fuzzy
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "čárkami oddělený seznam slovníků, které použít pro tento buffer"
#, fuzzy
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "jméno serveru (zástupný znak \"*\" je povolen) (volitelné)"
+72 -98
View File
@@ -23,22 +23,21 @@
#
#
# w8rabbit <w8rabbit@mail.i2p>, 2018.
# Nils Görs <>, 2022-2026.
#
# Nils Görs <weechatter@arcor.de>, 2022-2023.
msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-06-09 10:41+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-21 17:24+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German - Germany <weechat-dev@nongnu.org>\n"
"Language: de\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.9\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"
@@ -182,10 +181,10 @@ msgstr "deaktiviere init/deinit von gcrypt"
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, kompiliert am %s %s\n"
"Entwickelt von %s <%s> - %s"
"Entwickelt von Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr "Aufruf:"
@@ -1171,20 +1170,6 @@ msgstr ""
"Nachricht: Abwesenheitsnachricht (ohne Angabe einer Nachricht wird der "
"Abwesenheitszustand entfernt)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
"Standardmäßig wird der Abwesenheitsstatus durch die IRC-Erweiterung nur "
"lokal angezeigt (siehe /help irc.look.display_away)."
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
"Dieser Befehl kann von anderen Erweiterungen und Skripten abgefangen werden. "
"(siehe \"Anleitung für API Erweiterung\", Funktion \"hook_command_run\")."
msgid "manage bars"
msgstr "Infobars verwalten"
@@ -1290,12 +1275,16 @@ msgstr "Maske: Name, wobei der Platzhalter \"*\" zulässig ist"
msgid "raw[set]: set a value for a bar property"
msgstr "raw[set]: legt einen Wert für eine Bar-Eigenschaft fest"
#, fuzzy
#| msgid ""
#| "option: option to change (for options list, look at /set weechat.bar."
#| "<barname>.*)"
msgid ""
"option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)"
msgstr ""
"option: Option die geändert werden soll (eine Liste der möglichen Optionen "
"findet man unter /set weechat.bar.<bar_name>.*)"
"findet man unter /set weechat.bar.<barname>.*)"
msgid "value: new value for option"
msgstr "Wert: neuer Wert für die Option"
@@ -3325,7 +3314,7 @@ msgstr ""
"werden"
msgid "raw[-c]: alias for \"-concat \\x20 -strip \\x20 -skipempty\""
msgstr "raw[-c]: Alias für \"-concat \\x20 -strip \\x20 -skipempty\""
msgstr "raw[-c]: Alias für \"-concat \\x20 -strip \\x20 -skipempty\""
msgid ""
"raw[-nl]: display messages in English during the command execution (do not "
@@ -3640,12 +3629,16 @@ msgstr "raw[del]: entfernt einen oder mehrere Proxy"
msgid "raw[set]: set a value for a proxy property"
msgstr "raw[set]: setzt einen Wert für Proxy-Eigenschaft"
#, fuzzy
#| msgid ""
#| "option: option to change (for options list, look at /set weechat.proxy."
#| "<proxyname>.*)"
msgid ""
"option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)"
msgstr ""
"Option: Option, die geändert werden soll (für eine Liste der möglichen "
"Optionen, bitte folgenden Befehl nutzen: /set weechat.proxy.<proxy_name>.*)"
"Optionen, bitte folgenden Befehl nutzen: /set weechat.proxy.<proxyname>.*)"
msgid " add a http proxy, running on local host, port 8888:"
msgstr ""
@@ -3939,7 +3932,7 @@ msgid " /secure set oftc my_password"
msgstr " /secure set oftc Mein_Passwort"
msgid " alias to ghost the nick \"andrew\":"
msgstr " Alias zum ghosten des Nicks \"andrew\":"
msgstr ""
msgid ""
" /alias add ghost /eval /msg -server libera nickserv ghost andrew $"
@@ -11188,7 +11181,9 @@ msgid "[-noswitch] [-server <server>] <nick>[,<nick>...] [<text>]"
msgstr "[-noswitch] [-server <server>] <nick>[,<nick>...] [<text>]"
msgid "quiet nicks or hosts"
msgstr "Nicks oder Hosts das Wort entziehen"
msgstr ""
"Nicks oder Hosts das Wort entziehen (User können im Kanal erst schreiben, "
"wenn sie \"+v\" oder höher besitzen)"
msgid ""
"Without argument, this command displays the quiet list for current channel."
@@ -11693,7 +11688,7 @@ msgid "privates on all IRC servers"
msgstr "Private auf allen IRC Servern"
msgid "default kick message"
msgstr "Standardmitteilung wenn man jemanden aus einem Kanal wirft"
msgstr "Standardmitteilung wenn man jemanden aus einem Kanal wirftchannel"
msgid "default part message for IRC channel"
msgstr "Standardmitteilung beim Verlassen (/part) eines IRC-Kanals"
@@ -13126,8 +13121,8 @@ msgstr "Servername"
msgid "get nick from IRC host"
msgstr "Nicknamen des IRC-Hosts erhalten"
msgid "IRC host (like `:nick!name@server`)"
msgstr "IRC host (in der Form `:nick!name@server`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC host (in der Form `:nick!name@server.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -13353,12 +13348,11 @@ msgstr "%s%s: Dieser Buffer ist kein Kanal!"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
"%d Kanäle (Total: %d) | Filter: %s | Sortierung: %s | Tastenbefehl: "
"ctrl+j=Kanal betreten | Eingabezeile: $=Aktualisierung, s:x,y=Sortierung, "
"Text=Filter, *= Filter zurücksetzen, q=Buffer schließen"
"%d Kanäle (Total: %d) | Filter: %s | Sortierung: %s | Taste(Eingabe): "
"ctrl+j=Kanal betreten, ($)=Aktualisierung, (q)=Buffer schließen"
msgid "Empty list of channels, try \"$\" to refresh list"
msgstr "Liste der Kanäle leeren, nutze \"$\" um die Liste zu aktualisieren"
@@ -14588,21 +14582,21 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
msgstr ""
"Wenn diese Größe erreicht ist, wird eine Rotation der Protokolldateien "
"durchgeführt: die vorhandenen rotierten Protokolldateien werden umbenannt "
"(.1 wird zu .2, .2 wird zu .3 usw.).Die aktuelle Datei wird umbenannt und "
"erhält .1 als Dateierweiterung; eine ganze Zahl mit Suffix ist erlaubt: b = "
"Bytes (Standard, wenn keine Einheit angegeben ist), k = Kilobytes, m = "
"Megabyte, g = Gigabyte, t = Terabyte; Beispiel: \"2g\" startet eine Rotation "
"sobald die Dateigröße > 2GB ist; wenn auf „0“ gesetzt, erfolgt keine "
"durchgeführt: dievorhandene rotierte Protokolldateien werden umbenannt (.1 "
"wird zu .2, .2 wird zu .3 usw.).Die aktuelle Datei erhält wird umbenannt und "
"erhält .1 als Erweiterung; eine ganze Zahl mitSuffix ist erlaubt: b = Bytes "
"(Standard, wenn keine Einheit angegeben ist), k = Kilobytes, m =Megabyte, g "
"= Gigabyte, t = Terabyte; Beispiel: \"2g\" bewirkt eine Rotationsobald die "
"Dateigröße > 2.000.000.000 Byte ist; wenn auf „0“ gesetzt, erfolgt keine "
"Rotation der Dateien (unbegrenzte Protokollgröße); WARNUNG: Bevor Sie diese "
"Option ändern,sollte sie zuerst den Komprimierungstyp über die Option "
"logger.file.rotation_compression_type festlegen"
"logger.file festlegen.rotation_compression_type"
msgid ""
"timestamp used in log files (see man strftime for date/time specifiers, "
@@ -16452,33 +16446,31 @@ msgstr ""
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"durch Kommata getrennte Liste der Hash-Algorithmen, die für die "
"Kennwortauthentifizierung für die \"api\" und \"weechat\" Protokolle "
"verwendet werden. Mögliche Werte sind: \"plain\" (Kennwort im Klartext, "
"nicht gehasht), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\" ), \"*\" bedeutet alle Algorithmen, ein Name, der mit \"!"
"\" beginnt ist ein negativer Wert, um die Verwendung eines Algorithmus zu "
"unterbinden. Ein Platzhalter \"*\" im Namen ist zulässig (Beispiele: \"*\", "
"\"pbkdf2 *\", \"*,! plain\")"
"Kennwortauthentifizierung im Weechat-Protokoll verwendet werden, unter "
"diesen Werten: \"plain\" (Kennwort im Klartext, nicht gehasht), \"sha256\", "
"\"sha512\", \"pbkdf2 + sha256\", \"pbkdf2 + sha512\" ), \"*\" bedeutet alle "
"Algorithmen, ein Name, der mit \"!\" beginnt ist ein negativer Wert, um die "
"Verwendung eines Algorithmus zu vermeiden. Ein Platzhalter \"*\" im Namen "
"ist zulässig (Beispiele: \"*\", \"pbkdf2 *\", \"*,! plain\")"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
"Anzahl der Iterationen, die bei den Protokollen \"api\" und \"weechat\" vom "
"Client angefordert wird, wenn zur Authentifizierung ein gehashtes Passwort "
"mit dem Algorithmus PBKDF2 zur Authentifizierung verwendet wird. Eine höhere "
"Anzahl an Iterationen bietet zwar mehr Sicherheit, erfordert jedoch eine "
"verlängerte Rechenzeit; dieser Wert sollte deshalb nicht zu hoch gewählt "
"werden, falls Ihre CPU leistungsschwach ist"
"Anzahl der Iterationen, die im Weechat-Protokoll an den Client gesendet "
"werden, wenn ein Hash-Passwort mit dem Algorithmus PBKDF2 zur "
"Authentifizierung verwendet wird; Mehr Iterationen sind aus "
"Sicherheitsgründen besser, aber langsamer zu berechnen. Diese Zahl sollte "
"nicht zu hoch sein, wenn Ihre CPU langsam ist"
msgid ""
"number of seconds to allow before and after the current time for the hash of "
@@ -16524,13 +16516,6 @@ msgstr ""
"danach, ...; umso höher die genutzte Zahl umso unsicherer das Verfahren (0 "
"oder 1 sind empfohlene Werte)"
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
"Berechtigungen für den Unix-Socket als Oktalwert (siehe man chmod); es muss "
"eine dreistellige Zahl sein, wobei jede Ziffer zwischen 0 und 7 liegen muss"
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -16538,7 +16523,7 @@ msgid ""
msgstr ""
"Erweiterter regulärer POSIX Ausdruck für Origins in WebSockets (Groß- und "
"Kleinschreibung wird ignoriert. Um Groß- und Kleinschreibung zu "
"unterscheiden kann \"(?-i)\" vorangestellt werden), Beispiel: \"^https?://"
"unterscheiden kann \"(?-i)\" vorangestellt werden), Beispiel: ^https?://"
"(www\\.)?example\\.(com|org)\""
msgid ""
@@ -16664,12 +16649,12 @@ msgstr "Anzahl an Clients für Relay"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
"Protokoll,Status (beide sind Optional, bei beiden Argumenten bedeutet \"*\", "
"alle; Protokolle: api, irc, weechat; Status: connecting, waiting_auth, "
"connected, auth_failed, disconnected)"
"alle; Protokolle: irc, weechat; Status: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgid "list of relay clients"
msgstr "Liste der Relay-Clients"
@@ -16798,12 +16783,6 @@ msgstr "%s%s: \"bind\" an Pfad %s (%s) nicht möglich: Fehler %d %s"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: \"bind\" an Port %d (%s) nicht möglich: Fehler %d %s"
#, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr ""
"%s%s: Warnung: Fehler beim Setzen der Berechtigungen für den Pfad %s (%s): "
"Fehler %d %s"
#, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: kann nicht an Pfad %s (%s) lauschen: Fehler %d %s"
@@ -16842,8 +16821,9 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: Nicht genug Speicher um an einem neuen Port zu lauschen"
msgid "Relay WeeChat data to remote applications"
msgstr "Übertragung von WeeChat Daten an andere Anwendungen"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
"Übertragung von WeeChat Daten an andere Anwendungen (irc/weechat Protokoll)"
msgid "connecting"
msgstr "verbinden"
@@ -17082,17 +17062,16 @@ msgstr "Alt+Taste/Eingabezeile: v=zurück zur Auswahl d=zeigt Unterschiede an"
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
"%d/%d Skripts | Filter: %s) | Sortierung: %s | Alt+Taste/Eingabe: "
"%d/%d Skripten (Filter: %s) | Sortierung: %s | Alt+Taste/Eingabe: "
"i=installieren, r=entfernen, l=starten, L=erneut starten, u=beenden, "
"A=Autoload, h=halten/freigeben, v=Skript anzeigen | Eingabe: "
"A=autoload, h=halten/freigeben, v=Skript anzeigen | Eingabe: q=beenden, "
"$=aktualisieren, s:x,y=Art der Sortierung, Text=Filterung, *=Filter "
"zurücksetzen, q=Buffer schließen | Maus: links=Skript anwählen, "
"rechts=installieren/entfernen"
"zurücksetzen | Maus: links=Skript anwählen, rechts=installieren/entfernen"
msgid "Scripts"
msgstr "Skripten"
@@ -17351,7 +17330,7 @@ msgstr ""
"Um Tastenkurzbefehle im Skript-Buffer direkt nutzen zu können (zum Beispiel: "
"alt+i = installieren, alt+r = entfernen, ...), muss diese Einstellung "
"aktiviert werden. Andernfalls können Aktionen nur über die Eingabezeile "
"durchgeführt werden: i, r, ..."
"durchgeführt werden: i,r..."
msgid "color for status \"autoloaded\" (\"a\")"
msgstr "Farbe in der der Status \"autoloaded\" (\"a\") dargestellt werden soll"
@@ -17382,7 +17361,7 @@ msgid "background color in script buffer"
msgstr "Hintergrundfarbe im Skript-Buffer"
msgid "background color for selected line in script buffer"
msgstr "Hintergrundfarbe für die ausgewählte Zeile im Skriptbuffer"
msgstr "Hintergrundfarbe"
msgid "text color of dates in script buffer"
msgstr "Textfarbe für das Datum im Skript-Buffer"
@@ -17510,11 +17489,6 @@ msgstr "1 falls Skript geladen wurde"
msgid "script name with extension"
msgstr "Skriptname mit Erweiterung"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr ""
"durch Kommata getrennte Liste von Erweiterungen: Endung mit unterstützen "
"Sprachen"
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
"Name des Skriptes, mit Dateierweiterung (Platzhalter \"*\" kann verwendet "
+23 -47
View File
@@ -24,10 +24,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-05-30 14:01+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-12 20:24+0100\n"
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
"Language-Team: Spanish - Spain <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -184,10 +184,10 @@ msgstr ""
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilado en %s %s\n"
"Desarrollado por %s <%s> - %s"
"Desarrollado por Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr ""
@@ -1222,16 +1222,6 @@ msgstr ""
"mensaje: mensaje de ausencia (si no se especifica ningún mensaje, se remueve "
"el estado ausente)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
msgid "manage bars"
msgstr "gestionar las barras"
@@ -12091,8 +12081,8 @@ msgstr "nombre del servidor"
msgid "get nick from IRC host"
msgstr "devuelve apodo de un host IRC"
msgid "IRC host (like `:nick!name@server`)"
msgstr "IRC host (como `:apodo!nombre@servidor`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC host (como `:apodo!nombre@servidor.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12334,8 +12324,8 @@ msgstr "%s%s: ¡este buffer no es un canal!"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -13536,7 +13526,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -15400,11 +15390,11 @@ msgstr ""
#, fuzzy
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"lista de plugins separados por comas para cargar automáticamente al iniciar, "
"\"*\" significa todos los plugins encontrados, un nombre empezando con \"!\" "
@@ -15412,10 +15402,10 @@ msgstr ""
"\"*\" para indicar varios plugins (ejemplo: \"*\" o \"*,!lua,!tcl\")"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
msgid ""
@@ -15448,11 +15438,6 @@ msgid ""
"1 are recommended values)"
msgstr ""
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
# why is case insensitive important? ips use numbers and urls are case insensible.
#, fuzzy
msgid ""
@@ -15567,7 +15552,7 @@ msgstr "Lista de clientes a retransmitir"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
@@ -15690,10 +15675,6 @@ msgstr "%s%s: error con \"bind\" en el puerto %d (%s)"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: error con \"bind\" en el puerto %d (%s)"
#, fuzzy, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s%s: no se puede aceptar el cliente en el puerto %d (%s)"
#, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: no se puede aceptar el cliente en el puerto %d (%s)"
@@ -15730,7 +15711,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: no hay memoria suficiente para escuchar en un nuevo puerto"
msgid "Relay WeeChat data to remote applications"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
msgid "connecting"
@@ -15979,9 +15960,9 @@ msgstr ""
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
@@ -16346,11 +16327,6 @@ msgstr "scripts en %s cargados:"
msgid "script name with extension"
msgstr "lista de scripts"
#, fuzzy
#| msgid "comma separated list of file name extensions for plugins"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "lista separada por comas de extensiones de archivo para plugins"
#, fuzzy
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
+59 -91
View File
@@ -23,10 +23,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-06-08 23:14+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-21 17:29+0100\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: French - France <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -139,7 +139,7 @@ msgid ""
"by default in headless mode WeeChat is blocking and does not run in "
"background"
msgstr ""
"lancer WeeChat comme un « daemon » (fork, nouveau groupe pour le processus, "
"lancer WeeChat comme un « daemon » (fork, nouveau groupe pour le processus, "
"fermeture des descripteurs de fichiers); par défaut en mode sans interface "
"WeeChat est bloquant et ne tourne pas en tâche de fond"
@@ -168,10 +168,10 @@ msgstr "désactiver init/deinit de gcrypt"
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilé le %s %s\n"
"Développé par %s <%s> - %s"
"Développé par Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr "Utilisation:"
@@ -180,11 +180,11 @@ msgid "[option...] [plugin:option...]"
msgstr "[option...] [extension:option...]"
msgid "Extra options in headless mode:"
msgstr "Options supplémentaires en mode sans interface (« headless »):"
msgstr "Options supplémentaires en mode sans interface (« headless »):"
msgid "Debug options (for tools like valgrind, DO NOT USE IN PRODUCTION):"
msgstr ""
"Options de debug (pour des outils comme valgrind, NE PAS UTILISER EN "
"Options de debug (pour des outils comme Valgrind, NE PAS UTILISER EN "
"PRODUCTION) :"
#, c-format
@@ -1155,20 +1155,6 @@ msgstr ""
"message : message pour l'absence (si pas de message donné, le statut "
"d'absence est supprimé)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
"Par défaut le statut d'absence est affiché en local seulement par "
"l'extension irc (voir /help irc.look.display_away)."
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
"Cette commande peut être attrapée par d'autres extensions ou scripts (voir "
"la \"Référence API extension\", fonction \"hook_command_run\")."
msgid "manage bars"
msgstr "gestion des barres"
@@ -1513,7 +1499,7 @@ msgid ""
"\"weechat.look.jump_current_to_previous_buffer\""
msgstr ""
"> \"*\" : saut au numéro en utilisant l'option "
"\"weechat.look.jump_current_to_previous_buffer\""
"\"jump_current_to_previous_buffer\""
msgid "raw[-]: jump to first buffer number"
msgstr "raw[-] : sauter au premier numéro de tampon"
@@ -1780,7 +1766,7 @@ msgid ""
"raw[key]: enable keyboard and mouse debug: display raw codes, expanded key "
"name and associated command (\"q\" to quit this mode)"
msgstr ""
"raw[key] : activer le debug pour le clavier et la souris : afficher les "
"raw[key] : activer le debug pour le clavier et la souris : afficher les "
"codes bruts, le nom étendu et la commande associée (\"q\" pour quitter ce "
"mode)"
@@ -3017,7 +3003,7 @@ msgid ""
"Key names allowed: f0 to f20, home, insert, delete, end, backspace, pgup, "
"pgdn, up, down, right, left, tab, return, comma, space."
msgstr ""
"Noms de touches autorisés: f0 à f20, home, insert, delete, end, backspace, "
"Noms de touches autorisés : f0 à f20, home, insert, delete, end, backspace, "
"pgup, pgdn, up, down, right, left, tab, return, comma, space."
msgid "Combo of keys must be separated by a comma."
@@ -3066,7 +3052,7 @@ msgid ""
"as argument."
msgstr ""
"Une valeur spéciale pour la commande avec le format \"hsignal:nom\" peut "
"être utilisée dans le contexte \"mouse\", cela enverra le hsignal \"nom\" "
"être utilisée dans le contexte \"mouse\", cela enverra le signal \"nom\" "
"avec la table de hachage du focus comme paramètre."
msgid ""
@@ -3515,7 +3501,7 @@ msgid " display a reminder on core buffer with a highlight:"
msgstr " afficher un pense-bête sur le tampon core avec un highlight :"
msgid " /print -core -tags notify_highlight Reminder: buy milk"
msgstr " /print -core -tags notify_highlight Pense-bête: acheter du lait"
msgstr " /print -core -tags notify_highlight Pense-bête : acheter du lait"
msgid " display an error on core buffer:"
msgstr " afficher une erreur sur le tampon core :"
@@ -4114,8 +4100,7 @@ msgid ""
"makes possible a delayed restoration (see below)"
msgstr ""
"raw[-quit] : fermer *TOUTES* les connexions, sauvegarder la session et "
"quitter WeeChat, ce qui rend possible une restauration différée (voir ci-"
"dessous)"
"quitter, ce qui rend possible une restauration différée (voir ci-dessous)"
msgid ""
"raw[-o]: send number of upgrades and date of first/last start to current "
@@ -7074,8 +7059,7 @@ msgstr ""
"Si vous découvrez WeeChat, il est recommandé de lire au moins le guide de "
"démarrage rapide, et le guide utilisateur si vous avez le temps ; ils "
"expliquent les concepts principaux de WeeChat.\n"
"Toutes les documentations WeeChat sont disponibles ici : https://weechat.org/"
"doc/\n"
"Toutes les documentations sont disponibles ici : https://weechat.org/doc/\n"
"\n"
"De plus, il y a de l'aide en ligne avec /help sur toutes les commandes et "
"options (utilisez la touche Tab pour compléter le nom).\n"
@@ -8023,7 +8007,7 @@ msgid ""
"careful, using more than one bar item slows down the display of buffers list"
msgstr ""
"nombre d'objets de barre buflist qui peuvent être utilisés ; les objets de "
"barre sont : \"buflist\", \"buflist2\", \"buflist3\", \"buflist4\" et "
"barre sont : \"buflist\", \"buflist2\", \"buflist3\", \"buflist4\" et "
"\"buflist5\" ; attention, utiliser plus d'un objet de barre ralentit "
"l'affichage de la liste des tampons"
@@ -11200,7 +11184,7 @@ msgid ""
msgstr ""
"filtre : définir un nouveau filtre pour voir seulement les messages "
"correspondants (ce filtre peut aussi être utilisé en entrée du tampon des "
"données brutes IRC) ; les formats autorisés sont :"
"données brutes) ; les formats autorisés sont :"
msgid "> `*`: show all messages (no filter)"
msgstr "> `*` : afficher tous les messages (pas de filtre)"
@@ -12873,8 +12857,8 @@ msgstr "nom de serveur"
msgid "get nick from IRC host"
msgstr "retourne le pseudo à partir d'un host IRC"
msgid "IRC host (like `:nick!name@server`)"
msgstr "host IRC (comme `:pseudo!nom@serveur`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "host IRC (comme `:pseudo!nom@serveur.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -13098,12 +13082,11 @@ msgstr "%s%s : ce tampon n'est pas un canal !"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
"%d canaux (total : %d) | Filtre : %s | Tri : %s | Touches : ctrl+j=rejoindre "
"canal | Entrée: $=rafraîchir, s:x,y=trier, mots=filtrer, *=réinit filtre, "
"q=fermer le tampon"
"%d canaux (total : %d) | Filtre : %s | Tri : %s | Touche(entrée) : "
"ctrl+j=rejoindre canal, ($)=rafraîchir, (q)=fermer le tampon"
msgid "Empty list of channels, try \"$\" to refresh list"
msgstr "La liste de canaux est vide, essayez \"$\" pour rafraîchir la liste"
@@ -14311,7 +14294,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -14322,7 +14305,7 @@ msgstr ""
"entier avec un suffixe est accepté : b = octets (par défaut si pas d'unité "
"spécifiée), k = kilo-octets, m = méga-octets, g = giga-octets, t = téra-"
"octets ; exemple : \"2g\" provoque une rotation si la taille du fichier est "
"supérieure à 2 Go ; si défini à \"0\", aucune rotation n'est effectuée "
"> 2 000 000 000 octets ; si défini à \"0\", aucune rotation n'est effectuée "
"(taille de log illimitée) ; ATTENTION : avant de changer cette option, vous "
"devriez d'abord définir le type de compression via l'option "
"logger.file.rotation_compression_type"
@@ -15347,8 +15330,7 @@ msgstr "%sremote[%s] : impossible de créer le socket"
#, c-format
msgid "%sremote[%s]: gnutls: failed to initialize certificate structure"
msgstr ""
"%sremote[%s] : gnutls: échec d'initialisation de la structure du certificat"
msgstr "%sremote[%s] : échec d'initialisation de la structure du certificat"
#, c-format
msgid "remote[%s]: gnutls: receiving %d certificate"
@@ -16151,31 +16133,31 @@ msgstr ""
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"liste des algorithmes de hachage pour l'authentification par mot de passe "
"dans les protocoles \"api\" et \"weechat\", parmi ces valeurs : \"plain\" "
"(mot de passe en clair, non haché), \"sha256\", \"sha512\", "
"\"pbkdf2+sha256\", \"pbkdf2+sha512\" ; \"*\" signifie tous les algorithmes, "
"un nom commençant par \"!\" est une valeur négative pour empêcher un "
"algorithme d'être utilisé, le caractère joker \"*\" est autorisé dans les "
"noms (exemples : \"*\", \"pbkdf2*\", \"*,!plain\")"
"dans le protocole relay, parmi ces valeurs : \"plain\" (mot de passe en "
"clair, non haché), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\" ; \"*\" signifie tous les algorithmes, un nom commençant "
"par \"!\" est une valeur négative pour empêcher un algorithme d'être "
"utilisé, le caractère joker \"*\" est autorisé dans les noms (exemples : "
"\"*\", \"pbkdf2*\", \"*,!plain\")"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
"nombre d'itérations demandées au client dans les protocoles \"api\" et "
"\"weechat\" lorsqu'un mot de passe haché avec l'algorithme PBKDF2 est "
"utilisé pour l'authentification ; plus d'itérations est mieux en terme de "
"sécurité mais est plus lent à calculer ; ce nombre ne doit pas être trop "
"élevé si votre micro-processeur est lent"
"nombre d'itérations demandées au client dans le protocole weechat lorsqu'un "
"mot de passe haché avec l'algorithme PBKDF2 est utilisé pour "
"l'authentification ; plus d'itérations est mieux en terme de sécurité mais "
"est plus lent à calculer ; ce nombre ne doit pas être trop élevé si votre "
"micro-processeur est lent"
msgid ""
"number of seconds to allow before and after the current time for the hash of "
@@ -16220,13 +16202,6 @@ msgstr ""
"accepter deux mots de passe avant, le courant et deux après, ... ; un nombre "
"élevé réduit le niveau de sécurité (0 ou 1 sont les valeurs recommandées)"
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
"permissions pour le socket Unix, sous forme de valeur octale (voir man "
"chmod); doit être un nombre avec 3 chiffres, chacun compris entre 0 et 7"
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -16357,11 +16332,11 @@ msgstr "nombre de clients pour le relai"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
"protocole,statut (les deux sont optionnels, pour chaque paramètre \"*\" "
"signifie tous ; protocoles : api, irc, weechat ; statuts : connecting, "
"signifie tous ; protocoles : irc, weechat ; statuts : connecting, "
"waiting_auth, connected, auth_failed, disconnected)"
msgid "list of relay clients"
@@ -16491,12 +16466,6 @@ msgstr "%s%s : \"bind\" impossible sur le chemin %s (%s) : erreur %d %s"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s : \"bind\" impossible sur le port %d (%s) : erreur %d %s"
#, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr ""
"%s%s : attention: échec de changement des permissions sur le chemin %s "
"(%s) : erreur %d %s"
#, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s : \"listen\" impossible sur le chemin %s (%s) : erreur %d %s"
@@ -16535,8 +16504,10 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s : pas assez de mémoire pour écouter sur le nouveau port"
msgid "Relay WeeChat data to remote applications"
msgstr "Relai des données WeeChat à des applications distantes"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
"Relai des données WeeChat à des applications distantes (protocoles irc/"
"weechat)"
msgid "connecting"
msgstr "connexion"
@@ -16772,16 +16743,16 @@ msgstr "Alt+touche/entrée : v=retour à la liste d=sauter au diff"
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
"%d/%d scripts | Filtre: %s | Tri : %s | Alt+touche/entrée : i=installer, "
"%d/%d scripts (filtre : %s) | Tri : %s | Alt+touche/entrée : i=installer, "
"r=supprimer, l=charger, L=recharger, u=décharger, A=chargement auto, "
"h=(dé)figer, v=voir script | Entrée : $=rafraîchir, s:x,y=trier, "
"mots=filtrer, *=réinit filtre, q=fermer le tampon | Souris : "
"gauche=sélectionner, droit=installer/supprimer"
"h=(dé)figer, v=voir script | Entrée : q=fermer, $=rafraîchir, s:x,y=trier, "
"mots=filtrer, *=réinit filtre | Souris : gauche=sélectionner, "
"droit=installer/supprimer"
msgid "Scripts"
msgstr "Scripts"
@@ -17182,9 +17153,6 @@ msgstr "1 si le script est chargé"
msgid "script name with extension"
msgstr "nom du script avec l'extension"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "liste de extension:extension_fichier avec les langages supportés"
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
"nom du script avec extension (le caractère joker \"*\" est autorisé) "
@@ -17808,7 +17776,7 @@ msgid "> type `signal`: name(s) of signal (required)"
msgstr "> type `signal` : nom(s) de signal (obligatoire)"
msgid "> type `hsignal`: name(s) of hsignal (required)"
msgstr "> type `hsignal` : nom(s) de hsignal (obligatoire)"
msgstr "> type `hsignal` : nom(s) de signal (obligatoire)"
msgid "> type `modifier`: name(s) of modifier (required)"
msgstr "> type `modifier` : nom(s) de modificateur (obligatoire)"
+20 -42
View File
@@ -22,10 +22,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-08 08:59+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: Hungarian <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -159,7 +159,7 @@ msgstr ""
#, fuzzy, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"%s Copyright (C) 2003-2010, fordítva: %s %s\n"
"Fejlesztő: Sébastien Helleu <flashcode@flashtux.org> - %s"
@@ -1158,16 +1158,6 @@ msgstr ""
" üzenet: távolléti üzenet (ha nincs üzenet megadva, a távolléti státusz "
"eltávolítása)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
#, fuzzy
msgid "manage bars"
msgstr "pufferek kezelése"
@@ -11291,7 +11281,7 @@ msgstr "cél: szerver neve"
msgid "get nick from IRC host"
msgstr "név vagy gép letiltása"
msgid "IRC host (like `:nick!name@server`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr ""
msgid ""
@@ -11525,8 +11515,8 @@ msgstr "Ez az ablak nem egy szoba!\n"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -12644,7 +12634,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -14401,21 +14391,21 @@ msgstr ""
#, fuzzy
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"automatikusan betöltendő modulok vesszővel elválasztott listája, \"*\" "
"esetén az összes fellelt modul (az elnevezés lehet részleges, például a "
"\"perl\" elegendő \"libperl.so\" helyett)"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
msgid ""
@@ -14448,11 +14438,6 @@ msgid ""
"1 are recommended values)"
msgstr ""
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -14554,7 +14539,7 @@ msgstr "Nincs szerver.\n"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
@@ -14675,10 +14660,6 @@ msgstr "%s nem sikerült a csatornát létrehozni\n"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s nem sikerült a csatornát létrehozni\n"
#, fuzzy, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s nem sikerült a csatornát létrehozni\n"
#, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s nem sikerült a csatornát létrehozni\n"
@@ -14715,7 +14696,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s nincs elegendő memória új DCC számára\n"
msgid "Relay WeeChat data to remote applications"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
#, fuzzy
@@ -14958,9 +14939,9 @@ msgstr ""
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
@@ -15314,9 +15295,6 @@ msgstr "FIFO cső bezárva\n"
msgid "script name with extension"
msgstr "Aliaszok listája:\n"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr ""
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
+26 -48
View File
@@ -22,10 +22,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-12 20:24+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: Italian <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -164,10 +164,10 @@ msgstr ""
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilato il %s %s\n"
"Sviluppato da %s <%s> - %s"
"Sviluppato da Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr ""
@@ -1174,16 +1174,6 @@ msgstr ""
"messaggio: messaggio di assenza (se non specificato, lo stato di assenza "
"viene rimosso)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
msgid "manage bars"
msgstr "gestione delle barre"
@@ -12130,8 +12120,8 @@ msgstr "nome server"
msgid "get nick from IRC host"
msgstr "ottiene nick dall'host IRC"
msgid "IRC host (like `:nick!name@server`)"
msgstr "host IRC (come `:nick!nome@server`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "host IRC (come `:nick!nome@server.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12371,8 +12361,8 @@ msgstr "%s%s: questo buffer non è un canale!"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -13562,7 +13552,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -15453,11 +15443,11 @@ msgstr ""
#, fuzzy
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"elenco separato da virgole di plugin da caricare automaticamente all'avvio, "
"\"*\" equivale a tutti i plugin trovati. un nome che comincia con \"!\" è un "
@@ -15466,10 +15456,10 @@ msgstr ""
"oppure \"*,!lua,!tcl\")"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
msgid ""
@@ -15502,11 +15492,6 @@ msgid ""
"1 are recommended values)"
msgstr ""
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
#, fuzzy
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
@@ -15629,7 +15614,7 @@ msgstr "Elenco dei client per il relay"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
@@ -15770,10 +15755,6 @@ msgstr "%s%s: \"bind\" impossibile sulla porta %d (%s): errore %d %s"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: \"bind\" impossibile sulla porta %d (%s): errore %d %s"
#, fuzzy, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s%s: \"listen\" impossibile sulla porta %d (%s): errore %d %s"
#, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: \"listen\" impossibile sulla porta %d (%s): errore %d %s"
@@ -15810,8 +15791,10 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: memoria non sufficiente per l'ascolto su una nuova porta"
msgid "Relay WeeChat data to remote applications"
msgstr "Esegui il relay dei dati di WeeChat ad un'applicazione remota"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
"Esegui il relay dei dati di WeeChat ad un'applicazione remota (protocolli "
"irc/weechat)"
msgid "connecting"
msgstr "connessione"
@@ -16060,9 +16043,9 @@ msgstr ""
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
@@ -16432,11 +16415,6 @@ msgstr "script %s caricati:"
msgid "script name with extension"
msgstr "elenco degli script"
#, fuzzy
#| msgid "comma separated list of file name extensions for plugins"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "elenco separato da virgole di estensioni dei nomi file per i plugin"
#, fuzzy
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
+29 -57
View File
@@ -22,10 +22,11 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-16 13:22+0100\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <weechat-dev@nongnu.org>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
"translation/ja_JP>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -167,10 +168,10 @@ msgstr "gcrypt の init/deinit を無効化"
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s 著作権 %s、%s %s にコンパイル\n"
"開発者 %s <%s> - %s"
"開発者 Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr "使い方:"
@@ -1183,16 +1184,6 @@ msgstr ""
" -all: 全ての接続済みサーバに対して離席状態を切り替え\n"
"message: 離席メッセージ (メッセージが無い場合は、離席状態を解除)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
msgid "manage bars"
msgstr "バーの管理"
@@ -12584,8 +12575,8 @@ msgstr "サーバ名"
msgid "get nick from IRC host"
msgstr "IRC ホストからニックネームを取得"
msgid "IRC host (like `:nick!name@server`)"
msgstr "IRC ホスト (例: `:nick!name@server`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC ホスト (例: `:nick!name@server.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12820,8 +12811,8 @@ msgstr "%s%s: このバッファはチャンネルではありません!"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -14037,7 +14028,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -15960,21 +15951,21 @@ msgstr ""
#, fuzzy
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"スタートアップ時にロードするプラグインのコンマ区切りリスト、\"*\" は見つかっ"
"た全てのプラグイン、\"!\" から始まる名前はロードしないプラグイン、名前にワイ"
"ルドカード \"*\" を使うことができます (例: \"*\" または \"*,!lua,!tcl\")"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
msgid ""
@@ -16022,11 +16013,6 @@ msgstr ""
"のパスワードを考慮、...; この値を大きくするとセキュリティレベルが低下します "
"(0 または 1 を推奨します)"
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
#, fuzzy
#| msgid ""
#| "POSIX extended regular expression with origins allowed in websockets "
@@ -16163,12 +16149,12 @@ msgstr "中継するクライアントのリスト"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
"protocol,status (どちらも任意、引数の \"*\" はすべてを意味します; プロトコ"
"ル: api、irc、weechat。状態: connecting、waiting_auth、connected、"
"auth_failed、disconnected)"
"ル: irc、weechat。状態: connecting、waiting_auth、connected、auth_failed、"
"disconnected)"
msgid "list of relay clients"
msgstr "リレークライアントのリスト"
@@ -16310,11 +16296,6 @@ msgstr "%s%s: パス %s (%s) に \"bind\" できません: エラー %d %s"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: ポート %d (%s) に \"bind\" できません: エラー %d %s"
#, fuzzy, c-format
#| msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s%s: パス %s (%s) ではリッスンできません: エラー %d %s"
#, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: パス %s (%s) ではリッスンできません: エラー %d %s"
@@ -16351,8 +16332,9 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: 新しいポートをリッスンするためのメモリ不足"
msgid "Relay WeeChat data to remote applications"
msgstr "WeeChat データをリモートアプリケーションにリレー"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
"WeeChat データをリモートアプリケーションにリレー (irc/weechat プロトコル)"
msgid "connecting"
msgstr "接続中"
@@ -16596,16 +16578,11 @@ msgstr "(なし)"
msgid "Alt+key/input: v=back to list d=jump to diff"
msgstr "Alt+key/input: v=リストに戻る d=比較する"
#, fuzzy, c-format
#| msgid ""
#| "%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, "
#| "r=remove, l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view "
#| "script | Input: q=close, $=refresh, s:x,y=sort, words=filter, *=reset "
#| "filter | Mouse: left=select, right=install/remove"
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
"%d/%d 個のスクリプト (フィルタ: %s) | ソート: %s | Alt+key/input: i=インス"
@@ -16996,11 +16973,6 @@ msgstr "ロードされた %s スクリプト:"
msgid "script name with extension"
msgstr "スクリプトの拡張子のリスト"
#, fuzzy
#| msgid "comma separated list of file name extensions for plugins"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "プラグインのファイル拡張子のコンマ区切りリスト"
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
"拡張子を含めたスクリプト名 (ワイルドカード \"*\" を使うことができます) (任意)"
+29 -91
View File
@@ -24,10 +24,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-21 17:26+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: Polish <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -166,10 +166,10 @@ msgstr "wyłącza funkcje init/deinit z gcrypt"
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, skompilowano na %s %s\n"
"Rozwijane przez %s <%s> - %s"
"Rozwijane przez Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr "Użycie:"
@@ -1148,21 +1148,6 @@ msgstr ""
"wiadomość: powód nieobecności (jeśli nie podano wiadomości status "
"nieobecności zostaje usunięty)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
#, fuzzy
#| msgid ""
#| " - ${color:name}: the color (see \"Plugin API reference\", function "
#| "\"color\")"
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
" - ${color:nazwa}: kolor (zobacz „Opis API wtyczek”, funkcja \"color\")"
msgid "manage bars"
msgstr "zarządzaj paskami"
@@ -12481,8 +12466,8 @@ msgstr "nazwa serwera"
msgid "get nick from IRC host"
msgstr "pobiera nick z hosta IRC"
msgid "IRC host (like `:nick!name@server`)"
msgstr "Host IRC (jak `:nick!nazwa@serwer`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "Host IRC (jak `:nick!nazwa@serwer.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12701,13 +12686,10 @@ msgstr "%s%s: nie jesteś połączony z serwerem"
msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: to nie jest bufor kanału!"
#, fuzzy, c-format
#| msgid ""
#| "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
#| "channel, ($)=refresh, (q)=close buffer"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
"%d kanałów (łącznie: %d) | Filtr: %s | Sortowanie: %s | Key(input): "
"ctrl+j=wejdź na kanał, ($)=odśwież, (q)=zamknij bufor"
@@ -13897,24 +13879,13 @@ msgstr ""
"wtyczkę logger, skompresować pliki na nowo (lub rozpakować), następnie "
"zmienić opcję w pliku logger.conf, następnie załadować wtyczkę logger"
#, fuzzy
#| msgid ""
#| "when this size is reached, a rotation of log files is performed: the "
#| "existing rotated log files are renamed (.1 becomes .2, .2 becomes .3, "
#| "etc.) and the current file is renamed with extension .1; an integer "
#| "number with a suffix is allowed: b = bytes (default if no unit given), k "
#| "= kilobytes, m = megabytes, g = gigabytes, t = terabytes; example: \"2g\" "
#| "causes a rotation if the file size is > 2,000,000,000 bytes; if set to "
#| "\"0\", no rotation is performed (unlimited log size); WARNING: before "
#| "changing this option, you should first set the compression type via "
#| "option logger.file.rotation_compression_type"
msgid ""
"when this size is reached, a rotation of log files is performed: the "
"existing rotated log files are renamed (.1 becomes .2, .2 becomes .3, etc.) "
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -15717,21 +15688,13 @@ msgstr ""
"oznacza brak hasła, zobacz opcję relay.network.allow_empty_password) (uwaga: "
"zawartość jest przetwarzana, zobacz /help eval)"
#, fuzzy
#| msgid ""
#| "comma separated list of hash algorithms used for password authentication "
#| "in weechat protocol, among these values: \"plain\" (password in plain "
#| "text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
#| "\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!"
#| "\" is a negative value to prevent an algorithm from being used, wildcard "
#| "\"*\" is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"oddzielona przecinkami lista algorytmów hashujących używanych dla "
"uwierzytelnienia hasłem w protokole weechat, dostępne wartości: \"plain\" "
@@ -15741,17 +15704,11 @@ msgstr ""
"użycia algorytmu, znak \"*\" może zostać użyty w nazwie (przykłady: \"*\", "
"\"pbkdf2*\", \"*,!plain\")"
#, fuzzy
#| msgid ""
#| "number of iterations asked to the client in weechat protocol when a "
#| "hashed password with algorithm PBKDF2 is used for authentication; more "
#| "iterations is better in term of security but is slower to compute; this "
#| "number should not be too high if your CPU is slow"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
"ilość iteracji zapytań klienta protokołu weechat w przypadku hashowania "
"haseł algorytmem PBKDF2 podczas uwierzytelnienia; im więcej iteracji tym "
@@ -15800,11 +15757,6 @@ msgstr ""
"hasła, ...; wysoka liczba obniża poziom bezpieczeństwa (0 lub 1 to zalecane "
"wartości)"
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -15813,7 +15765,7 @@ msgstr ""
"Rozszerzone wyrażenia regularne POSIX ze źródłami dozwolonymi dla gniazd "
"webowych (nie wrażliwe na wielkość znaków, umieszczenie \"(?-i)\" na "
"początku sprawi, że wielość znaków będzie miała znaczenie), przykład: "
"\"^https?://(www\\.)?example\\.(com|org)\""
"\"^http://(www\\.)?przykład\\.(com|org)\""
msgid ""
"enable websocket extension \"permessage-deflate\" to compress websocket "
@@ -15933,11 +15885,11 @@ msgstr "liczba podłączonych klientów"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
"protokół, status (oba są opcjonalne, dla każdego argumentu „*” oznacza "
"wszystko; protokoły: api, irc, weechat; statusy: connecting, waiting_auth, "
"wszystko; protokoły: irc, weechat; statusy: connecting, waiting_auth, "
"connected, auth_failed, disconnected)"
msgid "list of relay clients"
@@ -16072,11 +16024,6 @@ msgstr "%s%s: nie można wykonać \"bind\" na ścieżce %s (%s): błąd %d %s"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: nie można wykonać \"bind\" na porcie %d (%s): błąd %d %s"
#, fuzzy, c-format
#| msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s%s: nie można wykonać \"listen\" na ścieżce %s (%s): błąd %d %s"
#, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: nie można wykonać \"listen\" na ścieżce %s (%s): błąd %d %s"
@@ -16117,8 +16064,9 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: za mało pamięci do nasłuchu na nowym porcie"
msgid "Relay WeeChat data to remote applications"
msgstr "Przekazywanie danych WeeChat do zdalnych aplikacji"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
"Przekazywanie danych WeeChat do zdalnych aplikacji (protokoły irc i weechat)"
msgid "connecting"
msgstr "łączę"
@@ -16350,16 +16298,11 @@ msgstr "(brak)"
msgid "Alt+key/input: v=back to list d=jump to diff"
msgstr "Alt+klawisz/wejście: v=wróć do listy d=skocz do diff"
#, fuzzy, c-format
#| msgid ""
#| "%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, "
#| "r=remove, l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view "
#| "script | Input: q=close, $=refresh, s:x,y=sort, words=filter, *=reset "
#| "filter | Mouse: left=select, right=install/remove"
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
"%d/%d skrypty (filtr: %s) | Sort: %s | Alt+klawisz/wejście: i=instaluj "
@@ -16747,11 +16690,6 @@ msgstr "1 jeśli skrypt jest załadowany"
msgid "script name with extension"
msgstr "nazwa skryptu z rozszerzeniem"
#, fuzzy
#| msgid "comma separated list of file name extensions for plugins"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "oddzielona przecinkami lista rozszerzeń nazw plików dla wtyczek"
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
"nazwa skryptu z rozszerzeniem (wildcard \"*\" jest dozwolony) (opcjonalne)\""
+27 -54
View File
@@ -22,10 +22,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-12 20:24+0100\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese - Portugal <weechat-dev@nongnu.org>\n"
"Language-Team: Portuguese <>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -165,10 +165,10 @@ msgstr ""
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilado a %s %s\n"
"Desenvolvido por %s <%s> - %s"
"Desenvolvido por Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr "Utilização:"
@@ -1190,16 +1190,6 @@ msgstr ""
"mensagem: mensagem de ausência (se não for indicada uma mensagem, o estado "
"ausente é removido)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
msgid "manage bars"
msgstr "gerir barras"
@@ -12505,8 +12495,8 @@ msgstr "nome do servidor"
msgid "get nick from IRC host"
msgstr "obter nick do host de IRC"
msgid "IRC host (like `:nick!name@server`)"
msgstr "host de IRC (tal como `:nick!nome@servidor`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "host de IRC (tal como `:nick!nome@servidor.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12749,8 +12739,8 @@ msgstr "%s%s: este buffer não é um canal!"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -13954,7 +13944,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -15844,11 +15834,11 @@ msgstr ""
#, fuzzy
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"lista de plugins separados por vírgula para carregar automaticamente ao "
"iniciar, \"*\" significa todos os plugins encontrados, um nome começado com "
@@ -15857,10 +15847,10 @@ msgstr ""
"tcl\")"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
msgid ""
@@ -15893,11 +15883,6 @@ msgid ""
"1 are recommended values)"
msgstr ""
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
#, fuzzy
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
@@ -16021,7 +16006,7 @@ msgstr "número de cliente para reencaminhar"
#, fuzzy
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
"nome de estado (opcional): connecting, waiting_auth, connected, auth_failed, "
@@ -16170,10 +16155,6 @@ msgstr "%s%s: não é possível efetuar \"bind\" da porta %d (%s): erro %d %s"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: não é possível efetuar \"bind\" da porta %d (%s): erro %d %s"
#, fuzzy, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s%s: não foi possível efetuar \"listen\" da porta %d (%s): erro %d %s"
#, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: não foi possível efetuar \"listen\" da porta %d (%s): erro %d %s"
@@ -16214,8 +16195,10 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: memória insuficiente para escutar nova porta"
msgid "Relay WeeChat data to remote applications"
msgstr "Reencaminhar dados do WeeChat para aplicações remotas"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
"Reencaminhar dados do WeeChat para aplicações remotas (protocolos irc/"
"weechat)"
msgid "connecting"
msgstr "a conectar"
@@ -16459,16 +16442,11 @@ msgstr "(nada)"
msgid "Alt+key/input: v=back to list d=jump to diff"
msgstr "Alt+tecla/entrada: v=voltar à lista d=saltar para o diff"
#, fuzzy, c-format
#| msgid ""
#| "%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, "
#| "r=remove, l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view "
#| "script | Input: q=close, $=refresh, s:x,y=sort, words=filter, *=reset "
#| "filter | Mouse: left=select, right=install/remove"
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
"%d/%d scripts (filtro: %s) | Ordenar: %s | Alt+tecla/entrada: i=instalar, "
@@ -16869,11 +16847,6 @@ msgstr "scripts %s carregados:"
msgid "script name with extension"
msgstr "lista de extensões de script"
#, fuzzy
#| msgid "comma separated list of file name extensions for plugins"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "lista de extensões de ficheiros separadas por vírgula para os plugins"
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
"nome do script com extensão (o caráter universal \"*\" é permitido) "
+23 -46
View File
@@ -46,10 +46,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-12 20:19+0100\n"
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
"Language-Team: Portuguese - Brazil <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -189,10 +189,10 @@ msgstr ""
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Copyright %s, compilado em %s %s\n"
"Desenvolvido por %s <%s> - %s"
"Desenvolvido por Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr "Uso:"
@@ -1201,16 +1201,6 @@ msgstr ""
"message: mensagem para ausência (se nenhuma mensagem for fornecida, o status "
"de ausência é removido)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
msgid "manage bars"
msgstr "gerenciar barras"
@@ -11654,8 +11644,8 @@ msgstr "nome do servidor"
msgid "get nick from IRC host"
msgstr "obter apelido de host IRC"
msgid "IRC host (like `:nick!name@server`)"
msgstr "host IRC (exemplo: `:apelido!nome@servidor`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "host IRC (exemplo: `:apelido!nome@servidor.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -11891,8 +11881,8 @@ msgstr "%s%s: este buffer não é um canal!"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -13056,7 +13046,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -14888,11 +14878,11 @@ msgstr ""
#, fuzzy
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"lista separada por vírgulas dos plugins para carregar automaticamente "
"nainicialização, \"*\" significa todos os plugins encontrados, um nome "
@@ -14901,10 +14891,10 @@ msgstr ""
"plugins (exemplos: \"*\" ou \"*,!lua,!tcl\")"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
msgid ""
@@ -14937,11 +14927,6 @@ msgid ""
"1 are recommended values)"
msgstr ""
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
#, fuzzy
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
@@ -15060,7 +15045,7 @@ msgstr "numero de clientes para o relay"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
@@ -15180,10 +15165,6 @@ msgstr "%s%s: erro ao associar (\"bind\") na porta %d (%s.%s)"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: erro ao associar (\"bind\") na porta %d (%s.%s)"
#, fuzzy, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s%s: não foi possível aceitar o cliente na porta %d (%s.%s)"
#, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: não foi possível aceitar o cliente na porta %d (%s.%s)"
@@ -15220,7 +15201,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: memória insuficiente para escutar na nova porta"
msgid "Relay WeeChat data to remote applications"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
msgid "connecting"
@@ -15464,9 +15445,9 @@ msgstr "Alt+key/input: v=volta para lista d=pular para o diff"
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
@@ -15838,10 +15819,6 @@ msgstr "scripts %s carregados:"
msgid "script name with extension"
msgstr "list de scripts"
#, fuzzy
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "lista de dicionários (separados por vírgula) para uso neste buffer"
#, fuzzy
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
+20 -42
View File
@@ -23,10 +23,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-08 08:59+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: Russian <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -162,7 +162,7 @@ msgstr ""
#, fuzzy, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"%s Copyright (C) 2003-2010, собран %s %s\n"
"Разработчик - Sébastien Helleu <flashcode@flashtux.org> - %s"
@@ -1179,16 +1179,6 @@ msgstr ""
" -all: включить режим \"отсутствую\" на всех подключенных серверах\n"
"сообщение: причина отсутствия (если сообщения нет - статус снимается)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
#, fuzzy
msgid "manage bars"
msgstr "управление буферами"
@@ -11337,7 +11327,7 @@ msgstr "цель: название сервера"
msgid "get nick from IRC host"
msgstr "банит ник или хост"
msgid "IRC host (like `:nick!name@server`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr ""
msgid ""
@@ -11571,8 +11561,8 @@ msgstr "Это окно не является каналом!\n"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -12696,7 +12686,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -14452,21 +14442,21 @@ msgstr ""
#, fuzzy
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"разделённый запятыми список автоматически загружаемых при запуске plug-"
"in'ов , \"*\" означает все найденные plug-in'ы (имена могут быть не полными, "
"например \"perl\" успешно загрузит \"libperl.so\")"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
msgid ""
@@ -14499,11 +14489,6 @@ msgid ""
"1 are recommended values)"
msgstr ""
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -14603,7 +14588,7 @@ msgstr "Нет сервера.\n"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
@@ -14725,10 +14710,6 @@ msgstr "%s невозможно создать сокет\n"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s невозможно создать сокет\n"
#, fuzzy, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s невозможно создать сокет\n"
#, fuzzy, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s невозможно создать сокет\n"
@@ -14767,7 +14748,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s недостаточно памяти для нового DCC\n"
msgid "Relay WeeChat data to remote applications"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
#, fuzzy
@@ -15011,9 +14992,9 @@ msgstr ""
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
@@ -15367,9 +15348,6 @@ msgstr "FIFO pipe закрыт\n"
msgid "script name with extension"
msgstr "Список сокращений:\n"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr ""
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
+57 -96
View File
@@ -22,10 +22,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-21 17:26+0100\n"
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
"Language-Team: Serbian <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -166,10 +166,10 @@ msgstr "искључује иниц/деиниц gcrypt"
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s ауторска права %s, компајлиран %s %s\n"
"Написао %s <%s> - %s"
"Написао Себастијен Елеу <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr "Употреба:"
@@ -1138,20 +1138,6 @@ msgid ""
msgstr ""
"порука: порука одсутности (ако се не наведе, статус одсутности се уклања)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
"irc додатак подразумевао приказује статус одсутности се само локално "
"(погледајте /help irc.look.display_away)."
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
"Ову команду могу да ухвате остали додаци и скрипте (погледајте "
"„Референтноупутство за API додатака”, функцију „hook_command_run”)."
msgid "manage bars"
msgstr "управљање тракама"
@@ -1254,12 +1240,16 @@ msgstr "маска: име у којем је дозвољен џокер „*
msgid "raw[set]: set a value for a bar property"
msgstr "raw[set]: поставља вредност особине траке"
#, fuzzy
#| msgid ""
#| "option: option to change (for options list, look at /set weechat.bar."
#| "<barname>.*)"
msgid ""
"option: option to change (for options list, look at /set weechat.bar."
"<bar_name>.*)"
msgstr ""
"опција: опција која се мења (за листу опција, погледајте /set weechat.bar."
"<име_траке>.*)"
"<иметраке>.*)"
msgid "value: new value for option"
msgstr "вредност: нова вредност опције"
@@ -1789,11 +1779,14 @@ msgid "evaluate expression"
msgstr "израчунавање израза"
#. TRANSLATORS: only text between angle brackets (eg: "<name>") may be translated
#, fuzzy
#| msgid ""
#| "[-n|-s] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
#| "<expression2>"
msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>"
msgstr ""
"[-n|-s] [-e] [-d] <израз> || [-n] [-d [-d]] -c <израз1> <оператор> <израз2>"
msgstr "[-n|-s] [-d] <израз> || [-n] [-d [-d]] -c <израз1> <оператор> <израз2>"
msgid "raw[-n]: display result without sending it to buffer (debug mode)"
msgstr "raw[-n]: приказује резултат и не шаље га у бафер (дибаг режим)"
@@ -1806,7 +1799,7 @@ msgstr ""
"тачка запетама)"
msgid "raw[-e]: evaluate all commands before executing them"
msgstr "raw[-e]: израчунај све команде пре него што се изврше"
msgstr ""
msgid ""
"raw[-d]: display debug output after evaluation (with two -d: more verbose "
@@ -3464,12 +3457,16 @@ msgstr "raw[del]: брише проксије"
msgid "raw[set]: set a value for a proxy property"
msgstr "raw[set]: поставља вредност особине проксија"
#, fuzzy
#| msgid ""
#| "option: option to change (for options list, look at /set weechat.proxy."
#| "<proxyname>.*)"
msgid ""
"option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)"
msgstr ""
"опција: опција која треба да се промени (за листу опција, погледајте /set "
"weechat.proxy.<име_проксија>.*)"
"weechat.proxy.<имепроксија>.*)"
msgid " add a http proxy, running on local host, port 8888:"
msgstr " додаје http прокси који се извршава на локалном хосту, порт 8888:"
@@ -4051,8 +4048,10 @@ msgstr ""
msgid "With option \"-quit\", the process is:"
msgstr "Процес са опцијом „-quit” је следећи:"
#, fuzzy
#| msgid " 1. close *ALL* connections (irc, xfer, relay, ...)"
msgid " 1. close *ALL* connections (irc, xfer, relay, etc.)"
msgstr " 1. затварање *СВИХ* конекција (irc, xfer, relay, итд.)"
msgstr " 1. затварање *СВИХ* конекција (irc, xfer, relay, ...)"
msgid " 2. save session into files (*.upgrade)"
msgstr " 2. чување сесије у фајлове (*.upgrade)"
@@ -11907,6 +11906,7 @@ msgstr ""
msgid "left/right scroll in /list buffer (percent of width)"
msgstr "скроловање у лево/десно у /list баферу (проценат ширине)"
#, fuzzy
msgid ""
"comma-separated list of fields to sort channels (see /help list for a list "
"of fields); char \"-\" can be used before field to reverse order, char \"~\" "
@@ -11917,8 +11917,8 @@ msgstr ""
"листа поља за сортирање канала раздвојених запетама (погледајте /help list "
"за листу поља); карактер „-” може да се користи испред поља чиме се обрће "
"редослед, карактер „~” може да се употреби за поређење које не прави разлику "
"у величини слова; пример: „-users,~name2” најпре за највеће канале, па онда "
"сортирање које не прави разлику у величини слова по имену канала без префикса"
"у величини слова; пример: „-users,~name2” за поређење које не прави разлику "
"у величини слова и обрнуто сортирање по имену опције"
msgid "strip channel topic colors in /list buffer"
msgstr "уклањање боја теме канала у /list баферу"
@@ -12446,8 +12446,8 @@ msgstr "име сервера"
msgid "get nick from IRC host"
msgstr "враћа надимак из IRC хоста"
msgid "IRC host (like `:nick!name@server`)"
msgstr "IRC хост (као `:надимак!име@сервер`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC хост (као `:надимак!име@сервер.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12664,13 +12664,10 @@ msgstr "%s%s: нисте повезани са сервером"
msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: овај бафер није канал!"
#, fuzzy, c-format
#| msgid ""
#| "%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
#| "channel, ($)=refresh, (q)=close buffer"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
"%d канала (укупно: %d) | Филтер: %s | Сортирање: %s | Тастер(унос): ctrl+j= "
"приступ каналу, ($)=освежавање, (q)=затварање бафера"
@@ -13870,7 +13867,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -13880,9 +13877,9 @@ msgstr ""
"текућем фајлу се поставља екстензија .1; дозвољава се цели број са суфиксом: "
"b = бајтова (подразумевано ако се не наведе јединица), k = килобајта, m = "
"мегабајта, g = гигабајта, t = терабајта; пример: „2g” значи да се ротација "
"врши ако је величина фајла > 2 GB; ако се постави на „0”, ротација се не "
"врши (нема ограничења лог фајла); УПОЗОРЕЊЕ: пре него што промените ову "
"опцију, требало би најпре да поставите тип компресије опцијом "
"врши ако је величина фајла > 2,000,000,000 бајтова; ако се постави на „0”, "
"ротација се не врши (нема ограничења лог фајла); УПОЗОРЕЊЕ: пре него што "
"промените ову опцију, требало би најпре да поставите тип компресије опцијом "
"logger.file.rotation_compression_type"
msgid ""
@@ -15679,21 +15676,13 @@ msgstr ""
"relay.network.allow_empty_password) (напомена: садржај се израчунава, "
"погледајте /help eval)"
#, fuzzy
#| msgid ""
#| "comma separated list of hash algorithms used for password authentication "
#| "in weechat protocol, among these values: \"plain\" (password in plain "
#| "text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
#| "\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!"
#| "\" is a negative value to prevent an algorithm from being used, wildcard "
#| "\"*\" is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"листа хеш алгоритама раздвојених запетама који се користе за аутентификацију "
"лозинке у weechat протоколу, могу бити: „plain” (лозинка је чисти текст, не "
@@ -15702,17 +15691,11 @@ msgstr ""
"спречава употреба тог алгоритма, у именима је дозвољена употреба џокера „*” "
"(примери: „*”, „pbkdf2*”, „*,!plain”)"
#, fuzzy
#| msgid ""
#| "number of iterations asked to the client in weechat protocol when a "
#| "hashed password with algorithm PBKDF2 is used for authentication; more "
#| "iterations is better in term of security but is slower to compute; this "
#| "number should not be too high if your CPU is slow"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
"број итерација који се захтева од клијента у weechat протоколу када се за "
"аутентификацију користи лозинка хеширана PBKDF2 алгоритмом ; више итерација "
@@ -15761,13 +15744,6 @@ msgstr ""
"након, ...; велики број умањује ниво безбедности (препоручене вредности су 0 "
"или 1)"
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
"дозволе за Unix сокет, као октална вредност (погледајте man chmod); мора да "
"буде број од 3 цифре, свака између 0 и 7"
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -15893,11 +15869,11 @@ msgstr "број клијената за релеј"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
"протокол,статус (оба нису обавезна, за сваки аргумент „*” значи све; "
"протоколи: api, irc, weechat; статуси: connecting, waiting_auth, connected, "
"протоколи: irc, weechat; статуси: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgid "list of relay clients"
@@ -16030,11 +16006,6 @@ msgstr "%s%s: „bind” не може да се изврши на путању
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: „bind” не може да се изврши на порт %d (%s): грешка %d %s"
#, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr ""
"%s%s: упозорење: не могу да се поставе дозволе на путањи %s (%s): грешка%d %s"
#, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: „listen” не може да се покрене на путањи %s (%s): грешка%d %s"
@@ -16074,8 +16045,8 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: нема довољно слободне меморије за слушање на новом порту"
msgid "Relay WeeChat data to remote applications"
msgstr "Релеј WeeChat података удаљеној апликацији"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr "Релеј WeeChat података удаљеној апликацији (irc/weechat протоколи)"
msgid "connecting"
msgstr "повезивање"
@@ -16303,16 +16274,11 @@ msgstr "(ништа)"
msgid "Alt+key/input: v=back to list d=jump to diff"
msgstr "Alt+тастер/унос: v=назад на листу d=скок на diff"
#, fuzzy, c-format
#| msgid ""
#| "%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, "
#| "r=remove, l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view "
#| "script | Input: q=close, $=refresh, s:x,y=sort, words=filter, *=reset "
#| "filter | Mouse: left=select, right=install/remove"
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
"%d/%d скрипти (филтер: %s) | Сортирање: %s | Alt+тастер/унос: i=инсталација, "
@@ -16695,11 +16661,6 @@ msgstr "1 ако је скрипта учитана"
msgid "script name with extension"
msgstr "име скрипте са екстензијом"
#, fuzzy
#| msgid "comma separated list of file name extensions for plugins"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "листа екстензија имена фајлова за додатке раздвојених запетама"
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "име скрипте са екстензијом (дозвољен је џокер „*”) (није обавезно)"
@@ -17740,9 +17701,6 @@ msgid ""
"text to display before the nicks in the bar item \"typing\"; if set, it is "
"used instead of the translated string \"Typing: \" which is used by default"
msgstr ""
"текст који се приказује испред надимака у ставци траке „typing”; ако је "
"постављен, употребиће се уместо преведеног стринга „Typing: ”, који се "
"подразумевано користи"
msgid "Typing status of users"
msgstr "Статус куцања корисника"
@@ -17876,14 +17834,17 @@ msgstr "величина блока за слање пакета, у бајто
msgid "does not wait for ACK when sending file"
msgstr "не чека се на ACK када се шаље фајл"
#, fuzzy
#| msgid ""
#| "IP or DNS address used for sending and passively receiving files/chats "
#| "(if empty, local interface IP is used)"
msgid ""
"IP or DNS address used for sending and passively receiving files/chats; if "
"empty, local interface IP is used (note: content is evaluated, see /help "
"eval)"
msgstr ""
"IP или DNS адреса која се користи за слање и пасивно примање фајлова/"
"разговора; ако је празно, користи се IP локалног интерфејса (напомена: "
"садржај сер израчунава, погледајте /help eval)"
"разговора (ако је празно, користи се IP локалног интерфејса)"
msgid ""
"restricts outgoing files/chats and incoming/passive files to use only ports "
+164 -168
View File
@@ -23,10 +23,10 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"PO-Revision-Date: 2026-05-30 14:02+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+0100\n"
"PO-Revision-Date: 2026-03-24 23:00+0100\n"
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
"Language-Team: Turkish <weechat-dev@nongnu.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -85,9 +85,8 @@ msgstr "-P, --plugins <eklenti>"
#. TRANSLATORS: command line option "-P", "--plugins <plugins>"
msgid "load only these plugins at startup (see /help weechat.plugin.autoload)"
msgstr ""
"başlangıçta yalnızca bu üç eklentiyi yükle (bkz. /help "
"weechat.plugin.autoload)"
msgstr "başlangıçta yalnızca bu üç eklentiyi yükle "
"(bkz. /help weechat.plugin.autoload)"
#. TRANSLATORS: only "<cmd>" may be translated (please keep it short)
msgid "-r, --run-command <cmd>"
@@ -163,10 +162,10 @@ msgstr "gcrypt başlat/sonlandır devre dışı bırak"
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
"WeeChat %s Telif hakkı %s, %s %s tarihinde derlendi\n"
"Geliştirici: %s <%s> - %s"
"Geliştirici: Sébastien Helleu <flashcode@flashtux.org> - %s"
msgid "Usage:"
msgstr "Kullanım:"
@@ -1129,21 +1128,6 @@ msgid ""
msgstr ""
"ileti: Uzakta durumu iletisi (eğer bir ileti verilmezse durum kaldırılır)"
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
#, fuzzy
#| msgid ""
#| " - ${color:name}: the color (see \"Plugin API reference\", function "
#| "\"color\")"
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
" - ${color:ad}: Renk adı (bkz. \"Eklenti API başvurusu\", \"color\" işlevi)"
msgid "manage bars"
msgstr "çubukları yönet"
@@ -1787,7 +1771,8 @@ msgid ""
"[-n|-s] [-e] [-d] <expression> || [-n] [-d [-d]] -c <expression1> <operator> "
"<expression2>"
msgstr ""
"[-n|-s] [-e] [-d] <ifade> || [-n] [-d [-d]] -c <ifade1> <işleç> <ifade2>"
"[-n|-s] [-e] [-d] <ifade> || [-n] [-d [-d]] -c <ifade1> <işleç> "
"<ifade2>"
msgid "raw[-n]: display result without sending it to buffer (debug mode)"
msgstr "raw[-n]: Arabelleğe göndermeden sonucu görüntüle (hata ayıklama kipi)"
@@ -2411,8 +2396,7 @@ msgstr "-list|-listfull [<eklenti>...] || <komut> || <seçenek>"
msgid ""
"raw[-list]: list commands, by plugin (without argument, this list is "
"displayed)"
msgstr ""
"raw[-list]: Eklentiye göre komutları listele (argümansız bu liste "
msgstr "raw[-list]: Eklentiye göre komutları listele (argümansız bu liste "
"görüntülenir)"
msgid "raw[-listfull]: list commands with description, by plugin"
@@ -2466,8 +2450,8 @@ msgid ""
"clear only highest level in hotlist, or level mask: integer which is a "
"combination of 1=join/part, 2=message, 4=private, 8=highlight"
msgstr ""
"düzey: Sıcak listede yalnızca en düşük düzeyi temizlemek için \"lowest\", en "
"yüksek düzey için \"highest\" veya düzey maskesi olarak tamsayı; şunların "
"düzey: Sıcak listede yalnızca en düşük düzeyi temizlemek için \"lowest\", "
"en yüksek düzey için \"highest\" veya düzey maskesi olarak tamsayı; şunların "
"bir kombinasyonudur: 1=katıl/ayrıl, 2=ileti, 4=özel, 8=vurgula"
msgid "raw[remove]: remove current buffer from hotlist"
@@ -2558,11 +2542,13 @@ msgstr "> raw[delete_next_word]: Sonraki sözcüğü sil"
msgid ""
"> raw[delete_beginning_of_line]: delete from beginning of line until cursor"
msgstr "> raw[delete_beginning_of_line]: Satırın başından imlece kadar sil"
msgstr ""
"> raw[delete_beginning_of_line]: Satırın başından imlece kadar sil"
msgid ""
"> raw[delete_beginning_of_input]: delete from beginning of input until cursor"
msgstr "> raw[delete_beginning_of_input]: Girişin başından imlece kadar sil"
msgstr ""
"> raw[delete_beginning_of_input]: Girişin başından imlece kadar sil"
msgid "> raw[delete_end_of_line]: delete from cursor until end of line"
msgstr "> raw[delete_end_of_line]: İmleçten satırın sonuna kadar sil"
@@ -2668,8 +2654,8 @@ msgid ""
"> raw[insert]: insert text in command line (escaped chars are allowed, see /"
"help print)"
msgstr ""
"> raw[insert]: Komut satırına metin gir (kaçırılan karakterlere izin "
"verilir; bkz. /help print)"
"> raw[insert]: Komut satırına metin gir (kaçırılan karakterlere izin verilir; "
"bkz. /help print)"
msgid "> raw[send]: send text to the buffer"
msgstr "> raw [send]: Arabelleğe metin gönder"
@@ -2727,8 +2713,7 @@ msgstr ""
msgid ""
"raw[recreate]: set input with the command used to edit the custom bar item"
msgstr ""
"raw[recreate]: Özel çubuk ögesini düzenlemede kullanılan komutla girişi "
"ayarla"
"raw[recreate]: Özel çubuk ögesini düzenlemede kullanılan komutla girişi ayarla"
msgid "raw[del]: delete custom bar items"
msgstr "raw[del]: Özel çubuk ögesini sil"
@@ -3323,12 +3308,16 @@ msgstr ""
msgid "raw[set]: set a value for a proxy property"
msgstr ""
#, fuzzy
#| msgid ""
#| "option: option to change (for options list, look at /set weechat.bar."
#| "<barname>.*)"
msgid ""
"option: option to change (for options list, look at /set weechat.proxy."
"<proxy_name>.*)"
msgstr ""
"seçenek: değiştirilecek seçenek (seçenekler listesi için /set weechat.proxy."
"<vekil_adı>.* bölümüne bakın)"
"seçenek: değiştirilecek seçenek (seçenekler listesi için /set "
"weechat.bar<çubukadı>.* komutunu çalıştırın)"
msgid " add a http proxy, running on local host, port 8888:"
msgstr ""
@@ -4205,14 +4194,18 @@ msgstr ""
msgid "names of filters"
msgstr "süzgeçlerin adları"
#, fuzzy
#| msgid "names of filters"
msgid "names of disabled filters"
msgstr "devre dışı bırakılmış süzgeçlerin adları"
msgstr "süzgeçlerin adları"
#, fuzzy
#| msgid "names of filters"
msgid "names of enabled filters"
msgstr "etkinleştirilmiş süzgeçlerin adları"
msgstr "süzgeçlerin adları"
msgid "hook types"
msgstr "kanca türleri"
msgstr ""
msgid ""
"commands (weechat and plugins); optional argument: prefix to add before the "
@@ -6019,10 +6012,12 @@ msgstr "ONULMAZ: Yapılandırma seçenekleri ilklendirilirken hata"
#. TRANSLATORS: "%s %s" after "compiled on" is date and time
#, c-format
msgid "WeeChat %s, compiled on %s %s\n"
msgstr "WeeChat %s, derlenme: %s %s\n"
msgstr ""
#, fuzzy
#| msgid "(old options?)"
msgid "Build options:\n"
msgstr "Yapı seçenekleri:\n"
msgstr "(eski seçenekler?)"
msgid "Windows tree:"
msgstr "Pencereler ağacı:"
@@ -6034,10 +6029,12 @@ msgid "Memory usage not available (function \"mallinfo\" not found)"
msgstr "Bellek kullanımı mevcut değil (\"mallinfo\" işlevi bulunamadı)"
msgid "not initialized"
msgstr "ilklendirilmedi"
msgstr ""
#, fuzzy
#| msgid "no variable"
msgid "not available"
msgstr "kullanılamıyor"
msgstr "değişken yok"
msgid "TEMPORARY, deleted on exit"
msgstr "GEÇİCİ, çıkışta silinir"
@@ -6146,13 +6143,13 @@ msgid "Constants"
msgstr "Sabitler"
msgid "Rank"
msgstr "Derece"
msgstr ""
msgid "Priority"
msgstr "Öncelik"
msgstr ""
msgid "File"
msgstr "Dosya"
msgstr ""
#, fuzzy
#| msgid "Constants"
@@ -6311,8 +6308,10 @@ msgstr ""
"(parolayı atlamak için boşluk düğmesine bir kez basın; ancak bu tüm güvenli "
"veriyi DEVRE DIŞI bırakacaktır!)"
#, fuzzy
#| msgid "(press ctrl-C to exit WeeChat now)"
msgid "(press ctrl-c to exit WeeChat now)"
msgstr "(WeeChat'ten şimdi çıkmak için ctrl-c yapın)"
msgstr "(WeeChat'ten şimdi çıkmak için ctrl-C düğmesine basın)"
msgid ""
"To recover your secured data, you can use /secure decrypt (see /help secure)"
@@ -6369,9 +6368,10 @@ msgid ""
"version is too old?)"
msgstr ""
#, c-format
#, fuzzy, c-format
#| msgid "%sError encrypting data \"%s\" (%d)"
msgid "%sFailed to encrypt data \"%s\" (%d)"
msgstr "%s\"%s\" verisi şifrelenemedi (%d)"
msgstr "%s\"%s\" verisi şifrelenirken hata (%d)"
msgid ""
"cipher used to crypt data (the number after algorithm is the size of the key "
@@ -6451,19 +6451,25 @@ msgid "%sUnknown resource limit \"%s\" (see /help weechat.startup.sys_rlimit)"
msgstr ""
"%sBilinmeyen kaynak limiti \"%s\" (bkz. /help weechat.startup.sys_rlimit)"
#, fuzzy
#| msgid "Memory usage (see \"man mallinfo\" for help):"
msgid "Resource limits (see \"man getrlimit\" for help):"
msgstr "Özkaynak sınırları (yardım için bkz. \"man getrlimit\"):"
msgstr "Bellek kullanımı (yardım için bkz. \"man mallinfo\"):"
#, c-format
#, fuzzy, c-format
#| msgid "%sUnable to set resource limit \"%s\" to %s: error %d %s"
msgid "%sUnable to get resource limit \"%s\": error %d %s"
msgstr "%sÖzkaynak sınırı \"%s\" alınamıyor: Hata %d %s"
msgstr "%sKaynak limiti \"%s\", %s olarak ayarlanamadı: Hata %d %s"
#, c-format
#, fuzzy, c-format
#| msgid "%s: error: dictionary \"%s\" is not available on your system"
msgid "System function \"%s\" is not available"
msgstr "Sistem işlevi \"%s\" kullanılabilir değil"
msgstr "%s: Hata: \"%s\" sözlüğü sisteminizde yok"
#, fuzzy
#| msgid "Memory usage (see \"man mallinfo\" for help):"
msgid "Resource usage (see \"man getrusage\" for help):"
msgstr "Özkaynak kullanımı (yardım için bkz. \"man getrusage\"):"
msgstr "Bellek kullanımı (yardım için bkz. \"man mallinfo\"):"
#, c-format
msgid "%sError upgrading WeeChat with file \"%s\":"
@@ -6544,84 +6550,95 @@ msgid "Upgrade done (%.02fs)"
msgstr "Yükseltme bitti (%.02fs)"
msgid "invalid URL"
msgstr "geçersiz URL"
msgstr ""
msgid "not enough memory"
msgstr "yetersiz bellek"
#, c-format
#, fuzzy, c-format
#| msgid "%sFilter \"%s\" not found"
msgid "file \"%s\" not found"
msgstr "\"%s\" dosyası bulunamadı"
msgstr "%s\"%s\" süzgeci bulunamadı"
#, c-format
#, fuzzy, c-format
#| msgid "%sCannot create file \"%s\""
msgid "cannot write file \"%s\""
msgstr "\"%s\" dosyası yazılamıyor"
msgstr "%s\"%s\" dosyası oluşturulamıyor"
#, fuzzy
#| msgid "fork error"
msgid "transfer error"
msgstr "aktarım hatası"
msgstr "çatal hatası"
#, c-format
msgid "curl error %d (%s) (URL: \"%s\")\n"
msgstr "curl hatası %d (%s) (URL: \"%s\")\n"
#, c-format
#, fuzzy, c-format
#| msgid "curl error %d (%s) (URL: \"%s\")\n"
msgid "transfer stopped (URL: \"%s\")\n"
msgstr "aktarım durduruldu (URL: \"%s\")\n"
msgstr "curl hatası %d (%s) (URL: \"%s\")\n"
#, c-format
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "transfer timeout reached (%.3fs) (URL: \"%s\")\n"
msgstr "aktarım zaman aşımına ulaşıldı (%.3fs) (URL: \"%s\")\n"
msgstr "'%s' komutu sonu, zaman aşımına ulaşıldı (%.1fs)"
#, c-format
msgid "%sAnother command \"%s\" already exists for plugin \"%s\""
msgstr "%sŞu eklenti için başka bir komut (\"%s\") halihazırda var: \"%s\""
#, c-format
#, fuzzy, c-format
#| msgid "%sUnknown command \"%s\" (type /help for help)"
msgid ""
"%sUnknown command \"%s\" (commands are case-sensitive, type /help for help), "
"commands with similar name: %s"
msgstr ""
"%sBilinmeyen komut \"%s\" (komutlar BÜYÜK/küçük harf duyarlıdır; yardım "
"için /help yazın); benzer adlı komutlar: %s"
msgstr "%s Bilinmeyen komut \"%s\" (yardım için /help yazın)"
#, c-format
#, fuzzy, c-format
#| msgid "%sUnknown command \"%s\" (type /help for help)"
msgid ""
"%sUnknown command \"%s\" (type /help for help), commands with similar name: "
"%s"
msgstr ""
"%sBilinmeyen komut \"%s\" (yardım için /help yazın); benzer adlı komutlar: %s"
msgstr "%s Bilinmeyen komut \"%s\" (yardım için /help yazın)"
#, c-format
msgid "%sBad file descriptor (%d) used in hook_fd"
msgstr "%sHatalı dosya açıklayıcısı (%d) hook_fd içinde kullanılmış"
#, c-format
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "End of command '%s', timeout reached (%.3fs)"
msgstr "\"%s\" komutunun sonu; zaman aşımına ulaşıldı (%.3fs)"
msgstr "'%s' komutu sonu, zaman aşımına ulaşıldı (%.1fs)"
#, c-format
msgid "System clock skew detected (%+ld seconds), reinitializing all timers"
msgstr ""
"Sistem saati hatalı (%+ld saniye), tüm zamanlayıcılar yeniden başlatılıyor"
#, c-format
#, fuzzy, c-format
#| msgid "curl error %d (%s) (URL: \"%s\")\n"
msgid "%sURL transfer error: %s (URL: \"%s\")"
msgstr "%sURL aktarım hatası: %s (URL: \"%s\")"
msgstr "curl hatası %d (%s) (URL: \"%s\")\n"
#, c-format
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "End of URL transfer '%s', timeout reached (%.3fs)"
msgstr "\"%s\" URL aktarımının sonu; zaman aşımına ulaşıldı (%.3fs)"
msgstr "'%s' komutu sonu, zaman aşımına ulaşıldı (%.1fs)"
#, c-format
msgid "%sError running thread in hook_url: %s (URL: \"%s\")"
msgstr "%shook_url içinde iş parçacığı çalıştırılırken hata: %s (URL: \"%s\")"
msgstr ""
#, c-format
#, fuzzy, c-format
#| msgid "End of command '%s', timeout reached (%.1fs)"
msgid "End of URL transfer '%s', transfer stopped"
msgstr "\"%s\" URL aktarımının sonu; aktarım durduruldu"
msgstr "'%s' komutu sonu, zaman aşımına ulaşıldı (%.1fs)"
#, fuzzy
#| msgid "WeeChat is running in headless mode (Ctrl-C to quit)."
msgid "WeeChat is running in headless mode (ctrl-c to quit)."
msgstr "WeeChat başsız kipte çalışıyor (çıkmak için ctrl-c yapın)."
msgstr "WeeChat başsız kipte çalışıyor (çıkmak için Ctrl-C)."
msgid ""
"Welcome to WeeChat!\n"
@@ -6720,7 +6737,7 @@ msgid "Nick colors:"
msgstr "Takma ad renkleri:"
msgid "Syntax highlighting colors in evaluated strings:"
msgstr "Değerlendirilen dizilerdeki sözdizim vurgulama renkleri:"
msgstr ""
msgid "Color aliases:"
msgstr "Renk armaları:"
@@ -6764,30 +6781,35 @@ msgstr "çubuk ögesinin içeriği (değerlendirilir, bkz. /help eval)"
#, c-format
msgid "debug: long callback: bar: %s, item: %s, plugin: %s, time elapsed: %s"
msgstr ""
"hata ayıkla: uzun geri çağrı: çubuk: %s, öge: %s, eklenti: %s, geçen süre: %s"
#, c-format
#, fuzzy, c-format
#| msgid "%sPaste %d line? [ctrl-Y] Yes [ctrl-N] No"
#| msgid_plural "%sPaste %d lines? [ctrl-Y] Yes [ctrl-N] No"
msgid "%sPaste %d line? [ctrl-y] Yes [ctrl-n] No"
msgid_plural "%sPaste %d lines? [ctrl-y] Yes [ctrl-n] No"
msgstr[0] "%s%d satır yapıştırılsın mı? [ctrl-y] Evet [ctrl-n] Hayır"
msgstr[1] "%s%d satır yapıştırılsın mı? [ctrl-y] Evet [ctrl-n] Hayır"
msgstr[0] "%s%d satır yapıştırılsın mı? [ctrl-Y] Evet [ctrl-N] Hayır"
msgstr[1] "%s%d satır yapıştırılsın mı? [ctrl-Y] Evet [ctrl-N] Hayır"
#. TRANSLATORS: search in "local" history
msgid "local"
msgstr "yerel"
msgstr ""
#. TRANSLATORS: search in "global" history
msgid "global"
msgstr "global"
msgstr ""
#, fuzzy
#| msgid "Search"
msgid "Search lines"
msgstr "Satırlar ara"
msgstr "Arama"
#, fuzzy
#| msgid "default command:"
msgid "Search command"
msgstr "Arama komutu"
msgstr "öntanımlı komut:"
msgid "keyboard and mouse debug ('q' to quit debug mode)"
msgstr "klavye ve fare hata ayıklaması (bu kipten çıkmak için \"q\"ya basın)"
msgstr ""
#, c-format
msgid "%s-MORE(%d)-"
@@ -6946,9 +6968,10 @@ msgstr ""
msgid "New key binding (context \"%s\"): %s%s => %s%s"
msgstr "Yeni düğme bağıntısı (bağlam: \"%s\"): %s%s => %s%s"
#, c-format
#, fuzzy, c-format
#| msgid "%sUnable to bind key \"%s\""
msgid "%sUnable to bind key \"%s\" in context \"%s\" (see /help key)"
msgstr "%s\"%s\" düğmesi, \"%s\" bağlamında bağıntılanamıyor (bkz. /help key)"
msgstr "%s\"%s\" düğmesi bağlanamıyor"
#, c-format
msgid ""
@@ -6965,8 +6988,6 @@ msgid ""
"%sWarning: key \"%s\" seems either a raw code or invalid, it may not work "
"(see /help key)"
msgstr ""
"%sUyarı: \"%s\" düğmesi ya bir ham kod ya da geçersiz, çalışmayabilir (bkz. /"
"help key)"
#, c-format
msgid "Key \"%s\" unbound (context: \"%s\")"
@@ -6987,14 +7008,16 @@ msgstr "hsignal gönderiliyor: \"%s\""
msgid "Executing command: \"%s\" on buffer \"%s\""
msgstr "Komut yürütülüyor: \"%s\", \"%s\" arabelleğinde"
#, fuzzy
#| msgid "list of key bindings"
msgid "no key binding"
msgstr "düğme bağıntısı yok"
msgstr "düğme bağıntılarının listesi"
msgid "debug:"
msgstr "hata ayıkla:"
msgstr ""
msgid "mouse"
msgstr "fare"
msgstr ""
#, c-format
msgid "Debug enabled for mouse (%s)"
@@ -7007,13 +7030,15 @@ msgstr "Fare için hata ayıklaması devre dışı"
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s%s: \"%s\" => \"%s\" arması oluşturulurken hata"
#, c-format
#, fuzzy, c-format
#| msgid "Alias \"%s\" => \"%s\" created"
msgid "Alias updated: \"%s\" => \"%s\""
msgstr "Arma güncellendi: \"%s\" => \"%s\""
msgstr "\"%s\" => \"%s\" arması oluşturuldu"
#, c-format
#, fuzzy, c-format
#| msgid "Alias \"%s\" => \"%s\" created"
msgid "Alias created: \"%s\" => \"%s\""
msgstr "Arma oluşturuldu: \"%s\" => \"%s\""
msgstr "\"%s\" => \"%s\" arması oluşturuldu"
#, c-format
msgid "Aliases with \"%s\":"
@@ -7057,9 +7082,9 @@ msgid ""
"addcompletion|addreplacecompletion <completion> <name> [<command>[;"
"<command>...]] || del <name>|<mask>... || rename <name> <new_name> || missing"
msgstr ""
"list [<ad>] || add|addreplace <ad> [<komut>[;<komut>...]] || addcompletion|"
"addreplacecompletion <tamamlama> <ad> [<komut>[;<komut>...]] || del <ad>|"
"<maske>... || rename <ad> <yeni_ad> || missing"
"list [<ad>] || add|addreplace <ad> [<komut>[;<komut>...]] || "
"addcompletion|addreplacecompletion <tamamlama> <ad> [<komut>[;"
"<komut>...]] || del <ad>|<maske>... || rename <ad> <yeni_ad> || missing"
msgid "raw[list]: list aliases (without argument, this list is displayed)"
msgstr ""
@@ -7280,12 +7305,16 @@ msgid ""
" - ${number_displayed}: \"1\" if the number is displayed, otherwise \"0\""
msgstr ""
#, fuzzy
#| msgid ""
#| "string displayed to indent channel and private buffers (note: content is "
#| "evaluated, see /help buflist)"
msgid ""
" - ${indent}: indentation for name (channel, private and list buffers are "
"indented) (evaluation of option buflist.format.indent)"
msgstr ""
" - ${indent}: Ad için girintileme (kanal, özel ve liste arabellekleri "
"girintilenir) (buflist.format.indent seçeneğinin değerlendirmesi)"
"kanal ve özel arabellekleri girintilendirmek için görüntülenen dizi (not: "
"içerik değerlendirilir, bkz. /help buflist)"
msgid ""
" - ${format_nick_prefix}: colored nick prefix for a channel (evaluation "
@@ -12620,8 +12649,8 @@ msgstr "sunucu adı"
msgid "get nick from IRC host"
msgstr "IRC makinesinden takma adı al"
msgid "IRC host (like `:nick!name@server`)"
msgstr "IRC makinesi (örneğin: `:nick!name@server`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr "IRC makinesi (örneğin: `:nick!name@server.com`)"
msgid ""
"get nick color code (*deprecated* since version 1.5, replaced by "
@@ -12857,8 +12886,8 @@ msgstr "%s%s: Bu arabellek bir kanal değil!"
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -14087,7 +14116,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -16043,21 +16072,13 @@ msgstr ""
"şifreye gerek yok anlamına gelir, relay.network.allow_empty_password "
"seçeneğine bakın) (not: içerik değerlendirilir, bkz. /help eval)"
#, fuzzy
#| msgid ""
#| "comma separated list of hash algorithms used for password authentication "
#| "in weechat protocol, among these values: \"plain\" (password in plain "
#| "text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
#| "\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!"
#| "\" is a negative value to prevent an algorithm from being used, wildcard "
#| "\"*\" is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
"weechat protokolünde parola doğrulaması yapmak için kullanılan sağlama "
"algoritmalarının virgülle ayrılmış listesi: \"plain\" (düz metin parola, "
@@ -16067,17 +16088,11 @@ msgstr ""
"adlarda \"*\" jokerine izin verilir (örnekler: \"*\", \"pbkdf2\", \"*,!"
"plain\")"
#, fuzzy
#| msgid ""
#| "number of iterations asked to the client in weechat protocol when a "
#| "hashed password with algorithm PBKDF2 is used for authentication; more "
#| "iterations is better in term of security but is slower to compute; this "
#| "number should not be too high if your CPU is slow"
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
"PBKDF2 algoritmasını kullanan bir sağlaması yapılmış bir parola kimlik "
"doğrulama için kullanıldığında istemciye sorulan yineleme sayısı; daha fazla "
@@ -16136,11 +16151,6 @@ msgstr ""
"parola, geçerli parola ve sonrasında iki parola kabul et, ..., yüksek sayı "
"güvenlik düzeyini düşürür (0 ve 1 önerilir)"
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
#, fuzzy
#| msgid ""
#| "POSIX extended regular expression with origins allowed in websockets "
@@ -16276,11 +16286,11 @@ msgstr "iletim istemci sayısı"
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
"protocol,status (ikisi de isteğe bağlıdır, her bir argüman için \"*\" tümü "
"anlamına gelir; protokoller: api, irc, weechat; durumlar: connecting, "
"anlamına gelir; protokoller: irc, weechat; durumlar: connecting, "
"waiting_auth, connected, auth_failed, disconnected)"
msgid "list of relay clients"
@@ -16423,11 +16433,6 @@ msgstr "%s%s: %s yolunda \"bağlama\" yapılamıyor (%s): hata %d %s"
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr "%s%s: %d kapısında \"bağlama\" yapılamıyor (%s): hata %d %s"
#, fuzzy, c-format
#| msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr "%s%s: %s yolunda \"dinleme\" yapılamıyor (%s): error %d %s"
#, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr "%s%s: %s yolunda \"dinleme\" yapılamıyor (%s): error %d %s"
@@ -16464,8 +16469,9 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr "%s%s: yeni kapıda dinleme için yetersiz bellek"
msgid "Relay WeeChat data to remote applications"
msgstr "WeeChat verisini uzak konum uygulamalarına ilet"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
"WeeChat verisini uzak konum uygulamalarına ilet (irc/weechat protokolleri)"
msgid "connecting"
msgstr "bağlanıyor"
@@ -16706,16 +16712,11 @@ msgstr "(hiçbir şey)"
msgid "Alt+key/input: v=back to list d=jump to diff"
msgstr "Alt+düğme/girdi: v=listeye geri dön d=diff'e atla"
#, fuzzy, c-format
#| msgid ""
#| "%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, "
#| "r=remove, l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view "
#| "script | Input: q=close, $=refresh, s:x,y=sort, words=filter, *=reset "
#| "filter | Mouse: left=select, right=install/remove"
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
"%d/%d betik (süzgeç: %s) | Sırala: %s | Alt+düğme/girdi: i=kur, r=kaldır, "
@@ -16742,9 +16743,9 @@ msgid ""
"|| -up|-down [<number>] || -go <line>|end"
msgstr ""
"enable || list [-o|-ol|-i|-il] || search <metin> || show <betik> || load|"
"unload|reload <betik>... || autoload|noautoload|toggleautoload <betik>... || "
"install|remove|installremove|hold [-q] <betik>... || upgrade || update || "
"-up|-down [<sayı>] || -go <satır>|end"
"unload|reload <betik>... || autoload|noautoload|toggleautoload <betik>... "
"|| install|remove|installremove|hold [-q] <betik>... || upgrade || update "
"|| -up|-down [<sayı>] || -go <satır>|end"
#, fuzzy
#| msgid ""
@@ -17120,11 +17121,6 @@ msgstr "Hiçbir betik yüklenmedi"
msgid "script name with extension"
msgstr "betik uzantılarının listesi"
#, fuzzy
#| msgid "comma separated list of file name extensions for plugins"
msgid "comma-separated list of plugin:extension with supported languages"
msgstr "eklentiler için dosya adı uzantılarının virgülle ayrılmış listesi"
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr "betik adı, uzantı ile (\"*\" jokerine izin verilir) (isteğe bağlı)"
@@ -18142,8 +18138,8 @@ msgid ""
"text to display before the nicks in the bar item \"typing\"; if set, it is "
"used instead of the translated string \"Typing: \" which is used by default"
msgstr ""
"\"typing\" çubuk ögesinde takma adlardan önce görüntülenecek metin; "
"ayarlıysa öntanımlı olarak görüntülenen \"Yazıyar: \" metni yerine kullanılır"
"\"typing\" çubuk ögesinde takma adlardan önce görüntülenecek metin; ayarlıysa "
"öntanımlı olarak görüntülenen \"Yazıyar: \" metni yerine kullanılır"
msgid "Typing status of users"
msgstr "Kullanıcıların metin yazma durumu"
+19 -41
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2026-06-08 22:23+0200\n"
"POT-Creation-Date: 2026-03-21 17:24+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"
@@ -148,7 +148,7 @@ msgstr ""
#, c-format
msgid ""
"WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> - %s"
"Developed by Sébastien Helleu <flashcode@flashtux.org> - %s"
msgstr ""
msgid "Usage:"
@@ -1072,16 +1072,6 @@ msgid ""
"message: message for away (if no message is given, away status is removed)"
msgstr ""
msgid ""
"By default the away status is displayed only locally by the irc plugin (see /"
"help irc.look.display_away)."
msgstr ""
msgid ""
"This command can be caught by other plugins and scripts (see \"Plugin API "
"reference\", function \"hook_command_run\")."
msgstr ""
msgid "manage bars"
msgstr ""
@@ -10277,7 +10267,7 @@ msgstr ""
msgid "get nick from IRC host"
msgstr ""
msgid "IRC host (like `:nick!name@server`)"
msgid "IRC host (like `:nick!name@server.com`)"
msgstr ""
msgid ""
@@ -10481,8 +10471,8 @@ msgstr ""
#, c-format
msgid ""
"%d channels (total: %d) | Filter: %s | Sort: %s | Keys: ctrl+j=join channel "
"| Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer"
"%d channels (total: %d) | Filter: %s | Sort: %s | Key(input): ctrl+j=join "
"channel, ($)=refresh, (q)=close buffer"
msgstr ""
msgid "Empty list of channels, try \"$\" to refresh list"
@@ -11572,7 +11562,7 @@ msgid ""
"and the current file is renamed with extension .1; an integer number with a "
"suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = "
"megabytes, g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", no rotation is "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", no rotation is "
"performed (unlimited log size); WARNING: before changing this option, you "
"should first set the compression type via option "
"logger.file.rotation_compression_type"
@@ -13177,18 +13167,18 @@ msgstr ""
msgid ""
"comma separated list of hash algorithms used for password authentication in "
"\"api\" and \"weechat\" protocols, among these values: \"plain\" (password "
"in plain text, not hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", "
"\"pbkdf2+sha512\"), \"*\" means all algorithms, a name beginning with \"!\" "
"is a negative value to prevent an algorithm from being used, wildcard \"*\" "
"is allowed in names (examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
"weechat protocol, among these values: \"plain\" (password in plain text, not "
"hashed), \"sha256\", \"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), "
"\"*\" means all algorithms, a name beginning with \"!\" is a negative value "
"to prevent an algorithm from being used, wildcard \"*\" is allowed in names "
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
msgstr ""
msgid ""
"number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security but is slower "
"to compute; this number should not be too high if your CPU is slow"
"number of iterations asked to the client in weechat protocol when a hashed "
"password with algorithm PBKDF2 is used for authentication; more iterations "
"is better in term of security but is slower to compute; this number should "
"not be too high if your CPU is slow"
msgstr ""
msgid ""
@@ -13218,11 +13208,6 @@ msgid ""
"1 are recommended values)"
msgstr ""
msgid ""
"permissions for the Unix socket, as octal value (see man chmod); it must be "
"a number with 3 digits, each between 0 and 7"
msgstr ""
msgid ""
"POSIX extended regular expression with origins allowed in websockets (case-"
"insensitive, use \"(?-i)\" at beginning to make it case-sensitive), example: "
@@ -13314,7 +13299,7 @@ msgstr ""
#. TRANSLATORS: please do not translate the status names, they must be used in English
msgid ""
"protocol,status (both are optional, for each argument \"*\" means all; "
"protocols: api, irc, weechat; statuses: connecting, waiting_auth, connected, "
"protocols: irc, weechat; statuses: connecting, waiting_auth, connected, "
"auth_failed, disconnected)"
msgstr ""
@@ -13433,10 +13418,6 @@ msgstr ""
msgid "%s%s: cannot \"bind\" on port %d (%s): error %d %s"
msgstr ""
#, c-format
msgid "%s%s: warning: failed to set permissions on path %s (%s): error %d %s"
msgstr ""
#, c-format
msgid "%s%s: cannot \"listen\" on path %s (%s): error %d %s"
msgstr ""
@@ -13473,7 +13454,7 @@ msgstr ""
msgid "%s%s: not enough memory for listening on new port"
msgstr ""
msgid "Relay WeeChat data to remote applications"
msgid "Relay WeeChat data to remote application (irc/weechat protocols)"
msgstr ""
msgid "connecting"
@@ -13698,9 +13679,9 @@ msgstr ""
#, c-format
msgid ""
"%d/%d scripts | Filter: %s | Sort: %s | Alt+key/input: i=install, r=remove, "
"%d/%d scripts (filter: %s) | Sort: %s | Alt+key/input: i=install, r=remove, "
"l=load, L=reload, u=unload, A=autoload, h=(un)hold, v=view script | Input: "
"$=refresh, s:x,y=sort, words=filter, *=reset filter, q=close buffer | Mouse: "
"q=close, $=refresh, s:x,y=sort, words=filter, *=reset filter | Mouse: "
"left=select, right=install/remove"
msgstr ""
@@ -14018,9 +13999,6 @@ msgstr ""
msgid "script name with extension"
msgstr ""
msgid "comma-separated list of plugin:extension with supported languages"
msgstr ""
msgid "script name with extension (wildcard \"*\" is allowed) (optional)"
msgstr ""
+1 -3
View File
@@ -178,14 +178,12 @@ args_display_copyright (void)
stdout,
/* TRANSLATORS: "%s %s" after "compiled on" is date and time */
_("WeeChat %s Copyright %s, compiled on %s %s\n"
"Developed by %s <%s> "
"Developed by Sébastien Helleu <flashcode@flashtux.org> "
"- %s"),
version_get_version_with_git (),
WEECHAT_COPYRIGHT_DATE,
version_get_compilation_date (),
version_get_compilation_time (),
WEECHAT_AUTHOR_NAME,
WEECHAT_AUTHOR_EMAIL,
WEECHAT_WEBSITE);
string_fprintf (stdout, "\n");
}
+179 -120
View File
@@ -240,7 +240,8 @@ command_bar_list (int full)
COMMAND_CALLBACK(bar)
{
int i, type, position, number, update;
char *str_type, *pos_condition, *name;
long value;
char *error, *str_type, *pos_condition, *name;
struct t_gui_bar *ptr_bar, *ptr_bar2, *ptr_next_bar;
struct t_gui_bar_item *ptr_item;
struct t_gui_window *ptr_window;
@@ -330,7 +331,10 @@ COMMAND_CALLBACK(bar)
free (str_type);
return WEECHAT_RC_ERROR;
}
if (!util_parse_int (argv[5], 10, NULL))
error = NULL;
value = strtol (argv[5], &error, 10);
(void) value;
if (!error || error[0])
{
gui_chat_printf (NULL,
_("%sInvalid size \"%s\" for bar \"%s\""),
@@ -568,7 +572,9 @@ COMMAND_CALLBACK(bar)
else
{
ptr_window = NULL;
if (util_parse_int (argv[3], 10, &number))
error = NULL;
number = (int)strtol (argv[3], &error, 10);
if (error && !error[0])
ptr_window = gui_window_search_by_number (number);
}
if (!ptr_window)
@@ -603,7 +609,7 @@ COMMAND_CALLBACK(bar)
*/
int
command_buffer_check_number (int number)
command_buffer_check_number (long number)
{
if ((number < 1) || (number > GUI_BUFFER_NUMBER_MAX))
{
@@ -661,11 +667,11 @@ COMMAND_CALLBACK(buffer)
struct t_gui_buffer *ptr_buffer, *ptr_buffer1, *ptr_buffer2;
struct t_gui_buffer *weechat_buffer;
struct t_arraylist *buffers_to_close;
char *value, *pos, *str_number1, *pos_number2;
int i, count, prev_number, clear_by_number, list_size;
int buffer_found, arg_name, type_free, switch_to_buffer, rc;
int number, number1, number2, numbers[3];
long number, number1, number2, numbers[3];
long long number_id;
char *error, *value, *pos, *str_number1, *pos_number2;
int i, count, prev_number, clear_number, list_size;
int buffer_found, arg_name, type_free, switch_to_buffer, rc;
/* make C compiler happy */
(void) pointer;
@@ -746,9 +752,7 @@ COMMAND_CALLBACK(buffer)
if (argc > 2)
{
if (string_strcmp (argv[2], "-all") == 0)
{
gui_buffer_clear_all ();
}
else
{
for (i = 2; i < argc; i++)
@@ -756,19 +760,18 @@ COMMAND_CALLBACK(buffer)
if (string_strcmp (argv[i], "-merged") == 0)
{
ptr_buffer = buffer;
clear_by_number = 1;
clear_number = 1;
}
else
{
ptr_buffer = gui_buffer_search_by_id_number_name (argv[i]);
clear_by_number = (util_parse_int (argv[i], 10, &number)
&& ptr_buffer
&& (ptr_buffer->number == number)) ?
1 : 0;
error = NULL;
(void) strtol (argv[i], &error, 10);
clear_number = (error && !error[0]);
}
if (ptr_buffer)
{
if (clear_by_number)
if (clear_number)
{
for (ptr_buffer2 = gui_buffers; ptr_buffer2;
ptr_buffer2 = ptr_buffer2->next_buffer)
@@ -814,21 +817,20 @@ COMMAND_CALLBACK(buffer)
}
else
{
pos = ((argv[2][0] == '+') || (argv[2][0] == '-')) ?
argv[2] + 1 : argv[2];
if (util_parse_int (pos, 10, &number)
&& (number >= 1)
&& (number <= GUI_BUFFER_NUMBER_MAX)
&& ((argv[2][0] != '+') || (number <= INT_MAX - buffer->number))
&& ((argv[2][0] != '-') || (buffer->number >= INT_MIN + number)))
error = NULL;
number = strtol (((argv[2][0] == '+') || (argv[2][0] == '-')) ?
argv[2] + 1 : argv[2],
&error, 10);
if (error && !error[0]
&& (number >= INT_MIN) && (number <= INT_MAX))
{
if (argv[2][0] == '+')
number = buffer->number + number;
else if (argv[2][0] == '-')
number = buffer->number - number;
if (!command_buffer_check_number (number))
return WEECHAT_RC_ERROR;
gui_buffer_move_to_number (buffer, number);
number = (int)number;
if (command_buffer_check_number (number))
gui_buffer_move_to_number (buffer, number);
}
else
{
@@ -938,6 +940,7 @@ COMMAND_CALLBACK(buffer)
if (string_strcmp (argv[1], "merge") == 0)
{
COMMAND_MIN_ARGS(3, argv[1]);
error = NULL;
ptr_buffer = gui_buffer_search_by_id_number_name (argv[2]);
if (!ptr_buffer)
{
@@ -964,7 +967,9 @@ COMMAND_CALLBACK(buffer)
}
else
{
if (!util_parse_int (argv[2], 10, &number))
error = NULL;
number = strtol (argv[2], &error, 10);
if (!error || error[0])
{
/* invalid number */
gui_chat_printf (NULL,
@@ -973,11 +978,11 @@ COMMAND_CALLBACK(buffer)
argv[2]);
return WEECHAT_RC_ERROR;
}
if (!command_buffer_check_number (number))
if (!command_buffer_check_number ((int)number))
COMMAND_ERROR;
}
}
gui_buffer_unmerge (buffer, number);
gui_buffer_unmerge (buffer, (int)number);
return WEECHAT_RC_OK;
}
@@ -993,26 +998,23 @@ COMMAND_CALLBACK(buffer)
{
for (i = 2; i < argc; i++)
{
ptr_buffer = NULL;
if (util_parse_int (argv[i], 10, &number))
ptr_buffer = gui_buffer_search_by_number (number);
ptr_buffer = gui_buffer_search_by_id_number_name (argv[i]);
if (ptr_buffer)
{
/* hide by number */
for (ptr_buffer2 = gui_buffers; ptr_buffer2;
ptr_buffer2 = ptr_buffer2->next_buffer)
error = NULL;
(void) strtol (argv[i], &error, 10);
if (error && !error[0])
{
if (ptr_buffer2->number == ptr_buffer->number)
for (ptr_buffer2 = gui_buffers; ptr_buffer2;
ptr_buffer2 = ptr_buffer2->next_buffer)
{
gui_buffer_hide (ptr_buffer2);
if (ptr_buffer2->number == ptr_buffer->number)
{
gui_buffer_hide (ptr_buffer2);
}
}
}
}
else
{
/* hide by id or name */
ptr_buffer = gui_buffer_search_by_id_name (argv[i]);
if (ptr_buffer)
else
gui_buffer_hide (ptr_buffer);
}
}
@@ -1035,25 +1037,23 @@ COMMAND_CALLBACK(buffer)
{
for (i = 2; i < argc; i++)
{
ptr_buffer = NULL;
if (util_parse_int (argv[i], 10, &number))
ptr_buffer = gui_buffer_search_by_number (number);
ptr_buffer = gui_buffer_search_by_id_number_name (argv[i]);
if (ptr_buffer)
{
/* unhide by number */
for (ptr_buffer2 = gui_buffers; ptr_buffer2;
ptr_buffer2 = ptr_buffer2->next_buffer)
error = NULL;
(void) strtol (argv[i], &error, 10);
if (error && !error[0])
{
if (ptr_buffer2->number == ptr_buffer->number)
for (ptr_buffer2 = gui_buffers; ptr_buffer2;
ptr_buffer2 = ptr_buffer2->next_buffer)
{
gui_buffer_unhide (ptr_buffer2);
if (ptr_buffer2->number == ptr_buffer->number)
{
gui_buffer_unhide (ptr_buffer2);
}
}
}
}
else
{
ptr_buffer = gui_buffer_search_by_id_name (argv[i]);
if (ptr_buffer)
else
gui_buffer_unhide (ptr_buffer);
}
}
@@ -1098,7 +1098,9 @@ COMMAND_CALLBACK(buffer)
{
if (argc >= i + 3)
{
if (!util_parse_int (argv[i + 2], 10, &numbers[i]))
error = NULL;
numbers[i] = strtol (argv[i + 2], &error, 10);
if (!error || error[0])
{
/* invalid number */
gui_chat_printf (NULL,
@@ -1107,7 +1109,7 @@ COMMAND_CALLBACK(buffer)
argv[i + 2]);
return WEECHAT_RC_ERROR;
}
if ((i == 2) && !command_buffer_check_number (numbers[i]))
if ((i == 2) && !command_buffer_check_number ((int)numbers[i]))
return WEECHAT_RC_ERROR;
}
else
@@ -1118,8 +1120,8 @@ COMMAND_CALLBACK(buffer)
* renumber the buffers; if we are renumbering all buffers (no numbers
* given), start at number 1
*/
gui_buffer_renumber (numbers[0], numbers[1],
(argc == 2) ? 1 : numbers[2]);
gui_buffer_renumber ((int)numbers[0], (int)numbers[1],
(argc == 2) ? 1 : (int)numbers[2]);
return WEECHAT_RC_OK;
}
@@ -1157,11 +1159,15 @@ COMMAND_CALLBACK(buffer)
}
if (str_number1)
{
if (util_parse_int (str_number1, 10, &number1))
error = NULL;
number1 = strtol (str_number1, &error, 10);
if (error && !error[0])
{
if (pos_number2)
{
if (!util_parse_int (pos_number2, 10, &number2))
error = NULL;
number2 = strtol (pos_number2, &error, 10);
if (!error || error[0])
{
free (str_number1);
COMMAND_ERROR;
@@ -1183,7 +1189,10 @@ COMMAND_CALLBACK(buffer)
while (ptr_buffer && (ptr_buffer->number <= number2))
{
if (ptr_buffer->number >= number1)
arraylist_add (buffers_to_close, ptr_buffer);
{
arraylist_add (buffers_to_close,
ptr_buffer);
}
ptr_buffer = ptr_buffer->next_buffer;
}
}
@@ -1192,7 +1201,10 @@ COMMAND_CALLBACK(buffer)
{
ptr_buffer = gui_buffer_search_by_full_name (argv[i]);
if (!ptr_buffer)
ptr_buffer = gui_buffer_search_by_partial_name (NULL, argv[i]);
{
ptr_buffer = gui_buffer_search_by_partial_name (
NULL, argv[i]);
}
if (ptr_buffer)
arraylist_add (buffers_to_close, ptr_buffer);
}
@@ -1458,7 +1470,9 @@ COMMAND_CALLBACK(buffer)
}
else
{
if (util_parse_int (argv[1] + 1, 10, &number) && (number > 0))
error = NULL;
number = strtol (argv[1] + 1, &error, 10);
if (error && !error[0] && (number > 0))
{
count = 0;
prev_number = gui_current_window->buffer->number;
@@ -1517,7 +1531,9 @@ COMMAND_CALLBACK(buffer)
}
else
{
if (util_parse_int (argv[1] + 1, 10, &number) && (number > 0))
error = NULL;
number = strtol (argv[1] + 1, &error, 10);
if (error && !error[0] && (number > 0))
{
count = 0;
prev_number = gui_current_window->buffer->number;
@@ -1570,9 +1586,9 @@ COMMAND_CALLBACK(buffer)
/* smart jump (jump to previous buffer for current number) */
if (argv[1][0] == '*')
{
if (!argv[1][1])
COMMAND_ERROR;
if (util_parse_int (argv[1] + 1, 10, &number))
error = NULL;
number = strtol (argv[1] + 1, &error, 10);
if (error && !error[0])
{
/* buffer is currently displayed ? then jump to previous buffer */
if ((number == buffer->number)
@@ -1603,7 +1619,9 @@ COMMAND_CALLBACK(buffer)
}
/* jump to buffer by id, number or name */
if (util_parse_longlong (argv[1], 10, &number_id))
error = NULL;
number_id = strtoll (argv[1], &error, 10);
if (error && !error[0])
{
ptr_buffer = gui_buffer_search_by_id (number_id);
if (ptr_buffer)
@@ -1634,10 +1652,11 @@ COMMAND_CALLBACK(buffer)
COMMAND_CALLBACK(color)
{
char *str_alias, *str_rgb, *pos;
char *str_alias, *str_rgb, *pos, *error;
char str_color[1024], str_command[2048];
long number, limit;
unsigned int rgb;
int i, number, limit;
int i;
struct t_gui_color_palette *color_palette;
/* make C compiler happy */
@@ -1669,7 +1688,9 @@ COMMAND_CALLBACK(color)
COMMAND_MIN_ARGS(4, argv[1]);
/* check color number */
if (util_parse_int (argv[2], 10, &number))
error = NULL;
number = strtol (argv[2], &error, 10);
if (error && !error[0])
{
if ((number < 0) || (number > gui_color_get_term_colors ()))
number = -1;
@@ -1714,7 +1735,7 @@ COMMAND_CALLBACK(color)
/* add color alias */
snprintf (str_command, sizeof (str_command),
"/set weechat.palette.%d \"%s\"",
number,
(int)number,
(str_color[0]) ? str_color + 1 : "");
(void) input_exec_command (buffer, 1, NULL, str_command, NULL);
@@ -1727,7 +1748,9 @@ COMMAND_CALLBACK(color)
COMMAND_MIN_ARGS(3, argv[1]);
/* check color number */
if (util_parse_int (argv[2], 10, &number))
error = NULL;
number = strtol (argv[2], &error, 10);
if (error && !error[0])
{
if ((number < 0) || (number > gui_color_get_term_colors ()))
number = -1;
@@ -1747,7 +1770,7 @@ COMMAND_CALLBACK(color)
}
/* search color */
color_palette = gui_color_palette_get (number);
color_palette = gui_color_palette_get ((int)number);
if (!color_palette)
{
gui_chat_printf (NULL,
@@ -1760,7 +1783,7 @@ COMMAND_CALLBACK(color)
/* delete color alias */
snprintf (str_command, sizeof (str_command),
"/unset weechat.palette.%d",
number);
(int)number);
(void) input_exec_command (buffer, 1, NULL, str_command, NULL);
return WEECHAT_RC_OK;
@@ -1784,10 +1807,12 @@ COMMAND_CALLBACK(color)
if (string_strcmp (argv[1], "term2rgb") == 0)
{
COMMAND_MIN_ARGS(3, argv[1]);
if (!util_parse_int (argv[2], 10, &number) || (number < 0) || (number > 255))
error = NULL;
number = strtol (argv[2], &error, 10);
if (!error || error[0] || (number < 0) || (number > 255))
COMMAND_ERROR;
gui_chat_printf (NULL,
"%d -> #%06x",
"%ld -> #%06x",
number,
gui_color_convert_term_to_rgb (number));
return WEECHAT_RC_OK;
@@ -1804,7 +1829,9 @@ COMMAND_CALLBACK(color)
limit = 256;
if (argc > 3)
{
if (!util_parse_int (argv[3], 10, &limit) || (limit < 1) || (limit > 256))
error = NULL;
limit = strtol (argv[3], &error, 10);
if (!error || error[0] || (limit < 1) || (limit > 256))
COMMAND_ERROR;
}
gui_chat_printf (NULL,
@@ -1911,7 +1938,7 @@ COMMAND_CALLBACK(command)
COMMAND_CALLBACK(cursor)
{
char *pos, *str_x;
char *pos, *str_x, *error;
int x, y;
/* make C compiler happy */
@@ -1939,12 +1966,18 @@ COMMAND_CALLBACK(cursor)
pos++;
if (str_x)
{
if (util_parse_int (str_x, 10, &x)
&& util_parse_int (pos, 10, &y))
error = NULL;
x = (int) strtol (str_x, &error, 10);
if (error && !error[0])
{
gui_cursor_move_xy (x, y);
free (str_x);
return WEECHAT_RC_OK;
error = NULL;
y = (int) strtol (pos, &error, 10);
if (error && !error[0])
{
gui_cursor_move_xy (x, y);
free (str_x);
return WEECHAT_RC_OK;
}
}
free (str_x);
}
@@ -3498,6 +3531,7 @@ COMMAND_CALLBACK(history)
{
struct t_gui_history *ptr_history;
int n, n_total, n_user, displayed;
char *error;
/* make C compiler happy */
(void) pointer;
@@ -3515,7 +3549,9 @@ COMMAND_CALLBACK(history)
}
else
{
if (!util_parse_int (argv[1], 10, &n_user) || (n_user < 0))
error = NULL;
n_user = (int)strtol (argv[1], &error, 10);
if (!error || error[0] || (n_user < 0))
COMMAND_ERROR;
}
}
@@ -4836,8 +4872,11 @@ void
command_mouse_timer (const char *delay)
{
long seconds;
char *error;
if (util_parse_long (delay, 10, &seconds) && (seconds > 0))
error = NULL;
seconds = strtol (delay, &error, 10);
if (error && !error[0] && (seconds > 0))
{
hook_timer (NULL, seconds * 1000, 0, 1,
&command_mouse_timer_cb, NULL, NULL);
@@ -5534,7 +5573,7 @@ COMMAND_CALLBACK(print)
int i, y, escape, to_stdout, to_stderr, arg_new_buffer_name;
int new_buffer_type_free, free_content, switch_to_buffer;
struct timeval tv_date;
char *tags, *pos, *text, *text2, empty_string[1] = { '\0' };
char *tags, *pos, *text, *text2, *error, empty_string[1] = { '\0' };
const char *prefix, *ptr_text;
long value;
@@ -5599,8 +5638,11 @@ COMMAND_CALLBACK(print)
if (i + 1 >= argc)
COMMAND_ERROR;
i++;
if (!util_parse_int (argv[i], 10, &y))
error = NULL;
value = strtol (argv[i], &error, 10);
if (!error || error[0])
COMMAND_ERROR;
y = (int)value;
}
else if (string_strcmp (argv[i], "-date") == 0)
{
@@ -5609,7 +5651,9 @@ COMMAND_CALLBACK(print)
i++;
if ((argv[i][0] == '-') || (argv[i][0] == '+'))
{
if (!util_parse_long (argv[i] + 1, 10, &value))
error = NULL;
value = strtol (argv[i] + 1, &error, 10);
if (!error || error[0])
COMMAND_ERROR;
gettimeofday (&tv_date, NULL);
tv_date.tv_sec += (argv[i][0] == '+') ? value : value * -1;
@@ -5833,8 +5877,9 @@ command_proxy_list (void)
COMMAND_CALLBACK(proxy)
{
struct t_proxy *ptr_proxy, *ptr_next_proxy;
char *name;
char *error, *name;
int type, i, update;
long value;
/* make C compiler happy */
(void) pointer;
@@ -5880,7 +5925,10 @@ COMMAND_CALLBACK(proxy)
argv[3], argv[2]);
return WEECHAT_RC_ERROR;
}
if (util_parse_int (argv[5], 10, NULL))
error = NULL;
value = strtol (argv[5], &error, 10);
(void) value;
if (error && !error[0])
{
/* add proxy */
if (proxy_new (argv[2], argv[3], "auto", argv[4], argv[5],
@@ -6208,6 +6256,7 @@ COMMAND_CALLBACK(repeat)
{
int arg_count, count, i;
unsigned long long interval;
char *error;
struct t_command_repeat *cmd_repeat;
/* make C compiler happy */
@@ -6227,7 +6276,9 @@ COMMAND_CALLBACK(repeat)
arg_count = 3;
}
if (!util_parse_int (argv[arg_count], 10, &count) || (count < 1))
error = NULL;
count = (int)strtol (argv[arg_count], &error, 10);
if (!error || error[0] || (count < 1))
{
/* invalid count */
gui_chat_printf (NULL,
@@ -7120,8 +7171,8 @@ COMMAND_CALLBACK(set)
COMMAND_CALLBACK(sys)
{
long size;
int num_processes;
long value;
char *error;
/* make C compiler happy */
(void) pointer;
@@ -7151,13 +7202,15 @@ COMMAND_CALLBACK(sys)
if (string_strcmp (argv[1], "malloc_trim") == 0)
{
#ifdef HAVE_MALLOC_TRIM
size = 0;
error = NULL;
value = 0;
if (argc > 2)
{
if (!util_parse_long (argv[2], 10, &size) || (size < 0))
value = strtol (argv[2], &error, 10);
if (!error || error[0] || (value < 0))
COMMAND_ERROR;
}
malloc_trim ((size_t)size);
malloc_trim ((size_t)value);
return WEECHAT_RC_OK;
#else
gui_chat_printf (NULL,
@@ -7172,10 +7225,13 @@ COMMAND_CALLBACK(sys)
if (string_strcmp (argv[1], "waitpid") == 0)
{
COMMAND_MIN_ARGS(3, argv[1]);
if (!util_parse_int (argv[2], 10, &num_processes) || (num_processes < 1))
error = NULL;
value = strtol (argv[2], &error, 10);
if (!error || error[0])
COMMAND_ERROR;
sys_waitpid (num_processes);
sys_waitpid ((int)value);
return WEECHAT_RC_OK;
}
COMMAND_ERROR;
}
@@ -7924,8 +7980,9 @@ COMMAND_CALLBACK(window)
{
struct t_gui_window *ptr_win;
struct t_gui_window_tree *ptr_tree;
char *ptr_sizearg, sign;
int number, win_args;
char *error, *ptr_sizearg, sign;
long number;
int win_args;
/* make C compiler happy */
(void) pointer;
@@ -7986,7 +8043,9 @@ COMMAND_CALLBACK(window)
win_args = 2;
if ((argc > 3) && (string_strcmp (argv[2], "-window") == 0))
{
if (util_parse_int (argv[3], 10, &number) && (number >= 1))
error = NULL;
number = strtol (argv[3], &error, 10);
if (error && !error[0] && (number >= 1))
{
ptr_win = gui_window_search_by_number (number);
if (!ptr_win)
@@ -8105,7 +8164,9 @@ COMMAND_CALLBACK(window)
{
if (argc > win_args)
{
if (util_parse_int (argv[win_args], 10, &number)
error = NULL;
number = strtol (argv[win_args], &error, 10);
if (error && !error[0]
&& (number > 0) && (number < 100))
{
gui_window_split_horizontal (ptr_win, number);
@@ -8114,9 +8175,7 @@ COMMAND_CALLBACK(window)
COMMAND_ERROR;
}
else
{
gui_window_split_horizontal (ptr_win, 50);
}
return WEECHAT_RC_OK;
}
@@ -8125,7 +8184,9 @@ COMMAND_CALLBACK(window)
{
if (argc > win_args)
{
if (util_parse_int (argv[win_args], 10, &number)
error = NULL;
number = strtol (argv[win_args], &error, 10);
if (error && !error[0]
&& (number > 0) && (number < 100))
{
gui_window_split_vertical (ptr_win, number);
@@ -8134,9 +8195,7 @@ COMMAND_CALLBACK(window)
COMMAND_ERROR;
}
else
{
gui_window_split_vertical (ptr_win, 50);
}
return WEECHAT_RC_OK;
}
@@ -8161,7 +8220,9 @@ COMMAND_CALLBACK(window)
sign = ptr_sizearg[0];
ptr_sizearg++;
}
if (util_parse_int (ptr_sizearg, 10, &number))
error = NULL;
number = strtol (ptr_sizearg, &error, 10);
if (error && !error[0])
{
if (sign)
{
@@ -8299,7 +8360,9 @@ COMMAND_CALLBACK(window)
/* jump to window by buffer number */
if (string_strncmp (argv[1], "b", 1) == 0)
{
if (util_parse_int (argv[1] + 1, 10, &number))
error = NULL;
number = strtol (argv[1] + 1, &error, 10);
if (error && !error[0])
{
gui_window_switch_by_buffer (ptr_win, number);
return WEECHAT_RC_OK;
@@ -8307,7 +8370,9 @@ COMMAND_CALLBACK(window)
}
/* jump to window by number */
if (util_parse_int (argv[1], 10, &number))
error = NULL;
number = strtol (argv[1], &error, 10);
if (error && !error[0])
{
gui_window_switch_by_number (number);
return WEECHAT_RC_OK;
@@ -8347,13 +8412,7 @@ command_init (void)
CMD_ARGS_DESC(
N_("raw[-all]: set or remove away status on all connected servers"),
N_("message: message for away (if no message is given, away status is "
"removed)"),
"",
N_("By default the away status is displayed only locally by the irc plugin "
"(see /help irc.look.display_away)."),
"",
N_("This command can be caught by other plugins and scripts "
"(see \"Plugin API reference\", function \"hook_command_run\").")),
"removed)")),
"-all", &command_away, NULL, NULL);
hook_command (
NULL, "bar",
+89 -40
View File
@@ -46,7 +46,6 @@
#include "core-infolist.h"
#include "core-log.h"
#include "core-string.h"
#include "core-util.h"
#include "core-version.h"
#include "../gui/gui-color.h"
#include "../gui/gui-chat.h"
@@ -704,8 +703,9 @@ config_file_new_option (struct t_config_file *config_file,
void *callback_delete_data)
{
struct t_config_option *new_option;
int var_type, int_value, argc, i, index_value, number;
char *pos, *option_name, *parent_name;
int var_type, int_value, argc, i, index_value;
long number;
char *error, *pos, *option_name, *parent_name;
new_option = NULL;
option_name = NULL;
@@ -818,7 +818,9 @@ config_file_new_option (struct t_config_file *config_file,
new_option->max = max;
if (default_value)
{
if (!util_parse_int (default_value, 10, &number))
error = NULL;
number = strtol (default_value, &error, 10);
if (!error || error[0])
number = 0;
if (number < min)
number = min;
@@ -831,7 +833,9 @@ config_file_new_option (struct t_config_file *config_file,
}
if (value)
{
if (!util_parse_int (value, 10, &number))
error = NULL;
number = strtol (value, &error, 10);
if (!error || error[0])
number = 0;
if (number < min)
number = min;
@@ -1400,7 +1404,9 @@ int
config_file_option_set (struct t_config_option *option, const char *value,
int run_callback)
{
int value_int, i, rc, new_value_ok, old_value_was_null, old_value, number;
int value_int, i, rc, new_value_ok, old_value_was_null, old_value;
long number;
char *error;
if (!option)
return WEECHAT_CONFIG_OPTION_SET_ERROR;
@@ -1487,8 +1493,10 @@ config_file_option_set (struct t_config_option *option, const char *value,
new_value_ok = 0;
if (strncmp (value, "++", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number)
&& ((long)old_value + (long)number <= (long)(option->max)))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0]
&& (long)old_value + number <= (long)(option->max))
{
value_int = old_value + number;
new_value_ok = 1;
@@ -1496,8 +1504,10 @@ config_file_option_set (struct t_config_option *option, const char *value,
}
else if (strncmp (value, "--", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number)
&& ((long)old_value - (long)number >= (long)(option->min)))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0]
&& (long)old_value - number >= (long)(option->min))
{
value_int = old_value - number;
new_value_ok = 1;
@@ -1505,16 +1515,20 @@ config_file_option_set (struct t_config_option *option, const char *value,
}
else
{
if (util_parse_int (value, 10, &number))
error = NULL;
number = strtol (value, &error, 10);
if (error && !error[0])
{
value_int = number;
if ((value_int >= option->min) && (value_int <= option->max))
if ((value_int >= option->min)
&& (value_int <= option->max))
new_value_ok = 1;
}
}
if (new_value_ok)
{
if (old_value_was_null || (value_int != old_value))
if (old_value_was_null
|| (value_int != old_value))
{
CONFIG_INTEGER(option) = value_int;
rc = WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
@@ -1558,7 +1572,9 @@ config_file_option_set (struct t_config_option *option, const char *value,
new_value_ok = 0;
if (strncmp (value, "++", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
if (gui_color_assign_by_diff (&value_int,
gui_color_get_name (old_value),
@@ -1568,7 +1584,9 @@ config_file_option_set (struct t_config_option *option, const char *value,
}
else if (strncmp (value, "--", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
if (gui_color_assign_by_diff (&value_int,
gui_color_get_name (old_value),
@@ -1583,7 +1601,8 @@ config_file_option_set (struct t_config_option *option, const char *value,
}
if (new_value_ok)
{
if (old_value_was_null || (value_int != old_value))
if (old_value_was_null
|| (value_int != old_value))
{
CONFIG_COLOR(option) = value_int;
rc = WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
@@ -1612,7 +1631,9 @@ config_file_option_set (struct t_config_option *option, const char *value,
value_int = -1;
if (strncmp (value, "++", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
number = number % (option->max + 1);
value_int = (old_value + number) %
@@ -1621,7 +1642,9 @@ config_file_option_set (struct t_config_option *option, const char *value,
}
else if (strncmp (value, "--", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
number = number % (option->max + 1);
value_int = (old_value + (option->max + 1) - number) %
@@ -1641,7 +1664,8 @@ config_file_option_set (struct t_config_option *option, const char *value,
}
if (value_int >= 0)
{
if (old_value_was_null || (value_int != old_value))
if (old_value_was_null
|| (value_int != old_value))
{
CONFIG_ENUM(option) = value_int;
rc = WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
@@ -1864,7 +1888,9 @@ config_file_option_set_default (struct t_config_option *option,
const char *value,
int run_callback)
{
int value_int, i, rc, new_value_ok, old_value_was_null, old_value, number;
int value_int, i, rc, new_value_ok, old_value_was_null, old_value;
long number;
char *error;
if (!option)
return WEECHAT_CONFIG_OPTION_SET_ERROR;
@@ -1939,34 +1965,42 @@ config_file_option_set_default (struct t_config_option *option,
new_value_ok = 0;
if (strncmp (value, "++", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number)
&& ((long)old_value + (long)number <= (long)(option->max)))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
value_int = old_value + number;
new_value_ok = 1;
if (value_int <= option->max)
new_value_ok = 1;
}
}
else if (strncmp (value, "--", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number)
&& ((long)old_value - (long)number >= (long)(option->min)))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
value_int = old_value - number;
new_value_ok = 1;
if (value_int >= option->min)
new_value_ok = 1;
}
}
else
{
if (util_parse_int (value, 10, &number))
error = NULL;
number = strtol (value, &error, 10);
if (error && !error[0])
{
value_int = number;
if ((value_int >= option->min) && (value_int <= option->max))
if ((value_int >= option->min)
&& (value_int <= option->max))
new_value_ok = 1;
}
}
if (new_value_ok)
{
if (old_value_was_null || (value_int != old_value))
if (old_value_was_null
|| (value_int != old_value))
{
CONFIG_INTEGER_DEFAULT(option) = value_int;
rc = WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
@@ -2010,7 +2044,9 @@ config_file_option_set_default (struct t_config_option *option,
new_value_ok = 0;
if (strncmp (value, "++", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
if (gui_color_assign_by_diff (&value_int,
gui_color_get_name (old_value),
@@ -2020,7 +2056,9 @@ config_file_option_set_default (struct t_config_option *option,
}
else if (strncmp (value, "--", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
if (gui_color_assign_by_diff (&value_int,
gui_color_get_name (old_value),
@@ -2035,7 +2073,8 @@ config_file_option_set_default (struct t_config_option *option,
}
if (new_value_ok)
{
if (old_value_was_null || (value_int != old_value))
if (old_value_was_null
|| (value_int != old_value))
{
CONFIG_COLOR_DEFAULT(option) = value_int;
rc = WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
@@ -2064,7 +2103,9 @@ config_file_option_set_default (struct t_config_option *option,
value_int = -1;
if (strncmp (value, "++", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
number = number % (option->max + 1);
value_int = (old_value + number) %
@@ -2073,7 +2114,9 @@ config_file_option_set_default (struct t_config_option *option,
}
else if (strncmp (value, "--", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
number = number % (option->max + 1);
value_int = (old_value + (option->max + 1) - number) %
@@ -2093,7 +2136,8 @@ config_file_option_set_default (struct t_config_option *option,
}
if (value_int >= 0)
{
if (old_value_was_null || (value_int != old_value))
if (old_value_was_null
|| (value_int != old_value))
{
CONFIG_ENUM_DEFAULT(option) = value_int;
rc = WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
@@ -3112,7 +3156,7 @@ config_file_write_internal (struct t_config_file *config_file,
{
int rc;
long file_perms;
char *filename, *filename2, resolved_path[PATH_MAX];
char *filename, *filename2, resolved_path[PATH_MAX], *error;
struct t_config_section *ptr_section;
struct t_config_option *ptr_option;
@@ -3263,7 +3307,9 @@ config_file_write_internal (struct t_config_file *config_file,
config_file->file = NULL;
/* update file mode */
if (!util_parse_long (CONFIG_STRING(config_look_config_permissions), 8, &file_perms))
error = NULL;
file_perms = strtol (CONFIG_STRING(config_look_config_permissions), &error, 8);
if (!error || error[0])
file_perms = 0600;
if (chmod (filename2, file_perms) < 0)
{
@@ -3336,15 +3382,18 @@ config_file_write (struct t_config_file *config_file)
int
config_file_parse_version (const char *version)
{
int number;
long number;
char *error;
if (!version)
return -1;
if (!util_parse_int (version, 10, &number) || (number < 1))
error = NULL;
number = strtoll (version, &error, 10);
if (!error || error[0])
return -1;
return number;
return (number < 1) ? -1 : (int)number;
}
/*
+30 -12
View File
@@ -50,7 +50,6 @@
#include "core-proxy.h"
#include "core-string.h"
#include "core-sys.h"
#include "core-util.h"
#include "core-version.h"
#include "../gui/gui-bar.h"
#include "../gui/gui-bar-item.h"
@@ -2148,14 +2147,19 @@ void
config_weechat_palette_change_cb (const void *pointer, void *data,
struct t_config_option *option)
{
char *error;
int number;
/* make C compiler happy */
(void) pointer;
(void) data;
if (util_parse_int (option->name, 10, &number))
error = NULL;
number = (int)strtol (option->name, &error, 10);
if (error && !error[0])
{
gui_color_palette_add (number, CONFIG_STRING(option));
}
}
/*
@@ -2170,6 +2174,7 @@ config_weechat_palette_create_option_cb (const void *pointer, void *data,
const char *value)
{
struct t_config_option *ptr_option;
char *error;
int rc, number;
/* make C compiler happy */
@@ -2178,7 +2183,9 @@ config_weechat_palette_create_option_cb (const void *pointer, void *data,
rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
if (util_parse_int (option_name, 10, &number))
error = NULL;
number = (int)strtol (option_name, &error, 10);
if (error && !error[0])
{
if (option_name)
{
@@ -2236,6 +2243,7 @@ config_weechat_palette_delete_option_cb (const void *pointer, void *data,
struct t_config_section *section,
struct t_config_option *option)
{
char *error;
int number;
/* make C compiler happy */
@@ -2244,7 +2252,9 @@ config_weechat_palette_delete_option_cb (const void *pointer, void *data,
(void) config_file;
(void) section;
if (util_parse_int (option->name, 10, &number))
error = NULL;
number = (int)strtol (option->name, &error, 10);
if (error && !error[0])
gui_color_palette_remove (number);
config_file_option_free (option, 1);
@@ -2511,9 +2521,10 @@ config_weechat_layout_read_cb (const void *pointer, void *data,
struct t_config_section *section,
const char *option_name, const char *value)
{
int argc, force_current_layout, number1, number2, number3, number4;
char **argv, *pos, *layout_name;
int argc, force_current_layout;
char **argv, *pos, *layout_name, *error1, *error2, *error3, *error4;
const char *ptr_option_name;
long number1, number2, number3, number4;
struct t_gui_layout *ptr_layout;
struct t_gui_layout_window *parent;
@@ -2571,7 +2582,9 @@ config_weechat_layout_read_cb (const void *pointer, void *data,
{
if (argc >= 3)
{
if (util_parse_int (argv[2], 10, &number1))
error1 = NULL;
number1 = strtol (argv[2], &error1, 10);
if (error1 && !error1[0])
gui_layout_buffer_add (ptr_layout, argv[0], argv[1], number1);
}
string_free_split (argv);
@@ -2588,10 +2601,16 @@ config_weechat_layout_read_cb (const void *pointer, void *data,
{
if (argc >= 6)
{
if (util_parse_int (argv[0], 10, &number1)
&& util_parse_int (argv[1], 10, &number2)
&& util_parse_int (argv[2], 10, &number3)
&& util_parse_int (argv[3], 10, &number4))
error1 = NULL;
number1 = strtol (argv[0], &error1, 10);
error2 = NULL;
number2 = strtol (argv[1], &error2, 10);
error3 = NULL;
number3 = strtol (argv[2], &error3, 10);
error4 = NULL;
number4 = strtol (argv[3], &error4, 10);
if (error1 && !error1[0] && error2 && !error2[0]
&& error3 && !error3[0] && error4 && !error4[0])
{
parent = gui_layout_window_search_by_id (ptr_layout->layout_windows,
number2);
@@ -3762,7 +3781,6 @@ config_weechat_init_options (void)
NULL, 0, 0,
"${away} "
"|| ${buffer.num_displayed} == 0 "
"|| ${info:relay_client_count,api,connected} > 0 "
"|| ${info:relay_client_count,weechat,connected} > 0",
NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+62
View File
@@ -1223,9 +1223,14 @@ dir_file_compress_zstd (const char *from, const char *to,
void *buffer_in, *buffer_out;
size_t buffer_in_size, buffer_out_size, num_read, remaining;
int rc;
#if ZSTD_VERSION_NUMBER >= 10400 /* zstd ≥ 1.4.0 */
ZSTD_CCtx *cctx = NULL;
ZSTD_EndDirective mode;
int finished, last_chunk;
#else /* zstd < 1.4.0 */
ZSTD_CStream *cstream = NULL;
size_t result, to_read;
#endif
ZSTD_inBuffer input;
ZSTD_outBuffer output;
@@ -1254,6 +1259,7 @@ dir_file_compress_zstd (const char *from, const char *to,
if (!dest)
goto end;
#if ZSTD_VERSION_NUMBER >= 10400 /* zstd ≥ 1.4.0 */
cctx = ZSTD_createCCtx ();
if (!cctx)
goto error;
@@ -1290,21 +1296,77 @@ dir_file_compress_zstd (const char *from, const char *to,
if (last_chunk)
break;
}
#else /* zstd < 1.4.0 */
cstream = ZSTD_createCStream ();
if (!cstream)
goto error;
result = ZSTD_initCStream (cstream, compression_level);
if (ZSTD_isError (result))
goto error;
to_read = buffer_in_size;
while ((num_read = fread (buffer_in, 1, buffer_in_size, source)))
{
input.src = buffer_in;
input.size = num_read;
input.pos = 0;
while (input.pos < input.size)
{
output.dst = buffer_out;
output.size = buffer_out_size;
output.pos = 0;
to_read = ZSTD_compressStream (cstream, &output , &input);
if (ZSTD_isError (to_read))
goto error;
if (to_read > buffer_in_size)
to_read = buffer_in_size;
if ((fwrite (buffer_out, 1, output.pos, dest) != output.pos)
|| ferror (dest))
{
goto error;
}
}
}
output.dst = buffer_out;
output.size = buffer_out_size;
output.pos = 0;
remaining = ZSTD_endStream (cstream, &output);
if (remaining)
goto error;
if ((fwrite (buffer_out, 1, output.pos, dest) != output.pos)
|| ferror (dest))
{
goto error;
}
#endif
rc = 1;
goto end;
error:
#if ZSTD_VERSION_NUMBER >= 10400 /* zstd ≥ 1.4.0 */
if (cctx)
{
ZSTD_freeCCtx (cctx);
cctx = NULL;
}
#else /* zstd < 1.4.0 */
if (cstream)
{
ZSTD_freeCStream (cstream);
cstream = NULL;
}
#endif
unlink (to);
end:
#if ZSTD_VERSION_NUMBER >= 10400 /* zstd ≥ 1.4.0 */
if (cctx)
ZSTD_freeCCtx (cctx);
#else /* zstd < 1.4.0 */
if (cstream)
ZSTD_freeCStream (cstream);
#endif
free (buffer_in);
free (buffer_out);
+55 -39
View File
@@ -28,7 +28,6 @@
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <errno.h>
#include <regex.h>
#include <time.h>
#include <sys/time.h>
@@ -315,6 +314,8 @@ eval_string_range_chars (const char *range)
char1 = utf8_char_int (range);
/* next char must be '-' */
if (!range[0])
goto end;
ptr_char = utf8_next_char (range);
if (!ptr_char || !ptr_char[0] || (ptr_char[0] != '-'))
goto end;
@@ -399,8 +400,9 @@ char *
eval_string_cut (const char *text, int screen)
{
const char *pos, *pos2;
char *tmp, *value;
int count_suffix, number;
char *tmp, *error, *value;
int count_suffix;
long number;
count_suffix = 0;
if (text[0] == '+')
@@ -421,7 +423,9 @@ eval_string_cut (const char *text, int screen)
if (!tmp)
return strdup ("");
if (!util_parse_int (tmp, 10, &number) || (number < 0))
error = NULL;
number = strtol (tmp, &error, 10);
if (!error || error[0] || (number < 0))
{
free (tmp);
return strdup ("");
@@ -449,8 +453,8 @@ char *
eval_string_repeat (const char *text)
{
const char *pos;
char *tmp;
int number;
char *tmp, *error;
long number;
pos = strchr (text, ',');
if (!pos)
@@ -460,7 +464,9 @@ eval_string_repeat (const char *text)
if (!tmp)
return strdup ("");
if (!util_parse_int (tmp, 10, &number) || (number < 0))
error = NULL;
number = strtol (tmp, &error, 10);
if (!error || error[0] || (number < 0))
{
free (tmp);
return strdup ("");
@@ -508,10 +514,10 @@ eval_string_repeat (const char *text)
char *
eval_string_split (const char *text)
{
char *pos, *pos2, *pos3, *str_number, *separators, **items, *value;
char *pos, *pos2, *pos3, *str_number, *separators, **items, *value, *error;
char str_value[32], *str_flags, **list_flags, *strip_items, **ptr_flag;
int num_items, count_items, random_item, flags, max_items;
long number;
int num_items, count_items, random_item, flags;
long number, max_items;
str_number = NULL;
separators = NULL;
@@ -544,7 +550,9 @@ eval_string_split (const char *text)
}
else
{
if (!util_parse_long (str_number, 10, &number) || (number == 0))
error = NULL;
number = strtol (str_number, &error, 10);
if (!error || error[0] || (number == 0))
goto end;
}
@@ -582,8 +590,9 @@ eval_string_split (const char *text)
}
else if (strncmp (*ptr_flag, "max_items=", 10) == 0)
{
if (!util_parse_int (*ptr_flag + 10, 10, &max_items)
|| (max_items < 0))
error = NULL;
max_items = strtol (*ptr_flag + 10, &error, 10);
if (!error || error[0] || (max_items < 0))
goto end;
}
}
@@ -655,7 +664,7 @@ end:
char *
eval_string_split_shell (const char *text)
{
char *pos, *str_number, **items, *value, str_value[32];
char *pos, *str_number, **items, *value, *error, str_value[32];
int num_items, count_items, random_item;
long number;
@@ -684,7 +693,9 @@ eval_string_split_shell (const char *text)
}
else
{
if (!util_parse_long (str_number, 10, &number) || (number == 0))
error = NULL;
number = strtol (str_number, &error, 10);
if (!error || error[0] || (number == 0))
goto end;
}
@@ -735,11 +746,11 @@ end:
char *
eval_string_regex_group (const char *text, struct t_eval_context *eval_context)
{
char str_value[64];
char str_value[64], *error;
long number;
if (!eval_context->regex || !eval_context->regex->result)
goto end;
return strdup ("");
if (strcmp (text, "#") == 0)
{
@@ -761,8 +772,10 @@ eval_string_regex_group (const char *text, struct t_eval_context *eval_context)
}
else
{
if (!util_parse_long (text, 10, &number))
goto end;
error = NULL;
number = strtol (text, &error, 10);
if (!error || error[0])
number = -1;
}
if ((number >= 0) && (number <= eval_context->regex->last_match))
{
@@ -773,7 +786,6 @@ eval_string_regex_group (const char *text, struct t_eval_context *eval_context)
eval_context->regex->match[number].rm_so);
}
end:
return strdup ("");
}
@@ -1046,7 +1058,7 @@ eval_string_if (const char *text, struct t_eval_context *eval_context)
char *
eval_string_random (const char *text)
{
char *pos, *tmp, result[128];
char *pos, *error, *tmp, result[128];
long long min_number, max_number;
if (!text || !text[0])
@@ -1059,14 +1071,18 @@ eval_string_random (const char *text)
tmp = string_strndup (text, pos - text);
if (!tmp)
goto error;
if (!util_parse_longlong (tmp, 10, &min_number))
error = NULL;
min_number = strtoll (tmp, &error, 10);
if (!error || error[0])
{
free (tmp);
goto error;
}
free (tmp);
if (!util_parse_longlong (pos + 1, 10, &max_number))
error = NULL;
max_number = strtoll (pos + 1, &error, 10);
if (!error || error[0])
goto error;
if (min_number > max_number)
@@ -2208,20 +2224,17 @@ eval_compare (const char *expr1, int comparison, const char *expr2,
if (!string_compare)
{
errno = 0;
error = NULL;
value1 = strtod (expr1, &error);
if (!error || error[0] || (errno == ERANGE))
string_compare = 1;
}
if (!string_compare)
{
errno = 0;
error = NULL;
value2 = strtod (expr2, &error);
if (!error || error[0] || (errno == ERANGE))
if (!error || error[0])
{
string_compare = 1;
}
else
{
value2 = strtod (expr2, &error);
if (!error || error[0])
string_compare = 1;
}
}
if (string_compare)
@@ -2670,9 +2683,10 @@ eval_expression (const char *expr, struct t_hashtable *pointers,
{
struct t_eval_context context, *eval_context;
struct t_hashtable *user_vars;
int condition, rc, pointers_allocated, regex_allocated, debug_id, debug_level;
int condition, rc, pointers_allocated, regex_allocated, debug_id;
int ptr_window_added, ptr_buffer_added;
char *value;
long number;
char *value, *error;
const char *default_prefix = EVAL_DEFAULT_PREFIX;
const char *default_suffix = EVAL_DEFAULT_SUFFIX;
const char *ptr_value, *regex_replace;
@@ -2812,9 +2826,11 @@ eval_expression (const char *expr, struct t_hashtable *pointers,
ptr_value = hashtable_get (options, "debug");
if (ptr_value && ptr_value[0])
{
if (util_parse_int (ptr_value, 10, &debug_level) && (debug_level >= 1))
error = NULL;
number = strtol (ptr_value, &error, 10);
if (error && !error[0] && (number >= 1))
{
eval_context->debug_level = debug_level;
eval_context->debug_level = (int)number;
eval_context->debug_output = string_dyn_alloc (256);
}
}
+31 -18
View File
@@ -35,7 +35,6 @@
#include "core-hashtable.h"
#include "core-log.h"
#include "core-string.h"
#include "core-util.h"
#include "../plugins/plugin.h"
@@ -263,7 +262,9 @@ hdata_get_var_array_size (struct t_hdata *hdata, void *pointer,
{
struct t_hdata_var *var;
const char *ptr_size;
int i, offset, value;
char *error;
long value;
int i, offset;
void *ptr_value;
if (!hdata || !name)
@@ -339,8 +340,10 @@ hdata_get_var_array_size (struct t_hdata *hdata, void *pointer,
else
{
/* check if the size is a valid integer */
if (util_parse_int (ptr_size, 10, &value))
return value;
error = NULL;
value = strtol (ptr_size, &error, 10);
if (error && !error[0])
return (int)value;
}
}
@@ -688,8 +691,8 @@ hdata_count (struct t_hdata *hdata, void *pointer)
void
hdata_get_index_and_name (const char *name, int *index, const char **ptr_name)
{
char *pos, *str_index;
int number;
char *pos, *str_index, *error;
long number;
if (index)
*index = -1;
@@ -705,7 +708,9 @@ hdata_get_index_and_name (const char *name, int *index, const char **ptr_name)
str_index = string_strndup (name, pos - name);
if (str_index)
{
if (util_parse_int (str_index, 10, &number))
error = NULL;
number = strtol (str_index, &error, 10);
if (error && !error[0])
{
if (index)
*index = number;
@@ -1241,11 +1246,11 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
const char *value)
{
struct t_hdata_var *var;
char **ptr_string;
unsigned long ptr;
int rc, number_int;
long number_long;
char **ptr_string, *error;
long number;
long long number_longlong;
unsigned long ptr;
int rc;
if (!hdata->update_pending)
return 0;
@@ -1265,21 +1270,27 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
*((char *)(pointer + var->offset)) = (value) ? value[0] : '\0';
return 1;
case WEECHAT_HDATA_INTEGER:
if (util_parse_int (value, 10, &number_int))
error = NULL;
number = strtol (value, &error, 10);
if (error && !error[0])
{
*((int *)(pointer + var->offset)) = number_int;
*((int *)(pointer + var->offset)) = (int)number;
return 1;
}
break;
case WEECHAT_HDATA_LONG:
if (util_parse_long (value, 10, &number_long))
error = NULL;
number = strtol (value, &error, 10);
if (error && !error[0])
{
*((long *)(pointer + var->offset)) = number_long;
*((long *)(pointer + var->offset)) = number;
return 1;
}
break;
case WEECHAT_HDATA_LONGLONG:
if (util_parse_longlong (value, 10, &number_longlong))
error = NULL;
number_longlong = strtoll (value, &error, 10);
if (error && !error[0])
{
*((long long *)(pointer + var->offset)) = number_longlong;
return 1;
@@ -1312,9 +1323,11 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
}
break;
case WEECHAT_HDATA_TIME:
if (util_parse_long (value, 10, &number_long) && (number_long >= 0))
error = NULL;
number = strtol (value, &error, 10);
if (error && !error[0] && (number >= 0))
{
*((time_t *)(pointer + var->offset)) = (time_t)number_long;
*((time_t *)(pointer + var->offset)) = (time_t)number;
return 1;
}
break;
+11 -5
View File
@@ -560,7 +560,9 @@ void
hook_set (struct t_hook *hook, const char *property, const char *value)
{
ssize_t num_written;
int rc, number;
char *error;
long number;
int rc;
/* invalid hook? */
if (!hook_valid (hook))
@@ -603,20 +605,22 @@ hook_set (struct t_hook *hook, const char *property, const char *value)
&& (hook->type == HOOK_TYPE_PROCESS)
&& (HOOK_PROCESS(hook, child_pid) > 0))
{
if (!util_parse_int (value, 10, &number))
error = NULL;
number = strtol (value, &error, 10);
if (!error || error[0])
{
/* not a number? look for signal by name */
number = signal_search_name (value);
}
if (number >= 0)
{
rc = kill (HOOK_PROCESS(hook, child_pid), number);
rc = kill (HOOK_PROCESS(hook, child_pid), (int)number);
if (rc < 0)
{
gui_chat_printf (NULL,
_("%sError sending signal %d to pid %d: %s"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
number,
(int)number,
HOOK_PROCESS(hook, child_pid),
strerror (errno));
}
@@ -629,7 +633,9 @@ hook_set (struct t_hook *hook, const char *property, const char *value)
&& ((hook->type == HOOK_TYPE_COMMAND)
|| (hook->type == HOOK_TYPE_COMMAND_RUN)))
{
if (util_parse_int (value, 10, &number))
error = NULL;
number = strtol (value, &error, 10);
if (error && !error[0])
{
switch (hook->type)
{
+10 -5
View File
@@ -58,7 +58,6 @@
#include "core-config.h"
#include "core-proxy.h"
#include "core-string.h"
#include "core-util.h"
#include "../gui/gui-chat.h"
#include "../plugins/plugin.h"
@@ -1589,9 +1588,11 @@ int
network_connect_child_read_cb (const void *pointer, void *data, int fd)
{
struct t_hook *hook_connect;
char buffer[1], buf_size[6], *cb_error, *cb_ip_address;
char buffer[1], buf_size[6], *cb_error, *cb_ip_address, *error;
int num_read;
long size_msg;
int rc, num_read, direction, sock, i;
int rc, direction;
int sock, i;
struct msghdr msg;
struct cmsghdr *cmsg;
char msg_buf[CMSG_SPACE(sizeof (sock))];
@@ -1620,7 +1621,9 @@ network_connect_child_read_cb (const void *pointer, void *data, int fd)
buf_size, 5);
if (num_read == 5)
{
if (util_parse_long (buf_size, 10, &size_msg) && (size_msg > 0))
error = NULL;
size_msg = strtol (buf_size, &error, 10);
if (error && !error[0] && (size_msg > 0))
{
cb_ip_address = malloc (size_msg + 1);
if (cb_ip_address)
@@ -1755,7 +1758,9 @@ network_connect_child_read_cb (const void *pointer, void *data, int fd)
buf_size, 5);
if (num_read == 5)
{
if (util_parse_long (buf_size, 10, &size_msg) && (size_msg > 0))
error = NULL;
size_msg = strtol (buf_size, &error, 10);
if (error && !error[0] && (size_msg > 0))
{
cb_error = malloc (size_msg + 1);
if (cb_error)
+13 -8
View File
@@ -55,7 +55,6 @@
#include "core-eval.h"
#include "core-hashtable.h"
#include "core-utf8.h"
#include "core-util.h"
#include "../gui/gui-chat.h"
#include "../gui/gui-color.h"
#include "../plugins/plugin.h"
@@ -3435,7 +3434,7 @@ unsigned long long
string_parse_size (const char *size)
{
const char *pos;
char *str_number;
char *str_number, *error;
long long number;
unsigned long long result;
@@ -3458,7 +3457,11 @@ string_parse_size (const char *size)
if (!str_number)
goto end;
if (!util_parse_longlong (str_number, 10, &number) || (number < 0))
error = NULL;
number = strtoll (str_number, &error, 10);
if (!error || error[0])
goto end;
if (number < 0)
goto end;
while (pos[0] == ' ')
@@ -4476,8 +4479,8 @@ string_get_priority_and_name (const char *string,
int *priority, const char **name,
int default_priority)
{
char *pos, *str_priority;
int number;
char *pos, *str_priority, *error;
long number;
if (priority)
*priority = default_priority;
@@ -4493,15 +4496,17 @@ string_get_priority_and_name (const char *string,
str_priority = string_strndup (string, pos - string);
if (str_priority)
{
if (util_parse_int (str_priority, 10, &number))
error = NULL;
number = strtol (str_priority, &error, 10);
if (error && !error[0])
{
if (priority)
*priority = number;
if (name)
*name = pos + 1;
}
free (str_priority);
}
if (name)
*name = pos + 1;
}
}
+4 -2
View File
@@ -181,7 +181,7 @@ void
sys_setrlimit (void)
{
#ifdef HAVE_SYS_RESOURCE_H
char **items, *pos;
char **items, *pos, *error;
int num_items, i;
long long number;
@@ -198,7 +198,9 @@ sys_setrlimit (void)
if (pos)
{
pos[0] = '\0';
if (util_parse_longlong (pos + 1, 10, &number) && (number >= -1))
error = NULL;
number = strtoll (pos + 1, &error, 10);
if (error && !error[0])
{
sys_setrlimit_resource (items[i], number);
}
+8 -3
View File
@@ -410,7 +410,7 @@ upgrade_weechat_read_buffer (struct t_infolist *infolist)
struct t_gui_buffer *ptr_buffer;
const char *key, *var_name, *name, *plugin_name, *ptr_id;
const char *str;
char option_name[64], *option_key, *option_var;
char option_name[64], *option_key, *option_var, *error;
int index, main_buffer;
long long id;
@@ -421,7 +421,9 @@ upgrade_weechat_read_buffer (struct t_infolist *infolist)
ptr_id = infolist_string (infolist, "id");
if (ptr_id)
{
if (!util_parse_longlong (ptr_id, 10, &id))
error = NULL;
id = strtoll (ptr_id, &error, 10);
if (!error || error[0])
id = -1;
}
}
@@ -710,6 +712,7 @@ upgrade_weechat_read_nicklist (struct t_infolist *infolist)
{
struct t_gui_nick_group *ptr_group;
const char *type, *name, *group_name, *ptr_id;
char *error;
long long id;
if (!upgrade_current_buffer)
@@ -728,7 +731,9 @@ upgrade_weechat_read_nicklist (struct t_infolist *infolist)
ptr_id = infolist_string (infolist, "id");
if (ptr_id)
{
if (!util_parse_longlong (ptr_id, 10, &id))
error = NULL;
id = strtoll (ptr_id, &error, 10);
if (!error || error[0])
id = -1;
}
}
+9 -7
View File
@@ -417,7 +417,7 @@ int
util_parse_time (const char *datetime, struct timeval *tv)
{
char *string, *pos, *pos2, *pos_colon, *pos_hyphen, *pos_dot;
char str_usec[16], str_date[128];
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;
@@ -488,7 +488,9 @@ util_parse_time (const char *datetime, struct timeval *tv)
{
strcat (str_usec, "0");
}
if (util_parse_longlong (str_usec, 10, &value))
error = NULL;
value = strtoll (str_usec, &error, 10);
if (error && !error[0])
{
/*
* just in case: this should not happen as minus is not
@@ -653,7 +655,9 @@ util_parse_time (const char *datetime, struct timeval *tv)
else
{
/* timestamp format: "1704402062" */
if (util_parse_longlong (string, 10, &value) && (value >= 0))
error = NULL;
value = strtoll (string, &error, 10);
if (error && !error[0] && (value >= 0))
{
tv->tv_sec = (time_t)value;
rc = 1;
@@ -773,10 +777,9 @@ util_parse_delay (const char *string_delay, unsigned long long default_factor,
if (!str_number)
return 0;
errno = 0;
error = NULL;
*delay = strtoull (str_number, &error, 10);
if ((errno == ERANGE) || !error || error[0])
if (!error || error[0])
{
free (str_number);
*delay = 0;
@@ -843,10 +846,9 @@ util_version_number (const char *version)
buf[index_buf] = '\0';
if (buf[0])
{
errno = 0;
error = NULL;
number = strtoul (buf, &error, 10);
if ((errno != ERANGE) && error && !error[0])
if (error && !error[0])
{
if (number > 0xFF)
number = 0xFF;
+6 -5
View File
@@ -41,7 +41,6 @@
#include "../core-log.h"
#include "../core-string.h"
#include "../core-url.h"
#include "../core-util.h"
#include "../../gui/gui-chat.h"
#include "../../plugins/plugin.h"
@@ -89,9 +88,9 @@ hook_process_hashtable (struct t_weechat_plugin *plugin,
{
struct t_hook *new_hook;
struct t_hook_process *new_hook_process;
char *stdout_buffer, *stderr_buffer;
char *stdout_buffer, *stderr_buffer, *error;
const char *ptr_value;
int number;
long number;
stdout_buffer = NULL;
stderr_buffer = NULL;
@@ -150,10 +149,12 @@ hook_process_hashtable (struct t_weechat_plugin *plugin,
ptr_value = hashtable_get (options, "buffer_flush");
if (ptr_value && ptr_value[0])
{
if (util_parse_int (ptr_value, 10, &number)
error = NULL;
number = strtol (ptr_value, &error, 10);
if (error && !error[0]
&& (number >= 1) && (number <= HOOK_PROCESS_BUFFER_SIZE))
{
new_hook_process->buffer_flush = number;
new_hook_process->buffer_flush = (int)number;
}
}
}
-2
View File
@@ -56,8 +56,6 @@
#define WEECHAT_COPYRIGHT_DATE "(C) 2003-2026"
#define WEECHAT_WEBSITE "https://weechat.org/"
#define WEECHAT_WEBSITE_DOWNLOAD "https://weechat.org/download/"
#define WEECHAT_AUTHOR_NAME "Sébastien Helleu"
#define WEECHAT_AUTHOR_EMAIL "flashcode@flashtux.org"
/* log file */
#define WEECHAT_LOG_NAME "weechat.log"
+18 -7
View File
@@ -37,7 +37,6 @@
#include "../../core/core-list.h"
#include "../../core/core-string.h"
#include "../../core/core-utf8.h"
#include "../../core/core-util.h"
#include "../../plugins/plugin.h"
#include "../gui-buffer.h"
#include "../gui-color.h"
@@ -226,6 +225,7 @@ int
gui_color_assign (int *color, const char *color_name)
{
int flag, extra_attr, color_index, number;
char *error;
/* read extended attributes */
extra_attr = 0;
@@ -244,7 +244,9 @@ gui_color_assign (int *color, const char *color_name)
}
/* is it a color number? */
if (color_name[0] && util_parse_int (color_name, 10, &number) && (number >= 0))
error = NULL;
number = (int)strtol (color_name, &error, 10);
if (color_name[0] && error && !error[0] && (number >= 0))
{
/* color_name is a number, use this color number */
if (number > GUI_COLOR_EXTENDED_MAX)
@@ -1355,6 +1357,7 @@ gui_color_palette_add_alias_cb (void *data,
const void *key, const void *value)
{
struct t_gui_color_palette *color_palette;
char *error;
int number;
/* make C compiler happy */
@@ -1365,7 +1368,9 @@ gui_color_palette_add_alias_cb (void *data,
if (color_palette && color_palette->alias)
{
if (util_parse_int ((const char *)key, 10, &number))
error = NULL;
number = (int)strtol ((char *)key, &error, 10);
if (error && !error[0])
{
hashtable_set (gui_color_hash_palette_alias,
color_palette->alias,
@@ -1432,7 +1437,8 @@ struct t_gui_color_palette *
gui_color_palette_new (int number, const char *value)
{
struct t_gui_color_palette *new_color_palette;
char **items, *pos, *pos2, *str_alias, *str_rgb, str_number[64];
char **items, *pos, *pos2, *error1, *error2, *error3;
char *str_alias, *str_rgb, str_number[64];
int num_items, i, r, g, b;
if (!value)
@@ -1484,11 +1490,16 @@ gui_color_palette_new (int number, const char *value)
if (pos2)
{
pos2[0] = '\0';
if (util_parse_int (str_rgb, 10, &r)
error1 = NULL;
r = (int)strtol (str_rgb, &error1, 10);
error2 = NULL;
g = (int)strtol (pos + 1, &error2, 10);
error3 = NULL;
b = (int)strtol (pos2 + 1, &error3, 10);
if (error1 && !error1[0] && error2 && !error2[0]
&& error3 && !error3[0]
&& (r >= 0) && (r <= 1000)
&& util_parse_int (pos + 1, 10, &g)
&& (g >= 0) && (g <= 1000)
&& util_parse_int (pos2 + 1, 10, &b)
&& (b >= 0) && (b <= 1000))
{
new_color_palette->r = r;
+1 -1
View File
@@ -186,7 +186,7 @@ gui_key_default_bindings (int context, int create_option)
BIND("meta-w,meta-b", "/window balance");
BIND("meta-w,meta-s", "/window swap");
BIND("meta-z", "/window zoom");
BIND("meta-=", "/mute /filter toggle");
BIND("meta-=", "/filter toggle");
BIND("meta--", "/filter toggle @");
BIND("meta-0", "/buffer *10");
BIND("meta-1", "/buffer *1");
+12 -6
View File
@@ -36,7 +36,6 @@
#include "../../core/core-hook.h"
#include "../../core/core-string.h"
#include "../../core/core-utf8.h"
#include "../../core/core-util.h"
#include "../../plugins/plugin.h"
#include "../gui-bar.h"
#include "../gui-bar-window.h"
@@ -356,9 +355,10 @@ gui_mouse_event_concat_gesture (char *key)
const char *
gui_mouse_event_name_sgr (const char *key)
{
int length, num_items, is_release, button, x, y;
char **items;
int length, num_items, is_release;
char **items, *error;
static char mouse_key[128];
long button, x, y;
if (!key || !key[0])
return NULL;
@@ -372,10 +372,14 @@ gui_mouse_event_name_sgr (const char *key)
if (num_items < 3)
goto error;
if (!util_parse_int (items[0], 10, &button))
error = NULL;
button = strtol (items[0], &error, 10);
if (!error || error[0])
goto error;
if (!util_parse_int (items[1], 10, &x))
error = NULL;
x = strtol (items[1], &error, 10);
if (!error || error[0])
goto error;
x = (x >= 1) ? x - 1 : 0;
@@ -384,7 +388,9 @@ gui_mouse_event_name_sgr (const char *key)
goto error;
is_release = (items[2][length - 1] == 'm') ? 1 : 0;
items[2][length - 1] = '\0';
if (!util_parse_int (items[2], 10, &y))
error = NULL;
y = strtol (items[2], &error, 10);
if (!error || error[0])
goto error;
y = (y >= 1) ? y - 1 : 0;
+51 -24
View File
@@ -41,7 +41,6 @@
#include "../../core/core-hook.h"
#include "../../core/core-log.h"
#include "../../core/core-string.h"
#include "../../core/core-util.h"
#include "../../plugins/plugin.h"
#include "../gui-window.h"
#include "../gui-bar.h"
@@ -642,7 +641,7 @@ void
gui_window_string_apply_color_fg (unsigned char **string, WINDOW *window)
{
unsigned char *ptr_string;
char str_fg[6];
char str_fg[6], *error;
int fg, extra_attr, flag;
ptr_string = *string;
@@ -663,7 +662,9 @@ gui_window_string_apply_color_fg (unsigned char **string, WINDOW *window)
{
memcpy (str_fg, ptr_string, 5);
str_fg[5] = '\0';
if (util_parse_int (str_fg, 10, &fg))
error = NULL;
fg = (int)strtol (str_fg, &error, 10);
if (error && !error[0])
{
gui_window_set_custom_color_fg (window,
fg | GUI_COLOR_EXTENDED_FLAG | extra_attr);
@@ -687,7 +688,9 @@ gui_window_string_apply_color_fg (unsigned char **string, WINDOW *window)
str_fg[0] = ptr_string[0];
str_fg[1] = ptr_string[1];
str_fg[2] = '\0';
if (util_parse_int (str_fg, 10, &fg))
error = NULL;
fg = (int)strtol (str_fg, &error, 10);
if (error && !error[0])
{
gui_window_set_custom_color_fg (window, fg | extra_attr);
}
@@ -710,7 +713,7 @@ void
gui_window_string_apply_color_bg (unsigned char **string, WINDOW *window)
{
unsigned char *ptr_string;
char str_bg[6];
char str_bg[6], *error;
int bg;
ptr_string = *string;
@@ -724,7 +727,9 @@ gui_window_string_apply_color_bg (unsigned char **string, WINDOW *window)
{
memcpy (str_bg, ptr_string + 1, 5);
str_bg[5] = '\0';
if (util_parse_int (str_bg, 10, &bg))
error = NULL;
bg = (int)strtol (str_bg, &error, 10);
if (error && !error[0])
{
gui_window_set_custom_color_bg (window,
bg | GUI_COLOR_EXTENDED_FLAG);
@@ -742,7 +747,9 @@ gui_window_string_apply_color_bg (unsigned char **string, WINDOW *window)
str_bg[0] = ptr_string[0];
str_bg[1] = ptr_string[1];
str_bg[2] = '\0';
if (util_parse_int (str_bg, 10, &bg))
error = NULL;
bg = (int)strtol (str_bg, &error, 10);
if (error && !error[0])
{
gui_window_set_custom_color_bg (window, bg);
}
@@ -765,7 +772,7 @@ void
gui_window_string_apply_color_fg_bg (unsigned char **string, WINDOW *window)
{
unsigned char *ptr_string;
char str_fg[6], str_bg[6];
char str_fg[6], str_bg[6], *error;
int fg, bg, extra_attr, flag;
ptr_string = *string;
@@ -790,10 +797,12 @@ gui_window_string_apply_color_fg_bg (unsigned char **string, WINDOW *window)
{
memcpy (str_fg, ptr_string, 5);
str_fg[5] = '\0';
if (util_parse_int (str_fg, 10, &fg))
fg |= GUI_COLOR_EXTENDED_FLAG | extra_attr;
else
error = NULL;
fg = (int)strtol (str_fg, &error, 10);
if (!error || error[0])
fg = -1;
else
fg |= GUI_COLOR_EXTENDED_FLAG | extra_attr;
}
ptr_string += 5;
}
@@ -813,10 +822,12 @@ gui_window_string_apply_color_fg_bg (unsigned char **string, WINDOW *window)
str_fg[0] = ptr_string[0];
str_fg[1] = ptr_string[1];
str_fg[2] = '\0';
if (util_parse_int (str_fg, 10, &fg))
fg |= extra_attr;
else
error = NULL;
fg = (int)strtol (str_fg, &error, 10);
if (!error || error[0])
fg = -1;
else
fg |= extra_attr;
}
ptr_string += 2;
}
@@ -838,10 +849,12 @@ gui_window_string_apply_color_fg_bg (unsigned char **string, WINDOW *window)
{
memcpy (str_bg, ptr_string + 1, 5);
str_bg[5] = '\0';
if (util_parse_int (str_bg, 10, &bg))
bg |= GUI_COLOR_EXTENDED_FLAG;
else
error = NULL;
bg = (int)strtol (str_bg, &error, 10);
if (!error || error[0])
bg = -1;
else
bg |= GUI_COLOR_EXTENDED_FLAG;
}
ptr_string += 6;
}
@@ -855,7 +868,9 @@ gui_window_string_apply_color_fg_bg (unsigned char **string, WINDOW *window)
str_bg[0] = ptr_string[0];
str_bg[1] = ptr_string[1];
str_bg[2] = '\0';
if (!util_parse_int (str_bg, 10, &bg))
error = NULL;
bg = (int)strtol (str_bg, &error, 10);
if (!error || error[0])
bg = -1;
}
ptr_string += 2;
@@ -881,7 +896,7 @@ void
gui_window_string_apply_color_pair (unsigned char **string, WINDOW *window)
{
unsigned char *ptr_string;
char str_pair[6];
char str_pair[6], *error;
int pair;
ptr_string = *string;
@@ -894,8 +909,12 @@ gui_window_string_apply_color_pair (unsigned char **string, WINDOW *window)
{
memcpy (str_pair, ptr_string, 5);
str_pair[5] = '\0';
if (util_parse_int (str_pair, 10, &pair))
error = NULL;
pair = (int)strtol (str_pair, &error, 10);
if (error && !error[0])
{
gui_window_set_custom_color_pair (window, pair);
}
}
ptr_string += 5;
}
@@ -914,7 +933,7 @@ void
gui_window_string_apply_color_weechat (unsigned char **string, WINDOW *window)
{
unsigned char *ptr_string;
char str_number[3];
char str_number[3], *error;
int weechat_color;
ptr_string = *string;
@@ -926,8 +945,13 @@ gui_window_string_apply_color_weechat (unsigned char **string, WINDOW *window)
str_number[0] = ptr_string[0];
str_number[1] = ptr_string[1];
str_number[2] = '\0';
if (util_parse_int (str_number, 10, &weechat_color))
gui_window_set_weechat_color (window, weechat_color);
error = NULL;
weechat_color = (int)strtol (str_number, &error, 10);
if (error && !error[0])
{
gui_window_set_weechat_color (window,
weechat_color);
}
}
ptr_string += 2;
}
@@ -2496,6 +2520,7 @@ void
gui_window_bare_display_toggle (const char *delay)
{
long seconds;
char *error;
gui_window_bare_display ^= 1;
@@ -2507,7 +2532,9 @@ gui_window_bare_display_toggle (const char *delay)
gui_mouse_disable ();
if (delay)
{
if (util_parse_long (delay, 10, &seconds) && (seconds >= 0))
error = NULL;
seconds = strtol (delay, &error, 10);
if (error && !error[0] && (seconds >= 0))
{
if (gui_window_bare_display_timer)
{
+6 -2
View File
@@ -2153,6 +2153,7 @@ gui_bar_item_focus_buffer_nicklist_cb (const void *pointer,
const char *str_window, *str_buffer, *str_bar_item_line;
struct t_gui_window *window;
struct t_gui_buffer *buffer;
char *error;
/* make C compiler happy */
(void) pointer;
@@ -2161,8 +2162,6 @@ gui_bar_item_focus_buffer_nicklist_cb (const void *pointer,
str_bar_item_line = hashtable_get (info, "_bar_item_line");
if (!str_bar_item_line || !str_bar_item_line[0])
return NULL;
if (!util_parse_int (str_bar_item_line, 10, &bar_item_line))
return NULL;
/* get window */
str_window = hashtable_get (info, "_window");
@@ -2194,6 +2193,11 @@ gui_bar_item_focus_buffer_nicklist_cb (const void *pointer,
if (!buffer)
return NULL;
error = NULL;
bar_item_line = (int) strtol (str_bar_item_line, &error, 10);
if (!error || error[0])
return NULL;
i = 0;
ptr_group = NULL;
ptr_nick = NULL;
+21 -12
View File
@@ -39,7 +39,6 @@
#include "../core/core-infolist.h"
#include "../core/core-log.h"
#include "../core/core-string.h"
#include "../core/core-util.h"
#include "../plugins/plugin.h"
#include "gui-bar.h"
#include "gui-bar-item.h"
@@ -1019,7 +1018,9 @@ gui_bar_config_check_size (const void *pointer, void *data,
const char *value)
{
struct t_gui_bar *ptr_bar;
int new_value, current_size, number;
long number;
char *error;
int new_value, current_size;
/* make C compiler happy */
(void) pointer;
@@ -1031,26 +1032,30 @@ gui_bar_config_check_size (const void *pointer, void *data,
new_value = -1;
if (strncmp (value, "++", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
if ((number < 0) || (CONFIG_INTEGER(ptr_bar->options[GUI_BAR_OPTION_SIZE]) > INT_MAX - number))
return 0;
new_value = CONFIG_INTEGER(ptr_bar->options[GUI_BAR_OPTION_SIZE]) + number;
}
}
else if (strncmp (value, "--", 2) == 0)
{
if (util_parse_int (value + 2, 10, &number))
error = NULL;
number = strtol (value + 2, &error, 10);
if (error && !error[0])
{
if ((number < 0) || (CONFIG_INTEGER(ptr_bar->options[GUI_BAR_OPTION_SIZE]) < INT_MIN + number))
return 0;
new_value = CONFIG_INTEGER(ptr_bar->options[GUI_BAR_OPTION_SIZE]) - number;
}
}
else
{
if (util_parse_int (value, 10, &number))
error = NULL;
number = strtol (value, &error, 10);
if (error && !error[0])
{
new_value = number;
}
}
if (new_value < 0)
return 0;
@@ -2057,8 +2062,9 @@ gui_bar_scroll (struct t_gui_bar *bar, struct t_gui_window *window,
const char *scroll)
{
struct t_gui_bar_window *ptr_bar_win;
char *str;
int length, add_x, add, percent, scroll_beginning, scroll_end, number;
long number;
char *str, *error;
int length, add_x, add, percent, scroll_beginning, scroll_end;
if (!bar)
return 0;
@@ -2126,7 +2132,10 @@ gui_bar_scroll (struct t_gui_bar *bar, struct t_gui_window *window,
if (!str)
return 0;
if (!util_parse_int (str, 10, &number) || (number <= 0))
error = NULL;
number = strtol (str, &error, 10);
if (!error || error[0] || (number <= 0))
{
free (str);
return 0;
-30
View File
@@ -49,7 +49,6 @@
#include "../core/core-secure-buffer.h"
#include "../core/core-string.h"
#include "../core/core-utf8.h"
#include "../core/core-util.h"
#include "../plugins/plugin.h"
#include "gui-buffer.h"
#include "gui-chat.h"
@@ -3279,35 +3278,6 @@ gui_buffer_search_by_number (int number)
return NULL;
}
/*
* Search for a buffer by id, full name or partial name.
*/
struct t_gui_buffer *
gui_buffer_search_by_id_name (const char *string)
{
struct t_gui_buffer *ptr_buffer;
long long id;
if (!string || !string[0])
return NULL;
ptr_buffer = NULL;
if (util_parse_longlong (string, 10, &id))
{
ptr_buffer = gui_buffer_search_by_id (id);
}
else
{
ptr_buffer = gui_buffer_search_by_full_name (string);
if (!ptr_buffer)
ptr_buffer = gui_buffer_search_by_partial_name (NULL, string);
}
return ptr_buffer;
}
/*
* Search for a buffer by id, number, full name or partial name.
*/
-1
View File
@@ -416,7 +416,6 @@ extern struct t_gui_buffer *gui_buffer_search (const char *plugin, const char *n
extern struct t_gui_buffer *gui_buffer_search_by_partial_name (const char *plugin,
const char *name);
extern struct t_gui_buffer *gui_buffer_search_by_number (int number);
extern struct t_gui_buffer *gui_buffer_search_by_id_name (const char *string);
extern struct t_gui_buffer *gui_buffer_search_by_id_number_name (const char *string);
extern int gui_buffer_count_merged_buffers (int number);
extern void gui_buffer_clear (struct t_gui_buffer *buffer);
+1 -1
View File
@@ -337,7 +337,7 @@ fset_mouse_init (void)
weechat_hashtable_set (
keys,
"@chat(" FSET_PLUGIN_NAME "." FSET_BUFFER_NAME "):button1",
"/window ${_window_number};/mute /fset -go ${fset_option_index}");
"/window ${_window_number};/fset -go ${fset_option_index}");
weechat_hashtable_set (
keys,
"@chat(" FSET_PLUGIN_NAME "." FSET_BUFFER_NAME "):button2*",
+1 -1
View File
@@ -1358,7 +1358,7 @@ irc_info_init (void)
weechat_hook_info (
"irc_nick_from_host",
N_("get nick from IRC host"),
N_("IRC host (like `:nick!name@server`)"),
N_("IRC host (like `:nick!name@server.com`)"),
&irc_info_info_irc_nick_from_host_cb, NULL, NULL);
weechat_hook_info (
"irc_nick_color",
+4 -3
View File
@@ -481,9 +481,10 @@ irc_list_buffer_set_title (struct t_irc_server *server)
snprintf (str_title, sizeof (str_title),
_("%d channels (total: %d) | Filter: %s | Sort: %s | "
"Keys: ctrl+j=join channel | "
"Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, "
"q=close buffer"),
"Key(input): "
"ctrl+j=join channel, "
"($)=refresh, "
"(q)=close buffer"),
num_channels,
num_channels_total,
(server->list->filter) ? server->list->filter : "*",
+1 -1
View File
@@ -703,7 +703,7 @@ logger_config_init (void)
".1; an integer number with a suffix is allowed: b = bytes "
"(default if no unit given), k = kilobytes, m = megabytes, "
"g = gigabytes, t = terabytes; example: \"2g\" causes a rotation "
"if the file size is greater than 2 GB; if set to \"0\", "
"if the file size is > 2,000,000,000 bytes; if set to \"0\", "
"no rotation is performed (unlimited log size); WARNING: before "
"changing this option, you should first set the compression type "
"via option logger.file.rotation_compression_type"),
-59
View File
@@ -350,13 +350,9 @@ relay_api_msg_buffer_to_json (struct t_gui_buffer *buffer,
{
struct t_hdata *hdata;
struct t_gui_buffer *pointer;
struct t_gui_lines *ptr_lines;
struct t_gui_line *ptr_line;
struct t_gui_line_data *ptr_line_data;
cJSON *json, *json_local_vars, *json_lines, *json_nicklist_root;
const char *ptr_string;
char *string;
int last_read_line_id;
hdata = relay_hdata_buffer;
pointer = buffer;
@@ -409,24 +405,6 @@ relay_api_msg_buffer_to_json (struct t_gui_buffer *buffer,
if (json_lines)
cJSON_AddItemToObject (json, "lines", json_lines);
}
last_read_line_id = -1;
ptr_lines = weechat_hdata_pointer (relay_hdata_buffer, buffer, "own_lines");
if (ptr_lines)
{
ptr_line = weechat_hdata_pointer (relay_hdata_lines, ptr_lines, "last_read_line");
if (ptr_line)
{
ptr_line_data = weechat_hdata_pointer (relay_hdata_line, ptr_line, "data");
if (ptr_line_data)
{
last_read_line_id = weechat_hdata_integer (relay_hdata_line_data,
ptr_line_data, "id");
}
}
}
cJSON_AddItemToObject (
json, "last_read_line_id",
cJSON_CreateNumber (last_read_line_id));
/* nicks */
if (nicks)
@@ -848,40 +826,3 @@ relay_api_msg_hotlist_to_json (struct t_gui_hotlist *hotlist)
return json;
}
/*
* Create a JSON object with a script.
*/
cJSON *
relay_api_msg_script_to_json (struct t_hdata *hdata, void *script, const char *extension)
{
cJSON *json;
void *pointer;
const char *ptr_string;
char name[1024];
if (!hdata)
return NULL;
pointer = script;
json = cJSON_CreateObject ();
if (!json)
return NULL;
if (!script)
return json;
snprintf (name, sizeof (name),
"%s.%s",
weechat_hdata_string (hdata, script, "name"),
extension);
MSG_ADD_STR_BUF("name", name);
MSG_ADD_HDATA_STR("version", "version");
MSG_ADD_HDATA_STR("description", "description");
MSG_ADD_HDATA_STR("author", "author");
MSG_ADD_HDATA_STR("license", "license");
return json;
}
-2
View File
@@ -58,7 +58,5 @@ extern cJSON *relay_api_msg_nick_group_to_json (struct t_gui_nick_group *nick_gr
enum t_relay_api_colors colors);
extern cJSON *relay_api_msg_completion_to_json (struct t_gui_completion *completion);
extern cJSON *relay_api_msg_hotlist_to_json (struct t_gui_hotlist *hotlist);
extern cJSON *relay_api_msg_script_to_json (struct t_hdata *hdata, void *script,
const char *extension);
#endif /* WEECHAT_PLUGIN_RELAY_API_MSG_H */
@@ -764,64 +764,6 @@ RELAY_API_PROTOCOL_CALLBACK(hotlist)
return RELAY_API_PROTOCOL_RC_OK;
}
/*
* Callback for resource "scripts".
*
* Routes:
* GET /api/scripts
*/
RELAY_API_PROTOCOL_CALLBACK(scripts)
{
cJSON *json;
char *info_languages, **languages, hdata_name[256], *pos;
int num_languages, i;
struct t_hdata *ptr_hdata;
void *ptr_script;
json = cJSON_CreateArray ();
if (!json)
return RELAY_API_PROTOCOL_RC_MEMORY;
info_languages = weechat_info_get ("script_languages", NULL);
if (info_languages)
{
languages = weechat_string_split (info_languages, ",", NULL,
WEECHAT_STRING_SPLIT_STRIP_LEFT
| WEECHAT_STRING_SPLIT_STRIP_RIGHT
| WEECHAT_STRING_SPLIT_COLLAPSE_SEPS,
0, &num_languages);
if (languages)
{
for (i = 0; i < num_languages; i++)
{
pos = strchr (languages[i], ':');
if (pos)
{
pos[0] = '\0';
snprintf (hdata_name, sizeof (hdata_name),
"%s_script", languages[i]);
ptr_hdata = weechat_hdata_get (hdata_name);
ptr_script = weechat_hdata_get_list (ptr_hdata, "scripts");
while (ptr_script)
{
cJSON_AddItemToArray (
json,
relay_api_msg_script_to_json (ptr_hdata, ptr_script, pos + 1));
ptr_script = weechat_hdata_move (ptr_hdata, ptr_script, 1);
}
}
}
weechat_string_free_split (languages);
}
free (info_languages);
}
relay_api_msg_send_json (client, RELAY_HTTP_200_OK, NULL, "scripts", json);
cJSON_Delete (json);
return RELAY_API_PROTOCOL_RC_OK;
}
/*
* Callback for resource "input".
*
@@ -1344,7 +1286,6 @@ relay_api_protocol_recv_http (struct t_relay_client *client)
{ "GET", "version", 1, 0, 0, RELAY_API_CB(version) },
{ "GET", "buffers", 1, 0, 3, RELAY_API_CB(buffers) },
{ "GET", "hotlist", 1, 0, 3, RELAY_API_CB(hotlist) },
{ "GET", "scripts", 1, 0, 0, RELAY_API_CB(scripts) },
{ "POST", "input", 1, 0, 0, RELAY_API_CB(input) },
{ "POST", "completion", 1, 0, 0, RELAY_API_CB(completion) },
{ "POST", "ping", 1, 0, 0, RELAY_API_CB(ping) },
+2 -2
View File
@@ -26,8 +26,8 @@ struct t_relay_client;
enum t_relay_status;
#define RELAY_API_VERSION_MAJOR 0
#define RELAY_API_VERSION_MINOR 6
#define RELAY_API_VERSION_PATCH 0
#define RELAY_API_VERSION_MINOR 4
#define RELAY_API_VERSION_PATCH 1
#define RELAY_API_VERSION_NUMBER \
((RELAY_API_VERSION_MAJOR << 16) \
+ (RELAY_API_VERSION_MINOR << 8) \
+3 -65
View File
@@ -17,7 +17,7 @@ info:
license:
name: CC BY-NC-SA 4.0
url: https://creativecommons.org/licenses/by-nc-sa/4.0/
version: 0.6.0
version: 0.4.1
externalDocs:
url: https://weechat.org/doc/
@@ -32,7 +32,6 @@ tags:
- name: version
- name: buffers
- name: hotlist
- name: scripts
- name: input
- name: completion
- name: ping
@@ -97,7 +96,7 @@ paths:
get:
tags:
- version
description: Get the WeeChat and API versions.
description: Get the WeeChat and API versions
parameters:
- $ref: '#/components/parameters/totp'
operationId: getVersion
@@ -532,7 +531,7 @@ paths:
get:
tags:
- hotlist
description: Get hotlist.
description: Get hotlist
operationId: getHotlist
parameters:
- $ref: '#/components/parameters/totp'
@@ -565,37 +564,6 @@ paths:
$ref: '#/components/schemas/Error'
security:
- password: []
/scripts:
get:
tags:
- scripts
description: Get list of loaded scripts.
operationId: getScripts
parameters:
- $ref: '#/components/parameters/totp'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Script'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'503':
description: Out of memory
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- password: []
/input:
post:
tags:
@@ -1075,11 +1043,6 @@ components:
type: array
items:
$ref: '#/components/schemas/Line'
last_read_line_id:
type: integer
format: int64
description: identifier of the last line read in the buffer (-1 if read marker is not displayed)
example: -1
nicklist_root:
$ref: '#/components/schemas/NickGroup'
required:
@@ -1368,31 +1331,6 @@ components:
- date
- buffer_id
- count
Script:
type: object
properties:
name:
type: string
description: script name
example: 'go.py'
version:
type: string
example: '3.1.1'
description:
type: string
example: 'Quick jump to buffers'
author:
type: string
example: 'Sébastien Helleu <flashcode@flashtux.org>'
license:
type: string
example: 'GPL3'
required:
- name
- version
- description
- author
- license
Completion:
type: object
properties:
+4 -35
View File
@@ -93,7 +93,6 @@ struct t_config_option *relay_config_network_tls_cert_key = NULL;
struct t_config_option *relay_config_network_tls_priorities = NULL;
struct t_config_option *relay_config_network_totp_secret = NULL;
struct t_config_option *relay_config_network_totp_window = NULL;
struct t_config_option *relay_config_network_unix_socket_permissions = NULL;
struct t_config_option *relay_config_network_websocket_allowed_origins = NULL;
struct t_config_option *relay_config_network_websocket_permessage_deflate = NULL;
@@ -482,27 +481,6 @@ relay_config_change_network_tls_priorities (const void *pointer, void *data,
}
}
/*
* Check if option "relay.network.unix_socket_permissions" is valid.
*
* Return:
* 1: value is valid
* 0: value is not valid
*/
int
relay_config_check_network_unix_socket_permissions (const void *pointer, void *data,
struct t_config_option *option,
const char *value)
{
/* make C compiler happy */
(void) pointer;
(void) data;
(void) option;
return value && (strlen (value) == 3) && weechat_util_parse_long (value, 8, NULL);
}
/*
* Callback for changes on option "relay.network.websocket_allowed_origins".
*/
@@ -1704,8 +1682,8 @@ relay_config_init (void)
relay_config_file, relay_config_section_network,
"password_hash_algo", "string",
N_("comma separated list of hash algorithms used for password "
"authentication in \"api\" and \"weechat\" protocols, among these "
"values: \"plain\" (password in plain text, not hashed), \"sha256\", "
"authentication in weechat protocol, among these values: "
"\"plain\" (password in plain text, not hashed), \"sha256\", "
"\"sha512\", \"pbkdf2+sha256\", \"pbkdf2+sha512\"), \"*\" means "
"all algorithms, a name beginning with \"!\" is a negative "
"value to prevent an algorithm from being used, wildcard \"*\" "
@@ -1718,8 +1696,8 @@ relay_config_init (void)
relay_config_network_password_hash_iterations = weechat_config_new_option (
relay_config_file, relay_config_section_network,
"password_hash_iterations", "integer",
N_("number of iterations asked to the client in \"api\" and \"weechat\" "
"protocols when a hashed password with algorithm PBKDF2 is used for "
N_("number of iterations asked to the client in weechat protocol "
"when a hashed password with algorithm PBKDF2 is used for "
"authentication; more iterations is better in term of security "
"but is slower to compute; this number should not be too high "
"if your CPU is slow"),
@@ -1779,15 +1757,6 @@ relay_config_init (void)
"(0 or 1 are recommended values)"),
NULL, 0, 256, "0", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
relay_config_network_unix_socket_permissions = weechat_config_new_option (
relay_config_file, relay_config_section_network,
"unix_socket_permissions", "string",
N_("permissions for the Unix socket, as octal value (see man chmod); "
"it must be a number with 3 digits, each between 0 and 7"),
NULL, 0, 0, "700", NULL, 0,
&relay_config_check_network_unix_socket_permissions, NULL, NULL,
NULL, NULL, NULL,
NULL, NULL, NULL);
relay_config_network_websocket_allowed_origins = weechat_config_new_option (
relay_config_file, relay_config_section_network,
"websocket_allowed_origins", "string",
-1
View File
@@ -62,7 +62,6 @@ extern struct t_config_option *relay_config_network_tls_cert_key;
extern struct t_config_option *relay_config_network_tls_priorities;
extern struct t_config_option *relay_config_network_totp_secret;
extern struct t_config_option *relay_config_network_totp_window;
extern struct t_config_option *relay_config_network_unix_socket_permissions;
extern struct t_config_option *relay_config_network_websocket_allowed_origins;
extern struct t_config_option *relay_config_network_websocket_permessage_deflate;
+1 -1
View File
@@ -247,7 +247,7 @@ relay_info_init (void)
N_("number of clients for relay"),
/* TRANSLATORS: please do not translate the status names, they must be used in English */
N_("protocol,status (both are optional, for each argument \"*\" "
"means all; protocols: api, irc, weechat; statuses: connecting, "
"means all; protocols: irc, weechat; statuses: connecting, "
"waiting_auth, connected, auth_failed, disconnected)"),
&relay_info_info_relay_client_count_cb, NULL, NULL);
/* infolist hooks */
+2 -21
View File
@@ -498,7 +498,6 @@ int
relay_server_create_socket (struct t_relay_server *server)
{
int domain, set, max_clients, addr_size, rc;
long unix_socket_perms;
struct sockaddr_in server_addr;
struct sockaddr_in6 server_addr6;
struct sockaddr_un server_addr_unix;
@@ -692,27 +691,9 @@ relay_server_create_socket (struct t_relay_server *server)
return 0;
}
/* change permissions on the unix socket */
/* change permissions: only the owner can use the unix socket */
if (server->unix_socket)
{
if (!weechat_util_parse_long (
weechat_config_string (relay_config_network_unix_socket_permissions),
8, &unix_socket_perms))
{
/* default: owner only (rwx------) */
unix_socket_perms = 0700;
}
if (chmod (server->path, unix_socket_perms) < 0)
{
weechat_printf (
NULL,
_("%s%s: warning: failed to set permissions on path %s (%s): "
"error %d %s"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME,
server->path, server->protocol_string,
errno, strerror (errno));
}
}
chmod (server->path, 0700);
#ifdef SOMAXCONN
if (listen (server->sock, SOMAXCONN) != 0)
+2 -1
View File
@@ -42,7 +42,8 @@
WEECHAT_PLUGIN_NAME(RELAY_PLUGIN_NAME);
WEECHAT_PLUGIN_DESCRIPTION(N_("Relay WeeChat data to remote applications"));
WEECHAT_PLUGIN_DESCRIPTION(N_("Relay WeeChat data to remote application "
"(irc/weechat protocols)"));
WEECHAT_PLUGIN_AUTHOR("Sébastien Helleu <flashcode@flashtux.org>");
WEECHAT_PLUGIN_VERSION(WEECHAT_VERSION);
WEECHAT_PLUGIN_LICENSE(WEECHAT_LICENSE);
+3 -4
View File
@@ -779,12 +779,11 @@ script_buffer_refresh (int clear)
else
{
snprintf (str_title, sizeof (str_title),
_("%d/%d scripts | Filter: %s | Sort: %s | "
_("%d/%d scripts (filter: %s) | Sort: %s | "
"Alt+key/input: i=install, r=remove, l=load, L=reload, "
"u=unload, A=autoload, h=(un)hold, v=view script | "
"Input: $=refresh, s:x,y=sort, words=filter, *=reset filter, "
"q=close buffer | "
"Mouse: left=select, right=install/remove"),
"Input: q=close, $=refresh, s:x,y=sort, words=filter, "
"*=reset filter | Mouse: left=select, right=install/remove"),
script_repo_count_displayed,
script_repo_count,
(script_repo_filter) ? script_repo_filter : "*",
-36
View File
@@ -159,37 +159,6 @@ script_info_info_script_loaded_cb (const void *pointer, void *data,
return NULL;
}
/*
* Return script info "script_languages".
*/
char *
script_info_info_languages_cb (const void *pointer, void *data,
const char *info_name,
const char *arguments)
{
char **output;
int i;
/* make C compiler happy */
(void) pointer;
(void) data;
(void) info_name;
(void) arguments;
output = weechat_string_dyn_alloc (256);
for (i = 0; i < SCRIPT_NUM_LANGUAGES; i++)
{
if (i > 0)
weechat_string_dyn_concat (output, ",", -1);
weechat_string_dyn_concat (output, script_language[i], -1);
weechat_string_dyn_concat (output, ":", -1);
weechat_string_dyn_concat (output, script_extension[i], -1);
}
return weechat_string_dyn_free (output, 0);
}
/*
* Return script infolist "script_script".
*/
@@ -266,11 +235,6 @@ script_info_init (void)
N_("1 if script is loaded"),
N_("script name with extension"),
&script_info_info_script_loaded_cb, NULL, NULL);
weechat_hook_info (
"script_languages",
N_("comma-separated list of plugin:extension with supported languages"),
NULL,
&script_info_info_languages_cb, NULL, NULL);
/* infolist hooks */
weechat_hook_infolist (
+6 -52
View File
@@ -296,7 +296,7 @@ TEST(CoreCommand, Bar)
TEST(CoreCommand, Buffer)
{
char command[1024], string[1024];
char string[1024];
WEE_CMD_CORE_ERROR_GENERIC("/buffer xxx");
@@ -336,57 +336,11 @@ TEST(CoreCommand, Buffer)
/* /buffer move */
WEE_CMD_CORE_MIN_ARGS("/buffer move", "/buffer move");
WEE_CMD_CORE_ERROR_MSG("/buffer move xxx", "Invalid buffer number: \"xxx\"");
snprintf (command, sizeof (command), "/buffer move +%d", INT_MAX - 1);
snprintf (string, sizeof (string), "Invalid buffer number: \"+%d\"", INT_MAX - 1);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move -%d", INT_MAX - 1);
snprintf (string, sizeof (string), "Invalid buffer number: \"-%d\"", INT_MAX - 1);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move +%d", INT_MAX);
snprintf (string, sizeof (string), "Invalid buffer number: \"+%d\"", INT_MAX);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move -%d", INT_MAX);
snprintf (string, sizeof (string), "Invalid buffer number: \"-%d\"", INT_MAX);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move +%ld", ((long)INT_MAX) + 1);
snprintf (string, sizeof (string), "Invalid buffer number: \"+%ld\"", ((long)INT_MAX) + 1);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move -%ld", ((long)INT_MAX) + 1);
snprintf (string, sizeof (string), "Invalid buffer number: \"-%ld\"", ((long)INT_MAX) + 1);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move +%d", GUI_BUFFER_NUMBER_MAX - 1);
WEE_CMD_CORE(command);
snprintf (command, sizeof (command), "/buffer move -%d", GUI_BUFFER_NUMBER_MAX - 1);
snprintf (string, sizeof (string),
"Buffer number %d is out of range (it must be between 1 and %d)",
gui_buffers->number - (GUI_BUFFER_NUMBER_MAX - 1),
GUI_BUFFER_NUMBER_MAX);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move +%d", GUI_BUFFER_NUMBER_MAX);
snprintf (string, sizeof (string),
"Buffer number %d is out of range (it must be between 1 and %d)",
gui_buffers->number + GUI_BUFFER_NUMBER_MAX,
GUI_BUFFER_NUMBER_MAX);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move -%d", GUI_BUFFER_NUMBER_MAX);
snprintf (string, sizeof (string),
"Buffer number %d is out of range (it must be between 1 and %d)",
gui_buffers->number - GUI_BUFFER_NUMBER_MAX,
GUI_BUFFER_NUMBER_MAX);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move +%d", GUI_BUFFER_NUMBER_MAX + 1);
snprintf (string, sizeof (string),
"Invalid buffer number: \"+%d\"", GUI_BUFFER_NUMBER_MAX + 1);
WEE_CMD_CORE_ERROR_MSG(command, string);
snprintf (command, sizeof (command), "/buffer move -%d", GUI_BUFFER_NUMBER_MAX + 1);
snprintf (string, sizeof (string),
"Invalid buffer number: \"-%d\"", GUI_BUFFER_NUMBER_MAX + 1);
WEE_CMD_CORE_ERROR_MSG(command, string);
WEE_CMD_CORE("/buffer move -");
WEE_CMD_CORE("/buffer move +");
WEE_CMD_CORE("/buffer add test");
WEE_CMD_CORE("/buffer move +1");
WEE_CMD_CORE("/buffer add -switch test");
WEE_CMD_CORE("/buffer move -1");
WEE_CMD_CORE("/buffer move +1");
WEE_CMD_CORE("/buffer close core.test");
/* /buffer swap */
@@ -530,7 +484,7 @@ TEST(CoreCommand, Buffer)
/* smart jump */
WEE_CMD_CORE_ERROR_MSG("/buffer *xxx", "Invalid buffer number: \"xxx\"");
WEE_CMD_CORE_ERROR_GENERIC("/buffer *");
WEE_CMD_CORE("/buffer *");
WEE_CMD_CORE("/buffer *2");
/* jump by id, number or name */
@@ -539,8 +493,8 @@ TEST(CoreCommand, Buffer)
WEE_CMD_CORE("/buffer 1");
WEE_CMD_CORE("/buffer core.test");
WEE_CMD_CORE("/buffer core.weechat");
snprintf (command, sizeof (command), "/buffer %lld", gui_buffers->id);
WEE_CMD_CORE(command);
snprintf (string, sizeof (string), "/buffer %lld", gui_buffers->id);
WEE_CMD_CORE(string);
WEE_CMD_CORE("/buffer close core.test");
}
+4 -4
View File
@@ -3005,11 +3005,11 @@ TEST(CoreString, GetPriorityAndName)
LONGS_EQUAL(500, priority);
STRCMP_EQUAL("", ptr_name);
/* "|" => (default_priority, "") */
/* "|" => (0, "") */
priority = -1;
ptr_name = NULL;
string_get_priority_and_name (delimiter, &priority, &ptr_name, 500);
LONGS_EQUAL(500, priority);
LONGS_EQUAL(0, priority);
STRCMP_EQUAL("", ptr_name);
/* "test" => (default_priority, "test") */
@@ -3019,11 +3019,11 @@ TEST(CoreString, GetPriorityAndName)
LONGS_EQUAL(500, priority);
STRCMP_EQUAL("test", ptr_name);
/* "|test" => (default_priority, "test") */
/* "|test" => (0, "test") */
priority = -1;
ptr_name = NULL;
string_get_priority_and_name (name_prio_empty, &priority, &ptr_name, 500);
LONGS_EQUAL(500, priority);
LONGS_EQUAL(0, priority);
STRCMP_EQUAL("test", ptr_name);
/* "1234|test" => (1234, "test") */
+1 -10
View File
@@ -698,7 +698,6 @@ TEST(CoreUtil, GetTimeDiff)
TEST(CoreUtil, ParseDelay)
{
unsigned long long delay;
char str_delay[128];
/* error: no delay */
LONGS_EQUAL(0, util_parse_delay ("123", 1ULL, NULL));
@@ -722,10 +721,8 @@ TEST(CoreUtil, ParseDelay)
/* error: bad number */
WEE_PARSE_DELAY(0, 0ULL, "abcd", 1LL);
/* invalid unsigned long long: outside range (0, ULLONG_MAX) */
/* error: bad delay */
WEE_PARSE_DELAY(0, 0ULL, "-123", 1LL);
snprintf (str_delay, sizeof (str_delay), "%llu1", ULLONG_MAX);
LONGS_EQUAL(0, util_parse_delay (str_delay, 10, &delay));
/* tests with delay == 0 */
WEE_PARSE_DELAY(1, 0ULL, "0", 1ULL);
@@ -767,16 +764,10 @@ TEST(CoreUtil, ParseDelay)
TEST(CoreUtil, VersionNumber)
{
char str_version[256];
CHECK(util_version_number (NULL) == 0);
CHECK(util_version_number ("") == 0);
CHECK(util_version_number ("abc") == 0);
/* invalid unsigned long: outside range (0, ULONG_MAX) */
snprintf (str_version, sizeof (str_version), "0.0.%lu1", ULONG_MAX);
CHECK(util_version_number (str_version) == 0);
CHECK(util_version_number ("0.3.2-dev") == 0x00030200);
CHECK(util_version_number ("0.3.2-rc1") == 0x00030200);
CHECK(util_version_number ("0.3.2") == 0x00030200);
@@ -23,18 +23,13 @@
#include "CppUTest/TestHarness.h"
#include "tests.h"
extern "C"
{
#include <string.h>
#include <time.h>
#include <sys/time.h>
#include <cjson/cJSON.h>
#include "src/core/core-hdata.h"
#include "src/core/core-hook.h"
#include "src/core/core-util.h"
#include "src/core/weechat.h"
#include "src/gui/gui-buffer.h"
#include "src/gui/gui-chat.h"
#include "src/gui/gui-color.h"
@@ -182,7 +177,6 @@ TEST(RelayApiMsg, BufferToJson)
WEE_CHECK_OBJ_STR("core", json_local_vars, "plugin");
WEE_CHECK_OBJ_STR("weechat", json_local_vars, "name");
POINTERS_EQUAL(NULL, cJSON_GetObjectItem (json, "lines"));
WEE_CHECK_OBJ_NUM(-1, json, "last_read_line_id");
POINTERS_EQUAL(NULL, cJSON_GetObjectItem (json, "nicks"));
cJSON_Delete (json);
@@ -658,63 +652,3 @@ TEST(RelayApiMsg, HotlistToJson)
gui_hotlist_remove_buffer (gui_buffers, 1);
}
/*
* Test functions:
* relay_api_msg_script_to_json
*/
TEST(RelayApiMsg, ScriptToJson)
{
struct t_hdata *ptr_hdata;
void *ptr_script;
cJSON *json, *json_obj;
char path_testapigen[PATH_MAX], path_testapi[PATH_MAX];
char *test_scripts_dir, str_command[(PATH_MAX * 2) + 128];
const char *ptr_test_scripts_dir;
POINTERS_EQUAL(NULL, relay_api_msg_script_to_json (NULL, NULL, NULL));
ptr_hdata = hook_hdata_get (NULL, "python_script");
json = relay_api_msg_script_to_json (ptr_hdata, NULL, NULL);
CHECK(json);
CHECK(cJSON_IsObject (json));
cJSON_Delete (json);
/* load a python script for this test */
ptr_test_scripts_dir = getenv ("WEECHAT_TESTS_SCRIPTS_DIR");
test_scripts_dir = strdup (
(ptr_test_scripts_dir) ?
ptr_test_scripts_dir : "./scripts/python");
snprintf (path_testapigen, sizeof (path_testapigen),
"%s%s%s",
test_scripts_dir,
DIR_SEPARATOR,
"testapigen.py");
snprintf (path_testapi, sizeof (path_testapi),
"%s%s%s",
test_scripts_dir,
DIR_SEPARATOR,
"testapi.py");
snprintf (str_command, sizeof (str_command),
"/script load %s", path_testapigen);
run_cmd (str_command);
ptr_script = hdata_get_list (ptr_hdata, "scripts");
CHECK(ptr_script);
json = relay_api_msg_script_to_json (ptr_hdata, ptr_script, "py");
CHECK(json);
CHECK(cJSON_IsObject (json));
WEE_CHECK_OBJ_STR("testapigen.py", json, "name");
WEE_CHECK_OBJ_STR("0.1", json, "version");
WEE_CHECK_OBJ_STR("Generate scripting API test scripts", json, "description");
WEE_CHECK_OBJ_STR("Sébastien Helleu <flashcode@flashtux.org>", json, "author");
WEE_CHECK_OBJ_STR("GPL3", json, "license");
cJSON_Delete (json);
/* unload script */
snprintf (str_command, sizeof (str_command),
"/script unload -q weechat_testapi.py");
run_cmd (str_command);
}
@@ -23,7 +23,6 @@
#include "CppUTest/TestHarness.h"
#include "tests.h"
#include "tests-record.h"
extern "C"
@@ -35,7 +34,6 @@ extern "C"
#include "src/core/core-string.h"
#include "src/core/core-util.h"
#include "src/core/core-version.h"
#include "src/core/weechat.h"
#include "src/gui/gui-buffer.h"
#include "src/gui/gui-chat.h"
#include "src/gui/gui-hotlist.h"
@@ -613,65 +611,6 @@ TEST(RelayApiProtocolWithClient, CbHotlist)
gui_hotlist_remove_buffer (gui_buffers, 1);
}
/*
* Test functions:
* relay_api_protocol_cb_scripts
*/
TEST(RelayApiProtocolWithClient, CbScripts)
{
cJSON *json, *json_obj;
char path_testapigen[PATH_MAX], path_testapi[PATH_MAX];
char *test_scripts_dir, str_command[(PATH_MAX * 2) + 128];
const char *ptr_test_scripts_dir;
/* get scripts (no scripts loaded) */
test_client_recv_http ("GET /api/scripts", NULL, NULL);
WEE_CHECK_HTTP_CODE(200, "OK");
CHECK(json_body_sent[0]);
CHECK(cJSON_IsArray (json_body_sent[0]));
LONGS_EQUAL(0, cJSON_GetArraySize (json_body_sent[0]));
/* load a python script for this test */
ptr_test_scripts_dir = getenv ("WEECHAT_TESTS_SCRIPTS_DIR");
test_scripts_dir = strdup (
(ptr_test_scripts_dir) ?
ptr_test_scripts_dir : "./scripts/python");
snprintf (path_testapigen, sizeof (path_testapigen),
"%s%s%s",
test_scripts_dir,
DIR_SEPARATOR,
"testapigen.py");
snprintf (path_testapi, sizeof (path_testapi),
"%s%s%s",
test_scripts_dir,
DIR_SEPARATOR,
"testapi.py");
snprintf (str_command, sizeof (str_command),
"/script load %s", path_testapigen);
run_cmd (str_command);
/* get scripts (one loaded) */
test_client_recv_http ("GET /api/scripts", NULL, NULL);
WEE_CHECK_HTTP_CODE(200, "OK");
CHECK(json_body_sent[0]);
CHECK(cJSON_IsArray (json_body_sent[0]));
LONGS_EQUAL(1, cJSON_GetArraySize (json_body_sent[0]));
json = cJSON_GetArrayItem (json_body_sent[0], 0);
CHECK(json);
CHECK(cJSON_IsObject (json));
WEE_CHECK_OBJ_STR("testapigen.py", json, "name");
WEE_CHECK_OBJ_STR("0.1", json, "version");
WEE_CHECK_OBJ_STR("Generate scripting API test scripts", json, "description");
WEE_CHECK_OBJ_STR("Sébastien Helleu <flashcode@flashtux.org>", json, "author");
WEE_CHECK_OBJ_STR("GPL3", json, "license");
/* unload script */
snprintf (str_command, sizeof (str_command),
"/script unload -q weechat_testapi.py");
run_cmd (str_command);
}
/*
* Test functions:
* relay_api_protocol_cb_completion
@@ -0,0 +1,51 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5d15a3548..0786637b9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,7 +19,7 @@
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
-cmake_minimum_required(VERSION 3.18)
+cmake_minimum_required(VERSION 3.16)
project(weechat C)
diff --git a/debian-devel/rules b/debian-devel/rules
index 086056f76..559ccfffb 100755
--- a/debian-devel/rules
+++ b/debian-devel/rules
@@ -8,6 +8,7 @@ override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
+ -DENABLE_CJSON:BOOL=OFF \
-DENABLE_DOC:BOOL=ON \
-DENABLE_MAN:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
diff --git a/debian-stable/rules b/debian-stable/rules
index 086056f76..559ccfffb 100755
--- a/debian-stable/rules
+++ b/debian-stable/rules
@@ -8,6 +8,7 @@ override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
+ -DENABLE_CJSON:BOOL=OFF \
-DENABLE_DOC:BOOL=ON \
-DENABLE_MAN:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
diff --git a/src/plugins/ruby/CMakeLists.txt b/src/plugins/ruby/CMakeLists.txt
index fe72c7c56..1fb293512 100644
--- a/src/plugins/ruby/CMakeLists.txt
+++ b/src/plugins/ruby/CMakeLists.txt
@@ -31,7 +31,7 @@ set_target_properties(ruby PROPERTIES PREFIX "")
# caused by Ruby headers (with Ruby ≥ 3.1.0)
# see: https://github.com/ruby/ruby/pull/7085
add_definitions(-Wno-unused-parameter)
-include_directories(${Ruby_INCLUDE_DIRS})
-target_link_libraries(ruby ${Ruby_LIBRARIES} weechat_plugins_scripts coverage_config)
+include_directories(${RUBY_INCLUDE_DIRS})
+target_link_libraries(ruby ${RUBY_LIBRARY} weechat_plugins_scripts coverage_config)
install(TARGETS ruby LIBRARY DESTINATION "${WEECHAT_LIBDIR}/plugins")
+1 -1
View File
@@ -42,7 +42,7 @@
#
weechat_stable="4.9.2"
weechat_devel="4.10.0-dev"
weechat_devel="4.9.3-dev"
stable_major=$(echo "${weechat_stable}" | cut -d"." -f1)
stable_minor=$(echo "${weechat_stable}" | cut -d"." -f2)